QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 3906|回复: 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 |/ |, [9 K6 T& J7 b
  二、 利用C-HOOKS绘制曲线的方法5 g$ e, G6 c# c' b8 o) @
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。/ A+ `7 h% O8 b' s% H
  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。4 z. O) P; Q3 J* y
  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:) T" K3 g- f, @: g5 S
  step_var1=x //定义变量名) x+ g' [4 w: d4 x" r4 F: W
  step_size1=0.2 //定义变量的步距
# k! C0 R9 z+ c  t9 {* V* g  lower_limit1=0 //定义变量的上限
, _* E) i1 ~6 Q# E4 I  upper_limit1=6.28319 //定义变量的上限7 z- a2 ?  P  K) X. _) |  v
  geometry=lines //规定图形的型式  R, w) ~9 R4 u- P4 a* d: A" F* A: s
  angles=radians //定义角度采用弧度制
  @! q6 v$ h6 F$ m, r6 P* y$ [1 X  origin=0,0,0 //定义曲线的定位点(原点)) i" @9 h; l- v: Q( i& a) ?
  y=sin(x) //定义函数(解析式)
. H) {6 Y0 Y( p  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
( `- Z' M' S5 C2 b6 ^: |9 v  三、 各种复杂曲线的绘制- x7 C. v, t" L! Q5 g/ J7 v2 C
  1.渐开线5 p+ E* m2 N9 h' v9 J5 O, h
  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。! I8 R4 r- N4 V3 N8 V9 E. B1 p* \$ z
  根据上述参数方程,编写eqn文件如下:
6 o: d  c: V) J' |' _6 }! R: H7 u  step_var1=t
! B, Z. _  X! B7 s  k& U! n  step_size1=0.05: `+ N+ H& \* T; A+ ?$ ^, E
  lower_limit1=08 i7 u- T, U  g3 q, Y+ {/ c
  upper_limit1=6.28319
- t% n6 z2 P3 ?+ S$ o$ _  geometry=lines# [% O& r- P: c' t. w
  angles=radians% u  x( J6 A; ]4 K% D3 {
  origin=0,0,0
" U  H0 T( j2 `" n  a=1
- W1 r$ H1 ]2 ]: D  x=a*(cos(t)+t*sin(t))4 c& l% C# {( Y
  y=a*(sin(t)-t*cos(t))
; \! ~* B/ m1 O) r* @  绘制出来的图形如图1所示。
. |; e1 h1 ?. P
图1 绘制的渐开线图
  2.阿基米德曲线. e8 r5 F7 a  I' \! J* V$ W3 h
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。& @5 f: h: \8 `; h0 C' ~2 @
  根据上述参数方程,编写eqn文件如下:
4 I. R/ A) N: L. v) C) _% N  step_var1=t% K( z* T4 C8 B
  step_size1=0.05
" w  B9 h3 A- t5 L/ f. O% u  lower_limit1=0
) H: j9 }! ~% e  upper_limit1=6.28319
9 J1 D+ P8 O/ A- v* n  geometry=lines
' d8 D$ n1 T* ?  j* K  angles=radians
- N% @8 J4 a+ u- _1 \+ z( V; u+ L  origin=0,0,0
; _- \3 K  S% p7 F  ^" p# A  a=200 J4 y0 {: A. g7 @) y/ g: S8 o
  r=a*t
/ K# w2 p! y/ s0 U) O3 ]% c6 i  x=r*cos(t)
8 D$ V" }" @% a% j/ H# A1 I3 I  y=r*sin(t): _) a/ a7 c# e4 T: O3 J
  绘制出来的图形如图2所示。
% @$ X; W" A$ ~+ o& s
图2 绘制的阿基米德曲线图
  3.摆线) w+ D& a/ f/ [; h0 Y
  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。  O) S5 M. Y1 O8 e6 b' [
  根据上述参数方程,编写eqn文件如下:
% C) w6 i2 y, p6 k. |% s+ H: @+ ~  step_var1=t
& q8 G1 y: S5 ]# m; G  step_size1=0.05
# g# t; {, R2 c& Q+ N! c  lower_limit1=0& ^) p+ L; s. c' m- h& }) s/ J
  upper_limit1=6.283196 e) B. w  ~+ B/ G' e2 t
  geometry=lines' I0 u1 C& J6 v; J" u0 l
  angles=radians- K5 [9 E2 N6 j9 f4 R* W2 n, h, }7 t
  origin=0,0,0! @$ C. |. U/ I: m6 R" J- h
  a=20
6 a  H- O, X) U( ]: l; @  x=a*(t-sin(t))* F5 ^0 a6 ?1 B* M8 w
  y=a*(1-cos(t))
7 d" m, A2 L" }" ^  q. w5 D( J* R5 A1 P  绘制出来的图形如图3所示。
' B- n+ Y% F/ t. F  d
图3 绘制的摆线图
  4.凸轮轮廓线
- I* l- w- c. Q3 S2 ?! g! o9 p1 S  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。+ g' Z6 ^& E+ E
  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg0 d/ q: p6 k2 S8 i5 Z# g. [
  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg
8 V2 [" f9 K, m: i  近休止、远休止轮廓是段圆弧,其参数方程分别为:1 C' e. E' w0 m7 _+ x
  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;
& R/ j. R# Q' c9 r& R+ x  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
5 F# v' V$ _6 d5 L$ V9 z. y  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。, J/ e' B' |! z# c7 v; n
  上述四段轮廓分别建立eqn文件,程序如下:
$ H+ h0 p0 m. W  ^* ?; `5 @  L1.eqn文件:(对应曲线L1)
2 G0 C: U3 b+ K" m4 y2 T& P* I  step_var1=t
3 M& K& \, V1 M, s+ Y0 @9 J$ N  step_size1=0.1
* K' I! S2 H( U! ]  lower_limit1=0
8 x8 V! m% Z  ^9 G9 f* j% \  upper_limit1=2.09439
) N' b- }  F5 F  s: f" j1 i3 q  geometry=lines% ?8 z5 C1 N; t: h% N5 h' p) Y
  angles=radians; p. I& }8 r2 R/ ?
  origin=0,0,0
