本文介绍了蜗轮齿面的SolidWorks三维仿真造型系统相关内容。
引言
目前,在我国企业中,计算机辅助设计CAD(Computer Aided Design)正受到欢迎和重视,逐步得到推广应用。计算机辅助设计能极大地提高设计质量,减少设计人员的工作量,缩短设计周期,降低产品成本,为开发新产品和新工艺创造了有利条件。
蜗轮的齿面是一种复杂曲面。目前,在常用的CAD软件中绘制蜗轮的齿形通常是使用近似画法,很难精确地绘制出蜗轮的复杂齿面。
SolidWorks是一套基于特征的参数化机械设计自动化软件。SolidWorks以其强大的功能、友好的界面和不断的技术创新而逐渐成为主流的三维终端CAD解决方案。以下将介绍通过编制程序调用SolidWorks的API(Application Program Interface,应用程序接口)函数,模仿实际加工蜗轮时蜗轮滚刀和蜗轮毛坯的相对运动,通过实体布尔差运算,在SolidWorks的界面中实现蜗轮复杂齿面的三维仿真造型。
1 SolidWorks二次开发工具和方法
作者选用Visual Basic作为SolidWorks的二次开发工具。利用Visual Basic开发的应用程序界面非常友好,VB功能强大且数据库的操作方便,容易被初学者掌握。使用VB来开发软件,开发周期短、程序代码效率高。SolidWorks又提供了宏录制功能,这给程序的编写带来了很大方便。我们可以先宏录制在SolidWorks用户界面执行的操作,建立一个宏文件,其代码的语法完全符合Visual Basic。通过编辑宏文件获得所需的SolidWorks的对象,用变量代替API函数中的关键参数,修改这段宏代码后添加到程序中去,从而在程序中可以控制执行所需的SolidWorks界面上的操作。例如:在SolidWorks中画一个圆,宏录制其过程,建立一个宏文件(即内部编程)。然后编辑这个宏文件,就可以在宏文件中找到画圆的对象及其方法Part::CreateCircle,通过API帮助了解API函数中参数的意义,然后用变量代替宏文件中的关键数据,如圆心坐标、圆半径等,这样,就可以在自己编的程序中添加画圆的功能。
宏所包含的调用相当于使用用户界面执行操作时,对API的调用。通过记录宏和交互式的执行任务,可以获得所需的代码的命令和语法。在写任何代码前,都是记录宏来用作程序的基础。即当向程序添加功能时,返回到SolidWorks,记录添加的宏,然后剪贴和粘贴记录的宏代码到程序代码中,这样做对编程有很大的帮助。
用VB对SolidWorks进行二次开发时,首先要将VB与SolidWorks连接起来,这需要2个步骤:首先在编写VB代码前,在VB编程环境中引用SolidWorks对象库SolidWorks 2005 Type Library。其次编写VB程序代码创建SolidWorks对象,启动运行SolidWorks。VB中的Variant类型可用于OLE对象变量的声明,Create0bject函数用于创建OLE对象。SolidWorks的引用对象包括SolidWorks应用程序对象(SldWorks)及其所有下级对象。编写自己的应用程序代码时,程序代码可以参考宏文件的代码,并进行必要的修改。最后编译生成*. exe可执行文件即可。
2 ActiveX自动化技术
Active X是Microsoft新近提出来的一种技术,它以COM为基础,其中包括OLE技术以及应用于Internet的多种技术。它使得不同的进程(甚至是网络上的进程)之间可相互通信,并且朝着多媒体方向发展。ActiveX是一种面向对象的组件系统,其中包括了组件软件的各个方面,有复合文档、自定义控制、OLE自动化、交互应用程序脚本、数据传送及其他分布式软件的相互作用。这些组件对象为用户提供了各种不同的功能,使得不同软件供应商提供的组件可在二进制间进行连接和通信。对象通过接口实现组件之间及组件与系统之间的相互作用。ActiveX是一种标准,利用这个标准可以使通过不同语言开发的软件构件在单机或网络环境中相互操作。通过ActiveX自动化技术可以从SolidWorks运行环境外部对SolidWorks进行操作。我们把VB开发的程序作为客户方(client ),而SolidWorks作为服务方( server) , VB程序可以建立与SolidWorks各级对象( object)的关联;另外,还必须在VB中通过"引用"( reference)加载SolidWorks类型库,使VB识别程序中使用的SolidWorks对象的类型、属性和方法。
3蜗轮齿型的仿真造型
在用蜗轮滚刀加工蜗轮时,需要确定刀具和毛坯的中心距、刀具主轴和毛坯主轴的传动比以及轴角。蜗轮滚刀在加工蜗轮时,蜗轮滚刀一边以一定的转速绕着自己的轴线旋转,一边做直线的进给运动;同时蜗轮毛坯也以一定的转速绕着自己的轴线旋转,从而实现加工。由于是在计算机内进行仿真造型,通过实体之间的布尔差运算(SolidWorks菜单里的组合操作)实现对毛坯的切除加工。在加工前还可以选择确定轴角。根据相对运动原理,如果仿真加工时毛坯实体不运动,而是让刀具实体自转后,沿着毛坯实体转动的相反方向绕着毛坯实体中心转动,其效果也是和实际加工一样的。所以,作者采用毛坯不动,而让刀具自转后再绕毛坯中心公转的方法,这样,只需要对刀具实体进行操作,就可以很方便地进行实体布尔差运算了。
通过运行程序自动启动SolidWorks软件并插人所选的刀具实体和毛坯实体,程序中调用所需的SolidWorks的API功能函数,根据输人的关键参数控制刀具实体的相对运动关系和相对位置,进行实体间的布尔差运算(即SolidWorks菜单里的组合操作),实现刀具实体对毛坯实体的切除加工,从而得到所需要的曲面。
通过调用SoIidWorks对象的属性和方法,实现仿真加工的一系列操作。调用PartDoc::InsertPart,将蜗轮滚刀实体和蜗轮毛坯实体插人到SolidWorks软件界面中来;调用Featurel Ianager::InsertMove-CopyBody2对实体进行复制、移动和旋转;调用Feature-Manager::InsertCombineFeature,使得蜗轮毛坯生成删减组合特征(布尔差运算),实现切除加工的仿真。将现实中实际加工时刀具加工毛坯的连贯动作在仿真加工系统中进行分段处理,例如:假设蜗轮滚刀和蜗轮毛坯的传动比是12/1,蜗轮滚刀自转了12°,那么绕蜗轮中心的公转的角度就是10>当转动了这此角度时,蜗轮滚刀就复制一次。系统在在仿真加工时,通过不断复制和旋转蜗轮滚刀,产生了蜗轮刀具运动时所形成的滚刀包络体,如图2所示,通过刘一蜗轮毛坯和蜗轮滚刀运动所形成的滚刀包络体之间的实体布尔差运算,删减刀具包络体以及和蜗轮毛坯的交集,从而加工出蜗轮的齿面。在确定如何加工一个完整齿时,首先应根据被加工蜗轮的齿数确定一个齿所占的角度,其次要保证加工一个完整齿滚刀必须运动2个齿的度数,再根据系统程序所设定的加工精度(即蜗轮滚刀沿蜗轮毛坯中心每转一次复制一次的角度)确定出加工一个完整齿蜗轮滚刀需要运动的次数,从而加工出一个完整的蜗轮齿。
蜗轮滚刀运动形成的包络体
图为仿真加工出的部分蜗轮齿形。
4程序举例
部分相关代码如下:
5 结束语
在SolidWorks平台上,充分利用软件提供的API函数,在其界面上模拟现实加工中蜗轮滚刀加工蜗轮毛坯的运动关系,通过对蜗轮毛坯和蜗轮滚刀运动所形成的刀具包络体之间的实体布尔差运算,蜗轮毛坯的三维模。随着切削过程被不断更新,从而仿真加工出蜗轮的齿面。基于实体造型的方法中几何模型的表达与实际加工过程相一致,使得仿真造型的最终结果与设计产品间的精确比较成为可能。