
MC9.1绘制复杂曲线.doc
8页更多>>SolidWorks 汽车壳体建模初探MasterCAM 在绘制复杂曲线中的应用在绘制复杂曲线中的应用 2010-07-08 23:22:52| 分类: 默认分类 | 标签: |字号大中小 订阅 本文介绍了在 MasterCAM 中利用 C-HOOKS 绘制曲线的方法,并且举例绘制了渐开线、阿基米德曲线、摆线、凸轮轮廓线等机械设计中常用的复杂曲线;同时给出了具体的程序,为使用者提供有益的借鉴一、一、 引言引言在机械设计中经常会要求绘制一些较为复杂的曲线,例如渐开线、阿基米德曲线、摆线、凸轮轮廓线等,然而,在常用的 CAD/CAM 软件中却很少直接提供对这些曲线的绘制工具所以,要绘制这些曲线就不得不进行二次开发,这对一般的用户就提出较高的要求而 MasterCAM 中的 C—HOOKS 功能恰好为我们提供了比较快捷方便的方法MasterCAM X 的 C—HOOKS 功能集中在菜单“Settings”→“Run User Application”→“Fplot”中,可绘制各种复杂的曲线和曲面同时,C—HOOKS 是一个增强命令子集,不同于其他 CAD 软件的二次开发工具,它不需要接口,直接运行在 MasterCAM 环境下,生成图形速度快。
二、二、 利用利用 C-HOOKS 绘制曲线的方法绘制曲线的方法C—HOOKS 是 MasterCAM 系统中一个绘制复杂曲线、曲面的有用工具,它采用 C 语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下1)首先要把绘制曲线的方程式(解析式)求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式如,正弦函数曲线可以写成 的方程式(解析式)2)根据方程式(解析式)编写绘图程序,该绘图程序以 eqn 文件保存编写 eqn 文件有两种方法:1)先新建一个 txt 文件,在该文件中编写完程序后保存,再把该文件的后缀名改为 eqn 即可;2)直接打开系统中的 eqn 文件,在编辑器中新建一个文件,编写完程序后保存即可编写程序比较严格,有一定的格式要求,并且只准用英文小写例如上面提到的正弦函数曲线,它的绘制程序如下:step_var1=x //定义变量名step_size1=0.2 //定义变量的步距lower_limit1=0 //定义变量的上限upper_limit1=6.28319 //定义变量的上限geometry=lines //规定图形的型式angles=radians //定义角度采用弧度制origin=0,0,0 //定义曲线的定位点(原点)y=sin(x) //定义函数(解析式)(3)得到 eqn 文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll 文件,再打开刚才编制的 sina.eqn 文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X 中运行环境)。
三、三、 各种复杂曲线的绘制各种复杂曲线的绘制1.渐开线渐开线渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为: 其中,α为基圆半径,t 为变量角(弧度)根据上述参数方程,编写 eqn 文件如下:step_var1=tstep_size1=0.05lower_limit1=0upper_limit1=6.28319geometry=linesangles=radiansorigin=0,0,0a=1x=a*(cos(t)+t*sin(t))y=a*(sin(t)-t*cos(t))绘制出来的图形如图 1 所示图 1 绘制的渐开线图2.阿基米德曲线阿基米德曲线阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: , 其中,r 为曲率半径,α 为基圆半径,t 为变量角(弧度)根据上述参数方程,编写 eqn 文件如下:step_var1=tstep_size1=0.05lower_limit1=0upper_limit1=6.28319geometry=linesangles=radiansorigin=0,0,0a=20r=a*tx=r*cos(t)y=r*sin(t)绘制出来的图形如图 2 所示。
图 2 绘制的阿基米德曲线图3.摆线摆线摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为: 其中,α 为基圆半径,t 为变量角(弧度)根据上述参数方程,编写 eqn 文件如下:step_var1=tstep_size1=0.05lower_limit1=0upper_limit1=6.28319geometry=linesangles=radiansorigin=0,0,0a=20x=a*(t-sin(t))y=a*(1-cos(t))绘制出来的图形如图 3 所示图 3 绘制的摆线图4.凸轮轮廓线在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用 C—HOOKS 功能却可以得到意想不到的结果下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图 4),分别代表推程、远休止、回程、近休止轮廓推程曲线的参数方程为: 其中, 回程曲线的参数方程为: 其中, 近休止、远休止轮廓是段圆弧,其参数方程分别为:近休止轮廓, ,其中 ;远休止轮廓, ,其中 为了简化方程,变量 t 的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。
上述四段轮廓分别建立 eqn 文件,程序如下:L1.eqn 文件:(对应曲线 L1)step_var1=tstep_size1=0.1lower_limit1=0upper_limit1=2.09439geometry=linesangles=radiansorigin=0,0,0x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)L2.eqn 文件:(对应曲线 L2)step_var1=tstep_size1=0.1lower_limit1=3.14159upper_limit1=5.23598geometry=linesangles=radiansorigin=0,0,0x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)ARC1.eqn 文件:(对应圆弧 ARC1)step_var1=tstep_size1=0.1lower_limit1=1.1589upper_limit1=2.2061geometry=linesangles=radiansorigin=0,0,0x=50*cos(t)y=50*sin(t)ARC2.eqn 文件:(对应圆弧 ARC2)step_var1=tstep_size1=0.1lower_limit1=4.50644upper_limit1=5.55363geometry=linesangles=radiansorigin=0,0,0x=97.89*cos(t)y=97.89*sin(t)按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。
绘制的凸轮轮廓曲线图如图 4 所示图 4 绘制的某凸轮轮廓曲线图四、四、 结论结论从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过 MasterCAM 中的C—HOOKS 功能绘制出来该方法不但编程方便,容易理解,而且有较高的精度,效率高,是一种绘制复杂曲线的实用方法,值得使用者借鉴本文来自 smluyi 。












