找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 14976|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    / s7 O% _9 m( s# j. x9 e- E/ R
  2. 4 v# j) L/ [9 P  v8 G& k
  3. Dim Part As Object
    " B% y" d3 y% w
  4. Dim boolstatus As Boolean$ `$ s$ D, g5 h/ O6 C" K
  5. Dim longstatus As Long, longwarnings As Long
    , i3 P6 N, }# g2 f/ V8 M8 C4 y) h
  6. 6 |8 A8 y0 e$ f2 V7 }
  7. Sub main() '删除所有配置属性
    - ^' I3 Z' o3 b
  8. : U- X' p" N/ k
  9. Set swApp = Application.SldWorks
    2 h5 x+ \, Q/ P- m

  10. 9 r4 d! W2 v( N% n
  11. Set Part = swApp.ActiveDoc
    / ?' x: Z5 p, E! K# r

  12. ! p6 _! E+ ?, k, j/ O4 n! ~8 i& O1 u
  13. CurCFGname = Part.GetConfigurationNames* i" R4 v9 B1 @; M; t

  14. ; [, \, K" ]2 R1 \  A
  15. CurCFGnameCount = Part.GetConfigurationCount
    " k3 L1 g9 l! X% n' F/ c
  16. 4 c+ ]' H) k- r0 V0 h) t
  17. For i = 0 To CurCFGnameCount - 19 r( F9 g# \4 M0 d; F8 v$ |) [
  18. ! X) n$ j; f* J9 Y/ w4 i9 _
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    2 Q. o) O5 d# s) l6 \( K- @9 J2 \  V* g
  20. , S/ v, Z5 e( l- F3 A( G, E
  21.     Vnamearr = CusPropMgr.GetNames
    7 l7 q6 n: N) P0 M$ E8 y

  22. , w" o! ?4 w1 w) y" W! @
  23.     If Not IsEmpty(Vnamearr) Then
    3 y% P) l% T. l; u. _& I
  24. $ M, k4 l6 G9 B" b
  25.         For Each Vnamearr2 In Vnamearr7 P- {1 I, G+ Y7 W' L( X
  26. ' N& h6 G: M5 B( P
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)( Y- v8 K4 O$ G8 f6 j
  28. ! x# M2 n7 f! {! g  J# v
  29.         Next8 v) Z! S  R) R3 x4 U# y5 a  a( ^

  30. ) G/ d, w! d$ ?" C$ E
  31.     End If+ |) h" T3 E8 r* C
  32. 1 ~. v2 l' g" v5 c$ V+ s
  33. Next) A) z& Z" v' K, s7 r7 E
复制代码
% B' p$ w: X4 g4 q  \+ V
& T: h9 s0 Q$ r: r
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性
" x9 o# E; S- W/ z
  1. Sub main() '删除自定义属性
    9 v1 H  t1 h* K2 C$ s* O: P3 V: f' ^
  2. Dim swApp As Object* v+ Y) T8 X/ M5 a! W; r
  3. Dim swModel2 As SldWorks.ModelDoc2, z; I/ q; I- s+ n
  4. Dim vCustInfoNameArr2 As Variant
    : c% h+ y  p: |' v4 z, i. r

  5. 5 W( c- M+ Q& Q. q! j; V/ e
  6. Set swApp = _# H, l3 N( K6 _+ E' \' S: y* E
  7. Application.SldWorks
    $ s3 U& x% Z$ W4 S8 Y

  8. . ^- z* P. z" i4 B
  9. Set swModel2 = swApp.ActiveDoc1 K% _" f4 l+ i* H
  10. 6 x1 n; t% \: H5 u. w3 H. w
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
    ' i/ F- I/ E. R- G% F6 D
  12. 7 _6 e6 [5 H! u3 V
  13.   If Not IsEmpty(vCustInfoNameArr2) Then. [4 O) a" Y2 S+ `, N- A6 f  f8 t  n6 s
  14.      For Each vCustInfoName2 In vCustInfoNameArr26 g  }7 k5 L% L! o* E1 s) n
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)) O" C; }9 C1 r
  16.       Next. ?" o& j2 k/ z: u0 z! Y/ ?4 I
  17.   End If
    ; h0 L* |; v+ d+ t
  18. End Sub
      l" S+ w7 |% N% u: D" Q$ C
复制代码
发表于 2019-11-19 08:57:41 | 显示全部楼层
谢谢楼主,保存先,后面应该有用
发表于 2019-11-19 18:11:22 | 显示全部楼层
感觉楼主分享,适用于哪个版本呢?

点评

宏是不分版本的,适用于SW任何版本。  详情 回复 发表于 2019-11-19 22:46
 楼主| 发表于 2019-11-19 22:46:12 | 显示全部楼层
远祥 发表于 2019-11-19 18:118 E. U% n% G- O  G/ D0 [
感觉楼主分享,适用于哪个版本呢?
7 c) f; x1 `: E/ c
宏是不分版本的,适用于SW任何版本。: _8 M5 f- @& O+ ?) Z
发表于 2020-2-5 00:07:20 | 显示全部楼层
那位麻烦告诉一下,我复制这些代码怎么变了内容?
发表于 2021-7-26 15:08:55 | 显示全部楼层
这两个宏可以合并嘛
发表于 2023-10-7 11:28:19 | 显示全部楼层
牛,今天帮我解决实际问题了,谢谢
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-9-21 00:28 , Processed in 0.063836 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表