QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4040|回复: 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环境下,生成图形速度快。7 [$ B- `7 ?% s8 V& L
  二、 利用C-HOOKS绘制曲线的方法6 E0 U3 Y# J0 v8 c. }
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。' S) y' K$ v! F" ~2 |
  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
  S6 R  U* o/ d( \  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:
5 P2 y$ J( ^( M5 b  step_var1=x //定义变量名/ G# ~; e7 B# y( r
  step_size1=0.2 //定义变量的步距
$ |& m; _" |- ?7 C  lower_limit1=0 //定义变量的上限
( Q' k# W% p/ H5 b* D+ a  U: x' I4 D  upper_limit1=6.28319 //定义变量的上限$ B9 i# A6 A0 F& S' A' [3 N
  geometry=lines //规定图形的型式
( ?  C; f, W; R1 @  angles=radians //定义角度采用弧度制" @% i0 C# q) w$ ]$ ~
  origin=0,0,0 //定义曲线的定位点(原点)
& `6 ]# K& \# v$ {6 v  y=sin(x) //定义函数(解析式)
( G1 F! B6 r# Y' B$ I5 i( h3 I  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。. ?" g3 ^( I( g( f& K/ A0 H
  三、 各种复杂曲线的绘制
+ e% t1 P. F, Q  d  1.渐开线
8 K* |( ^) P$ {; w) ]  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。& T  E; `! n2 `3 t8 ^- I/ D9 p
  根据上述参数方程,编写eqn文件如下:
# u" ~% |; o/ r+ |! H+ V) O  step_var1=t, y  J5 c0 X8 m2 x' [/ S7 y
  step_size1=0.05
1 l: ]* f8 T: f  lower_limit1=0+ ~3 [( U2 X/ r/ R& i& F  p
  upper_limit1=6.28319
$ m& h/ D8 m+ q3 O) d  geometry=lines
3 h. O, C$ e" h: k  angles=radians
4 V! g- |& A9 T1 t8 n( r3 {9 o+ O% t3 k  origin=0,0,0  i( i8 w1 g: [" b+ ?( ?2 b
  a=13 n  Q+ u) b  l; T* t+ @( S4 i5 x
  x=a*(cos(t)+t*sin(t))
* c; y) `. p; ?/ _7 p8 ^; c  y=a*(sin(t)-t*cos(t))
! v$ n# p" D  L* r, j  绘制出来的图形如图1所示。
, t; v8 e: V- L/ D9 {- ?; E0 e
图1 绘制的渐开线图
  2.阿基米德曲线; e! B5 B7 T* P, d6 g1 l/ G2 h
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。4 q' M$ v+ ^5 B! S. F, n, B' @# r
  根据上述参数方程,编写eqn文件如下:' j, s* m. r, |; u5 ~9 F
  step_var1=t
3 P! m, k- C* k4 n1 \' P" x+ L  step_size1=0.05( T% i/ c2 n: \2 {2 u
  lower_limit1=0
& g5 [7 e" S' O; X/ b3 R& s  upper_limit1=6.283197 L# s* C) I/ j: [$ a1 V4 P/ ^5 S! N
  geometry=lines
; ~. D* S0 e$ J' `5 }  k  angles=radians
! r  Q! F9 R1 d6 }2 K  origin=0,0,03 \) d& ?, k/ v8 [9 X' U4 E7 a
  a=20' ~: ?3 {! J" {! W! X
  r=a*t$ J2 F7 K% d: l4 n4 R' l. y8 h
  x=r*cos(t)+ c; l$ c' C) {) C. F7 R( r7 X
  y=r*sin(t)& y7 K* ]! \: x* |0 D8 j
  绘制出来的图形如图2所示。
* _" ?& F) R0 G& ^! \+ B+ A) x- k
图2 绘制的阿基米德曲线图
  3.摆线0 Q% ?. j9 U8 l1 N2 |
  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。9 K! `$ I/ V5 L9 J
  根据上述参数方程,编写eqn文件如下:
1 d& G- R: b4 {! U8 [  step_var1=t; |3 z5 d3 r$ u+ z& {$ x1 f
  step_size1=0.05
2 k% O6 e- S$ i7 b) S  lower_limit1=0
8 M5 h7 R- T9 o# W( k  upper_limit1=6.283190 x! A  {- o# i% ?4 d
  geometry=lines! E# n, ?/ y' q. y1 G
  angles=radians
4 J# e9 f9 B  T# ?; o3 R6 z+ z4 }  origin=0,0,01 W4 K6 W% x5 h2 a6 E
  a=20
! d+ u9 x' G, k' O& `6 v  x=a*(t-sin(t))
9 u0 c. q5 v0 p3 C# o4 ^2 Y& k  y=a*(1-cos(t))# M8 E( ^9 n. @) Z" K
  绘制出来的图形如图3所示。
. b% b' ~- q4 H0 ~+ I) M! j" T
图3 绘制的摆线图
  4.凸轮轮廓线% v" ]  E% f8 W" x
  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。  k  `- p. q! i
  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg
4 n' S/ y. b* S$ r* A  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg
* F# ]" [/ X; L$ `  T  o  近休止、远休止轮廓是段圆弧,其参数方程分别为:
3 y& W$ d$ x" a6 j; \) T' U  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;* F3 N0 C% P  M; D% S
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
9 v$ _- L- b  X2 W) a. K6 T' z5 h6 ~  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。+ G% Z3 }1 ^8 C$ _. }5 ?, C  f
  上述四段轮廓分别建立eqn文件,程序如下:
