: C5 |+ h$ P' k% ~2 C1 B9 x" I $ J6 b; b6 g% T( H+ n. p* m9 {, \# ~怎么弄的?? 還有左側 他這種 子集 樹狀列表 具體 怎么操作? 好處是 方便圖紙整理 規范。( f0 X" w }7 q- f" { 作者: 曉昀 時間: 2018-9-11 20:16 本帖最后由 曉昀 于 2018-9-11 20:17 編輯 + u$ K# L7 Z: N4 |$ I+ x/ U# q. @* z* U9 S
看看這個零件的屬性自定義里名稱和圖號那里的信息是什么?工程圖紙中的信息是來自于零件屬性里的信息。軟件就是個聰明的大傻瓜,你讓它做什么,它就做什么。也只做到那個地步。作者: magicnie 時間: 2018-9-11 22:49
只是個普通的宏命令而已,不要大驚小怪,對于這種的同學我都是贊一個,工作有方法作者: 一毛 時間: 2018-9-11 23:00
經常大批量且有規范的時候,可以這么做,一勞永逸,正常是簡單做個模板。難得出圖的情況下,怎么玩都無所謂了作者: 金卯刀-劉 時間: 2018-9-12 10:05
這個雙引號顯示的是“配置說明”,并非是前面幾個大俠說的圖號分離。從SW原則來說,零件名跟工程圖文件名肯定是同樣的。細看樓主的的截圖就知道前面幾位高手沒說到點上。 ' p$ L( }5 L) ]+ r; m0 N關于圖號分離問題,是很贊同樓上幾位的。下面是圖號分離宏(分離到自定義,備注:中間間隔符是空格號。可以根據自己需求改動) 7 Q+ L, O- I1 n7 i'定義solidwork " y" C: B( ?. e( h: x: G. F4 PDim swApp As Object: @3 D$ i$ h o8 i7 m+ G
Dim Part As Object 5 b' g% ^, ^( j$ s! |7 l1 R( b8 qDim SelMgr As Object- [( @% g8 V: _: T0 `# p
Dim boolstatus As Boolean* _. x3 {/ T; K4 F& J( G9 |
Dim longstatus As Long, longwarnings As Long 8 @% i- K+ ~/ O8 \' _# H xDim Feature As Object ' W1 g& c4 K$ l" P$ L" \Dim a As Integer 6 A8 `( m! e1 cDim b As String2 r: L% Z: P5 o* F
Dim m As String i0 ^9 R- c& X6 I& o6 G
Dim e As String+ M- q& i$ C6 S3 u3 {6 D( {/ M
Dim k As String 4 `& d6 V0 b0 v' t% k& M; y7 hDim t As String$ i; ?* r6 r- N! G: l7 g, b; \/ Z
Dim c As String j9 `4 g8 o3 Q/ O
Dim j As Integer " O1 D- f6 [9 \/ u% eDim strmat As String- t7 [. Z' z E% m5 R0 M& ~
Dim tempvalue As String / D9 @$ w. [5 Q3 L# o/ j6 [8 pSub main()$ V9 p4 k, m+ _
'link solidworks . ^/ I) n+ s4 C. jSet swApp = Application.SldWorks) i* h1 s! k8 \. c o+ y( C1 ]+ M
Set Part = swApp.ActiveDoc + [8 [0 f. H+ Q' ASet SelMgr = Part.SelectionManager" t( k% ], i( p6 r7 g z# F
swApp.ActiveDoc.ActiveView.FrameState = 1 9 y8 S: Y) S3 C'設定變量 % m1 A/ d) g) z$ D3 oc = swApp.ActiveDoc.GetTitle() '零件名 & q M1 B' v) G; s) k$ p# ]" K5 ~strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34); V. k5 P8 g, L4 W4 j) B+ x( L% Z
blnretval = Part.DeleteCustomInfo2("", "代號")% f$ S- j& N5 [. e1 |3 d p
blnretval = Part.DeleteCustomInfo2("", "名稱") ; z' f4 p7 }1 D5 M0 _blnretval = Part.DeleteCustomInfo2("", "材料") 4 B, Q4 J9 ]' r. x- ~2 M( ~a = InStr(c, " ") - 1 '重點:分隔標識符,這里是一個空格; D1 h0 |9 P/ e$ r. @! q' s/ j# `. _
If a > 0 Then ) g: Z# _5 o4 R7 L2 r k = Left(c, a) 6 Y$ r5 M& u. k- V# b% E( G t = Left(LTrim(e), 3) / H: |' m1 C& H2 @7 s4 D If t = "GBT" Then" i6 s" T- b4 |
e = "GB/T" + Mid(k, 4); f+ C% v" m/ a; B
Else 5 F" ]; V$ U8 q: F1 U2 U e = k% i: z# |+ \; m7 p4 F1 T" V/ x
End If * `9 k% _* H& m' M- a b = Mid(c, a + 2) 1 ?: r4 o/ D' J# K, b- C( T$ U. b t = Right(c, 7)* b* }! v* O/ ?' h7 S# W1 k8 L& w
If t = ".SLDPRT" Or t = ".SLDASM" Then/ p6 N# }' z q& d- o" w
j = Len(b) - 7 " M# `( O1 }; T+ r Else $ ]. y7 p9 |; @0 j; d/ G% V j = Len(b) / a- T' s. L8 a" y5 Q7 n End If; A9 ]* J* { W# [$ w
m = Left(b, j) O4 x# d8 A% I y
End If: h3 Q/ s: w9 M% K8 Z! y
blnretval = Part.AddCustomInfo3("", "代號", swCustomInfoText, e) '代號8 }9 N1 }1 n: I$ P3 z
blnretval = Part.AddCustomInfo3("", "名稱", swCustomInfoText, m) '名稱 6 X: ` B% }5 X4 lblnretval = Part.AddCustomInfo3("", "作者", swCustomInfoText, " 劉騰qq420221716") , S# Y" q& l- I: u& M2 [; {( \# cEnd Sub , X; Y. y5 d* X8 U作者: 金卯刀-劉 時間: 2018-9-12 10:08
下面是分離到配置(備注:間隔符同樣是空格號,并可以根據自己需求編輯) . W! K% q5 \3 Z, N# R1 M) G! q- A) K4 I+ j" M1 Q/ o
'定義sw; l1 z: {& C% ~& Z
6 o9 {% G/ A8 R$ x) P R- b/ l# | e$ L K# Z- o
2 K) Q0 W8 H; N( I; ^Dim a As Integer2 p; `7 j- D2 v, \: L0 [0 t/ w
5 h! I6 e- P# P3 U$ a
Dim b As String 0 O# F" h7 b G/ Y6 i C' b$ n& v* E. o9 h ~# i
Dim m As String 0 |: I' u9 }7 K; G. D \2 W t* D, n# E8 Y 1 E. W5 A, j" k$ G8 Q$ GDim e As String + q& T# X; ~2 b+ Z! |1 n% {# ^5 V9 n6 I6 q. ~# H
Dim k As String$ g2 p! J: m8 _7 C1 O
+ N! ^/ H) K; ?: L8 a2 aDim t As String% ?6 M7 n5 u- D' q3 d
6 _# N/ o9 m; x& h$ _" q7 sDim c As String9 p5 J- Q, w6 N3 X3 h( o9 B; o) J
/ h: D$ \- d* S, uDim j As Integer3 u' }+ A% \9 G" K
8 b' _6 y" [3 O; _
Dim strmat As String' I _- a5 M) T8 O0 t. F& L" i l
/ s) E7 q9 y3 M* D! u2 {, S# J
Dim tempvalue As String : q4 Q2 Y6 r( x5 m' I$ l5 h; ^ $ t. p* Z8 z* t4 tDim Part As Object 9 X7 ?% m9 L. S$ V! w6 X e/ h7 T1 G& d/ {( @: t% m' p& E# \. G# F
Dim swApp As SldWorks.SldWorks5 n8 c# l& U0 M& T, O
* X+ z4 O* {. O) {' X' BDim swModelDoc As SldWorks.ModelDoc2 7 z# z/ m. H$ W8 j/ N* w , |& n* D! u4 z& ~4 CDim swConfig As SldWorks.Configuration 4 S' e7 l1 d5 O# I3 Q! [( @" E) K2 }. ?6 Q* R
Dim CustPropMgr As SldWorks.CustomPropertyManager# a8 O" P2 ^' n" T( V/ B; ?4 S1 g9 K( T
# x) X, a9 x# d# f+ S
Dim swModel As SldWorks.ModelDoc2 & R2 _: i+ i0 g& u. g. N: y# {2 W, M& j! Z5 t- x
4 u" t5 o: X9 ]# `/ ?
. F* \" @: Y, k3 YSub main(). j X0 J: I1 |1 R5 R! }
8 D4 d& L' {/ B1 y" I# c) F( F
Set swApp = Application.SldWorks # u8 m2 y0 J5 v! W i 2 i& q5 z5 _, c3 V5 cSet swModelDoc = swApp.ActiveDoc2 J2 e+ `( u' a" Q: x3 W3 p" V, p% `
! X' \% [7 {1 Y+ [* V
Set swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration A3 ~' i2 J* _5 Q
( S8 d% P" u* }: r: PSet swModel = swApp.ActiveDoc: w$ l9 f% T" h4 a+ N$ |7 l
9 h" q, `% g5 [3 R! t$ z
Set CustPropMgr = swModel.Extension.CustomPropertyManager$ Q$ M! ~( V1 J0 y8 g0 M a7 J
, Q9 e+ ^$ i! n6 b5 _# k" I9 x
(swModel.ConfigurationManager.ActiveConfiguration.Name) '配置特定延伸4 H m- c3 }0 c7 } r# _# J7 D
( U- ~4 z4 t8 o8 r, _# H. Z# N; f ' P/ k4 P) q, ^" b" [; [. E# t5 H( B5 a2 C$ r5 Y4 g# ?8 C5 Q' n
'設定變量 3 K7 n' s8 w- F, [& U/ ?8 a d k: g* U, I) T- ?( ^c = swApp.ActiveDoc.GetTitle() '零件名 g& e! q: ^$ [4 i" \
$ V: V6 K6 I9 c( cstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34) 7 p$ p5 `$ b3 ]3 ?# `5 \2 t8 [6 b1 M3 r4 |; [& R) F R! u
a = InStr(c, " ") - 1 '重點:分隔標識符,這里是一個空格,也可換成其他符號$ B9 V% ^1 `! ^' @- H! p
. T! R1 A; e g0 Z" S
If a > 0 Then) U& T7 I9 ^4 X$ |/ u- \3 N
* n% \* I0 j3 u9 p2 o' b
k = Left(c, a)4 }" o1 m* X3 u' s, ~