|
分享在他網的回題小程式,適合想學sw API的初學者參考!9 e% }7 d) w% W2 N! p) o6 q
- ' ******************************************************************************
" g1 O0 e8 X/ V' a; t8 A - ' macro recorded on 05/12/18 by scliang
1 B* ~; R1 H1 ?% c - ' 功能:草圖圓周複製後拉伸
: f" j" {( V- K/ o/ O5 K - ' 操作: 開新零件,執行 main
& ^, c& G) n7 ^7 t1 _ - '+ k C; j: O+ n/ s! l# |" p
- ' ******************************************************************************
; p4 x( K" n$ I - Option Explicit
3 Z# d4 | t! }7 j1 t- B - - S+ ~+ v4 _* H6 q7 ?
- Dim swApp As SldWorks.SldWorks
5 E2 o0 l4 } B2 n - Dim swModel As SldWorks.ModelDoc2
# _! u' v O) v5 i$ X& @" E - Dim swSketchMgr As SldWorks.SketchManager
3 s) j/ a) e. G! x1 P' C5 ] - Dim swSketchSegment As SldWorks.SketchSegment
% N0 M- }$ T% Z& M9 k' x9 G - Dim boolstatus As Boolean
+ j8 F/ c; s% Z5 I! a - Dim Part As Object d7 r) c M* i0 [ u% D
- Dim myFeature As Object
8 n3 I j" H" u3 b- e, \# d - Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double" A! `7 c1 v1 Z. E
- Dim n As Integer
( ?- }# C) @5 A8 j5 |9 O ? - 6 _& c6 k0 L7 F1 \" m# _6 y/ S# z
- Sub main()' M: b+ v; f* O; }- @! n8 ?0 `- F
6 d- n5 y5 t- ^; b4 w. G9 X+ |* V- Set swApp = Application.SldWorks
' ~5 [: ~- U. M! Q1 e% s- I - Set Part = swApp.ActiveDoc
. P. m b, S! a0 x$ o8 J: T6 M - ' Create part document, H z1 H- D" [ F) }: I
- Set swModel = swApp.ActiveDoc
( I, j9 \. c3 }& ` - Set swSketchMgr = swModel.SketchManager
; W% R; J! U- h8 |6 {6 k - pi = Atn(1) * 4 '圓周率
- @3 @0 r. {2 K/ p: ^. j0 N - ArcRadius = 0.05 '圓弧半徑 H* G: z# V0 D2 w- k
- ArcAngle = 300 * pi / 180 '圓周中心之圓弧角6 V( ^2 V8 l& [4 ~( S# y
- n = 5 '複製數* C8 L9 @: [: z; f& P" `+ `" u; e
- PatternSpacing = 40 * pi / 180 '複製之間隔弧度7 z/ v o7 J) p; I3 Z& h6 S5 v
- ' Sketch a circle' h1 j) ? \! j. ~) U- C% u; @, u
- 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)* o+ z' E1 Z1 ]: i1 \5 @
- swModel.ShowNamedView2 "*Front", 1! R! B* `) @3 C2 D z3 F# [! L$ a; r
- Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓
: P. C& `$ {: ~9 `% X3 O9 R/ \! _ - 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _
C% w- i* f5 k4 I& f8 ]$ n - DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例
1 V1 F$ c+ W- F; }: x9 H - boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製
; g8 R/ ]7 T1 J& Z" t1 ^ - 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
% W* y% i( b: i: E5 H - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _
, T( _# P" z3 f; E - 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm
6 }' A9 i& i" X% r5 L7 v( L5 G
+ C, C. T/ V: C) j9 [8 v- End Sub
* v: f8 p0 o6 p- Q9 t' x& J' i
复制代码
9 Z$ o/ R, H6 ^: x" w' [. Q7 q! W
" g+ Y8 N9 Q! A
5 C3 l4 A/ C/ ^6 H: M. x
6 ^/ P q- Q: N+ Y6 Q% Y
; i# t8 z3 R* Q) G0 c- n% z! H |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|