找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 15176|回复: 7

SW宏-删除所有配置属性

[复制链接]
发表于 2019-11-18 19:12:14 | 显示全部楼层 |阅读模式
  1. Dim swApp As Object
    3 `6 R& p! v% W
  2. 2 P( F3 M4 O; o+ |! E  T1 ?% @1 K
  3. Dim Part As Object+ h1 K8 w- t. y( Z& l3 o! n. y2 p
  4. Dim boolstatus As Boolean
    9 B& e" o; J/ V4 @1 K- ~6 v
  5. Dim longstatus As Long, longwarnings As Long
    * ^% b$ V. U6 k- V! R+ m. O2 H
  6. 5 D( M" p4 r+ U1 G$ k# f% T% W
  7. Sub main() '删除所有配置属性, {6 G$ a# k2 ~9 z$ L% f( M1 i
  8. ; R# ~! w/ V, F: r3 ~
  9. Set swApp = Application.SldWorks
    * K' k$ t  I9 `

  10. 4 D4 l. J- r3 u7 \( e
  11. Set Part = swApp.ActiveDoc' G% I$ v0 w. b  N

  12. * {% I( b4 Z6 R( W# u" S/ t' h: t
  13. CurCFGname = Part.GetConfigurationNames
    + N- D* t, c" `$ d
  14. . G5 f* }# F4 E
  15. CurCFGnameCount = Part.GetConfigurationCount6 F; \6 {9 x9 ?) u* @1 v
  16. 6 x9 Q9 ]1 G8 b- M( y4 h
  17. For i = 0 To CurCFGnameCount - 1
    , K& X3 F# s: R( J, r; j9 o* G7 C
  18. , q( x: Z9 j; f, V
  19.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
    3 U, B4 a" ?) V$ N8 ~% y' h

  20. & v! B$ H0 o1 \  H' ?4 x9 T  H
  21.     Vnamearr = CusPropMgr.GetNames
    4 b4 P5 Z6 ?8 x0 y7 i+ W0 U: k

  22. 9 ^7 K& Y! l9 I( m7 d
  23.     If Not IsEmpty(Vnamearr) Then- S; O% C: I# L+ `
  24. , {! {# o/ b3 f8 H5 C# `8 {
  25.         For Each Vnamearr2 In Vnamearr# Y8 h& {/ j) f" f
  26. 9 `6 u. a1 u( x, c
  27.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
    0 D' A0 y7 N) j1 v( a
  28. % k5 H6 U. t* |, O
  29.         Next
    8 w" G1 n# P+ ]5 `, m( ]
  30. 9 D# l  X- Y3 ^  s0 {& F* Z5 D+ @# O
  31.     End If( W- q2 R6 M4 p9 I$ f
  32. 5 j. A6 d7 k& d. v! S; }- b
  33. Next
    . ?1 z8 {) x+ b
复制代码
* e" M6 d; e% j$ i, }" M4 T8 m

3 D+ s$ P# }" w
回复

使用道具 举报

 楼主| 发表于 2019-11-18 19:13:41 | 显示全部楼层
删除所有自定义属性
' G5 c; D0 t/ ?1 Q5 H. n4 D+ v* p
  1. Sub main() '删除自定义属性
    # J4 A, c5 E; \8 o2 ~
  2. Dim swApp As Object5 `6 V3 h# s: o& X8 r
  3. Dim swModel2 As SldWorks.ModelDoc2+ W9 b; z1 |+ G
  4. Dim vCustInfoNameArr2 As Variant
    ) B6 B4 g' e5 W- W7 z7 G
  5. 4 P5 n) U" ~. i5 K
  6. Set swApp = _
    , {9 g2 N6 L: n7 M( G0 G& \1 v
  7. Application.SldWorks- N) ]3 u/ W1 ^/ L
  8. + C6 ]+ L) d4 |  E& R4 o( [( R, L5 N
  9. Set swModel2 = swApp.ActiveDoc
      u8 G$ `) [, P. F# ~- n( Y

  10.   J0 S1 t& k9 m: m: c/ O
  11. vCustInfoNameArr2 = swModel2.GetCustomInfoNames* Z( g7 ~& j7 d) i

  12.   J* v6 Z0 o( I5 o
  13.   If Not IsEmpty(vCustInfoNameArr2) Then, F4 J) d5 ?. o3 r
  14.      For Each vCustInfoName2 In vCustInfoNameArr2
    # `7 b0 q8 F' e8 H$ D8 b8 t, b4 S7 O
  15.          bRet = swModel2.DeleteCustomInfo(vCustInfoName2)/ b) s( ]4 h2 V7 @. r9 z5 j, K) L2 Q
  16.       Next
    0 G( \$ x' a: ^7 b- V: H, ~0 i
  17.   End If2 x1 q" C6 E* }, B
  18. End Sub
    2 f% |4 j0 K$ y- J6 c
复制代码
发表于 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
6 X1 \3 ~% y- i5 ]: C; I# c感觉楼主分享,适用于哪个版本呢?
" Q8 s: |9 M7 k! \4 D! O
宏是不分版本的,适用于SW任何版本。0 e, |2 T2 [4 c' \) 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, 2025-10-18 08:50 , Processed in 0.062136 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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