机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 12882|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object9 ~; n/ Y) m( |' Z- _, B% z; r
  2. 1 t0 w( L- z- V/ h  `
  3. Dim Part As Object) h5 i! e% ?1 [! w- C9 P' D4 T  @
  4. Dim boolstatus As Boolean; n9 v' k5 Z! N5 G" K- @6 L- r
  5. Dim longstatus As Long, longwarnings As Long; B) q# H! c  N$ g1 x+ R

  6. 7 q9 U8 ^" n: z6 S; T( F# }
  7. Sub main() '删除所有配置属性0 t7 l/ s+ w9 J1 l

  8. 4 Y- y  f/ _  j; {
  9. Set swApp = Application.SldWorks
    ( v0 S+ V& a/ C. _
  10. ) ^6 o, F) \9 m" R( T
  11. Set Part = swApp.ActiveDoc
    + n4 Z! d% ~2 b, ], E
  12. 7 @8 v6 l" p, U
  13. CurCFGname = Part.GetConfigurationNames- D* Q7 X$ T7 N, H9 a
  14. 7 M2 p% Z* P* n* g+ o1 H: h2 F3 G
  15. CurCFGnameCount = Part.GetConfigurationCount% `8 }# D5 {5 l' {, l& I  S% F

  16. 3 e* S; y% {; s0 \% N3 G
  17. For i = 0 To CurCFGnameCount - 1
    8 Y# N! r9 D! X2 I4 O" s
  18. : b7 y% z* w3 D; `9 D. K: l
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    / E8 i) p" w4 |' A5 f- Q; g4 c( Z( P
  20. - v1 W  M7 V! S0 y/ f  I
  21.     Vnamearr = CusPropMgr.GetNames
    " j" T+ g# D9 ^0 ~$ _/ m$ m
  22. ! R6 v$ e9 Z( C2 R4 C
  23.     If Not IsEmpty(Vnamearr) Then
    - _9 B! K" N* W" I/ D, q+ d

  24. ! g+ P0 A0 Z, |
  25.         For Each Vnamearr2 In Vnamearr
    : m* |, S' F) ~# l/ j% O- J1 m

  26. ' k# X# M7 p9 F* ?
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)3 ?8 y; P( X, p: g9 w- X

  28. 9 ?8 Q0 o' o' k3 w9 G9 \) j$ }
  29.         Next
    ; `8 N$ l9 ?0 m& E/ t9 ]) e

  30. $ U" G4 {/ }& ~" S
  31.     End If
    / F/ ]6 K8 J# L* T# V: l/ t
  32. ) K" Q& j& z% S" `  [( V! O
  33. Next
    ; `2 |, V! Q: b9 w0 O' ?
复制代码

- f2 @2 [% o, \
1 C  |/ k( I8 D( B
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性
# [8 M# q. Q' Z% u
  1. Sub main() '删除自定义属性' h2 b1 Q# R( v2 _; k( _
  2. Dim swApp As Object; A/ k2 l- F) i
  3. Dim swModel2 As SldWorks.ModelDoc2  w; T1 Q% |" ^/ {8 Y
  4. Dim vCustInfoNameArr2 As Variant2 D0 E4 G# r  r7 W6 X1 E- J

  5.   \5 C0 W3 f1 \( U- x$ O
  6. Set swApp = _+ M( s6 a- o1 Y4 P: i9 R  P( i
  7. Application.SldWorks8 K' l6 u! D3 a, c

  8. : j8 L* k7 s' D6 j) W2 G9 q
  9. Set swModel2 = swApp.ActiveDoc
    , H3 @& k1 u% d, E8 N4 Z
  10. & P; S+ H( \9 C  s- C
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
    - |% k! T1 m# C, v( N, L

  12. 8 l% r# R- g; q8 a
  13.   If Not IsEmpty(vCustInfoNameArr2) Then
    + c7 m* ]; F, x8 }. c
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    + I+ K. w8 W$ b
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)& B2 E+ [) l- B4 X% Q% f, X
  16.       Next
    # f- n' M: t+ t% |5 l7 T
  17.   End If3 f3 y! C* y% V9 R' X
  18. End Sub( j9 d# m3 }3 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& I$ [( Y9 x2 t! E& `3 C! K% y, E
感觉楼主分享,适用于哪个版本呢?

  T( N" M5 K- k  m: Z  B- N宏是不分版本的,适用于SW任何版本。+ [8 P1 Q  p, y, T9 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, 2024-12-1 03:11 , Processed in 0.056355 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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