|
分享在他網的回題小程式,適合想學sw API的初學者參考!
5 k7 R% g& L2 b! l+ B- N- ' ******************************************************************************
! i3 z& Y# n& Z) R5 v - ' macro recorded on 05/12/18 by scliang
7 V8 H4 T) D/ M1 u: |3 q/ w - ' 功能:草圖圓周複製後拉伸* T' ]- h5 G% o5 j4 }% Q
- ' 操作: 開新零件,執行 main
7 S7 g2 [! d4 A, ^" F5 S/ K - '
) ^6 u2 N5 q$ Q+ j/ v7 x - ' ******************************************************************************
/ a* g5 b; u% O - Option Explicit' n& O! P* z# [0 U0 W
J0 N. u* `* W. z- Dim swApp As SldWorks.SldWorks. D1 _" B8 Y. `0 R; I0 Q
- Dim swModel As SldWorks.ModelDoc28 S4 e. b3 v6 Z) ~
- Dim swSketchMgr As SldWorks.SketchManager
. n; H, { h! v# W - Dim swSketchSegment As SldWorks.SketchSegment
7 Q* V8 \3 P" c5 O - Dim boolstatus As Boolean3 s* j' R% {! v/ \9 q
- Dim Part As Object
+ u0 s0 B. K, N1 n& _" d$ N0 ~& W - Dim myFeature As Object
6 } }" A( [, l5 I - Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double
" Y2 g5 d/ ?" C# l - Dim n As Integer* q6 y. I7 l, V# H
- ; g8 J% H" C3 v. `4 c
- Sub main()+ Y7 Q4 A5 ]' ?+ g0 W v1 ]7 A
- + c& G' F: W, _/ X8 z( b" [: z
- Set swApp = Application.SldWorks
" J6 H5 s# {9 b - Set Part = swApp.ActiveDoc
2 U& O$ H M* o+ s0 Z1 x - ' Create part document
; f& o5 @- `" c& ]. S! S - Set swModel = swApp.ActiveDoc
. l0 R% F# `$ O! z0 g - Set swSketchMgr = swModel.SketchManager
+ J W8 T8 ]" E - pi = Atn(1) * 4 '圓周率- v2 q5 q, S) Z( d9 J: }2 y# }* ]
- ArcRadius = 0.05 '圓弧半徑3 D" ~8 f$ J6 ^, x$ B0 q' m6 G
- ArcAngle = 300 * pi / 180 '圓周中心之圓弧角
# B4 B9 ]1 @2 k# E, Q4 { - n = 5 '複製數
5 a: j/ v, h5 R. n3 o - PatternSpacing = 40 * pi / 180 '複製之間隔弧度
0 P) t4 D1 T3 n) u0 \$ _( d# t - ' Sketch a circle
3 ~+ f) `- s( L5 n% V. f- v# U - 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
4 Z. @% c$ n! t3 I - swModel.ShowNamedView2 "*Front", 1
. C5 A# W+ _7 S- p& n - Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓
& Q0 ?1 m. b5 J& I- e/ O% `" r - 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _/ b, } @ K$ O$ ^6 M0 v- p
- DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例
7 c1 _* e) `# R3 r+ c+ ] - boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製3 M1 I4 l. f! |% ` B
- 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
3 M) n6 d, B' B - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _! r% D( f- Q6 j+ P% |
- 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm
" m4 N' P. \/ U6 J
; g3 I7 P. K9 J9 m( [/ s) R- End Sub
: E, V7 ^( W7 A0 `
复制代码 9 |3 `, O8 ^5 w% _2 ?
% F1 S9 a/ C" s0 v( z" Y
/ A- S2 _$ m/ Z6 U$ v
& e6 j% m( i: G5 T) T2 Q4 j1 s5 [1 b3 b/ \# D8 o
( o9 x# X- }/ r5 ^, r E1 J |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|