|
分享在他網的回題小程式,適合想學sw API的初學者參考!
, i5 R% G i5 m& X4 U5 c/ @- ' ******************************************************************************' Q: r& M* n3 ^& M6 L
- ' macro recorded on 05/12/18 by scliang
5 E [* A7 J" l& Y8 l2 ? - ' 功能:草圖圓周複製後拉伸
9 B- a y8 _% p$ @ - ' 操作: 開新零件,執行 main
; c* c" I& E) l* F - '
9 r4 o9 Q' i" y$ k' ?% L- s - ' ******************************************************************************. d, B: y0 I: E+ G
- Option Explicit
5 j/ L3 N5 Y* E' c$ y; _5 \ - # w) X# U, D2 Z/ K. t# D8 q
- Dim swApp As SldWorks.SldWorks
" r/ R/ J% P- b" _! U4 { - Dim swModel As SldWorks.ModelDoc2
8 X$ G- r: E: m" C - Dim swSketchMgr As SldWorks.SketchManager
; @& V, J+ `& B) ^2 H& ~2 p3 W - Dim swSketchSegment As SldWorks.SketchSegment% m2 s6 `. _0 B% z
- Dim boolstatus As Boolean# A/ ]3 C2 p9 K/ ~" v: }
- Dim Part As Object
2 U# a4 G0 N+ X# u2 q - Dim myFeature As Object1 {; v: X# \/ D' V( N7 i
- Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double
# \3 } G9 i3 V- l/ e' l - Dim n As Integer
% b7 a/ o3 Y4 T Z$ D- F! P
5 q5 Y& T( R8 b9 k- Sub main()& {: ^$ j& D9 R. R5 m- u# n$ N
- + w$ S5 O$ w- n0 o5 `
- Set swApp = Application.SldWorks9 r1 V+ |% s$ J" z- e: \( }4 o
- Set Part = swApp.ActiveDoc
7 i N8 v5 s) J - ' Create part document) J& ~2 X {* J& s# F
- Set swModel = swApp.ActiveDoc
, O/ e6 R5 G8 S$ K! Q - Set swSketchMgr = swModel.SketchManager- J) p3 _+ m9 {$ Q& I
- pi = Atn(1) * 4 '圓周率" b# W- ~( y0 r# t* f1 z
- ArcRadius = 0.05 '圓弧半徑- w( A7 m& a1 d8 \ l5 F
- ArcAngle = 300 * pi / 180 '圓周中心之圓弧角
' S) I" @2 L3 y+ {: g - n = 5 '複製數
+ I5 J6 A$ V" }- h- y( A - PatternSpacing = 40 * pi / 180 '複製之間隔弧度$ t, z: w3 C3 C1 u: `
- ' Sketch a circle
% ~, r# |1 }1 Y& g& k/ ^$ W4 R' w - 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0). E6 R0 o1 p1 v) Q6 M( t. O/ p
- swModel.ShowNamedView2 "*Front", 1
! T( E% h& e" V& A( r- j - Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓
0 x4 p, h$ }3 P& x. @. K; k - 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _' n$ C" M$ p& `6 x, J+ w' o
- DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例4 ]1 E- {* @& p2 \$ U
- boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製8 P3 a5 ]: _$ j; X
- 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
/ Z& r8 ^7 i# p, p7 X - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _# s1 N# D" z5 N# |* J
- 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm, a. N6 H$ v; r6 ~5 {
- 7 _3 @4 Z0 U6 N1 v3 B& a
- End Sub
& X6 V0 V# r! s, J" ^7 G0 u; y- e* O; F
复制代码
$ C0 r' u5 m0 Y7 `* w" R- e5 z3 x6 R6 y$ ]
G! E$ \ F( @9 u @% n+ |- K% k. c- p* k
$ f! `9 ~; T& `
7 V, w' M7 t5 J |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|