QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4050|回复: 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环境下,生成图形速度快。
$ v2 Q( x- W4 ^. H4 Y( |  二、 利用C-HOOKS绘制曲线的方法2 n5 K" c( p' ]* `' V) |5 \! b. b
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。" r6 ^  K9 ]- R
  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。8 U6 m# m/ Q- L* F* n6 [. G
  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:
  G3 I2 m# p/ ]  step_var1=x //定义变量名$ J9 I: A9 S( j- [8 F+ V% L. C5 A
  step_size1=0.2 //定义变量的步距. A8 V, S  v; N6 N' z) n3 w' Q; D
  lower_limit1=0 //定义变量的上限* ]; d9 ^; O# c
  upper_limit1=6.28319 //定义变量的上限9 |5 T7 _$ D3 F! Y1 \$ J
  geometry=lines //规定图形的型式1 G& ^4 Y' `, T( ?0 I+ ~$ L! n* X
  angles=radians //定义角度采用弧度制5 b$ s6 }  `% w7 L
  origin=0,0,0 //定义曲线的定位点(原点)
3 n, W) _+ N* l, |+ o  y=sin(x) //定义函数(解析式)" a7 R+ b% `0 A$ p1 L- ?" y
  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。( z. ^2 N' i. e" M3 X5 _7 N
  三、 各种复杂曲线的绘制
8 Z6 a) Z/ n) e! {; d  1.渐开线$ n$ Y- ^( n# o# z( k: }
  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
- ?' r  t% P! _7 I" F0 e6 l  根据上述参数方程,编写eqn文件如下:2 z) u  q7 r- h. K0 M
  step_var1=t8 h9 n! J  ]5 \* d0 i# s/ w. ]% B
  step_size1=0.05
% D2 M) Q$ \" R+ [3 V7 N$ Q$ \$ V  lower_limit1=00 M! w/ ^) m( Z6 B) g$ M: G
  upper_limit1=6.28319' ~8 M' a3 y# n7 [! A
  geometry=lines, }- v& N& G5 j: x* S
  angles=radians9 U/ b( h8 |( W) \. O7 s
  origin=0,0,0
4 |" V+ \# W) k6 h( m! O  a=1' T8 l& t7 R' G" a% {, v
  x=a*(cos(t)+t*sin(t))+ Q$ K) m4 C+ P& @5 O, h, V
  y=a*(sin(t)-t*cos(t))  s* T2 c& N2 ?
  绘制出来的图形如图1所示。
, Z4 q* f7 M: q- m3 l2 |  A
图1 绘制的渐开线图
  2.阿基米德曲线$ |5 \3 Q  v6 L/ I
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。8 f, q: T8 \+ N% |* y# Z
  根据上述参数方程,编写eqn文件如下:+ i" X) b; s$ O0 `: j
  step_var1=t
# K, N' O" B6 h  step_size1=0.05
/ c) G; a) W9 r  ~4 L3 G+ i( L4 A  lower_limit1=0
1 S+ R9 m& A  l" c  upper_limit1=6.283194 x7 `) \. o  F/ |
  geometry=lines, d1 {7 N5 A5 x) v
  angles=radians- _/ o% D$ j6 c' @2 m
  origin=0,0,0
1 K* o% B5 @  a! B# }  a=20
5 g0 K" g3 l* }, _% O  r=a*t' ^: H: j, t* A0 E9 {' B# y* P5 r0 ]
  x=r*cos(t)
) T! i# l- ?0 R3 H  H7 a' S  y=r*sin(t)* e' q& b2 q. c
  绘制出来的图形如图2所示。
