机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12823|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object" ]1 v; q6 r0 p0 [3 B

  2. 0 ^5 E1 ^/ E3 C! @4 G8 _
  3. Dim Part As Object9 u1 P4 I. c& d/ P- v9 C
  4. Dim boolstatus As Boolean) `- W( m3 o# b( ?
  5. Dim longstatus As Long, longwarnings As Long7 j8 h- N6 M) L3 F2 Z
  6. " v2 x1 B5 t, g$ e0 ]) x' a( p
  7. Sub main() '删除所有配置属性
      j0 r: x$ p4 J1 m8 ]% z
  8. ) I( L0 ^6 s5 w0 L
  9. Set swApp = Application.SldWorks" ?: J; Z, s' t* d
  10. ) \: R( Y7 y; U9 z
  11. Set Part = swApp.ActiveDoc3 }" m% X) R7 K* s3 R  d8 `+ ^
  12. * H) J. f. v/ n& W4 Y; i
  13. CurCFGname = Part.GetConfigurationNames
    / A) _& u4 X" y2 k3 O$ V4 ?( a
  14. 3 `6 x/ C! U) q# x
  15. CurCFGnameCount = Part.GetConfigurationCount
    * K, b& A7 Q  [
  16. + y: S7 j9 A- J# |- [1 p
  17. For i = 0 To CurCFGnameCount - 1' o4 y! y/ ?) d' b

  18. 1 K5 q; K. y# T; M- [% O3 _) D/ W
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))9 |2 c6 D* k; S
  20. / W- ^* L' j, r2 W. ~) n0 T
  21.     Vnamearr = CusPropMgr.GetNames) H% e  W% e+ m2 a% m/ j
  22. 3 Z8 v1 I0 V) K! H5 k( v
  23.     If Not IsEmpty(Vnamearr) Then7 E9 A5 {( H/ P! [

  24. , d& z% `# x( l) a. i5 f- f6 _# w
  25.         For Each Vnamearr2 In Vnamearr
    8 E4 \% J5 a: x; c# m" M
  26. 3 t$ A4 m1 O, [# Q, _5 N! j4 y
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
    3 D" Q1 x# y+ o9 w
  28. + W2 n+ J4 v" S9 j7 Y+ e
  29.         Next
    9 s; a+ M2 w/ o: V% v

  30. $ R. t% b" U& Q. D) [
  31.     End If' G! [0 }" _+ r! L

  32. - e( R0 ]3 U) L% ?, W% U
  33. Next$ K& V% G' s) f8 E
复制代码

2 }+ x7 J3 H* m. B3 v. e! b. n" Y
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性+ {# C) F* u* v$ }% ?5 l9 ?  E8 b5 m
  1. Sub main() '删除自定义属性
      V5 l1 C' l4 v* |$ T5 K
  2. Dim swApp As Object$ n& p( M  X& i- _
  3. Dim swModel2 As SldWorks.ModelDoc2
    5 c/ h% O. h# x
  4. Dim vCustInfoNameArr2 As Variant1 s: H: |" F/ d! v

  5. 7 W0 L+ [* N  k  x* X% W& Q* i
  6. Set swApp = _0 h, m: z, u) t7 _
  7. Application.SldWorks0 s/ [: a. B% R- J+ m6 J
  8.   r! M, V" u3 G. J
  9. Set swModel2 = swApp.ActiveDoc
    ( X- z$ n( a7 G7 q  ~# E

  10. $ ~7 _1 a6 U1 R% u* D
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames' U' ]0 u$ j% a4 R7 x1 t1 _

  12. , D. Q9 q/ Y0 ~# i0 W) v* J
  13.   If Not IsEmpty(vCustInfoNameArr2) Then
    + K0 o  s3 q% e) h" e7 E
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    # N! ^6 O( |0 ?' ]3 S
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)8 |, w% [# g$ i
  16.       Next3 V7 Q" g6 B* }( ^/ l  h" f) I  m
  17.   End If
    , K! D7 U7 }3 }9 |2 U0 A' ~& U
  18. End Sub! q$ V7 S5 K6 c2 D
复制代码
回复 支持 反对

使用道具 举报

发表于 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:11
; b! \8 P& h+ v7 [5 H3 ?7 _6 Y& }感觉楼主分享,适用于哪个版本呢?
# i8 z+ q) u2 @. u+ j" d
宏是不分版本的,适用于SW任何版本。; m3 k3 n! o4 o' T) }2 b' B% x
回复 支持 反对

使用道具 举报

发表于 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, 2024-11-23 03:52 , Processed in 0.059688 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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