QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 4038|回复: 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 s# B8 j7 O2 a1 [  二、 利用C-HOOKS绘制曲线的方法) \5 \. Z- E) l) H( ?' a
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。
. q8 l3 @1 Q& A+ Y" J$ g* U: e3 j  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
/ {5 _/ Q* `; I9 B8 `  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:
2 J! ]: ?# i5 B( s$ |; e  step_var1=x //定义变量名
5 \. s5 F- Q3 `5 ?  [/ d  step_size1=0.2 //定义变量的步距1 }* C9 K9 c; p$ d1 }
  lower_limit1=0 //定义变量的上限! B, @2 e9 I% x7 Y( N- h; m. {
  upper_limit1=6.28319 //定义变量的上限, V  K; X& |# w# J
  geometry=lines //规定图形的型式
# ^+ q: l, O# `1 B+ @0 C  angles=radians //定义角度采用弧度制
1 o" r& s+ P/ P* ]8 }  origin=0,0,0 //定义曲线的定位点(原点)( ]5 @, ^  b" O; ?6 s- Z7 V
  y=sin(x) //定义函数(解析式)& d& N5 I* r$ t
  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
5 e" v( t& U1 D+ N5 C: Z  M  三、 各种复杂曲线的绘制
. D+ H5 t0 x8 N8 m6 u2 x% a* i  1.渐开线
: L! W: R. K3 A8 y: V8 `  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
, g8 d' w4 m% ~2 N5 l% v; }  根据上述参数方程,编写eqn文件如下:7 u% Q6 T) A$ q8 w
  step_var1=t0 `6 y9 f, J) U
  step_size1=0.05. @" e4 J& Q0 h  d! p
  lower_limit1=0$ K, D- M) a  n! j5 y1 t
  upper_limit1=6.28319) j" e3 m6 l; u+ l
  geometry=lines
9 o' ^2 F5 }# s  angles=radians; N1 W7 W  `1 o0 Y* j; G
  origin=0,0,02 Y, p' C; k/ e, \1 S0 r6 [
  a=1% }, ]4 c0 Q0 N, A3 B: ^! k
  x=a*(cos(t)+t*sin(t)), _; }, P6 T0 d% q* c
  y=a*(sin(t)-t*cos(t))$ p) @" L8 P! A  P5 p* }
  绘制出来的图形如图1所示。
" f- v0 h4 _2 H# f, x
图1 绘制的渐开线图
  2.阿基米德曲线5 `7 d( |3 |+ E5 G% T8 p" P
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。6 h% M& b  L% q; k' o
  根据上述参数方程,编写eqn文件如下:
+ ^( e+ c; D3 J4 Y' z  step_var1=t
8 w, u( g% f. \& ^2 q  step_size1=0.057 N& f8 [% O0 I! o% H* y
  lower_limit1=0
7 x# B- j8 T& G! ]1 ?- U2 d  upper_limit1=6.28319
; B' ?  `8 M$ }$ q8 A3 m  geometry=lines. i1 {+ p. @4 o
  angles=radians
5 |8 c! H/ }: j7 t* \  origin=0,0,0
$ y* K, I/ h0 b6 F$ w# B  a=20
' T; i' p* z& `! X  r=a*t2 k7 H" U$ }! v6 P- P7 ~
  x=r*cos(t)0 z/ N4 K$ v/ X$ b
  y=r*sin(t)) R1 @" C3 n4 f2 m
  绘制出来的图形如图2所示。; b- l% E! u4 Z; R" u  }6 U" I
图2 绘制的阿基米德曲线图
  3.摆线
# h1 r9 l: K9 t: w  L  h6 C  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。
& v! V  _! `/ u2 y7 l; ~  w: u  根据上述参数方程,编写eqn文件如下:
# u( i% H) W+ d+ y: Y& k  step_var1=t6 [9 n- t- O, V# x: k% [
  step_size1=0.058 \* U( |1 E9 L. Z
  lower_limit1=0
) t% L. K( T' c1 _1 i& Z  upper_limit1=6.28319" X+ r& P! x: i' r0 ?
  geometry=lines# }% M+ C! _4 u* K  b. i  G$ I
  angles=radians! E% I, S& S, P1 t8 m/ R
  origin=0,0,0& ?" J5 U' S8 r$ e  z5 m+ [8 f
  a=201 Z+ g  ?7 b1 l  z; T
  x=a*(t-sin(t))  E, S) b6 G$ u! i6 k
  y=a*(1-cos(t))* u0 H" ]: t6 J0 f! o' G& O: `  t$ l
  绘制出来的图形如图3所示。
