|
分享在他網的回題小程式,適合想學sw API的初學者參考!
. c3 x) X3 f: f# Y& r# I3 ]* x- ' ******************************************************************************
1 C/ B( g" ^% r! ]' J - ' macro recorded on 05/12/18 by scliang# r0 n1 y# H" O, B* U! X
- ' 功能:草圖圓周複製後拉伸+ V% J2 `! Z+ a) Y* s5 _
- ' 操作: 開新零件,執行 main
6 E% ^# d! F k2 g# i- y - '$ N9 E) G" n+ D) f5 Q
- ' ******************************************************************************8 a% m" `" V, N {! o' G4 M
- Option Explicit
3 m7 \* F& @( F - 9 M2 k6 K8 b) d
- Dim swApp As SldWorks.SldWorks
! `- X, ?6 F+ R- w+ j5 x& }3 c - Dim swModel As SldWorks.ModelDoc28 k# N( `6 |5 N% k& ~0 l
- Dim swSketchMgr As SldWorks.SketchManager
/ Y- B! E, v1 P2 Z7 {! j Y( @ - Dim swSketchSegment As SldWorks.SketchSegment
+ c4 S `, k! v* I: J# b; X - Dim boolstatus As Boolean; M* p6 B9 Q/ U4 ]' B7 \4 Y7 M7 t
- Dim Part As Object; H; f3 V# p1 `9 j8 E6 `
- Dim myFeature As Object& \8 f3 F, W' X0 u
- Dim pi, ArcRadius, ArcAngle, PatternSpacing As Double
+ {) k' r( A# U: t* `0 Y6 o - Dim n As Integer# P: K. z/ G0 t) B) e) X) [
- & W2 P8 J. f$ ?9 I
- Sub main()3 T X9 q! K" \( H! b% p; `
- $ M+ w; A1 Q& H8 L( b
- Set swApp = Application.SldWorks
' b2 @4 f0 Q+ f6 `( M/ y* b - Set Part = swApp.ActiveDoc
: I A$ Z4 M, R" a1 g: b - ' Create part document4 h$ B' m8 f' l- F) @6 D3 C- K
- Set swModel = swApp.ActiveDoc( X2 n. H$ }/ A/ s7 v+ ^
- Set swSketchMgr = swModel.SketchManager f! v# y% }7 B. a
- pi = Atn(1) * 4 '圓周率& b5 ?! P j4 E* T3 L* Z8 \: R0 C
- ArcRadius = 0.05 '圓弧半徑
* V3 N: k+ f, c9 ?% E - ArcAngle = 300 * pi / 180 '圓周中心之圓弧角
$ h# J) o+ W# I/ L8 x - n = 5 '複製數1 N/ _$ ~3 ?. j
- PatternSpacing = 40 * pi / 180 '複製之間隔弧度) f2 G" N' P7 h: T5 j
- ' Sketch a circle# A+ r$ Z. a8 p/ f
- 'boolstatus = Part.Extension.SelectByID2("前基準面", "PLANE", 0, 0, 0, False, 0, Nothing, 0)# v l0 T' n( a
- swModel.ShowNamedView2 "*Front", 1
9 v% @" U+ C1 {. N5 [" l, v - Set swSketchSegment = swSketchMgr.CreateCircle(0.01, 0.06, 0#, 0.01, 0.07, 0#) '畫圓
/ ]. S) ? i: u$ T7 c0 Z - 'value = instance.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, PatternNum, PatternSpacing, PatternRotate, _
' ^/ T2 J8 d$ P9 O: [! l - DeleteInstances)圓弧半徑、圓弧角、複製數、複製間距(+ 間隔弧度正轉,- 間隔弧度逆轉)、圖案旋轉、刪除實例
2 o3 ]% O3 S# H- Y* h, a - boolstatus = swSketchMgr.CreateCircularSketchStepAndRepeat(ArcRadius, ArcAngle, n, PatternSpacing, False, True, True, True, True) '圓周複製2 ?* i6 L; W, u) R! Z7 f
- 'instance.FeatureExtrusion2(Sd, Flip, Dir(反轉方向), T1, T2, D1, D2, Dchk1, Dchk2, Ddir1, Ddir2, Dang1, Dang2, OffsetReverse1, OffsetReverse2, Merge)
* V; Z: Z4 D# E( U - Set myFeature = Part.FeatureManager.FeatureExtrusion2(True, False, False, 0, 0, 0.03, 0, False, False, False, False, _
/ \" D' a( n0 D* Q8 F2 v - 0, 0, False, False, False, False, True, True, True, 0, 0, False) '拉伸 30mm( u2 i: z) B0 R
- % K$ n, l. P' X* d5 t. F
- End Sub
0 E a2 z/ e$ J
复制代码 1 f' G* J% t! Y8 F( W
# x+ b( W' k9 e# a O
/ o( [9 `3 F4 \; S& a3 q+ h# ~6 r1 j) ?7 h
0 @8 _$ ?7 y2 I
; ^. X3 `7 ^2 J8 G7 a
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|