QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
1天前
查看: 3907|回复: 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环境下,生成图形速度快。: u- u5 M& p+ i, x2 i# k- Q
  二、 利用C-HOOKS绘制曲线的方法& E4 W4 m# t3 K6 q
  C—HOOKS是MasterCAM系统中一个绘制复杂曲线、曲面的有用工具,它采用C语言形式编制程序来绘制各种曲线、曲面,绘制的方法如下。
! Z, c: ~' o' z8 Z  (1)首先要把绘制曲线的方程式(解析式)http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044351400.jpg求出来,这个方程式可以写成 形式,也可以写成参数方程形式,还可以写成极坐标形式。如,正弦函数曲线可以写成http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044414945.jpg 的方程式(解析式)。
! a) s- _' w, M- p# O  (2)根据方程式(解析式)编写绘图程序,该绘图程序以eqn文件保存。编写eqn文件有两种方法:1)先新建一个txt文件,在该文件中编写完程序后保存,再把该文件的后缀名改为eqn即可;2)直接打开系统中的eqn文件,在编辑器中新建一个文件,编写完程序后保存即可。编写程序比较严格,有一定的格式要求,并且只准用英文小写。例如上面提到的正弦函数曲线,它的绘制程序如下:  s5 i$ I& ?' I; f
  step_var1=x //定义变量名
, p% i& U% T3 l. F  step_size1=0.2 //定义变量的步距$ X, x, f/ {, p
  lower_limit1=0 //定义变量的上限
+ n9 H3 y9 g0 h) _8 r$ _  upper_limit1=6.28319 //定义变量的上限
% ^/ o# q9 F/ C$ L6 s/ ]  geometry=lines //规定图形的型式
8 H- H; X- b! }% u0 s  angles=radians //定义角度采用弧度制, n5 d) V) S; I  o
  origin=0,0,0 //定义曲线的定位点(原点)- U5 y# J" r9 Z+ |9 n' C$ z1 T
  y=sin(x) //定义函数(解析式)
8 e) ?  |' ?. Q! L& p  (3)得到eqn文件后,通过点击菜单“Settings”→“Run User Application”,在弹出的窗口中选择fplot.dll文件,再打开刚才编制的sina.eqn文件,然后点击“Plot it”,绘图区即可见到所绘制的曲线(在MasterCAM X中运行环境)。
! x; X: Y3 o" C  m7 c, A  三、 各种复杂曲线的绘制+ U6 m5 j( r; e( s) w
  1.渐开线  S' [; ?, a% F5 o  f5 n8 J8 B
  渐开线是齿轮常用的轮廓曲线,该曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044459743.jpg 。其中,α为基圆半径,t为变量角(弧度)。
1 u) }1 ?' ^- D9 c  根据上述参数方程,编写eqn文件如下:
, f# J# B" E% k  i# H5 K  step_var1=t
. Q+ l& G  Z2 Y  {/ ]* g. Y  step_size1=0.05/ V3 M. d. x; }& j4 O- i
  lower_limit1=0
- c! U) J$ Y+ X+ h3 c+ K# U) s2 }  upper_limit1=6.28319
; t# @" x# W; D" F! }* T  geometry=lines" R0 \; c, Q' Y+ A4 z* d+ ?
  angles=radians* o4 d3 K6 C' Y- [1 C5 ~/ R' e
  origin=0,0,0
