QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4039|回复: 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环境下,生成图形速度快。
2 `& x0 u8 y5 X7 n# Y  o& C# k  二、 利用C-HOOKS绘制曲线的方法
1 C+ s1 A+ {, A5 y: y  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。
7 U" i) c& l$ a/ V3 f, G* n  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。# i$ d; p2 F: o* ?6 l3 U, S6 B
  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:
+ y, f, M( _5 R% \1 N) K/ [  step_var1=x //定义变量名
0 Z5 B* {3 i# l' o, D/ g. B: [  step_size1=0.2 //定义变量的步距9 a. u2 x4 {$ M  B3 F0 f. y1 k4 G
  lower_limit1=0 //定义变量的上限
7 w& H6 Y  e- r/ b# q4 q  upper_limit1=6.28319 //定义变量的上限, D) R) {  E  ?# M
  geometry=lines //规定图形的型式7 }3 V  J( H8 \) G2 M8 x
  angles=radians //定义角度采用弧度制
4 ^3 K2 H: x; H& z8 r( c' x  origin=0,0,0 //定义曲线的定位点(原点)' _5 Q0 A/ f6 a
  y=sin(x) //定义函数(解析式)
, `! W* N% B& A  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。5 S) y. _1 ?6 F
  三、 各种复杂曲线的绘制7 j( O0 X; Q% H. X" N# g! S/ L
  1.渐开线
0 j& l( [) V, d$ F5 e  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
' }* @; S' L  p( y/ V, N6 {  根据上述参数方程,编写eqn文件如下:5 Y% w4 [; S% V5 G% ]7 @
  step_var1=t
# w0 i& M1 r3 Q& s* c* V2 j/ n  step_size1=0.05, I  W- u$ }& F  `6 U/ R
  lower_limit1=0- |0 O) a1 w: Y  \( O
  upper_limit1=6.28319+ b0 M9 A0 ]9 {$ `9 {, \) }  K
  geometry=lines/ _; P0 Y7 N4 O& Y8 }
  angles=radians% D7 e/ s  |7 M3 s( a2 N  p" S+ B
  origin=0,0,05 ?8 t& t4 C" ^  B7 ~$ w. R
  a=1& y) @, _6 E; Z' x
  x=a*(cos(t)+t*sin(t))- h) f/ |# s% v, X7 c) B7 E
  y=a*(sin(t)-t*cos(t))" |% K1 o' \  N) N2 _
  绘制出来的图形如图1所示。
1 x. X: y  ~% J  [. [! R; U0 U
图1 绘制的渐开线图
  2.阿基米德曲线7 U, R: Q. n- }7 t8 }7 g6 G) y, |8 `- \
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。
% E/ k9 t9 T% {" S$ D- }  根据上述参数方程,编写eqn文件如下:
; S1 `( m: N# Y* D9 ?4 N0 k8 K2 B  step_var1=t% ]! ], M3 E' b0 ^
  step_size1=0.05
2 }! f" z9 a& j# R! B$ W  lower_limit1=07 {7 k. {& C% C  t2 D/ U
  upper_limit1=6.28319
- S3 E3 H; W# D2 t9 ~1 y5 \6 T) o, W4 D  geometry=lines# q! Q" l$ H& R  ~; ]7 s0 O
  angles=radians
$ l: [" l2 c: S4 _  origin=0,0,07 ~( R2 v5 ]- `. Q! h7 S# c! ~
  a=20
, ?4 k8 c) i0 V7 w  r=a*t! }$ L* a# h4 @1 P0 R( T0 L
  x=r*cos(t)& }) G7 f" d( U
  y=r*sin(t)+ B. |* K2 t3 k" a$ Y/ Y7 o5 g
  绘制出来的图形如图2所示。
7 E# m+ }6 @# L3 z$ y$ w
图2 绘制的阿基米德曲线图
  3.摆线
. A! f6 k1 _! j% s; f  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。
; K/ h* q, g# `% R7 z5 v" ~2 s  根据上述参数方程,编写eqn文件如下:1 {/ e6 v: E1 G# R  m
  step_var1=t
! J! w4 a* ~+ L& P  step_size1=0.05
0 c, z. R# @; R8 r2 m+ x8 e6 C  lower_limit1=0; o5 u9 S( c( T1 Z
  upper_limit1=6.283191 E0 |- i  S4 \4 q" l' g; _) I' i" g
  geometry=lines
, d; N  }7 z, q  ^+ @" Q  D1 `! u5 z  angles=radians
0 t6 C* q  N: Q) ~1 r4 w  origin=0,0,0
# A8 V# A. y9 k7 g# {% B  a=20
9 m5 R1 v8 F% d# j0 C  x=a*(t-sin(t)). L$ F* Y% m& b1 ^7 ~$ o
  y=a*(1-cos(t))
