文案|炎左
编辑|炎左
参数化绘图是相对于交互式绘图而言的。早期的CAD系统,只提供交互式绘图功能,交互式绘图只能是手工绘图的简单代替。
只有参数化绘图才能发挥CAD准确和快速的特点,因此实现参数化绘图是机械CAD的核心任务之一。另外由于摆线锥齿轮的加工较为复杂,加工成本较高,对齿轮实体进行加工前的仿真,了解齿形状况,将对实际加工起到指导意义。
参数化开发方法简介
ActiveXAutomation是微软公司推出的一个技术标准,该技术是OLE技术的进一步扩展,其作用是在Windows系统的统一管理下协调不同的应用程序,允许应用程序之间相互控制、相互调用。
目前,ActiveXAutomation技术已经在Internet、Office系列办公软件的开发中得到了广泛的应用。AutoCAD作为一种具有高度开放结构的CAD平台软件,它提供了强大的二次开发环境。从AutoCADR14版开始,AutoCAD引入了ActiveXAutomation技术。
由于ActiveX技术是一种完全面向对象的技术,所以许多面向对象化编程的语言和应用程序,可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。AutoCADActiveX技术提供了一种机制,该机制可使编程者通过编程手段从AutoCAD的内部或外部来操纵AutoCAD。
ActiveX是由一系列的对象,按一定的层次组成的一种对象结构,每一个对象代表了AutoCAD中一个明确的功能,如绘制图形对象、定义块和属性等等。
ActiveX所具备的绝大多数AutoCAD功能,均以方法和属性的方式被封装在ActiveX对象中,只要使用某种方式,使ActiveX对象得以“暴露”,那么就可以使用各种面向对象编程的语言对其中的方法、属性进行引用,从而达到对AutoCAD实现编程的目的。
由于ActiveX技术是一种完全面向对象的技术,所以许多面向对象编程语言和应用程序可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。ActiveX在多种开发语言与AutoCAD之间所起的作用如图5-1所示。
由于AutoCAD支持ActiveXAutomation技术,所以开发人员可以选择任何一种开发工具。而采用ActiveX技术的另一优点是应用程序之间可以很好地共享数据,如AutoCAD与Word及Excel三者之间可以互相交换数据,这在图纸信息的管理交流中有着重要的实际意义。
AutoCAD的对象体系结构
不管是用VB,VC,OfficeVBA等从外部,还是用AutoCADVBA从内部对AutoCAD进行二次开发,都是通过调用AutoCAD的功能对象(也称AutoCADActiveX对象)来进行的。
AutoCADActiveXAutomation技术将AutoCAD的各种功能封装在AutoCADActiveX对象中,供编程使用。对象之间可以通过对象属性、对象的方法、对象的类型互相区别。例如,AutoCAD中的Line对象,代表一条直线,它有Color、Layer、Width等属性;有Copy、Move、Mirror等方法。
值得一提的是,AutoCAD(包括AutoCADR14以上版本)中提供的所有对象组成一个树形结构(也称对象模型树ObjectModel),最高层是Application对象(代表AutoCAD应用程序本身),其它对象都是Application对象的后代。
为了得到一个特定的对象,必须从Application对象对其子孙进行遍历,直到找到该特定的对象。AutoCAD2004的部分对象模型如图5-2所示。
VisualBasic与AutoCAD的连接
AutoCAD作为服务程序,其暴露给客户程序VB的对象、属性和方法保存在类型库中,库文件名为acad.tlb,位于AutoCAD的目录中。VisualBasic在使用AutoCAD应用程序对象之前,要先引用它的类型库。
引用的方法是在VB编程界面的引用对话框中选择AutoCAD2004ObjectLibrary。如果该项没有列出,单击“浏览”,在打开的文件对话框中选择acad.tlb文件(位于AutoCAD2004安装目录下)即可。
在完成对类型库的引用后,需进一步完成VisualBasic与AutoCAD的连接。因为客户程序事先不知道AutoCAD是否在运行,也不知道要处理的图形文件是否已经打开,所以要同时用到GetObject函数或CreateObject函数来获得ActiveX对象,然后使用Set语句将对象赋给对象变量,在程序代码中使用定义的对象变量就可以引用该对象。
参数化绘图模块的设计
参数化绘图方法主要有尺寸驱动法和程序驱动法两种。程序驱动方法是将零件设计过程中的所有关系式都融入应用程序之中,然后在程序的控制下,顺序执行这些设计表达式,通过与用户的交互完成视图的制作。
这一方法的主要特点是:如果要修改图形,一般在重新运行一遍程序,给应用程序输入不同的值,便生成不同的图形。程序驱动方法是二维参数化绘图最基本的手段。尺寸驱动方法是对程序驱动方法的拓展,从表面上看,此法类似于绘图软件本身具有的参数化功能。
具体的讲,就是首先由应用程序生成设计零件的基图,该基图的所有尺寸用a,b,c等一系列符号标识,然后,用户可以交互修改a,b,c等符号的值,修改完成后,应用程序一次性的更新图形,使之满足用户给定的约束值或关系式。
尺寸驱动法主要适用于相对较简单的零件设计。根据克林贝格摆线锥齿轮图形绘制的特点,软件系统选用程序驱动法来进行参数化设计。
初始化绘图环境
绘图环境指的是零件图的绘图比例、线型、线型所在的层、尺寸标注样式、图纸幅面、文字样式等。这些内容在每次绘图之前都应该初始化。即在绘图之前将上述内容都按要求设定好,然后可利用这些设置进行绘图。
层和线型的设置绘制齿轮的零件图形需要使用不同的线型,如实线、点划线、虚线,同时线条也有粗细的分别。可以将不同的线型安排到不同的层上,并给相应的层上赋予不同的颜色。在绘制齿轮图形时图层和线型的设置见表5-1。
参数化二维图形绘制
标称主要图形值点并绘图按一定的顺序依次标称每一类零件图中的主要绘图值点。一般锥齿轮零件图是关于轴中心线上下对称的,绘图时可以采用镜像命令生成全图。绘制图形时以锥齿轮顶点作为基准点,如图
结合齿轮的几何尺寸,计算其余各点的坐标。轮齿部分各点的坐标计算式如下:
PP1x= dai/(2tanδ ),PP1y= dai/2PP2x= dae/(2tanδ ),PP2y= dae/2
PP3x= dae/(2tanδ )+ hsinδ ,PP3y= dae/2- hcosδ
PP4x= dai/(2tanδ )+ hsinδ ,PP4y= dai/2- hcosδ
以上式中dai、dae、δ 、h分别为齿轮小端顶圆直径、齿轮大端顶圆直径、齿轮节锥角和全齿高。
得到轮齿各点的坐标后,其余各点可以依据轮齿上选定的点推算得出,尽量使各点的坐标计算式与齿轮的几何尺寸相关联。
伦体各点的坐标确定后,可以利用SetLineObj=
AcadDoc.ModelSpace.AddLine(Point1,Point2)语句添加直线,依次连接各点,得到齿轮的基本图形。
由于时间关系及作者相关经验的缺乏,软件中并未建立实际通用的参数化图形库,即没有能够实现可以用于生产的齿轮零件图的绘制,而只是采用了较简单的几种示意结构。所以建立通用的齿轮轮体图形库,实现齿轮零件图的绘制是该软件系统今后需要完善的一个重要内容。
绘制剖面线并标注尺寸按照零件图的一般画法将齿体部分剖开绘制剖面线,绘制时,首先需要创建一个封闭的面域,选取相应的点,连接各点形成一个封闭面域。
尺寸标注按照国标要求,使其标注位置与齿轮的几何尺寸相关,从而当齿轮的几何尺寸变化时,标注位置也随之变化,能够使尺寸始终标注在合适的位置。
参数化二维图形绘制界面
该模块在使用过程中可以与计算模块关联,利用计算模块的数据直接进行绘图,也可以手动输入齿轮的相关数据单独使用。若直接利用计算模块的数据绘图,只需要设置AutoCAD图形的保存路径和图纸幅面既可。
模块中利用了AutoCAD图形浏览控件AutodeskVoloViewControl,实现了图形的预览功能,并可将图形文件保存到用户指定的目录下,方便用户的查看和管理。该模块的运行界面如图5-5所示。
实体仿真模块的设计
克林贝格锥齿轮在加工过程中,往往需要反复试切、对滚、修正才能达到所需的加工要求,因而造成生产成本的增加。本模块利用计算机建模仿真技术,进行克林贝格螺旋锥齿轮的三维仿真,据此指导调整机床加工齿轮的参数,将会提高加工效率。
AutoCAD具有较强的实体造型功能,对于简单实体可以通过拉伸、旋转等命令得到,而较为复杂的实体可以通过对简单实体做布尔运算(并、交、差)得到。
摆线锥齿轮的齿面是比较复杂的空间曲面,不能用简单的实体造型方法形成,在AutoCAD中只能从平面冠轮展成加工原理出发进行实体建模。
冠轮轮齿的形成
冠轮的齿面是由刀刃的运动形成的,而且根据这一运动关系已经推导出了冠轮的齿面方程。建模冠轮轮齿时,首先根据冠轮齿面方程利用样条曲线在冠轮分度平面内绘出冠轮的齿线轨迹,刀具的法向截面面域沿此冠轮齿线轮轨拉伸,可得到冠轮齿的齿面,如图5-6所示。
分别建模出冠轮的凸、凹两齿面实体后,将凸齿实体绕摇台的回转中心旋转1个冠轮法向分度弧齿厚所对应的圆心角,再将凸齿和凹齿实体做布尔交运算,截取有效部分,得到一个完整的冠轮轮齿。
齿槽的形成
根据克林贝格螺旋锥齿轮的切齿原理,齿轮的加工过程可以看作冠轮与齿轮坯作展成运动。冠轮固定在摇台上,建模时在一个位置处,用齿轮坯与冠轮的这个齿做布尔运算的减操作。
完成后,让两者分别绕其自身轴线旋转一个角度,这一角度必须符合齿轮坯与冠轮啮合的角度关系。到这一新的位置,再用齿轮坯与冠轮的这个齿做布尔运算的减操作。如此进行,直到齿轮坯与冠轮的这个齿不相交为止。
这时在齿轮坯上就会形成一个齿槽如图5-8所示。插入一个齿轮坯实体,用这个没有任何加工的齿轮坯与这个带有齿槽的齿轮坯作布尔运算的减操作,可得到一个齿槽的实体,如图5-9所示。
得到齿槽实体后,可再用一个齿轮坯每隔360°/z(z为被加工齿轮的齿数)与齿槽实体作布尔减运算,可以得到要加工出的齿轮,如图5-10所示。
实体建模过程中的位置变换问题
在冠轮轮齿的建模过程中,是在与AutoCAD中默认世界坐标系的XY平面平行的分度平面内绘制冠轮齿线,然后创建一个与XY平面垂直的刀具面域,令刀具面域延齿线扫描形成冠轮的齿面。由冠轮的齿面方程的建立过程分析,默认坐标系的Y轴通过冠轮轮齿上的参考点。如图5-11所示
而在创建齿轮坯实体时,是在AutoCAD默认的XY平面内绘制齿轮坯的截面,然后旋转拉伸形成齿轮坯实体。在这一过程中,齿轮的轴线默认坐标系的X轴重合,齿轮坯锥体的顶点在默认坐标系的原点。如图5-12所示
由于绘制冠轮和轮坯初始坐标系的建立无法使冠轮齿和齿轮坯处于正常的啮合接触位置,所以必须经过一系列的坐标变换来调整。
实体仿真模块运行界面
该模块提供了齿轮坯实体、冠轮轮齿、生成一个轮齿、生成两个轮齿及摆线锥齿轮实体5个建模选项,使用者可以根据不同的使用情况选择相应的建模选项。
同参数化简图绘制模块,实体仿真模块也提供了图形的预览的功能,点击“浏览图形文件”选项卡,该模块还可以作为预览其它AutoCAD图形的工具单独使用,并可以对预览的图形做简单的修改。
同样用户在模块的使用过程中也可以方便的指定AutoCAD图形文件的保存路径和查看路径,方便了文件的管理和浏览。仿真模块运行界面如图5-13所示。
总结
本章主要讨论了摆线锥齿轮CAD及仿真系统的绘图模块包括齿轮参数化图形绘制及实体仿真模块的开发方法及实现功能。