找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 14571|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    1 l  K* s! A( N1 y3 c

  2. 9 c8 a7 q9 l  n; O9 E9 K
  3. Dim Part As Object/ b8 J. _2 R! b/ ^
  4. Dim boolstatus As Boolean; I  H6 @8 m; d2 I: ^, u
  5. Dim longstatus As Long, longwarnings As Long
    ' w8 g" Z" c! z& ~) }0 O
  6. ) V4 h! e  N1 N- b" @6 r1 h- G2 i
  7. Sub main() '删除所有配置属性
    6 k$ L& \' N' F" m, F

  8. 3 K' T8 `- e8 C6 {" j
  9. Set swApp = Application.SldWorks1 {8 [* W# h. c

  10. 6 s. q1 ]7 O& R: L3 T4 p1 d- i; ?
  11. Set Part = swApp.ActiveDoc
    2 x& x& o$ K1 \4 C- L7 k0 Q0 L0 Q
  12.   s( h* R. U9 }2 e. h" ?9 m
  13. CurCFGname = Part.GetConfigurationNames
    4 t9 Y! ]5 D6 m: T) z
  14. % m7 Y5 c/ A5 U' d- _3 M! O/ G
  15. CurCFGnameCount = Part.GetConfigurationCount
    ) P! k: |; A! `: `3 X, w
  16. $ G; N* x5 V% x: t0 X. N; N1 O* \
  17. For i = 0 To CurCFGnameCount - 18 F( C6 V* J9 I( [. a& ^
  18. 9 \' N8 ~, _" s; y) [. `
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    * M  ]% @4 |+ v) Q# G0 {1 Q6 ]
  20. 1 h8 n5 T- n- K; p' W/ s
  21.     Vnamearr = CusPropMgr.GetNames
    8 X( L3 ]2 ^/ w$ V
  22. - N! [: }$ L; j' D2 ]" z4 F
  23.     If Not IsEmpty(Vnamearr) Then! Z7 {1 X4 m4 O# T  O1 r+ n
  24. 0 ^% V7 z( v9 `% v
  25.         For Each Vnamearr2 In Vnamearr# y/ y, g- v2 J% m$ M
  26.   p4 ~. f$ w9 o% c5 m
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
    ' A* M# d3 [8 O- _% |1 m/ A

  28. 2 K! j2 e, @9 T: n, y9 I7 s% g
  29.         Next8 D- h% d3 o" Z

  30. ( B$ r) C5 Y$ A0 l2 D5 b1 B6 C
  31.     End If
    0 z* c) a2 p" q
  32. ' U6 C) |, U" a4 b1 X/ `* O
  33. Next9 t  Q4 b# ^/ p. d% o
复制代码

+ T7 W# c- A9 ~: W
5 \) o/ h. j) {/ a4 h) D
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性  J7 f- D% X- s9 ?; j6 e8 X
  1. Sub main() '删除自定义属性
    2 j$ {: ~3 {, C2 n! ?' V
  2. Dim swApp As Object. H+ |7 }+ b) G) y
  3. Dim swModel2 As SldWorks.ModelDoc20 B0 {/ o# o$ p! a+ o6 c
  4. Dim vCustInfoNameArr2 As Variant7 Y0 e# |$ l% b3 b: N! z

  5. % ^2 s3 {* I; E5 P0 C+ b
  6. Set swApp = _
    , q& G% b0 p) I9 N# z" y1 K4 o
  7. Application.SldWorks
    : `' X8 p- V" `4 b9 ?3 m: Z" d
  8. # g' b+ b2 k0 b) e
  9. Set swModel2 = swApp.ActiveDoc3 b+ r- F. _7 S2 S$ H

  10. $ T. y4 ]8 e1 n! V$ H' Q6 o: [
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
    ' X3 i  |% O) c% G7 Q% N7 t

  12. 3 {1 P6 n) ^* G: U; q/ i
  13.   If Not IsEmpty(vCustInfoNameArr2) Then
    - A0 o1 e  D- q; n, }" S
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    1 ~$ v$ e' [2 t% v9 E
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
    * ^; H1 M1 h- D8 C4 D
  16.       Next9 _! F+ ~6 l1 h
  17.   End If5 z5 O; K; A: H0 D. V
  18. End Sub8 O% w3 d5 _( V9 a0 p- `9 P
复制代码
发表于 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% y) @6 z/ H+ u5 j3 t. ?
感觉楼主分享,适用于哪个版本呢?

$ x4 d, t! m: D, H- |# t宏是不分版本的,适用于SW任何版本。. `7 j  m- P7 M+ }, I4 K* R
发表于 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-8-4 21:59 , Processed in 0.082353 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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