您的位置:网站首页 > Solidworks

用VB实现SolidWorks二次开发中工程图转换

时间:2010-11-13 09:37:54 来源:

  本文介绍了用VB实现SolidWorks二次开发中工程图转换的相关方法。

  1引言

  SolidWorks作为一种三维实体设计软件,其友好的用户界面.大众化的运行环境使它成为比较流行的设计软件之一。使用SolidWorks使得三维零件实体造型、复杂装配体和生成常用工程视图等变得非常的方便,同时SolidWorks提供了免费的开发工具API(Appliation Progran Interface,应用程序接口)函数,这些API函数是Solidworks的OLE或COM接口,用户可以利用支持OLE ( Object Linking and Embedding,对象的链接与嵌人)和COM( Component Ohject Mudel,组件对象模型)的VB或VC语言对Solidwork。进行二次开发,建立适合自己的专用应用方案。

  在产品设计过程中工程图是生产、制造机器等的重要依据,它不仅体现着设计结果,而且也是指导生产的参考依据。工程图方便了设计人员之间的交流,而且在一定程度上可以提高工作效率,但是在SolidWorks中从模型直接生成的工程图中所标注的尺寸、字体及注释有些是不符合人们的习惯的,因此可以利用二次开发技术实现由零件图到工程图的转换,并对工程图的属性进行必要的修改,使其符合用户的专有需要。

  本文详细地介绍了利用VB对SolidWork,进行二次开发完成渐开线齿轮的工程图及其尺寸标注的过程,可以为其它复杂零件及装配体等工程图的转换提供一定的参考。

  2由VB6.0对Solidworks的二次开发

  SolidWorks API是树型层次结构如图I所示,SolidWorks是根目录对象类,位于应用程序的底层,它包括ModelDx , Environment , Frame , AttributeDef , Modeler , SWPtopertySheet,它是访问SolidWorks API所有对象的人口程序,它能直接或间接地访问SolidWorks API中的所有其他对象。接口对SolidWorks API的调用实行逐级寻访,即先调用能实现所需功能的对象的父对象,然后调用与父对象相关的子对象,如果子对象所封装的属性和方法不能实现所需要的功能,则继续调用该子对象的下级子对象,如此逐级遍历,直到结束,如果对SolidWorks API对象进行跨级调用,程序会出错。

图1

  在本文中用到的对象有生成标准三视图并实现标注等功能的DrawingDoc对象,用于设置尺寸标注和公差标注的Dimension对象。

  2.1 SdidWorks二次开发通常采用的流程

  (1)创建SolidWorks对象。实现和SolidWorks应用程序的连接;

  (2)利用SolidWorks提供的API函数,创建应用程序所需要的操作和设置;

  (3)最后创建SolidWorks及其它对象结束程序,完成整个流程。

  流程框图如图2所示。

图2

  2.2 SolidWorks二次开发的过程

  用VB6.0开发SolidWorks时,一般是利用宏录制命令在SolidWorks环境中录制SolidWorks的相关操作来获得程序头部和应用程序的代码,并将代码经过适当的修改后放到VB中使用。

  在SolidWorks中利用宏录制的方法:选择SolidWorks菜单下的视图!工具}宏!录制命令。当在SolidWorks中录制完所需的操作后,点击菜单下的视图|工具|宏|停止命令保存,然后点击菜单下的视图|工具|宏|编辑打开录制的宏进行编辑和修改后作为VB的原代码。

  2.3 SolidWorks二次开发的用户界面

  按照用户的需要,建立自己的专用用户界面如图3所示。首先根据零件选择图纸的大小,点击工程图转化按钮进行工程图的转换,然后根据需要对工程图属性进行操作。

图3

  3由VB6.0开发SolidWorics中由零件图转化为工程图的方法

  3.1生成标准三视图

  在生成三视图的时候,首先应根据零件和绘图比例的大小选择图板和图纸的大小,该程序以A2图纸为例进行转化,并且自动标注尺寸。在进行图纸转化时应根据实际需要将模型和工程图中的原点显示关闭,否则在输出给DXF时一些代表轴线的非常细的线也会一起输出,不利于图纸的清晰度。

  运行效果:程序运行前如图4所示。程序运行后如图5所示。

图4

图4

  一般的零件用三视图就可以表达清楚了,对于一些很复杂的零件,三视图没有很好的表达,并且给其他用户的看图造成困难时,可以用剖视图函数retval = DrawingDoc.CreateSectionViewAt4(X, Y, Z, SectionLabel,Options ExcludedComponents)生成剖视图或者其它的局部视图来增加图纸的可读性。

  3.2尺寸操作

  在SolidWorks环境中改变图纸尺寸时,只能在工程图中对单个尺寸进行修改,相对比较繁琐。在本程序中可以同时将选中的多个尺寸进行强制修改并设置尺寸公差。

公式2

  3.3设置图纸比例

  如果在工程图中往往要根据要求进行工程图的比例放大或缩小,在二次开发中是很容易实现的,该程序以改变工程图4倍为例。

公式3

  4结束语

  本文通过实例介绍了二次开发在工程图转换中的应用,还有许多如注释、粗糙度等对工程图属性的操作在VB对SolidWorks二次开发中都是可以实现的,读者可以根据自己的需要进行开发和研究。