QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
2天前
查看: 3913|回复: 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环境下,生成图形速度快。
; v; ^5 H$ O! }  二、 利用C-HOOKS绘制曲线的方法
, g% s0 n! f9 B1 ^  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。
3 x- w- O# a$ z1 N$ w  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
" z" u: o6 `; |( i; C  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:4 ~, _/ [( ^  E+ z+ T5 i
  step_var1=x //定义变量名
! u7 A, ]6 {1 R, Y+ }+ Z& r6 z  step_size1=0.2 //定义变量的步距8 {9 `: j8 u3 M; m: s2 I( _
  lower_limit1=0 //定义变量的上限
: D. c- F2 x1 O# P9 G; w  upper_limit1=6.28319 //定义变量的上限/ E  ~% Y8 ~+ X8 j! V3 k6 S" j# F; W
  geometry=lines //规定图形的型式3 H3 r! w, K& M+ ?
  angles=radians //定义角度采用弧度制
8 ^$ z9 f# b4 Q  V6 N$ \  origin=0,0,0 //定义曲线的定位点(原点)
: a# K8 N7 J; m  y=sin(x) //定义函数(解析式). Q5 I9 z( U$ k5 }8 y; w
  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
9 n5 V* r* q. ^  b1 b* }( V  三、 各种复杂曲线的绘制4 v" j/ y! o2 y: A
  1.渐开线2 G$ @) R' ]# C1 M/ z( ]8 i& M
  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。3 M/ ~6 B2 a( A' s7 C6 b
  根据上述参数方程,编写eqn文件如下:. x6 @+ }6 S3 K* @/ f" A' i. ^
  step_var1=t
