QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4041|回复: 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环境下,生成图形速度快。
1 P8 M! f2 O+ J* G3 X  二、 利用C-HOOKS绘制曲线的方法# L! m4 I# W& B0 k* m: }4 `
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。6 ]' C1 l# U, A6 C+ ]* ]0 u& g; F
  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
% y, s/ R) B8 ^* b  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:1 i: V8 a+ L) U9 U8 N% T
  step_var1=x //定义变量名
4 z& m( a7 {$ E2 ^. U' W8 ^  step_size1=0.2 //定义变量的步距5 `& v0 d& i) r, D% x
  lower_limit1=0 //定义变量的上限
/ ~' ?  G+ `0 C6 ~' p, e+ \  upper_limit1=6.28319 //定义变量的上限
0 e$ @: t3 S2 \/ Q1 _% F  geometry=lines //规定图形的型式- O, a1 R+ M* f' |% t8 ?, s8 r
  angles=radians //定义角度采用弧度制$ e1 m  M6 T6 O+ R; T9 g3 w
  origin=0,0,0 //定义曲线的定位点(原点)% I. W" @# i# Q2 t! {8 ?* ]
  y=sin(x) //定义函数(解析式)8 e" f" i( l; U* g$ r
  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
2 ?+ K# ]  b5 K. I  三、 各种复杂曲线的绘制
6 K4 J: C0 a6 u6 x. u  1.渐开线
0 ^( o1 U( |, r  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
, W1 X; a6 N* d5 K$ u( x' k. h  根据上述参数方程,编写eqn文件如下:
; u( E& A+ B, U. E  step_var1=t  _1 i4 [2 [1 @4 c$ J3 Y: ?
  step_size1=0.05
. w/ C) {& s! a  lower_limit1=09 |- L  w8 j8 ~
  upper_limit1=6.28319- u5 T( o: W' d3 E2 R
  geometry=lines+ k# ?4 z" ~) \5 Q6 M* Y, H0 e3 W' Z
  angles=radians8 ~' _0 J! P; D6 w
  origin=0,0,00 R5 b2 i; p: d0 z0 \
  a=1: q% W' p) d1 u$ p4 h% ^/ @
  x=a*(cos(t)+t*sin(t))
* \3 Z; o. k" p# Y9 |% U; F3 _, s  y=a*(sin(t)-t*cos(t))
8 T8 I) e7 q/ n- B  绘制出来的图形如图1所示。" M: S! N% L! F7 z7 K9 g  C
图1 绘制的渐开线图
  2.阿基米德曲线
+ D2 `5 Q! N: b+ D& Z$ R) U2 F& M  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。
, w3 B5 k& |  A3 Y6 @, N  根据上述参数方程,编写eqn文件如下:
/ z6 c! Z: Y0 @; N7 G# E; K  R- A0 h  step_var1=t
# v$ h1 U; w7 m" W. H% \  step_size1=0.05. s4 F* J- P6 l& W+ u$ |9 W0 X: B
  lower_limit1=0
, F$ a& {4 ~3 j# K& v* W  upper_limit1=6.28319
) {9 q4 O/ R' S! ]4 v- [' R* \3 q  geometry=lines/ M& U* K5 H$ X0 c. i+ e) U0 P0 h
  angles=radians( C& h- _: F+ r# [0 e' Y
  origin=0,0,0
' p6 t4 |1 r5 `) }  a=20
' y; l& N2 B. F; U2 ]2 c7 F  r=a*t
# h/ S, d& u& e- r  x=r*cos(t)' w/ W* I, ?3 g/ u! H2 J. ?
  y=r*sin(t)0 R' ~* q& n; `* e# X/ ^
  绘制出来的图形如图2所示。# `( `# A( F) Y8 f1 j$ s3 g% ]4 \
图2 绘制的阿基米德曲线图
  3.摆线
4 t# t: E1 U( z. h3 H; @2 A  N% ^; `% s  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。
) x1 r- e$ u4 q# ?. [$ A  根据上述参数方程,编写eqn文件如下:+ l9 E7 p- C: o9 e8 Z
  step_var1=t- }' n2 z  s/ |7 z
  step_size1=0.05: n5 [6 R, F3 u1 Z  T& }! R) k4 E
  lower_limit1=0
( @: j1 D% ~; ^  upper_limit1=6.28319
( m' \: }& j9 B+ p2 Q  geometry=lines
' ?/ h0 Y6 E  {, C0 J$ a: U: W  angles=radians
3 u6 W1 Z8 q" |7 r; o. {  l7 D) |  origin=0,0,0
& ]9 N7 ]  c# F1 E6 r# Q  a=20
" i$ ]( T5 G% G$ f8 u  x=a*(t-sin(t))/ H; \$ r  J5 Y: U3 Z, w
  y=a*(1-cos(t)). ~; h7 w6 w1 O' H5 N1 P
  绘制出来的图形如图3所示。0 @: Q6 r: a$ x$ P/ c5 P
图3 绘制的摆线图
  4.凸轮轮廓线  ]: }% M6 p* `$ R6 F) {6 R
  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
7 Z) g% G" x8 D1 U2 |- `! O- q3 S  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg3 i9 O+ l2 z3 k( f# y
  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg
9 G% _+ C7 w9 ^  K, B  U  近休止、远休止轮廓是段圆弧,其参数方程分别为:7 Y4 N( @1 A8 R9 d/ h
  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;$ E1 [* t" h! @9 y7 D3 Q
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg$ X& X5 P9 ~# Q( m4 d" O9 T' M
  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。6 [9 d( v  r/ M6 i! S/ h$ r
  上述四段轮廓分别建立eqn文件,程序如下:$ d+ f! U- K; j3 ^
  L1.eqn文件:(对应曲线L1)% V4 w+ }$ _# v
  step_var1=t6 }; L7 Z9 ~3 Z- B
  step_size1=0.17 O7 ?9 S* |3 K
  lower_limit1=0
& k" Q( [  {2 R0 [  t& |  upper_limit1=2.09439* G! U  F: I6 G5 G6 z* C
  geometry=lines
9 c; s5 Z9 A0 s1 v/ ?. }  N  angles=radians
# o) P0 t2 N/ o. I  }  origin=0,0,0; e+ c1 c1 Z2 ^7 _6 V) d. c
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
& S$ w& K& U1 X$ X' e! m  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)
7 K! {0 z/ I2 D) \9 `. Z  L2.eqn文件:(对应曲线L2)5 r" N- `" k1 A
  step_var1=t- T" ?0 a1 x, q% F' n
  step_size1=0.1
1 h; Z+ H/ C6 o, Q  lower_limit1=3.14159
* [" j& G* w1 d* q6 Y2 I* F  upper_limit1=5.23598# M1 T7 z3 ^: E4 X3 k  J  W
  geometry=lines. A: d: A. T: W
  angles=radians
* F/ ]$ E$ O7 T2 a  {! H  origin=0,0,0
# X8 K" Z0 H1 i! f' O, ]) ^  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)+ @  G: S0 F1 {1 S
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)
* P9 N( D! o7 e& ~5 c  ARC1.eqn文件:(对应圆弧ARC1). Y2 `5 G/ v: n0 H; e
  step_var1=t7 \! u4 J- _! s# w* ?3 x2 y
  step_size1=0.1
5 c7 y- c/ z8 o8 u  lower_limit1=1.1589' E# j5 X, o3 _
  upper_limit1=2.2061
2 m, z; c$ p# Y0 A  a! x" h, `) c. C  geometry=lines
7 ^* J% H) |5 J  angles=radians
+ e% `- G: u$ h! s  origin=0,0,07 r: ~( m0 N. y. x9 Z
  x=50*cos(t)& `6 d  z- D! |$ P: F2 `8 i, u* |4 D
  y=50*sin(t)' d5 N6 m$ B6 r
  ARC2.eqn文件:(对应圆弧ARC2): y  b' J$ O* k" d' d; v% f
  step_var1=t
. _- l& K# G" L: F# w  step_size1=0.1
/ D+ y5 h, {$ K. c% `  lower_limit1=4.50644
/ L1 G! D( u: K* w* T' u; f  upper_limit1=5.55363
9 N# V' N8 e. b8 K' n5 u/ [  geometry=lines
# A( h7 E. ^# y' n6 z" h( p. b  angles=radians! d; J; A- ~2 ~/ }' W. A; j
  origin=0,0,0
, Y5 \7 M2 |; H$ i. {& l& B; B  x=97.89*cos(t)
. J, {; F- Q2 ^" z9 V  y=97.89*sin(t)0 x: h' Y( g( v; [( T
  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。
5 ?% ], e# z9 O& h
图4 绘制的某凸轮轮廓曲线图
  四、 结论
7 b  M* s2 R2 r  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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