1 ?- R& ?7 @" h9 H2 a  a=1% ?+ z* t/ ?8 a
  x=a*(cos(t)+t*sin(t))
) z# o6 F$ ~. u% x: ^; ]: y2 ~; E  y=a*(sin(t)-t*cos(t))
+ W1 v% `, {1 D3 w% I# O& f3 U6 Y  绘制出来的图形如图1所示。
- w7 M6 Z/ q( Y) T" l
图1 绘制的渐开线图
  2.阿基米德曲线1 @& [# y' g, F0 P6 N: h
  阿基米德曲线在凸轮和蜗杆等中较常用,它的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044601105.jpghttp://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044621620.jpg 。其中,r为曲率半径,α为基圆半径,t为变量角(弧度)。  k, z/ k9 ]& ~: @
  根据上述参数方程,编写eqn文件如下:
$ d/ L/ Y/ `9 V6 x  step_var1=t$ I$ q* z/ f6 ~( P8 D
  step_size1=0.05
; A9 w- n' w0 d- Y  lower_limit1=0* M; N% D% w& u
  upper_limit1=6.28319: L1 f7 \" m* }9 b$ X
  geometry=lines
% W# z8 ~5 p. }' R  angles=radians2 y* s6 r: f8 m3 l" C% |
  origin=0,0,0
- P* K- d( T& y  a=20
8 g1 u8 \: ~& o9 [  r=a*t: L* Q! ~# l. r2 ]3 O
  x=r*cos(t)
/ W, L: W8 h4 a& k  i* x1 D  y=r*sin(t)
- ]4 N: Z/ T  a2 \' P, {3 v" K  绘制出来的图形如图2所示。3 C4 B( x/ n, Q( ~. k, u3 j) ?# _
图2 绘制的阿基米德曲线图
  3.摆线) a0 }( G+ H9 A$ I2 R
  摆线是钟表齿轮齿形轮廓的典型曲线,它的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044746794.jpg 。其中,α为基圆半径,t为变量角(弧度)。
$ j  Z) a7 F  {; m/ r5 Q4 o8 S  根据上述参数方程,编写eqn文件如下:
+ d4 a! X& G+ G# j4 m2 N  step_var1=t
* G$ @* I0 J; z. p" U. M  step_size1=0.05; x5 n8 `) p' C. n. t5 N( a/ e9 Q
  lower_limit1=0
4 g0 D8 K3 O3 Y8 x. \; [  upper_limit1=6.28319/ O6 _/ }# B' o, H: Q4 ?( s& p
  geometry=lines
1 U# D8 f% S2 S) ^  angles=radians
6 @) _1 y5 s6 e  origin=0,0,0
5 U$ o. q% X3 V; R  a=20* S, l4 @, |2 f1 \
  x=a*(t-sin(t))
# {! ?1 Z+ I8 O1 K  y=a*(1-cos(t))
7 k1 _' W0 p& s$ s' N  绘制出来的图形如图3所示。& ]# E5 z+ @" m) y" h0 G! G) H! @
图3 绘制的摆线图
  4.凸轮轮廓线
$ ?. C1 ~5 v% c9 g- l( b+ q/ f. \  在机械设计中凸轮设计会经常遇到,靠传统的作图法既繁琐,精度又不高,利用C—HOOKS功能却可以得到意想不到的结果。下面是设计某一偏置直动滚子推杆盘形凸轮的实际轮廓线。先绘制凸轮理论轮廓曲线,该曲线分为四部分:L1、ARC2、L2、ARC1(见图4),分别代表推程、远休止、回程、近休止轮廓。
& [8 i! S. D; j" A  推程曲线的参数方程为: http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044852271.jpg。其中,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044910240.jpg
& j; f) W0 c  g) y6 p6 R8 f7 g) V  回程曲线的参数方程为:http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044925332.jpg 。其中, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826044944102.jpg! Z$ b7 z% }6 m- ^1 _! K# Z- o
  近休止、远休止轮廓是段圆弧,其参数方程分别为:
9 K7 Q6 u, v1 n* \) j  近休止轮廓,http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045000217.jpg ,其中http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045023470.jpg ;8 K2 ~! t* K* q2 Q: u
  远休止轮廓, http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045041300.jpg,其中 http://www.idnovo.com.cn/uploadfile/magazine/uploadfile/200908/20090826045057717.jpg
