机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 13430|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object9 |0 g; B  g/ A

  2. 8 C2 Y8 y0 o4 E, ]& e$ m! S. o8 Z
  3. Dim Part As Object3 m" l9 s" p) P8 `5 E% J  l
  4. Dim boolstatus As Boolean
    / C9 |0 V/ S. t3 G
  5. Dim longstatus As Long, longwarnings As Long
    2 d+ F7 b1 ]( K. r! W
  6. : G3 `) Y0 c( h: c: E9 I% Y1 ^
  7. Sub main() '删除所有配置属性
    9 K* j2 D: y# l" k: K, ~
  8. % ?1 E9 j. ^" S. s2 T& K. v3 d
  9. Set swApp = Application.SldWorks
    ; d% V1 P8 p% \) Z# }  w! C. A1 V
  10. + |+ X' C* p8 H, X( E
  11. Set Part = swApp.ActiveDoc
    # `9 X6 T! o5 c1 s7 {- R
  12. $ X  U7 D, b& ~3 H# H
  13. CurCFGname = Part.GetConfigurationNames
    % }- A1 H9 O$ }" m- P1 {6 L1 i
  14. . w) u* i6 \# e+ u) ]) u
  15. CurCFGnameCount = Part.GetConfigurationCount' Y4 h. C! c  W2 {2 i
  16. $ q! ~: g1 i$ C" d
  17. For i = 0 To CurCFGnameCount - 1
    * {! `  S4 N3 L4 e3 T/ g% X

  18. 3 l( M" N  G7 i) K
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    1 r# p$ t7 B$ f* k
  20. 3 l$ I! U4 }' {% Q1 ]
  21.     Vnamearr = CusPropMgr.GetNames
    / |! x& T$ b, s' g. p9 [

  22.   X( m1 f, G( `( w# l
  23.     If Not IsEmpty(Vnamearr) Then
    5 K6 Y! g. n4 `  n6 Z2 G/ _
  24. 5 K# R. M; L& g; V$ r
  25.         For Each Vnamearr2 In Vnamearr( e6 \1 I1 Q' U9 ~  L+ X

  26. 3 n4 [- k# z* f4 _- ^
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
    & i7 m- Z' q0 }  k

  28. " R8 }3 j1 ^# u* a$ H& m8 I4 d
  29.         Next
    " i. e. f  U3 ?  h: \% m; V
  30. ! B! ^0 ^. a' w# W. ~
  31.     End If
    9 q, }% K8 a8 R* d; u( g/ o  ^. T0 M

  32. 5 Q3 T1 n& {1 e) O) `: H/ W
  33. Next
    9 N  ^! A9 x# g5 f: @
复制代码
6 A' B+ R5 Q8 p  b

/ `0 S7 t3 Y% T9 l4 ]  C; E
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性) r/ E& s8 G3 V: b0 ]
  1. Sub main() '删除自定义属性; t% w6 |/ L+ O7 Y, W1 h! P9 c1 t
  2. Dim swApp As Object$ `* n6 L# Q8 s" }5 ~
  3. Dim swModel2 As SldWorks.ModelDoc29 k2 a; Z+ b5 C4 d
  4. Dim vCustInfoNameArr2 As Variant9 p  z6 H* L6 R* j

  5. ) I" _0 p, C) t' P. {
  6. Set swApp = _
    7 C$ Q5 `( G# q% F" [
  7. Application.SldWorks
      o# L) |) I0 B% |: q% F

  8. 3 U) p; L1 v; ~' ?
  9. Set swModel2 = swApp.ActiveDoc! |  A# Z# r  i& ~

  10. 3 o2 q7 R' f2 U7 l4 U0 C! f
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
    - E/ E( u) u* w, ^. ?0 d$ t7 Z

  12. ! x7 s3 G$ Y! _, {8 K' Y% D& M
  13.   If Not IsEmpty(vCustInfoNameArr2) Then
    0 \! M7 m9 T: w. M, W+ p
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    8 b, F) d$ N  s; R, f
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)4 n% L* L% [( z( M  T1 v9 e9 I' P
  16.       Next
    # j) u( J* C- y2 ~2 n
  17.   End If7 W+ M/ P3 E4 w  g) O6 _* F
  18. End Sub' T/ t# i& N0 a7 i8 _8 n
复制代码
回复 支持 反对

使用道具 举报

发表于 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
) p' @( O/ j- {0 d感觉楼主分享,适用于哪个版本呢?

2 f* o% G5 a2 @$ C宏是不分版本的,适用于SW任何版本。
! X7 I, T% V5 x4 V! x* x( [. f3 I
回复 支持 反对

使用道具 举报

发表于 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-2-23 04:33 , Processed in 0.069771 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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