|
分享在他網的回題小程式,適合想學sw API的初學者參考!
- g$ ?; A1 g1 a2 z- ' ******************************************************************************* E$ H9 T0 ^; l7 w' ~" J- y
- ' macro recorded on 05/12/18 by scliang
4 N" }" C; @: q- r) ~7 h3 W - ' 功能:草圖圓周複製後拉伸: I! {' y+ C( z+ \
- ' 操作: 開新零件,執行 main
* K- l8 ?7 r3 N, c) y - '
" r' G9 |* h9 q6 z3 k" Z0 d - ' ******************************************************************************
0 j4 O" W- S: \1 t# g0 `3 _ - Option Explicit) C. K; }2 E+ `2 A. _ o
- / \4 Y' q+ c1 G9 F8 x( x6 k+ S8 r
- Dim swApp As SldWorks.SldWorks
8 Q* J0 G- A5 }; o5 k. x! }6 R - Dim swModel As SldWorks.ModelDoc20 N( M/ h" p% w
- Dim swSketchMgr As SldWorks.SketchManager5 h; `$ `0 p/ a1 s1 ]
- Dim swSketchSegment As SldWorks.SketchSegment- O7 h* l g% k
- Dim boolstatus As Boolean
1 N/ `* |5 O- c, ^$ L L( o0 N - Dim Part As Object; x8 w) v$ K4 D' g- Y
- Dim myFeature As Object
( A7 E) Y6 z" F- T7 u0 B - Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double8 L8 H- ?6 R/ p1 A
- Dim n As Integer2 j/ |1 ]- C# P+ {& Y, v0 M2 s" _8 ~
- # b: v3 b: @' g, t0 @
- Sub main()
! l: w6 Y2 a3 S4 e - . T+ ?/ _: z3 Y, S2 N
- Set swApp = Application.SldWorks
- C( n& V8 |; X; K- {- x - Set Part = swApp.ActiveDoc1 N4 \7 @* j/ }( O- e0 y' P
- ' Create part document
+ j8 w" S; j9 J# F- D5 \ - Set swModel = swApp.ActiveDoc
: [; ]' a7 F& R* s9 j# H - Set swSketchMgr = swModel.SketchManager6 ~/ N. _/ c3 J' F, U
- pi = Atn(1) * 4 '圓周率: Q/ O6 M& x; z* }: e
- ArcRadius = 0.05 '圓弧半徑' Y% [9 I) N2 f
- ArcAngle = 300 * pi / 180 '圓周中心之圓弧角* w) y7 ~1 J5 h" a& V6 X, c
- n = 5 '複製數$ A; v1 o( i' Z: ^2 R- [/ @
- PatternSpacing = 40 * pi / 180 '複製之間隔弧度5 p& m& a: r% J5 d& f! W( T
- ' Sketch a circle
$ ]) R! f4 m; Q' x - 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
; a. ~0 x: W5 g3 \4 @ - swModel.ShowNamedView2 "*Front", 1
2 ~! ^" N( t# Y - Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓: I; X. t: V/ `
- 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _2 t) P8 z6 [! n& G
- DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例
9 w2 c! m# {9 z+ O( c1 C - boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製
7 r4 O' v/ J& V - 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
; c% b9 y& w* @5 D - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _' c1 n3 x+ i( a. R9 _4 g1 C- @
- 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm! O; U' ]# ~% G, @( q, ]
e0 F5 C: s; g \- End Sub
. ~: f0 T( X: `; ]
复制代码
+ P' A/ o0 n1 V9 a. z5 z$ U x& g; r9 G+ s- q# F2 z
" H* K t% Z) H- N9 E
3 x2 v4 U" R$ G y0 y+ j& ]% @) z z$ e2 G3 p3 U
" ^# \# i( y9 k8 C$ b |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|