- e. Q' {# r3 j" I  L1.eqn文件:(对应曲线L1)
& R9 ~' V8 x7 S* Y& `  step_var1=t
9 W8 o% x6 \) t1 Y7 k2 |  step_size1=0.1/ [" c. H6 z  p. s- ]; E
  lower_limit1=02 t7 m( L" S7 r- T! p  y9 i
  upper_limit1=2.09439
' I% ^1 d% Q2 c6 f$ q  geometry=lines3 V1 z: D7 c. Z8 c% }- A
  angles=radians4 J8 I! z4 e6 d$ @& w& v
  origin=0,0,0
3 [2 ~# i$ a( ]1 |$ g4 A  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
0 y" ]* D" P' I. G4 v: H  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)
0 \+ ~# S. @" T9 E3 n. h  L2.eqn文件:(对应曲线L2)
0 l& R2 a) j  m: N  step_var1=t8 ]# w, a9 p% E8 y
  step_size1=0.1
7 [, d) H. Q/ U6 U# U  lower_limit1=3.14159
' B. K+ D0 d+ j8 J% e- k0 `$ r  upper_limit1=5.23598
( D7 R9 W' `$ o  geometry=lines
& L" |' |9 Z- q  angles=radians9 M- G- |9 j6 F4 C1 Y
  origin=0,0,0
; p) k0 j+ k" `7 L, S3 ]  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)
0 }, F/ Y7 g$ C" U+ ~; ]  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)1 q! L4 ~! c9 a0 J% D
  ARC1.eqn文件:(对应圆弧ARC1)
" I1 g* {2 B( w7 r  step_var1=t
' x7 v! }/ v+ w( @: r3 l  step_size1=0.1
1 J; Z' `2 m, C( `2 k: P$ Q  lower_limit1=1.1589
( S* `) |# E; p; t: O3 f7 b- o  upper_limit1=2.2061% j# J0 @' w8 m) x2 U- H0 \1 X3 D4 A
  geometry=lines
% |* i- s( l; s; F* z  angles=radians
  x  H/ u6 D1 a% B' ]  origin=0,0,0, ?' {. h6 s4 K! v8 M5 R
  x=50*cos(t)4 V6 ?. ^1 s( I4 c( S
  y=50*sin(t)
1 z% u5 l, o) f" N( q( N0 e3 P  ARC2.eqn文件:(对应圆弧ARC2)# S  B1 p/ C2 S9 F% F, z9 t
  step_var1=t
+ d( g) M& T  y* ~+ }& a, m, h  step_size1=0.1
* y7 }3 N6 @1 h7 ?  lower_limit1=4.50644) \" M# }' |* ]' \6 G# r: Q
  upper_limit1=5.55363
) d' c% }  D  A* l# _8 o  geometry=lines: g% Y  p8 y6 O& G3 _$ \( v' Y
  angles=radians5 p3 I% B% ]+ |* Q* w8 ~% F
  origin=0,0,0
0 m  u* J. t9 \0 G8 W' x  x=97.89*cos(t)7 a4 H1 Z* z3 T
  y=97.89*sin(t)$ [% {( _8 H3 z0 D, r; M
  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。3 _2 b) ]: T& i9 a7 K+ f3 w0 s
图4 绘制的某凸轮轮廓曲线图
  四、 结论
9 @' u# W. _2 m0 _' n& Z  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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