9 W1 e6 h1 @+ r. ^
图3 绘制的摆线图
  4.凸轮轮廓线" G" k2 v( f( ]; t- F
  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
' X2 l4 n4 Z% |, J  w5 D& y! S  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg" C; u! z/ R: m
  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg4 z/ ]" t' J$ i% d# d1 c
  近休止、远休止轮廓是段圆弧,其参数方程分别为:
* V3 J5 O* L6 ]7 i3 K3 V5 Z# p% ^  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;* T/ }. g2 q2 N- i) w# F& H
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
4 q. q  s3 _0 @/ v. `3 q  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。& F3 e, M# j7 u. J& s3 V: f
  上述四段轮廓分别建立eqn文件,程序如下:- Z7 M8 y2 j% ]- ^- Z) R0 U) D' d
  L1.eqn文件:(对应曲线L1)& \" k1 Y& Y- ?/ U; k3 @( d- H( \
  step_var1=t* m' @( e; R9 l# h1 o
  step_size1=0.1
7 u2 u6 ^5 _( U3 m% F. p2 D  lower_limit1=0
, w) }% r  C) |: O3 |* S8 d  upper_limit1=2.09439/ p* ]; M2 r( G: I5 y! S
  geometry=lines1 K, c6 G( u8 n' n% }
  angles=radians0 ]  E2 [& n% [1 Z! f" N2 p
  origin=0,0,0  t& J# z: ?  G, Q+ u1 i/ J- r
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
' C, }3 l# d6 G& D  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)4 q2 n% t7 k: g1 V5 O! `0 ]: f. D- }
  L2.eqn文件:(对应曲线L2)
5 p! N( g' ^4 r  F2 S  E  step_var1=t" G$ h7 u( \/ j
  step_size1=0.1* W$ q* T7 u% |
  lower_limit1=3.14159) j, j4 A: T% x$ B; j5 Q
  upper_limit1=5.23598. @# {5 B% F4 ^  r7 S- l! q
  geometry=lines' r: E! S: V* L
  angles=radians
3 a( T  d5 I! x  origin=0,0,04 T$ w4 f, `8 u! ~
  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)' z; g3 ^$ ?& D$ j- _
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)6 P, v3 J: F: U  P4 @' N# Y+ U! b
  ARC1.eqn文件:(对应圆弧ARC1)
8 a' I1 x/ O7 O2 E# d8 q2 `, i  step_var1=t
* B6 Z  x& {3 j# Z$ H! N) Z3 S  step_size1=0.1, o) A9 [, @1 C- Q
  lower_limit1=1.1589
( b* Z2 o& s0 H" ~6 m0 t5 y  upper_limit1=2.2061
5 ?5 w+ D9 ]( X5 l  b: U  geometry=lines- h' W# V/ }- O" @3 e9 C' a
  angles=radians
4 ?* }; U; H; M3 z  f; s$ {9 a7 ?/ R* C: b  origin=0,0,0
  L  V' @: R3 o1 w( y1 c) e  x=50*cos(t)$ z7 R# P) K& Y2 t# ?
  y=50*sin(t)2 S$ i' F2 `# U6 g) {" e5 E
  ARC2.eqn文件:(对应圆弧ARC2)) q+ {+ V# r6 O
  step_var1=t, D3 [3 E7 _- V
  step_size1=0.1
8 J% i& \+ v$ |8 ~' ]9 o  lower_limit1=4.50644- ?  m. K& p' Z" J- T
  upper_limit1=5.553638 `. n7 F8 l7 h% z/ U
  geometry=lines
8 }6 l5 f& n; ]- k  angles=radians8 G! Y4 U' Y, S3 H1 X" t
  origin=0,0,0' _" t. O: ~6 F% u
  x=97.89*cos(t)
  q/ F" t$ e( B5 J( i( x9 |( j* p  y=97.89*sin(t)1 u! J3 y% K& s9 B8 L
  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。
! U7 {6 _  {' m% h$ h
图4 绘制的某凸轮轮廓曲线图
  四、 结论
4 b( l% {  I: }$ B' A; D* Q  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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