机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13917|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    7 V/ l7 }9 h" E: t( X# A4 M
  2. $ l3 R& X. l- N. Y
  3. Dim Part As Object
    : t3 y% n5 @/ A6 f8 |: L4 \
  4. Dim boolstatus As Boolean5 S" r3 c& @9 {$ @
  5. Dim longstatus As Long, longwarnings As Long' g2 Q+ B6 d$ O

  6. / X+ e* A( Z- F: G" Z
  7. Sub main() '删除所有配置属性* T/ g2 I, g) Q, J2 i' ?& r5 C! u0 s

  8. : J- J! z$ S* A- N8 b/ C
  9. Set swApp = Application.SldWorks& G% k1 @2 T9 v& l

  10. % W+ D, I5 R" H4 r4 d* h% a' @/ z
  11. Set Part = swApp.ActiveDoc+ x2 I4 `: A! }) [' y
  12.   K7 G$ V" @- V/ U! j# C+ K
  13. CurCFGname = Part.GetConfigurationNames
    # @) x6 [6 g7 A" x. q5 ~3 c

  14. 6 M: h1 M- B% O! n
  15. CurCFGnameCount = Part.GetConfigurationCount( r# e' x1 E, z$ N1 E2 P
  16. 7 l& m) g# c6 u, j
  17. For i = 0 To CurCFGnameCount - 1
    % k8 i  z7 i% {7 T8 f) ^1 [

  18. 1 D6 N* B  R) C" x9 @+ N
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))4 S! c+ P& x6 b6 j

  20. * o) x/ S" Y' B& g5 h* \) L
  21.     Vnamearr = CusPropMgr.GetNames
    ; K; y$ T2 w) [+ i1 u2 @5 T! u, C

  22. 1 t6 P& L0 o7 F" L" m$ p3 A
  23.     If Not IsEmpty(Vnamearr) Then% _5 ^$ ^3 w; ^% C: d  M
  24. . D6 Q. Z0 o" }3 r! Q; b
  25.         For Each Vnamearr2 In Vnamearr
    , c' R1 ?6 Z( J
  26.   G  \) ~- @% V* e  Y, ~# p
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
    4 C2 U5 M' O# g. H

  28. 0 l$ C3 K9 b. b/ |! v$ T+ v& _
  29.         Next" @# T$ W; m3 S: ?! ?
  30. * C" s8 m# z) y7 t( n, t( w5 O
  31.     End If% j$ [. ~# O; D, _6 _, B% u
  32. 3 x5 R7 U3 c0 J5 d8 b7 L7 q: }
  33. Next5 K: L: ?7 {7 ]2 L
复制代码

5 B! H4 M6 `) h% W( g6 j' z% s
( b" o7 ~, q# U4 c. x4 |- H* @6 a: g
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性
, O9 T- o& t- }
  1. Sub main() '删除自定义属性7 J" e, V8 m8 Z0 m3 N! `& n7 y2 E
  2. Dim swApp As Object
    + w2 {7 w" L, u+ @2 t, q$ {" l$ A
  3. Dim swModel2 As SldWorks.ModelDoc2* y3 L, {' w# s; J& C
  4. Dim vCustInfoNameArr2 As Variant2 x3 e0 Z  f6 I! P4 s; g" I
  5. 4 ?6 ]: r6 p: V% u7 A
  6. Set swApp = _  x$ {3 Z$ b  t: ^5 ^
  7. Application.SldWorks6 p; C& P6 {' K$ n2 I* K8 _- {
  8. $ r: a  ]; I5 g! y) P) ]
  9. Set swModel2 = swApp.ActiveDoc5 G. V, a$ a' R4 f

  10. ! i0 m5 s/ X4 v4 L& G" D" d6 j) K
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames, g$ r! E2 M( C% R$ J2 B; F% C1 @

  12. , V$ |" w; L4 H8 U3 c1 ^5 q( N
  13.   If Not IsEmpty(vCustInfoNameArr2) Then3 R- P6 B, _( y5 f
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    / }3 v+ V9 A: c, W. m" T% X7 S$ ~
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
    3 E, T6 x$ V! ]
  16.       Next: K6 t0 m# j+ X6 \7 B
  17.   End If
    1 g: A* Q' S% }4 ]" B
  18. End Sub
    ! I2 y/ ?8 c7 z% s/ }
复制代码
回复 支持 反对

使用道具 举报

发表于 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% J& i$ M3 t  y7 P1 K
感觉楼主分享,适用于哪个版本呢?
! g# u( m* `8 K; q
宏是不分版本的,适用于SW任何版本。
) {2 B3 K4 u) F2 D) Y9 V
回复 支持 反对

使用道具 举报

发表于 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-5-1 13:35 , Processed in 0.060933 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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