/ W/ B, I4 X' c  绘制出来的图形如图3所示。( N+ m0 I7 h) Q
图3 绘制的摆线图
  4.凸轮轮廓线
9 R. U/ _0 ], U( u6 P- b9 v. H  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。7 x- I' A, v1 K1 `* i4 i
  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg; A4 p* s# @2 x, k$ \- k
  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg' g. V, |3 b3 ^& l2 r
  近休止、远休止轮廓是段圆弧,其参数方程分别为:- p; p0 R' y# G* b' k( D  M
  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;
+ y7 A* T; n% a% s. o, p  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
* u) O, {! Y/ T2 o# j  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。  |0 X4 G, G# U) i7 U* W
  上述四段轮廓分别建立eqn文件,程序如下:
" V, y7 N- v4 K( \3 S5 p( v  L1.eqn文件:(对应曲线L1)( z2 k% u/ e  I. d
  step_var1=t
# P: \! ~! z4 i% R; n2 l  step_size1=0.1
' F/ M( R5 r/ N) `. S  s  lower_limit1=0  N8 v' Y9 h( [6 J/ v, P* N
  upper_limit1=2.09439" Y2 B4 j6 ]/ ~. x7 \1 c
  geometry=lines" [; @. L- p$ n" N9 D  @
  angles=radians
  X7 m2 p: c3 O- J' |4 {4 {* i  origin=0,0,0
% }& b; a) L7 {9 J$ |  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)" X: H7 |  c/ H8 ?+ U
  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)# k' e7 W6 V% V# ~4 B5 ~6 _
  L2.eqn文件:(对应曲线L2)
4 ]7 I# F  w4 p) ^8 p) Y7 }  step_var1=t- M" L% e: D9 U' h4 m& s
  step_size1=0.1$ m7 e3 `2 y8 k7 Z: N
  lower_limit1=3.141599 U8 w5 g% i9 ~
  upper_limit1=5.23598
9 ?0 G3 C- S# e" Z% P! V  geometry=lines% G/ w6 i; ~* C  R$ C
  angles=radians
  ~( p1 z, T7 f* f0 g# ^2 x  origin=0,0,0
! x. ?$ ]5 f5 N" S- O  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)+ }  ?. |" H5 a) C# a9 {
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)
& }# M7 w* W2 p- f" A  ARC1.eqn文件:(对应圆弧ARC1)/ Y  e- `1 A5 a! A8 D
  step_var1=t
; r' c3 X& G  U; |5 t' J  step_size1=0.1
; V5 s9 N5 p8 o  lower_limit1=1.1589( ^# E5 E+ r3 C
  upper_limit1=2.2061
, a( k+ {4 w$ R6 a- y3 V: D) S  geometry=lines! f( {5 b% J' u
  angles=radians/ Z; F. J( o) z7 \- _4 M) t
  origin=0,0,06 P/ e5 t* }8 e7 g: b
  x=50*cos(t)9 d7 S" J+ ~' ^
  y=50*sin(t)5 b- b8 z+ J* X  q  ^. y; Z
  ARC2.eqn文件:(对应圆弧ARC2)
1 A+ K0 k6 f1 P' y+ ~, ]3 Y: H6 o# q  step_var1=t
7 g9 |! u6 _; G2 ^8 G( y. i9 V  step_size1=0.1% S+ y/ D: ~& M
  lower_limit1=4.50644  X* R% }; p4 a/ _
  upper_limit1=5.55363
" \5 `8 ], l) j. [$ {/ C  geometry=lines
2 m' i( k7 o0 h5 m9 Q4 n) x3 q+ P  angles=radians! u6 _4 d& q* ~$ `2 Y( F/ {" a1 ~& t
  origin=0,0,0% ^: T, S" u" O. R' q
  x=97.89*cos(t)0 s/ Y# Q$ [2 s8 t( P" @
  y=97.89*sin(t)
! B$ X0 v* d8 x% s) @  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。3 S0 u- I# g- S* C/ f% }
图4 绘制的某凸轮轮廓曲线图
  四、 结论. D  y7 X/ N6 Y# Z" T  k
  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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