QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4052|回复: 7
收起左侧

[分享] MasterCAM在绘制复杂曲线中的应用

[复制链接]
发表于 2011-2-22 09:45:24 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
  在机械设计中经常会要求绘制一些较为复杂的曲线,例如渐开线、阿基米德曲线、摆线、凸轮轮廓线等,然而,在常用的CAD/CAM软件中却很少直接提供对这些曲线的绘制工具。所以,要绘制这些曲线就不得不进行二次开发,这对一般的用户就提出较高的要求。而MasterCAM中的C—HOOKS功能恰好为我们提供了比较快捷方便的方法。MasterCAM X的C—HOOKS功能集中在菜单“Settings”→“Run User Application”→“Fplot”中,可绘制各种复杂的曲线和曲面。同时,C—HOOKS是一个增强命令子集,不同于其他CAD软件的二次开发工具,它不需要接口,直接运行在MasterCAM环境下,生成图形速度快。3 O! [1 `: a' @' b6 r! N* h% W( B5 e
  二、 利用C-HOOKS绘制曲线的方法
1 q' X+ t' [* g+ D  h  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。0 r; T1 d) l( n) I" Y
  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
+ `$ k+ W! p) U' ?; |! [' a  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:$ @7 n- [0 D9 U
  step_var1=x //定义变量名
: ~4 |. }6 [0 E" ^0 x  step_size1=0.2 //定义变量的步距1 c1 I9 L7 z" W; K
  lower_limit1=0 //定义变量的上限
: c" R7 ]! O- b$ x9 Q3 f. `! W  upper_limit1=6.28319 //定义变量的上限! d4 Y0 i5 o; i, N& |/ n: r
  geometry=lines //规定图形的型式2 f7 W, }0 e+ x6 a; w5 e
  angles=radians //定义角度采用弧度制  a' x1 p3 V6 T, W
  origin=0,0,0 //定义曲线的定位点(原点)3 I$ P! I9 F: A" ^5 Z5 d
  y=sin(x) //定义函数(解析式)
. d7 h$ U" d% `! W& _0 `. j  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。, _3 l  u# V2 T4 D) J) j# ^; d5 l
  三、 各种复杂曲线的绘制0 Y1 i8 g; ?; ?4 h7 \; b  H
  1.渐开线
" u# D1 I- [% p5 A# n- [. o, i  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
: ~3 A: d1 o/ E7 p$ l  根据上述参数方程,编写eqn文件如下:" X4 G& D) g7 E$ E
  step_var1=t0 L! f& a8 `) Y* ^5 N
  step_size1=0.05! b  ^( f: ~( G* i* p% K
  lower_limit1=0' Q. b- `+ ?: \2 m5 p
  upper_limit1=6.28319
) ^* q* f; G+ c! j) V3 ~  geometry=lines
" o+ V7 `3 e8 P* A! G5 b2 B  angles=radians
  Q! y5 g. y( Y/ q# x8 m1 _- {  origin=0,0,0
) s' p, T$ S3 t9 t4 R; j  a=17 M- `$ G8 r1 e: B& L6 c% s
  x=a*(cos(t)+t*sin(t))+ O8 U1 B. K( }1 s* d# F$ {: c
  y=a*(sin(t)-t*cos(t))
: Z2 X" Z/ g# Z! W; t) [! Z/ P  绘制出来的图形如图1所示。% V% ^+ T2 h, ~; y! N
图1 绘制的渐开线图
  2.阿基米德曲线
, o+ Q7 F) g$ f. d( s  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。& t: E: L& L/ s& t4 j7 c
  根据上述参数方程,编写eqn文件如下:
* v. p2 L, \8 p  step_var1=t
8 N! W0 K& ]5 G2 N- y3 j  step_size1=0.05
6 m: p& h# A  G: [  lower_limit1=0
6 Z; G; P) ?7 H/ |2 o  w  upper_limit1=6.28319
, {: M) K% E0 `" N* ~9 G1 T  geometry=lines
' J  E) o5 C  @2 j+ F' ^( t  angles=radians9 s' b3 T% ~1 l; M0 C$ o* p
  origin=0,0,0! m# \2 U7 P: L3 J% b4 `$ Q
  a=20
1 \- y6 c$ l& b5 B- Q+ ]! g6 e  r=a*t" b- a+ r, k0 o0 I+ y6 H# v
  x=r*cos(t)  L6 l# b& M4 G" `& R7 K+ \
  y=r*sin(t)
