|
分享在他網的回題小程式,適合想學sw API的初學者參考!. ~* C4 } R6 N
- ' ******************************************************************************8 P& D0 S' A1 N5 O& C( p& h- t9 K
- ' macro recorded on 05/12/18 by scliang
# m7 Y6 W: `' e* D - ' 功能:草圖圓周複製後拉伸
9 U n! ~( j( f+ R - ' 操作: 開新零件,執行 main: W @: |( L) g
- '- f4 L, l8 |5 @0 u+ j0 j
- ' ******************************************************************************
4 `- [( x* _7 V$ H - Option Explicit, P3 {3 y, E& F* D0 @$ b3 W+ ^
6 ^- e" j _, ?, e/ v W$ [- C- Dim swApp As SldWorks.SldWorks$ O6 D) l! v' C# F
- Dim swModel As SldWorks.ModelDoc2
) N+ m3 }- x* p( z. ~. ?6 A7 K - Dim swSketchMgr As SldWorks.SketchManager2 F6 C$ `; b" J7 }6 i a4 i9 T- F$ s
- Dim swSketchSegment As SldWorks.SketchSegment. N/ @" x7 A2 |: A* B7 e* x h
- Dim boolstatus As Boolean
, G2 O1 \8 e2 o$ \1 g$ V. N) F: V' e - Dim Part As Object
, s& s& a% ?$ z/ F/ g Y - Dim myFeature As Object
: q5 J1 r7 f! y) s1 c2 T J/ m - Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double
6 k# `0 y- m( @9 \" x7 z - Dim n As Integer; T2 ?, y4 `$ Y; K$ r; P
3 e+ u" F1 T7 K8 U- Sub main()( C3 f3 ~( d0 I+ U
- * N; P1 A7 } b8 K2 g L
- Set swApp = Application.SldWorks
+ {. f) o) S5 m8 X# W/ i9 Q - Set Part = swApp.ActiveDoc( Z6 A; _& i8 A- M* g
- ' Create part document
6 I- B* @/ d# P7 s - Set swModel = swApp.ActiveDoc
3 L, o% [: {6 A0 r# }: {4 q - Set swSketchMgr = swModel.SketchManager
, H. b; p1 S' Z1 q G* W$ } - pi = Atn(1) * 4 '圓周率
8 F1 E8 t' s7 }- o - ArcRadius = 0.05 '圓弧半徑* b) ~' G/ k1 D: l' v3 @* W% L
- ArcAngle = 300 * pi / 180 '圓周中心之圓弧角' P0 }9 g( J* a- S L
- n = 5 '複製數( w' k. Y9 S5 a, J0 ~! @
- PatternSpacing = 40 * pi / 180 '複製之間隔弧度) ^0 M e8 x- C& W/ A/ ^* L
- ' Sketch a circle5 P2 ?7 y2 `/ U+ w6 `
- 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)# u, x* w2 a; Q3 m1 x
- swModel.ShowNamedView2 "*Front", 1 G2 K I% A0 {) C; P
- Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓3 l7 E( `" [( b: b
- 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _+ n+ r. M! F& d
- DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例
8 p: ?8 n3 L: I6 d. w9 ?1 I - boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製
9 e, H6 i% k* j" h) T n - 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
# x3 o4 ?$ T% K3 R' c - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _
q3 R. V& s' ?4 r9 o - 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm! g8 y3 F" E: p! J( d; x
w+ C5 P% {1 j- End Sub
+ ~1 B2 K" d. h# U7 J. k
复制代码
7 b" Z! A4 c% ~( v- J
! L4 M# I1 @! r: I0 }
( M. ?$ k ?3 w: n, H: ?- H q/ k4 A- i' d; {) i; K' L; X6 {
7 u, B# V! B' e% }6 B7 h4 d
V1 k/ ^# G8 k2 a# Q |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|