( d  ]( h, e% H  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
. D8 I6 ]: Y* c  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)
/ _8 W9 f6 C. ?4 ]6 C$ R  L2.eqn文件:(对应曲线L2)6 V  Y/ ?' u1 f+ ]" b; t
  step_var1=t
' C& D0 A  l! Y, ^- k6 Q  step_size1=0.1, t6 S4 y& B2 c& C- m2 u7 X5 N
  lower_limit1=3.14159
: e1 I& U. J6 d9 x! ~  upper_limit1=5.235986 z4 L6 Z3 m& g/ u, ~
  geometry=lines: E+ I( z3 f, S  P/ b
  angles=radians* S3 l" G0 w6 E; |, O
  origin=0,0,0
" e# w0 _0 k- d0 _2 i; f# S% C  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)
+ [2 H/ ]+ N% P/ g' z4 U  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)) ~% _  l% }/ ^1 ^0 h
  ARC1.eqn文件:(对应圆弧ARC1)% G- B0 v* ^) o7 p, o4 W$ F* j* L
  step_var1=t
& T2 h' a4 `( C6 L  step_size1=0.1
5 i2 i& E% p& j4 W1 k$ x0 Q. [9 d  lower_limit1=1.1589
  \' T0 |* L3 X: R1 N1 H! F  upper_limit1=2.2061
# P0 `" U% f$ c3 }  geometry=lines
$ p. z  g) n; Y0 \, {8 E) |/ h  angles=radians
1 G( A% O0 w: k# \  origin=0,0,0* m$ F+ q8 L5 N2 `
  x=50*cos(t). ^' O( l  N, f1 N9 |9 Z) Y0 e$ f
  y=50*sin(t)- `3 k6 B9 X0 d$ a
  ARC2.eqn文件:(对应圆弧ARC2)
: D; B" s5 M  B  step_var1=t3 c+ p' Q' _9 c- c4 m1 S3 ~1 f) O
  step_size1=0.1! g/ A/ `7 k+ [! \% R* E
  lower_limit1=4.506446 Z6 [; f. a6 y8 \
  upper_limit1=5.55363' z7 ?! l* `" e8 _; o8 U% B) n0 g9 ^" p
  geometry=lines
8 F/ f6 {( l5 ]1 [/ K  angles=radians( r4 I3 ?, R& g; m
  origin=0,0,0  |' p5 s* o+ U; O
  x=97.89*cos(t)
9 b5 p4 r; D0 B( J7 R- R5 P, \  y=97.89*sin(t)
8 h' u' e5 d) D. }: M4 m  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。$ B5 L) b- W1 i
图4 绘制的某凸轮轮廓曲线图
  四、 结论
1 y: N0 i$ Q* m0 D) H" s  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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