6 C% C/ {5 j) g  e  为了简化方程,变量t的范围,可以根据已画出的推程、回程曲线,通过查询端点处对应的角度(弧度)来设置。; P' X# F5 e* ~5 O
  上述四段轮廓分别建立eqn文件,程序如下:9 [5 h$ _; Q& |  ?  z& R" N8 N
  L1.eqn文件:(对应曲线L1)
# R0 ^+ d. ~, d; O" ^; M# W  j1 C  step_var1=t
4 i: N9 T" c+ W( r4 ]  y! Y  step_size1=0.1( V; E* d' z2 f0 V3 Z
  lower_limit1=0! [! L- f" i0 z! Y  O6 j) Q9 x6 i
  upper_limit1=2.094390 `' f# z  ~  V! F
  geometry=lines, S: [' Z, j" [; x( i6 \
  angles=radians- r  P. u( R2 E. S4 a, S
  origin=0,0,0" I2 _' v5 A' S3 M" u) Y! t: @: O! S4 H
  x=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*sin(t)+20*cos(t)! t- c" c# w6 Y+ m
  y=(45.825+50*(3*t/6.28319-sin(3*t)/6.28319))*cos(t)-20*sin(t)) p) j% Z1 ^1 j/ n* q0 z" G" @! a
  L2.eqn文件:(对应曲线L2)+ \' q5 i8 Q: T
  step_var1=t& [0 O+ j, ?# ]+ N0 P! f/ q; E
  step_size1=0.1
7 y' ?. o; t! _  lower_limit1=3.14159
2 e. f6 j& y1 V' {  N( L" w  upper_limit1=5.23598
- p# [1 X# }' ?& ?3 S; M  geometry=lines/ A& h' f1 \% n  s  a( ^
  angles=radians
' j! `4 B# x: D- Q% i8 N; ~. l  origin=0,0,0
6 o2 W* X9 x- z* \& U9 |  x=(45.825+25*(1+cos(1.5*(t-3.14159))))*sin(t)+20*cos(t)
3 X+ W. N& x+ [5 f1 L7 `  y=(45.825+25*(1+cos(1.5*(t-3.14159))))*cos(t)-20*sin(t)1 o  C3 X$ j1 g
  ARC1.eqn文件:(对应圆弧ARC1)5 B% p4 T& v4 Z- s' n" O# P  h( \# b: E
  step_var1=t" }$ Y: X/ m( o' V9 R- V: w
  step_size1=0.19 w3 L1 u' L4 p
  lower_limit1=1.1589' W" z; n$ G- A( t. A
  upper_limit1=2.20618 M/ m/ _) m" V$ K, N3 H) y1 C
  geometry=lines' Y0 Z7 S- }" ~6 p  o6 W8 M' ?% p* M
  angles=radians
6 x, J8 a, J- J  k# _; W! }  origin=0,0,0
) x0 b: }# P5 A$ @  Q  x=50*cos(t): ?+ I: P. K* l0 m& L- \: x
  y=50*sin(t)0 E1 u7 G7 B8 w( B( h. `
  ARC2.eqn文件:(对应圆弧ARC2)
, ^+ P1 L" ]$ r7 z3 j  step_var1=t( g) z$ m; w& ~* S* I6 V
  step_size1=0.1
5 Q9 W& H/ G" R7 J) N  lower_limit1=4.50644# L# v9 [! `8 {
  upper_limit1=5.55363
$ L; Z; V  ^1 y9 q* O  geometry=lines5 I' l3 Y# S% b( M
  angles=radians# ]3 K4 s: Q) P% A6 `1 e6 F6 }
  origin=0,0,0
' H2 A, G8 w5 u5 ~  x=97.89*cos(t)
2 T% y! @7 O+ p% b# R- U6 }9 m  y=97.89*sin(t)
$ @& G+ a3 S& u5 E) s' y! m  按照上面绘制的是理论轮廓曲线(外轮廓实线所示),要得到实际轮廓曲线(内轮廓虚线所示),根据两者的关系,只需利用命令“Xform”→“Xform Offset contour”向内偏移一个滚子的半径即可。绘制的凸轮轮廓曲线图如图4所示。
6 C' d0 I- I' V3 Q
图4 绘制的某凸轮轮廓曲线图
  四、 结论/ ~9 T9 g- B- v( q  f
  从上面的实例可以看出,只要复杂曲线能够得到函数方程(解析式),就可以通过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 )

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