9 s) ?2 @6 K8 D7 v% W
图2 绘制的阿基米德曲线图
  3.摆线- H3 O* q9 Q. r, _0 F( o! m6 O. o
  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。' w$ t( c* s% ^) |* s% o" D
  根据上述参数方程,编写eqn文件如下:% O+ `" l$ N5 s% ?) J, ?
  step_var1=t
8 @3 A0 g, {( v5 G' K. r  step_size1=0.05
9 ^0 p+ s" M# V) Y/ U9 h' Q  lower_limit1=08 i+ p+ B/ P+ T  I' }
  upper_limit1=6.28319$ P' ~5 M3 {3 ~7 {3 \4 I
  geometry=lines+ \$ j% s: P7 A* i& e4 y9 Z6 ?
  angles=radians! w8 z; n" g6 f4 B7 x# m1 W/ [5 [
  origin=0,0,0
0 l$ |0 ^5 d+ @& o. T/ D1 w  a=20
7 c, }% v2 y+ W' C8 F  x=a*(t-sin(t))# T% E$ R+ F: k
  y=a*(1-cos(t))/ l6 W- u" o) n0 F. x% ?
  绘制出来的图形如图3所示。& \" M) `9 c8 K# ~; c0 v& w/ j
图3 绘制的摆线图
  4.凸轮轮廓线; ?; J/ n0 F; d/ Z+ v1 j9 A0 v
  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
; Y. r/ `5 C+ @4 z  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg
" w: |8 R8 F0 K. Z: `. l9 m  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg" R8 g$ n( e9 k) l0 G
  近休止、远休止轮廓是段圆弧,其参数方程分别为:% h, h) a0 j) R1 K
  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;# ]$ R- `- J9 f/ f4 Q! k; p. w+ S
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg8 ?, b# ~6 A( K( \
  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。
, i& ~2 n; q% B2 }1 W6 u4 ~7 \1 ]  上述四段轮廓分别建立eqn文件,程序如下:( N7 I- k6 |, M. s; h% w1 Q
  L1.eqn文件:(对应曲线L1)
/ ~$ n5 i4 z2 K) h8 @$ v  step_var1=t% L1 l  A: m' I% G5 @$ Q" [% o, P5 d
  step_size1=0.1
6 [# X# x; A; U5 D) E  lower_limit1=0: K1 c5 s% C/ b7 ~2 J1 P) P$ s+ y
  upper_limit1=2.09439
3 u, f1 n) _  m8 D% v7 @& j3 b  geometry=lines6 _3 i1 d( L) C6 u6 K3 f( e
  angles=radians
4 z3 n& C. b  U' C9 S, H* }: ]# s  origin=0,0,01 }8 Q* H4 F3 J" N* n4 ]( r
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
' j9 R. z0 o( c6 A! s3 _' i3 M2 Q  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t): |( p8 q) w- X
  L2.eqn文件:(对应曲线L2): I9 H' B8 [  R1 x% Q. t( m! ^; O
  step_var1=t
: r2 W- ^9 A) i  i, _  step_size1=0.17 a& ^( @; d4 J4 ]4 \9 u
  lower_limit1=3.14159( _' s1 J9 g" |! I9 q
  upper_limit1=5.23598
7 Q- K: Y2 a! S0 N5 J! @! o: v  geometry=lines
4 k! f" X& @# |" n  angles=radians: B: z4 [% D$ ^0 b" S; Z
  origin=0,0,06 @! S( R* _9 a' d% Y: y
  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)' ^5 L$ U4 g9 H! R1 Z
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)$ j# z5 _6 }# K; U$ J+ ?$ n: V
  ARC1.eqn文件:(对应圆弧ARC1)
; r9 ~' V! t) P! a. {7 i5 J  step_var1=t
& X: W5 h( r5 N: ]1 Y, G  t  step_size1=0.11 v3 T1 [" P& p5 n% k7 A- H+ h
  lower_limit1=1.1589
1 F( ]& ^, @7 r! o: ]7 ]1 H  upper_limit1=2.2061% O1 A1 i1 M3 ~7 |
  geometry=lines
, i1 C" R- r6 J+ K  angles=radians! E! e1 D4 A( C+ R/ s: f5 E
  origin=0,0,08 D& b9 S# A5 X8 Y
  x=50*cos(t); q2 \; t: h% f+ N
  y=50*sin(t), F  x, v- ]! l
  ARC2.eqn文件:(对应圆弧ARC2)8 z+ t& n9 J7 @8 w/ |
  step_var1=t# s$ K; W5 v' u5 [9 |
  step_size1=0.1
1 |! o+ J' t- C+ @$ J  lower_limit1=4.50644
. ]8 `& W8 J: d/ O5 X0 V  upper_limit1=5.55363
$ c0 }* S. q2 Y, l  geometry=lines
  F! W) P+ N$ j5 g* C+ h  angles=radians
* t$ i9 b  A8 n4 {0 j0 D  origin=0,0,0  ~3 [) y6 G' f% F2 {9 R, Y
  x=97.89*cos(t)$ e) Q9 p# T% g
  y=97.89*sin(t)
) ?5 a' [" W# R" {0 J  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。8 M" L7 _4 ^8 L/ e
图4 绘制的某凸轮轮廓曲线图
  四、 结论
1 ~2 b/ M2 D/ V% p+ p" ^  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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