找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 5453|回复: 10
打印 上一主题 下一主题

[求助] 宏——SW删除自定义和所有配置的所有属性

[复制链接]
跳转到指定楼层
1
发表于 2020-2-27 13:33:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
在网上找到的这二个宏,现在想把他和在一起做成一个删除所有的属性,但一直出错不知哪位知道怎么修改谢谢!
  1. Dim swApp As Object
  2. Sub main() '删除自定义属性
  3. Dim swApp As Object
  4. Dim swModel2 As SldWorks.ModelDoc2
  5. Dim vCustInfoNameArr2 As Variant
  6. Set swApp = _
  7. Application.SldWorks
  8. Set swModel2 = swApp.ActiveDoc
  9. vCustInfoNameArr2 = swModel2.GetCustomInfoNames
  10. If Not IsEmpty(vCustInfoNameArr2) Then
  11. For Each vCustInfoName2 In vCustInfoNameArr2
  12. bRet = swModel2.DeleteCustomInfo(vCustInfoName2)
  13. Next
  14. End If
  15. End Sub


  16. Sub main() '删除所有配置所有属性
  17. Set swApp = Application.SldWorks
  18. Set Part = swApp.ActiveDoc
  19. CurCFGname = Part.GetConfigurationNames
  20. CurCFGnameCount = Part.GetConfigurationCount
  21. For i = 0 To CurCFGnameCount - 1
  22.     Set CusPrOPMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
  23.     Vnamearr = CusPropMgr.GetNames
  24.     If Not IsEmpty(Vnamearr) Then
  25.         For Each Vnamearr2 In Vnamearr
  26.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
  27.         Next
  28.     End If
  29. Next
  30. Set swApp = Application.SldWorks
  31. End Sub
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 赞一下!赞一下!
推荐
发表于 2020-4-2 23:54:45 | 只看该作者
請慢用…

  1. Dim swApp As SldWorks.SldWorks
  2. Dim swModel As SldWorks.ModelDoc2
  3. Dim swCustPropMgr As SldWorks.CustomPropertyManager
  4. Dim vPropNames As Variant
  5. Dim vConfs As Variant
  6. Dim i, j As Integer
  7. Dim conf As String

  8. Sub main()
  9. Set swApp = Application.SldWorks
  10. Set swModel = swApp.ActiveDoc
  11. If swModel Is Nothing Then MsgBox "Open a file first.": Exit Sub
  12.     ClearCustPrps ("")
  13.     vConfs = swModel.GetConfigurationNames
  14.     For i = 0 To UBound(vConfs)
  15.       ClearCustPrps (vConfs(i))
  16.     Next i
  17. MsgBox "Done!"
  18. End Sub
  19.    
  20. Sub ClearCustPrps(conf As String)
  21. Set swCustPropMgr = swModel.Extension.CustomPropertyManager(conf)
  22. If Not swCustPropMgr Is Nothing Then
  23.   swCustPropMgr.GetAll vPropNames, Empty, Empty
  24.     If Not IsEmpty(vPropNames) Then
  25.     For j = 0 To UBound(vPropNames)
  26.       swCustPropMgr.Delete vPropNames(j)
  27.     Next
  28.   End If
  29. End If
  30. End Sub
复制代码


2
发表于 2020-2-27 21:07:38 | 只看该作者
不知楼主所说的删除所有属性是删除单个模型属性还是多个模型批量删除属性
3
发表于 2020-2-27 21:10:23 | 只看该作者
wenmk 发表于 2020-2-27 21:07
不知楼主所说的删除所有属性是删除单个模型属性还是多个模型批量删除属性

还有就是删除所有配置,也就是说没有激活的配置属性也要删除是吧。

4
发表于 2020-3-11 16:17:38 | 只看该作者
wenmk 发表于 2020-2-27 21:10
还有就是删除所有配置,也就是说没有激活的配置属性也要删除是吧。

是的删除所有属性,不管是自定义的还是配置的
5
发表于 2020-3-11 17:01:01 | 只看该作者
可以参考以下代码:
  1. Set swApp = Application.SldWorks
  2. Set Part = swApp.ActiveDoc
  3. CurCFGname = Part.GetConfigurationNames
  4. CurCFGnameCount = Part.GetConfigurationCount
  5. For i = 0 To CurCFGnameCount - 1
  6.     Set CusPropMgr = Part.Extension.CustomPropertyManager(CurCFGname(i))
  7.     Vnamearr = CusPropMgr.GetNames
  8.     If Not IsEmpty(Vnamearr) Then
  9.         For Each Vnamearr2 In Vnamearr
  10.             bRet = Part.DeleteCustomInfo2(CurCFGname(i), Vnamearr2)
  11.         Next
  12.     End If
  13. Next
复制代码
6
发表于 2020-4-2 21:51:51 | 只看该作者
wenmk 发表于 2020-3-11 17:01
可以参考以下代码:

感谢回复,这个是可以删除当前配置下的:自定义属性和配置属性。可能之前没有说清楚,如果是零件有多个配置:怎么删除每个配置下的,自定义属性和配置属性。如零件A里面有以下配置如:A\A1\A2\A3这样的零件配置,每个下面都有自定义属性和配置属性,怎么一次性都删除?
7
发表于 2020-4-2 22:31:17 | 只看该作者
本帖最后由 wenmk 于 2020-4-2 22:41 编辑
yh2010 发表于 2020-4-2 21:51
感谢回复,这个是可以删除当前配置下的:自定义属性和配置属性。可能之前没有说清楚,如果是零件有多个配 ...

       楼主你好,多配置模型中,自定义是所有配置共用的,只有特定配置才是对应每一个配置,楼主可以查一下API,记得好像是:swApp.GetConfigurationNames(swPathName)  然后遍历激活配置后删除特定配置中的属性即可。
9
发表于 2020-4-7 20:10:38 | 只看该作者

丹大你好,这个可以设置成,遍历删除装配体所有零件的配置自定义属性?
10
发表于 2020-4-17 22:19:05 | 只看该作者

感谢回复,大老出手,一切无忧!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-23 18:21 , Processed in 0.026535 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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