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

iCAx开思网

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

[分享] 【分享】Replace BOM Table

[复制链接]
跳转到指定楼层
1
发表于 2019-3-10 03:12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 gt.adan 于 2019-3-10 21:39 编辑

壇子內有人問起,剛好前一陣子碰到一樣的工作要求。
取經了原廠論壇前輩們寫的巨集,自個兒瞎唬弄拼湊了一個還堪用的代碼…
老手用力噴!噴完請不吝指導較為簡潔的寫述方式~~

  1. 'Replace BOM
  2. '刪除原工程圖中的BOM,並插入新BOM到指定的座標
  3. Dim swApp As SldWorks.SldWorks
  4. Dim swModel As SldWorks.ModelDoc2
  5. Dim swSelMgr As SldWorks.SelectionMgr
  6. Dim swFeatMgr As SldWorks.FeatureManager
  7. Dim swFeat As SldWorks.Feature
  8. Dim swView As SldWorks.View
  9. Dim swBomAnn As BomTableAnnotation
  10. Dim swBomFeat As SldWorks.BomFeature
  11. Dim anchorType As Long
  12. Dim bomType As Long
  13. Dim configuration As String
  14. Dim tableTemplate As String
  15. Dim Names As Variant
  16. Dim visible As Variant
  17. Sub main()
  18. Set swApp = Application.SldWorks
  19. Set swModel = swApp.ActiveDoc
  20. Set swFeat = swModel.FirstFeature
  21.     While Not swFeat Is Nothing
  22.         If "BomFeat" = swFeat.GetTypeName Then
  23.             swFeat.Select2 False, -1
  24.             swModel.Extension.DeleteSelection2 swDeleteSelectionOptions_e.swDelete_Absorbed
  25.         End If
  26.         Set swFeat = swFeat.GetNextFeature
  27.     Wend
  28. Set swSelMgr = swModel.SelectionManager
  29. Set swFeatMgr = swModel.FeatureManager
  30. Set swDraw = swModel
  31. Set swSheet = swDraw.GetCurrentSheet
  32. 'Select View
  33. swModel.ClearSelection2 True
  34. Set swView = swDraw.GetCurrentSheet.GetViews()(0)
  35. 'Insert BOM Table
  36. anchorType = SwConst.swBOMConfigurationAnchorType_e.swBOMConfigurationAnchor_BottomRight
  37. bomType = SwConst.swBomType_e.swBomType_TopLevelOnly
  38. swModel.ClearSelection2 True
  39. configuration = ""
  40. tableTemplate = ""   '<---在雙引號內輸入新零件表模板完整路徑
  41. Set swBomAnn = swView.InsertBomTable2(False, 0, 0, anchorType, bomType, configuration, tableTemplate)
  42. '上一行代碼中,False後接的 0,0 即為工程圖中的 X,Y 座標值,自行依需要插入表格位置修改,唯注意比例是 1:5000
  43. Set swBomFeat = swBomAnn.BomFeature
  44. Names = swBomFeat.GetConfigurations(False, visible)
  45. visible(0) = True
  46. boolstatus = swBomFeat.SetConfigurations(True, visible, Names)
  47. swFeatMgr.UpdateFeatureTree
  48. End Sub
复制代码


PS. 此巨集僅為單一工程圖檔使用,有需要的朋友自便,
      更可拜讀悶哥之前的教學「批量處理宏」,將其修改為更便利的工具。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 赞一下!赞一下!
2
发表于 2019-3-10 07:26:03 | 只看该作者
感谢分享。
3
发表于 2019-3-10 09:50:24 | 只看该作者
谢谢分享。
4
发表于 2019-3-11 09:29:28 | 只看该作者
好东西,谢谢分享!!!
5
发表于 2019-3-12 00:30:19 | 只看该作者
丹大出手,必属精品!
6
发表于 2019-3-17 09:17:48 | 只看该作者
vcbxdfbcvbn
7
发表于 2019-3-26 09:03:40 | 只看该作者
这个 VB代码从哪儿学啊?看天书一样
8
发表于 2019-3-26 14:33:18 | 只看该作者
感谢楼主的分享
9
发表于 2019-12-21 20:34:33 | 只看该作者
感谢楼主的分享
10
发表于 2022-2-16 17:48:29 | 只看该作者
顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-22 19:14 , Processed in 0.024122 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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