机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 11344|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    4 s' {9 j# ?9 h4 d- E
  2. ) n' e' m  _7 O% x! T) ~
  3. Dim Part As Object
    8 v  @$ a- W' n
  4. Dim boolstatus As Boolean4 U* H5 m( d' _, n
  5. Dim longstatus As Long, longwarnings As Long5 e' d0 ?. J" U4 H" h' y; G

  6. $ o0 ?2 d. f) u# I
  7. Sub main() '删除所有配置属性$ @1 I+ |( C/ e: j. ~$ U$ P* n
  8. / t7 [# Q! U9 A# `3 m3 d& t, M% Z
  9. Set swApp = Application.SldWorks
    ! r; }$ ]4 K8 S9 v; P- `: C2 C. c

  10. 8 K3 s  e! C/ S( E% b$ c
  11. Set Part = swApp.ActiveDoc& w- n& ~) R* I5 W7 x. R
  12.   D* I& B4 A4 ~, Y/ s' P& e4 h
  13. CurCFGname = Part.GetConfigurationNames8 m- r1 k/ M( o- [& s2 f5 i$ [
  14. ; |; P+ S) m& [3 j8 R% m. ?4 l
  15. CurCFGnameCount = Part.GetConfigurationCount4 @" l5 P2 {6 L- y! g5 R

  16. % O) U' d% u  s4 y; _1 m9 u5 E- g. r
  17. For i = 0 To CurCFGnameCount - 1
    % b+ L$ F% x$ q

  18. 4 |3 z$ l7 h% c. S
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))' t( m" y- f+ S4 C* q- B

  20. $ c" k( ?0 m* G) J
  21.     Vnamearr = CusPropMgr.GetNames
    , P) w  S8 Y, B- z8 T& y
  22. ' n) c, X+ F' n& k& X
  23.     If Not IsEmpty(Vnamearr) Then& p* _$ k+ f) n% v, Y: O

  24. ! T& t& N% l5 @9 N  ~
  25.         For Each Vnamearr2 In Vnamearr
    ) m5 G9 t/ j5 O6 ^

  26. % B- u! _0 v- ]; t: i# |' C* R
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)  \5 }3 J+ [" P9 Y% h! ^

  28. ) u. x1 m" F7 j, o) |
  29.         Next2 k8 P. c6 v; s- o: g9 d1 c

  30. & Q* r, \9 l& d0 ~
  31.     End If
    : x& U9 D9 g8 p& i
  32. 3 Y2 ?# A  Q# }" [( a
  33. Next+ k5 b% a' J& `0 Q
复制代码
# ]! `( E$ A5 R5 ]# F4 h
  n8 H# L" h' T0 d" G- G9 g
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性& l5 v+ B* i. K) c, E8 T7 r
  1. Sub main() '删除自定义属性" j5 C  a- Q6 u/ f0 N
  2. Dim swApp As Object( W% V6 ^6 n* q! H. n* }" ?
  3. Dim swModel2 As SldWorks.ModelDoc2& R( E+ ~) f) M* p- M; k3 v* q* k* U
  4. Dim vCustInfoNameArr2 As Variant
    ) {) I8 {$ l2 N1 R$ i

  5. ; g/ ]9 I% F7 g! v3 g" i: t
  6. Set swApp = _5 Z1 N" K1 R# V7 I  m) Y
  7. Application.SldWorks+ a0 S, _6 \& c) n$ V& e& j

  8. , e% J# u$ p" d# u  M* u
  9. Set swModel2 = swApp.ActiveDoc
    1 W' O( G: f- Z7 H4 J) i- N$ M, Q9 e

  10. 4 m! Y  k( I5 l
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
    8 G$ i( X! Z; b4 T( Y7 {# c
  12. , e) m# |) r6 g( m$ z$ y
  13.   If Not IsEmpty(vCustInfoNameArr2) Then+ O/ `4 W# }; b. l& ~
  14.      For Each vCustInfoName2 In vCustInfoNameArr2) p. w" O( \7 Y2 V* E" r- z
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)$ n+ E% T5 j( `
  16.       Next0 Z. c2 ?7 q8 `
  17.   End If
    2 }' M5 o- P+ e# I" R+ z" ^
  18. End Sub
    . E8 e/ Y- N0 T
复制代码
回复 支持 反对

使用道具 举报

发表于 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:111 l6 z( c* P# J; u
感觉楼主分享,适用于哪个版本呢?

9 y( B3 {0 g+ K2 @0 M( {  i1 D宏是不分版本的,适用于SW任何版本。
1 k# _' n5 s+ Y# [6 i5 Z# x  Y
回复 支持 反对

使用道具 举报

发表于 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-4-25 20:32 , Processed in 0.051227 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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