; j# y8 f4 s4 H& H5 E  step_size1=0.05$ ?: `6 |- q5 r5 i/ H# H1 f# ~
  lower_limit1=0- K4 |" \  c3 k" s6 b( L( q/ q$ G
  upper_limit1=6.28319- l; X& ~* B8 k2 `& u
  geometry=lines
' F% I  B. L) A. S; s  angles=radians
- D+ e7 v& \7 _* ?# `5 G  origin=0,0,0
, n+ T% W# }; P- h# r0 i0 o  a=10 d2 d, Z* H8 o% P0 e1 d+ i5 M* Q
  x=a*(cos(t)+t*sin(t)). n4 W" R/ q- x
  y=a*(sin(t)-t*cos(t))
8 z; `7 J1 I% W* v  绘制出来的图形如图1所示。& L. h2 R9 H9 ~4 T  L: [7 [
图1 绘制的渐开线图
  2.阿基米德曲线3 F& o* ~. d3 j, X
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。2 i2 ~8 G; ^$ B3 A. o
  根据上述参数方程,编写eqn文件如下:
$ u! J4 r* J: I9 A0 e  step_var1=t
2 [. H2 j/ P' I1 y1 B  step_size1=0.05
- I8 K( U8 D9 d& b  s- }# Q; I, l) j" p  lower_limit1=0
3 ^" k, ]9 g+ X# s. ~/ r  upper_limit1=6.28319
% K, N) T: |% Q  geometry=lines1 O5 G6 K/ e2 G8 [! G' e
  angles=radians
$ @  |/ @! S5 i0 K) S7 {  origin=0,0,0
# k: j2 _- |! S) n  a=20
1 m2 k# f/ c; r/ g+ H  r=a*t% H  v4 X) h* [
  x=r*cos(t)
! @: _' l  B8 {2 V/ E; R  y=r*sin(t). B+ k8 c7 a- L; i) R" K
  绘制出来的图形如图2所示。
: X7 a+ @* J" g# r/ e( O& B' K
图2 绘制的阿基米德曲线图
  3.摆线
( t8 D  \2 d! M  U3 }  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。& {$ o! n  e' v. q/ c4 m4 Z. I
  根据上述参数方程,编写eqn文件如下:2 B% x, ~( `8 w5 b" ~
  step_var1=t
0 t* _9 }0 m1 S$ n9 W  step_size1=0.05# R+ g* T: c: h6 Y; V, C4 }7 }
  lower_limit1=06 ]) s3 [4 L1 i' S* K
  upper_limit1=6.28319/ m; Y/ o2 l8 W( G+ o. j, l
  geometry=lines
* |: Q) B2 ?9 T1 i5 X0 n- q1 r. y  angles=radians, H: d# u8 Q2 i6 X
  origin=0,0,04 E: J+ @% \2 B! K4 j
  a=20: _4 q4 Y( K# Y1 a
  x=a*(t-sin(t))7 H; T& j5 O6 v+ z! A5 O
  y=a*(1-cos(t))
  t1 j7 ?: u  x! D  绘制出来的图形如图3所示。: s( u) |! h6 [7 s, i1 W
图3 绘制的摆线图
  4.凸轮轮廓线! S3 K3 v2 M8 U( {9 V
  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。$ \1 U, @6 i- [: Q1 R8 d- z
  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg, F- J) F2 S) c) d
  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg6 m" t3 l, J) P6 m& t( X# h( D- [
  近休止、远休止轮廓是段圆弧,其参数方程分别为:
9 d' G( a0 I# ~4 D  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;
7 M* V( }) W6 W; X" a7 \  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg$ R) W, C- F  |; k* j
  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。( Y# v" k* S$ X: u' s. I
  上述四段轮廓分别建立eqn文件,程序如下:" [" u/ u9 e) s5 U- `4 r4 g5 K
  L1.eqn文件:(对应曲线L1)9 d8 [+ |' a; E0 g. i
  step_var1=t: k5 L& M- i' k, p9 ~
  step_size1=0.1. B3 h! q+ _  W& z: Q
  lower_limit1=03 S( r" s( L. f" A2 V' R; a/ y/ y5 I8 L
  upper_limit1=2.094390 s1 K* S7 M' j" o8 v
  geometry=lines7 g) z: P( s" v& |& O* p& s
  angles=radians
0 J$ l& V, ?. D, l0 R- C  origin=0,0,0
1 j% a+ S& e2 G! j/ U  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)
; O/ e$ v7 w  }2 ~  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)  \9 `  d7 ^  ?/ X6 {
  L2.eqn文件:(对应曲线L2)/ A8 e( t& w* [/ A7 b
  step_var1=t
7 u/ r& X5 b! f* ~+ M% J  step_size1=0.1
, g& `3 M- L) h  lower_limit1=3.14159
5 }3 Q, a% |$ t7 B* B" x8 n/ O  upper_limit1=5.235988 g8 {6 M) H2 U8 Z7 D
  geometry=lines
5 K6 R" l* c. }9 H  angles=radians
% \: V) A* T+ k) s( ?# A/ R7 r/ F$ T7 G  origin=0,0,01 f5 O4 z" u* E' X% T; _( n, Q
  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)- T: Z( j& w! N6 x2 A; ~& J% u
  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)& F' U! x8 u1 O
  ARC1.eqn文件:(对应圆弧ARC1)( k6 G) x( c* D8 B' C  f
  step_var1=t
9 v, ?) {$ a1 y0 o3 R( X  step_size1=0.1
/ a/ M1 f3 b) {! ?  lower_limit1=1.1589
$ {  Q7 u9 Z' w; U  upper_limit1=2.2061
. o: ^0 z2 y3 E. f  c+ }) p7 N9 J  geometry=lines# _  b' Z9 F0 Q1 ^
  angles=radians
) h+ o+ J& E! M5 ^5 @; L% D  origin=0,0,0. Z/ y) {2 A: I' u
  x=50*cos(t)
* T8 k! \6 I3 _* N& v  y=50*sin(t)8 {" p2 Z" o- {# B+ B( a
  ARC2.eqn文件:(对应圆弧ARC2)
. w( Z5 q" m; _9 }! k7 Z5 c  step_var1=t* m# s# f6 O& n9 C$ _
  step_size1=0.1' S1 N, Z+ N/ c! V1 y5 r
  lower_limit1=4.50644, [1 M1 H0 z3 J# U; y/ v
  upper_limit1=5.55363
- K7 Z. z$ m7 O6 D% R/ r3 V" H. x# G  geometry=lines: P# U1 U* C1 _. l/ d; u
  angles=radians
3 l1 i& a) |, S  s3 ~- Z" H1 g  origin=0,0,0% ]( c1 L" E7 U: h# t4 X
  x=97.89*cos(t)5 H. K! Q; z: P  O* q
  y=97.89*sin(t); F; U- i6 K* a% X
  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。
) F# h4 k2 M- ?+ M+ I9 Y
图4 绘制的某凸轮轮廓曲线图
  四、 结论
% ]* ~9 t7 P, I4 s$ E  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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