QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 3912|回复: 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环境下,生成图形速度快。: s6 j9 k2 e: r, ~5 E
  二、 利用C-HOOKS绘制曲线的方法0 _, H- w4 N: G, n, t
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。
% K. N- \* H, s! r: ^% g  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。- D- C! _: D9 }6 ]$ g: u
  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:5 i* C) c6 p" ~( i: @2 `9 P! H% d
  step_var1=x //定义变量名; ^& {! }  b/ k" a4 F# }  U; f' Q7 c
  step_size1=0.2 //定义变量的步距
0 t9 |( F# N* W' L7 O# N# w" [  lower_limit1=0 //定义变量的上限
4 A, a; E/ }( U, l( e  upper_limit1=6.28319 //定义变量的上限
& W, k. v+ [% i& R" s  h7 @  geometry=lines //规定图形的型式4 {9 k( C1 A* R8 e9 K5 q
  angles=radians //定义角度采用弧度制
! w# F3 a. r/ e4 l, r" H& k  origin=0,0,0 //定义曲线的定位点(原点)
; e3 e6 {% [  i8 m) ]5 [  y=sin(x) //定义函数(解析式)7 M6 s, i' [% r+ [& q5 b) K0 h
  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
5 Q' Z8 H- I9 m3 d" i  三、 各种复杂曲线的绘制
( }" e% E9 x# K$ s3 k2 m) h! r9 B  1.渐开线1 I5 A) {! L: {! x- V" f  t
  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。1 h+ L  B" i$ i5 v, m; A
  根据上述参数方程,编写eqn文件如下:
: _& [7 a% j( q  step_var1=t* }- C- G7 D( K/ G1 G
  step_size1=0.05
% U' W. P3 x: Y  ?1 ?& {2 a: Q( G  lower_limit1=0
5 p# U' h# F. W" h4 n/ ?  upper_limit1=6.28319
' z  H; b* P9 D, r: y3 n. L% {  geometry=lines
0 R/ x2 e6 M# F$ g3 P. W( x  angles=radians9 g' u' x/ q* D9 @
  origin=0,0,04 J$ b0 r) v& U6 b
  a=1
5 v1 Z$ ]- H' R" T0 z7 p  x=a*(cos(t)+t*sin(t))) L; \7 ?$ }) \1 q7 e
  y=a*(sin(t)-t*cos(t))
1 b' n4 |1 N1 D  绘制出来的图形如图1所示。
$ x; c% T' q3 }% p9 v9 h# j
图1 绘制的渐开线图
  2.阿基米德曲线  E8 {' N: L* A9 F( a
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。
0 ]) z( [. S/ I2 a6 ?  根据上述参数方程,编写eqn文件如下:6 ]+ B: L8 i+ j; G$ u8 T
  step_var1=t
# }) w( [( m; c4 O+ G  step_size1=0.052 O% W; G7 p+ T- J
  lower_limit1=02 z, l1 F  g( x) O: `; }
  upper_limit1=6.28319
0 \$ `! E# H5 M" C  geometry=lines" g* h6 P, L0 _
  angles=radians0 Y( t7 |& E( B. x3 d" s
  origin=0,0,0
" X5 W8 M  [9 j+ ~  a=20
$ z3 U) {# I* p  k" l$ o6 }( S  r=a*t: p' U2 i# H; ~) H# S% b* j
  x=r*cos(t)
. |9 \9 i- \$ V& C' ^4 U2 h( p  y=r*sin(t)2 C# k, @% Z0 S; y/ m
  绘制出来的图形如图2所示。
4 L4 B& X1 i% Z; k) e
图2 绘制的阿基米德曲线图
  3.摆线
  |! Y4 O5 i) R" r" C* {  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。* {: F* q0 v7 ^( J& [4 z+ p1 R
  根据上述参数方程,编写eqn文件如下:# T. I% _8 |" j7 x
  step_var1=t9 _1 J9 E' e) F* J) N# O1 |6 z
  step_size1=0.05
$ e, J- \; R/ N2 F  lower_limit1=0/ h- @& s2 B* i3 m4 t
  upper_limit1=6.283199 s2 B6 m. A6 s: n0 z6 d9 \
  geometry=lines8 ?: I: `; b  g$ K+ Y  b* B- Q
  angles=radians' f9 Y% W9 v+ D; D) N. u. ?
  origin=0,0,0+ K6 e! u7 ]! C9 E1 s0 t
  a=207 l5 M6 q+ T% q) j+ t% a
  x=a*(t-sin(t))
* b( [  ^& n8 ]6 t  y=a*(1-cos(t))
, R. D, o3 U9 ^9 e2 U* N  绘制出来的图形如图3所示。
- L* Y* [4 b) H3 a5 `
图3 绘制的摆线图
  4.凸轮轮廓线
) O& C* Z5 I" u9 c  \  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
7 ~' e# C+ S" u  w6 h  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg
4 b; \& Z2 J( N3 K  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg
( ?0 \3 @" f0 d+ g1 w+ B  近休止、远休止轮廓是段圆弧,其参数方程分别为:
: `& ~& I, v" n& `1 H' x  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;# @/ p5 O3 |- K2 _; T
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
3 A' N% Y1 B6 Q6 `! N  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。
8 f  W6 k% v+ N" c; m) d  上述四段轮廓分别建立eqn文件,程序如下:0 x. D  p- d  J8 }3 I3 ?
  L1.eqn文件:(对应曲线L1)
+ E) b) @' A( S9 Q7 Z  step_var1=t  p" `9 c$ m4 p  z
  step_size1=0.18 X9 @2 p) s$ z: W4 o# Y2 B" l) i
  lower_limit1=04 u8 R0 [% y6 i; f9 m, X- B( M
  upper_limit1=2.09439
4 x; {# {) ]6 m  geometry=lines; u+ Z6 d2 Y( I) b2 E
  angles=radians
$ z+ j5 V+ l' J: J* I  origin=0,0,0$ U4 o6 O: O& `$ c; E. J% \
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)! A6 J8 N! v( E5 w
  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)
( S/ B4 h4 f8 x9 i  L2.eqn文件:(对应曲线L2)
- Z3 B9 {3 S4 g% N+ L  step_var1=t
, x, L" l: u2 ?/ O, M% v6 j  step_size1=0.1# ]2 V7 k; y9 i) _% h4 v( Z
  lower_limit1=3.141593 h1 V" `1 M3 J$ N: G7 p2 I
  upper_limit1=5.235983 J# f0 g/ r, y1 t4 j
  geometry=lines; m. @* S6 A9 M+ w! D4 m% W/ Z8 D
  angles=radians  |5 V9 y& z+ k' {* a# l6 E! h' w
  origin=0,0,0
7 Z8 t8 c% ]2 g9 J3 S  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)% y' y* n, G, p6 K% u0 N: l
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)
# v; R" ~4 _* U* Z' W: j  ARC1.eqn文件:(对应圆弧ARC1)
$ B) T! |: J! Y) |3 O2 ^  step_var1=t
0 r$ Y& i) F& N2 h  step_size1=0.1/ z* |, H# d8 t! Z  v; N" J8 ?2 L
  lower_limit1=1.1589
! K( ?/ _: {' p: z  upper_limit1=2.2061
. D& }# N' h+ `  geometry=lines
" u* C! j! ^6 L) @- |4 ~! |( {  angles=radians
5 t$ O5 a" q- U9 o& a  origin=0,0,06 R" V$ E. j& J% e" j$ {
  x=50*cos(t)- ^5 K( u8 }' T
  y=50*sin(t)* I5 e5 Z, a* p
  ARC2.eqn文件:(对应圆弧ARC2)
% r: n4 i# q$ `) Q) `6 X* M  step_var1=t
' d! X; z1 O. X0 C3 }4 l* u  step_size1=0.1
/ Y* p" s) r' P7 t# }6 i1 k* P8 I  lower_limit1=4.50644
2 L4 D( ]( M* {& [  upper_limit1=5.55363
1 J( G$ o8 t- {/ u  geometry=lines
# u) L) Z4 I& Z  a4 T, w0 Z8 l  angles=radians' ~9 s% C* `/ S' M# O. p! {, K
  origin=0,0,0
1 H/ ?# m+ A' p4 h, |  x=97.89*cos(t)
2 y/ R% a; @2 {; Y; N  y=97.89*sin(t)
! ^8 Q1 _5 L* y2 y5 }$ _6 f  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。
! d' _/ X# H9 |5 Y. _
图4 绘制的某凸轮轮廓曲线图
  四、 结论" ?' n, m0 W( v) a) C: g
  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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