武汉高顿科技 发表于 2019-2-20 10:20:27

SOLIDWORKS二次开发技术导出工程图BOM

引言SOLIDWORKS是世界上第一个基于Windows平台的CAD设计软件,它可实现零件制造、大型装配设计及工程图自动生成等功能,且采用全相关技术,使得任何零件结构的修改,都可以实现装配图和工程图的同步更新。功能强大、操作简便,使其为越来越多的设计人员和企业所使用,已成为目前世界上最流行的CAD软件之一。
然而,SOLIDWORKS本身无法导出工程图BOM、通用的BOM无法满足设计需求,无法对数据进行归类和排序。企业对SOLIDWORKS进行本土化的二次开发,缩短设计周期,节约设计成本,已成为企业提高竞争力的必然选择。 1 C#对SOLIDWORKS二次开发的支持基于SOLIDWORKS平台的二次开发系统设计途径主要是利用SolidoWorks提供的数以百计的API(Appliation Programming Interface)函数。SOLIDWORKS API的对象是一个多层次结构。其中,SldWorks对象是最顶层对象,其子对象有ModelDoc、AttributeDef、Frame、Environment,SWPropertySheet等,ModelDoc2的子结构有PartDoc、AssemblyDoc和DrawingDoc,程序访问的顺序是依上而下的遍历顺序,即要想访问低层对象,必须先访问高层对象。 SOLIDWORKS Document Manager API提供了对SOLIDWORKS文档(包括零件、装配体、工程图)进行管理的一系列接口方法,其主要目的是帮助用户展开二次开发工作。这些API函数是SOLIDWORKS的OLE Automation或COM编程接口,任何支持OLE和COM的编程语言都可以作为SOLIDWORKS的开发工具。目前流行的开发工具主要有VB、VC、Delphi、Visual C#等,这些开发工具都支持OLE和COM技术,C#结合了VB和VC的优点,既拥有像VC一样强大的功能,又具有像VB一样简单易学易用的特点,同时它还支持.net Framework技术,它是目前最为流行的开发工具之一。 2 SOLIDWORKS二次开发实例以导出SOLIDWORKS工程图材料明细表开发为例,介绍以C#为程序设计语言对SOLIDWORKS进行二次开发的方法,图1为所示开发系统的用户界面。
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw82XIHjlBqIib6gX5FOicQ1gWD9ic8F7vKh8kDk7Z1oN9QYibqRaA56ZiaGicQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
(1) 通过应用程序许可码获取应用程序管理对象,并打开指定的SOLIDWORKS工程图文件,主要代码如下:
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw8aGkCQAfmNKL0ITGELrtLDHkVrOSBOgBbWAUia3Ajic5fic5L5S5FQMu9Q/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
(2) 使用相关API方法获取材料明细表,并选择指定的表格,代码如下:
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw8bb0lkQe9L7siaJTwFIREialAphojoHnCaUpBxE01loGd4fPbE9cZqskg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
(3) 对数据进行归类和排序,主要代码如下:
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw8CibpJhwVWKRFEpRKDUbsToP0S6nZgNLydQERYqJaec53VJKMq3ghcmg/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
(4) 使用Microsoft Office组件进行导出,主要代码:
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw8SHvrsI93m08PzGRskZ1QRwSqZpYLZpbsZ0Ixa90uHJziahACPcb87ng/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
(5) 导出Excel表格的最终效果:
https://mmbiz.qpic.cn/mmbiz_png/awggPtP3r8sMMPNQlS54wf665BwVZVw8UpiaVE9kkMrriaQyEFEbawkqk7gd8W5brkgXIpFu1pzytLA3iaC9dOqtQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1
3 结语本文主要是使用C#语言,针对SOLIDWORKS工程图展开二次开发工作,同时还调用了微软Office组件功能,通过不同技术的结合使用,开发出我们想要的效果,这种方式对企业只上了三维设计软件而未使用PDM进行CAD文档管理时是一个很好的解决方案,减少人工生成BOM的工作量及提高准确率。


页: [1]
查看完整版本: SOLIDWORKS二次开发技术导出工程图BOM