找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 14233|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    ; o7 ~  i1 s) w$ S. F" y
  2. ( F# c6 |6 s5 m) F0 k  w0 [! C
  3. Dim Part As Object0 H( n/ C1 C7 {( y
  4. Dim boolstatus As Boolean
    2 M2 q- `. F" U3 x
  5. Dim longstatus As Long, longwarnings As Long- k3 m; Z) e0 K$ ?& k
  6.   C6 V9 q/ U, m" G6 H7 x  ~
  7. Sub main() '删除所有配置属性
    : m7 W" F1 a: d3 n( w3 H0 c  z5 A" `0 o
  8. . s- F4 w; Z6 g# p; h
  9. Set swApp = Application.SldWorks
    & i# g8 n1 w2 ]0 E2 u0 J  _+ \
  10. 6 ~( ~% [! s# q6 N9 ~+ @1 ~
  11. Set Part = swApp.ActiveDoc( {; V( g) b. b' y$ p* u; x- Y4 F

  12. $ @# Q& h1 m" n) y  z
  13. CurCFGname = Part.GetConfigurationNames
    0 k* w% i& ?2 B8 l4 P( P- s# m! S

  14. " h3 g/ ^' j! ?, d* g" F
  15. CurCFGnameCount = Part.GetConfigurationCount
    9 Z7 N" b7 j/ \8 P

  16. 7 v6 p& r. }9 u% s9 v
  17. For i = 0 To CurCFGnameCount - 1/ S3 a7 z& }6 ?# A* N2 m
  18. % C% S' Q4 _% L  g
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    " y6 h% H& F7 W1 k7 I9 y

  20. ) n. D# ~! \: n( Q! {
  21.     Vnamearr = CusPropMgr.GetNames2 J' ~4 R0 O% T1 r8 n  M
  22. 1 i! Q% h# C7 @$ u
  23.     If Not IsEmpty(Vnamearr) Then" M( r) A2 B2 L" t6 L8 a; z' S% A
  24. / V. F' h" `% X4 B, n
  25.         For Each Vnamearr2 In Vnamearr
    ; @# ?  {# a2 o* h2 j0 {

  26. 8 M$ N! N, a0 t" e+ Q
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)+ f7 D4 y! Z6 c9 l) b
  28. 7 M2 p8 h) E; @+ O: R0 f# R
  29.         Next# j# s2 _: G" G( R8 m5 {  o
  30. $ A" F& h+ R' B9 F" V4 P- D
  31.     End If* P9 ?' Z9 C( u' I* C- R( a  v
  32. ) Q9 G6 w- X: n' I5 j0 i( r. w& m2 \
  33. Next; |+ J- S4 k( E% f0 \
复制代码

; F! b# _. y( I* J# C! n( Q- _# }% T# K1 s1 d2 h1 U7 e
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性; ~7 ]- E: |' G4 Y/ j
  1. Sub main() '删除自定义属性0 m- }' F3 k2 f3 R$ a2 S2 ^
  2. Dim swApp As Object# U0 i4 M( F3 ^
  3. Dim swModel2 As SldWorks.ModelDoc2
    $ G+ {( y  d8 Y" V, n" h7 \7 k2 {
  4. Dim vCustInfoNameArr2 As Variant2 g1 ?4 F) G! U! K' X7 Z0 ^8 T

  5. ) x5 b. l6 _; [; L& e
  6. Set swApp = _
    " O7 `: G* S1 c: P' Y
  7. Application.SldWorks
    " ?7 \" |3 X1 n- m

  8. & D& Z( ^4 X% w& t3 s! M. a
  9. Set swModel2 = swApp.ActiveDoc
    % u+ e6 h7 i  l! ~

  10. 4 ]; ]# s5 @; E2 [& W
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames. V% ^$ e4 f% m/ ^' s5 L) L

  12. 1 f  b4 u  S3 L) l9 g1 _
  13.   If Not IsEmpty(vCustInfoNameArr2) Then
    1 Z+ [; ?7 o, C3 c2 J5 Y
  14.      For Each vCustInfoName2 In vCustInfoNameArr2% r1 [8 t- ]6 i6 M
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
    ; Y- _2 r, I, N
  16.       Next# c) C. C8 T$ |
  17.   End If8 T: S& m5 N0 t+ q$ x3 F
  18. End Sub) [; }. e- t8 X' T* w& [3 `
复制代码
发表于 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
+ H+ r% R( W0 L. p感觉楼主分享,适用于哪个版本呢?

" o; I/ Q* h! A  W( D6 b宏是不分版本的,适用于SW任何版本。, v0 L% v5 @7 k8 A* e) |0 D2 f
发表于 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-6-18 12:47 , Processed in 0.067484 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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