9 Q+ U& V$ n" d7 W  绘制出来的图形如图2所示。
- E% r5 V1 r2 l/ {8 v. F1 P
图2 绘制的阿基米德曲线图
  3.摆线7 L5 Q7 U! j' M. I* V
  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。
& h1 i. l6 `% u- \0 X  根据上述参数方程,编写eqn文件如下:
+ V# M% S3 s; A& @; k. f* p/ F, ]  step_var1=t0 Z1 `9 ?) |  ?
  step_size1=0.052 F9 _" Y2 \! [
  lower_limit1=0* ]( ^2 J( C7 Z% ]$ k+ M
  upper_limit1=6.28319# e; Z! Q5 i6 A6 h  I
  geometry=lines$ R" P1 V0 G3 W3 N" c6 {
  angles=radians
0 ^$ J4 w) p  c. f  origin=0,0,0
7 C+ m0 {  l( B# p& U/ @; L3 r2 A0 n3 V  a=20
2 h( w, s3 h" N8 W  x=a*(t-sin(t))
. Q' k/ I& H& C  y=a*(1-cos(t))! V1 ]& d/ J& s1 Q
  绘制出来的图形如图3所示。
8 p# A# D: y7 ]3 G0 M
图3 绘制的摆线图
  4.凸轮轮廓线
6 P! s9 ?0 @" B$ l  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
4 k4 P6 t$ H4 K+ Z  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg
& x- n5 A8 A+ u) n% y  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg
  k* N: K, t$ q; _% |3 s" D, x  近休止、远休止轮廓是段圆弧,其参数方程分别为:
' h: v5 D9 H5 t! q4 G: {9 Q  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;
; Q% s0 f9 V$ X  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
1 y5 {1 b6 ?* j: J" J  `/ u  s* H  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。" J6 d  ^6 v; b" f7 \
  上述四段轮廓分别建立eqn文件,程序如下:
% m+ W% G  C6 L  h  L1.eqn文件:(对应曲线L1)! O, Z. H4 Z# V' c# G
  step_var1=t
# T8 y& D+ ?( @- Z; C8 \  step_size1=0.1! V5 W9 X+ u: Z8 ~
  lower_limit1=07 G* Z( T. c2 U6 J. `
  upper_limit1=2.09439% `+ Q. U( x: K0 t; ^& V- u
  geometry=lines
: z( B1 a: B" X" m3 Z  angles=radians
: s! B+ d; S) |5 z1 f5 m: w  origin=0,0,0/ K: m" T/ r3 A
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)7 J7 u+ q4 n3 ]* E: I
  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)
1 H3 f" D" z0 `; M, [1 H, H, ^( m  L2.eqn文件:(对应曲线L2)4 F4 f( d$ ~+ u5 p3 a" C2 M- p
  step_var1=t; S2 U6 k5 C- K5 u5 o8 x/ f
  step_size1=0.10 {0 o* n) a- t/ E% {6 ~
  lower_limit1=3.14159. d# Z+ _! y7 m8 Q  S+ O, h3 ?
  upper_limit1=5.23598
' m8 C2 |9 q" z4 T; z  geometry=lines
7 _1 o) S' Q  {" [2 }$ r  angles=radians
* x/ ]" O8 y, ^6 \! H. o1 S* A  origin=0,0,0) m" W% }% G  N2 f/ D
  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)4 x* \. m- X0 J4 B+ E5 [: `3 {7 ^
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)
' e# ~" I: D! J5 k  ARC1.eqn文件:(对应圆弧ARC1)
% h# l9 B" v- ~) I2 ^( J, S0 P  step_var1=t
% d  P: Q: u" }* y: g  step_size1=0.1
/ t; |+ |& ~! C" [# n  lower_limit1=1.1589
7 f, T% Y3 z+ L5 }, p) T/ t  upper_limit1=2.2061
# N- _0 x2 L, N( J  geometry=lines5 X+ S0 [8 i) W/ k; ~4 f( e! V: l8 x
  angles=radians! c' Z2 c1 o6 y2 ~
  origin=0,0,0
1 P) m! ~# c0 v  x=50*cos(t)
7 i4 m9 Q- G- u* Q, v0 U  y=50*sin(t)8 V& K' _  O- z- ]% |2 U
  ARC2.eqn文件:(对应圆弧ARC2). @* Z( W# l  [2 v/ j1 W
  step_var1=t
$ p+ ^5 P& |* I: j0 ]( R% U; y  step_size1=0.1* ^" a8 |6 z) f2 v8 V: q4 N
  lower_limit1=4.50644
) L; h1 H) u" v" a7 |* v  upper_limit1=5.55363" t& X! X& H* w8 w
  geometry=lines
5 s% \/ H. H' c9 Y: O  angles=radians
0 x4 |# o* v) {" g  origin=0,0,0
/ N& o2 H1 b/ D/ t7 l) b' s1 c  x=97.89*cos(t)
5 ]' I2 ^6 |7 d4 g; W! |6 W  y=97.89*sin(t)
6 p2 L0 O1 a. Z9 P' h; r* W  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。$ j3 m' q7 p5 b$ {; h3 V1 d
图4 绘制的某凸轮轮廓曲线图
  四、 结论$ g1 F5 H" t; Y, o
  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过MasterCAM中的C—HOOKS功能绘制出来。该方法不但编程方便,容易理解,而且有较高的精度,效率高,是一种绘制复杂曲线的实用方法,值得使用者借鉴
发表于 2011-2-22 19:12:51 | 显示全部楼层 来自: 中国台湾
學習了!
发表于 2013-5-20 16:41:16 | 显示全部楼层 来自: 中国广东广州
v版本的怎么用啊
发表于 2013-5-20 20:52:55 | 显示全部楼层 来自: 中国贵州遵义
哇!!好深奥!!
发表于 2013-5-20 21:10:41 | 显示全部楼层 来自: 中国广东东莞
太深奥了,还没学到那一步
发表于 2013-5-20 21:18:42 | 显示全部楼层 来自: 中国台湾
有看沒有懂
发表于 2013-5-20 22:24:13 | 显示全部楼层 来自: 新加坡
有点难,看了还不太懂。要慢慢学才是。
发表于 2021-9-8 18:41:18 | 显示全部楼层 来自: 中国广东深圳
人才杰出,谢谢!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表