|
分享在他網的回題小程式,適合想學sw API的初學者參考!# X$ b ?, E- a8 F" U# L
- ' ******************************************************************************* D; O3 b6 w+ [) a# o6 k% K+ ]
- ' macro recorded on 05/12/18 by scliang3 }1 i! R$ E$ \; C! C) a, c3 d
- ' 功能:草圖圓周複製後拉伸1 h& J% D; \! o- S1 |$ p7 K
- ' 操作: 開新零件,執行 main3 ^! Z% c. g8 u8 n" \% n
- '
' `+ n, A) W& r+ V1 w - ' ******************************************************************************* M. u# G/ ^% h6 m0 V i& U$ X/ R: Y( z
- Option Explicit
1 C, R3 s/ D& G6 b+ I; P
$ A1 w8 S- G3 L) z0 h; j- Dim swApp As SldWorks.SldWorks
2 A' ~. p" r' ?' @ - Dim swModel As SldWorks.ModelDoc2% G6 S; d: E/ f& L8 e
- Dim swSketchMgr As SldWorks.SketchManager% z; E& j2 [& l4 ?4 s$ _
- Dim swSketchSegment As SldWorks.SketchSegment
" I- z- _1 C; U( M% _ - Dim boolstatus As Boolean/ D1 Q! E( o' _' ^! t/ V
- Dim Part As Object
5 J& ]0 C9 z ^3 f! j - Dim myFeature As Object5 Z/ i0 K t0 r7 a# j, G7 q/ ]* W
- Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double3 P% K8 t+ _1 q: X! v% U% u& ~
- Dim n As Integer6 y* E5 g8 i& }0 {# n/ @
! N! K1 C; Z4 L/ Q- Sub main(); v0 v) `9 i* O- W& M& v
; i) v- K8 M3 Q4 J6 |4 f- Set swApp = Application.SldWorks$ I _9 A6 f3 |
- Set Part = swApp.ActiveDoc
) V4 n( I2 l( n0 C- m2 ]6 c - ' Create part document
& p& y4 y$ I( J R' K - Set swModel = swApp.ActiveDoc
/ a- B% R; y* s; \0 C- V - Set swSketchMgr = swModel.SketchManager) E, m) `6 y* m9 m, {" _/ o
- pi = Atn(1) * 4 '圓周率8 h9 O! ]5 J& w% R- Z3 ?* F0 X
- ArcRadius = 0.05 '圓弧半徑
, v. L4 z& d, m6 T4 Q4 G) v; o - ArcAngle = 300 * pi / 180 '圓周中心之圓弧角9 |9 T* u) f& \: D4 x- W5 s
- n = 5 '複製數
\8 v6 Y2 m) \' L$ a1 ^" @ - PatternSpacing = 40 * pi / 180 '複製之間隔弧度
( D8 G+ a4 [8 ~* f: S - ' Sketch a circle
2 i2 o/ t5 c4 p# s; h - 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
7 G3 }7 w3 y1 Q. Z+ _( i - swModel.ShowNamedView2 "*Front", 18 M, v* b0 A4 \( \. ~0 q+ I. J, |
- Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓+ D" h. Z) U5 | C/ Z- @
- 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _1 q4 W+ \" i8 y, B; o
- DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例0 R# \( S# F8 Z
- boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製
U$ b, V2 H# h - 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
8 f/ o% _5 t/ |+ B - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _: |- `" L/ O5 B* k k! e" G, f
- 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm4 c2 w- N- V3 W7 ]; f% J) k
2 @4 }& _$ i( s3 I( ~, i0 k: ]- End Sub
3 ~" L* k$ i7 d5 Y. G
復制代碼 / [7 m' I1 M. T4 ]. H, z* Z
3 w$ P [- {+ Q/ {; @3 W, w# j3 S1 X) N
$ X- i' M( b9 [
; P- m& I0 A, c; s
2 ] c* C1 c7 x/ `" N! \
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有賬號?注冊會員
×
評分
-
查看全部評分
|