阿基米德螺旋线与宏变量编程
- 格式:doc
- 大小:24.50 KB
- 文档页数:3
宏程序具体计算公式大全汇总01proe函数公式名称:正弦曲线建立环境:Pro/E软件、笛卡尔坐标系x=50*ty=10*sin(t*360)z=0名称:螺旋线(Helical curve)建立环境:PRO/E;圆柱坐标(cylindrical)r=ttheta=10+t*(20*360)z=t*3FANUC数控车宏程序教程02蝴蝶曲线球坐标PRO/E方程:rho=8*ttheta=360*t*4phi=-360*t*803Rhodonea曲线采用笛卡尔坐标系theta=t*360*4x=25+(10-6)*cos(theta)+10*cos((10/6-1)*theta) y=25+(10-6)*sin(theta)-6*sin((10/6-1)*theta)*********************************04圆内螺旋线采用柱座标系theta=t*360r=10+10*sin(6*theta)z=2*sin(6*theta)05渐开线的方程r=1ang=360*ts=2*pi*r*tx0=s*cos(ang)y0=s*sin(ang)x=x0+s*sin(ang)y=y0-s*cos(ang)z=006对数曲线z=0x=10*ty=log(10*t+0.0001)07球面螺旋线(采用球坐标系)rho=4theta=t*180phi=t*360*20名称:双弧外摆线卡迪尔坐标方程:l=2.5b=2.5x=3*b*cos(t*360)+l*cos(3*t*360) Y=3*b*sin(t*360)+l*sin(3*t*360)名称:星行线卡迪尔坐标方程:a=5x=a*(cos(t*360))^3y=a*(sin(t*360))^3名稱:心脏线建立環境:pro/e,圓柱坐標a=10r=a*(1+cos(theta))theta=t*360名稱:葉形線建立環境:笛卡儿坐標a=10x=3*a*t/(1+(t^3))y=3*a*(t^2)/(1+(t^3))笛卡儿坐标下的螺旋线x=4*cos(t*(5*360))y=4*sin(t*(5*360))z=10*t08抛物线笛卡儿坐标x=(4*t)y=(3*t)+(5*t^2)z=0名稱:碟形弹簧建立環境:pro/e圓柱坐r=5theta=t*3600z=(sin(3.5*theta-90))+24*t方程:阿基米德螺旋线x=(a+f sin(t))cos(t)/ay=(a-2f+f sin(t))sin(t)/bpro/e关系式、函数的相关说明资料关系中使用的函数数学函数下列运算符可用于关系(包括等式和条件语句)中。
用C语言编写绘制画阿基米德螺旋线ρ= θ在[-150,150]区间内的曲线的程序,要求步长为0.1。
解答:#include <graphics.h>#include <stdio.h>#include <math.h>#include <conio.h>void main(){int driver,mode;int x,y,x0,y0;float sita,r;driver=DETECT;mode=VGAHI;initgraph(&driver,&mode,""); /*初始化图形模式*/sita=-150.0;r=sita; /*绘图起点位置*/x0=getmaxx()/2;y0=getmaxy()/2; /*取原点为屏幕的中心*/x=x0+r*cos(sita); /*计算起点坐标*/y=y0+r*sin(sita);moveto(x,y); /*移绘图笔到起点*/while(sita<150.0){sita+=0.1;r=sita;x=x0+r*cos(sita); /*计算下一点坐标*/y=y0+r*sin(sita);lineto(x,y); /*画线*/}x=x0+150*cos(150.0); /*计算终点坐标*/y=y0+150*sin(150.0);lineto(x,y); /*落笔到终点*/getch(); /*按任何键继续*/closegraph(); /*关闭图形模式*/}9.7 编写程序先绘出直角坐标系,再画出正弦曲线和余弦曲线,区间为[0,2π]。
解答:#include <graphics.h>#include <stdio.h>#include <math.h>#include <conio.h>void main(){int driver,mode;int x,y,x0,y0,maxx,maxy;float sita,r;sita=0;driver=DETECT;mode=VGAHI;initgraph(&driver,&mode,"..\\BGI"); /*初始化图形模式*/maxx=getmaxx()/2;maxy=getmaxy()/2; /*xy坐标的单位值*/x0=maxx;y0=maxy; /*取原点为坐标为屏幕的左边中心*/ moveto(0,y0); /*移绘图笔到原点*/lineto(2*x0,y0); /*画线*/moveto(x0,0); /*移绘图笔*/lineto(x0,2*y0); /*画线*/x=x0; /*计算起点坐标*/y=y0;moveto(x,y); /*移绘图笔到起点*/setcolor(GREEN); /*设置绘图笔颜色*/while(sita<2*3.1416){sita+=0.1;x=x0+sita*maxx/(2*3.1416); /*计算下一点坐标*/y=y0-sin(sita)*maxy;lineto(x,y); /*画线*/}x=x0+maxx; /*计算终点坐标*/y=y0-sin(2*3.1426)*maxy;lineto(x,y); /*落笔到终点*/sita=0; /*计算cos函数 */x=x0+sita*maxx/(2*3.1416); /*计算起点坐标*/y=y0-cos(sita)*maxy;moveto(x,y); /*移绘图笔到起点*/setcolor(YELLOW);while(sita<2*3.1416){sita+=0.1;x=x0+sita*maxx/(2*3.1416); /*计算下一点坐标*/y=y0-cos(sita)*maxy;lineto(x,y); /*画线*/}x=x0+maxx; /*计算终点坐标*/y=y0-cos(2*3.1426)*maxy;lineto(x,y); /*落笔到终点*/getch(); /*按任何键继续*/closegraph(); /*关闭图形模式*/}9.9 设计简单的下拉菜单,实现Turbo C的主菜单以及Run的子菜单。
JavaScript图形实例:阿基米德螺线1.阿基米德螺线阿基米德螺线亦称“等速螺线”。
当一点P沿动射线OP以等速率运动的同时,该射线又以等角速度绕点O旋转,点P的轨迹称为“阿基米德螺线”。
阿基米德螺线的笛卡尔坐标方程式为:r=10*(1+t)x=r*cos(t * 360)y=r*sin(t *360)编写如下的HTML代码。
<!DOCTYPE html><head><title>阿基米德螺线</title><script type="text/javascript">function draw(id){var canvas=document.getElementById(id);if (canvas==null)return false;var context=canvas.getContext('2d');context.fillStyle="#EEEEFF";context.fillRect(0,0,300,300);context.strokeStyle="red";context.lineWidth=2;var dig=Math.PI/32;context.beginPath();context.moveTo(150,150);for (var i=1;i<=256;i++){x=150+5*i*dig*Math.sin(i*dig);y=150+5*i*dig*Math.cos(i*dig);context.lineTo(x,y);}context.stroke();}</script></head><body onload="draw('myCanvas');"><canvas id="myCanvas" width="300" height="300"></canvas></body></html>将上述HTML代码保存到一个html文本文件中,再在浏览器中打开包含这段HTML 代码的html文件,可以看到在浏览器窗口中绘制出一条阿基米德螺线,如图1所示。
《装备制造技术》2018年第08期图1加工示意图120ϕ88-0.0351.6101.63719R4周边4+0.036.3其余8+0.036100±0.03724°15°阿基米德螺旋槽3×12+0.0270引言阿基米德螺旋线在生活中十分常见,如家里使用的蚊香,工业上的螺旋泵、阿基米德蜗杆、阿基米德凸轮,还有车床上卡盘里面的大锥齿轮,它的背面有阿基米德螺旋槽,这些都是阿基米德螺旋线的运用。
阿基米德螺线的加工也较为复杂,但随着CAD/CAM 软件的广泛应用,可以利用软件来造型和加工,使得简单了许多。
但是,如果螺旋线使用CAD/CAM 软件来造型加工,若螺旋线的参数发生变化,就需要重新造型和设定加工参数,然后进行后处理,显得比较麻烦。
如果自己建立曲线的表达式,然后给式中各参数赋值进编程加工,数控系统便能自动进行计算和插补;若螺旋线的参数发生变化,则只需要改变方程式或改变参数赋值,就可以套用已经编好的程序,具有较好的通用性。
1阿基米德螺旋线方程式的建立在参考文献[1]中,就有一例加工中心职业技能鉴定试题(如图1所示),题中有阿基米德螺旋槽的编程加工,下面就通过该实例来阐述阿基米德螺旋线手工编程和加工的方法。
非圆曲线加工的首要问题就是建立方程式,阿基米德螺旋线的一般表达式为:r (θ)=a +b (θ)式中:b 为阿基米德螺旋线系数,mm/°,表示每旋转1°时极径的增加(或减小)量;θ为极角,单位为度,表示阿基米德螺旋线转过的总度数;a 为当θ=0°时的极径,mm.改变参数a 将改变螺线形状,b 控制螺线间距离,通常其为常量。
1.1螺旋线系数的计算从图中可以看出,螺旋线的方程式并未直接给出,要进行计算。
图中给出了螺旋线上的两个坐标(0,-19)和(0,-37),由此可以看出,螺旋线的极半径从(0,-19)到(0,-37)的增加量为-19-(-37)=18,极角的变化从-90°到终点270°,共转过了90°+270°=一种非圆曲线槽的数控编程加工李建生(洛阳职业技术学院,河南洛阳471000)摘要:非圆曲线的加工一直是数控铣削加工的一个热点,尤其在一些职业技能大赛的考题中十分常见。
阿基米德螺旋线三维网技术论坛1 p8 O o$ M1 Q1 n阿基米德螺旋线的标准极坐标方程为三维网技术论坛; v5 [) k# k& g7 xρ=at+P0式中:a—阿基米德螺旋线系数,mm/°,表示每旋转1度时极径的增加(或减小)量;k2 Y6 O% R( J0 c/ a t—极角,单位为度,表示阿基米德螺旋线转过的总度数;三维,cad,机械,技术,汽车,catia,pro/e,ug,inventor,solidedge,solidworks,caxa,时空,镇江1 S; j' z8 [+ wρo—当t=0°时的极径,mm。
三维,cad,机械,技术,汽车,catia,pro/e,ug,inventor,solidedge,solidworks,caxa,时空,镇江1 @: w. p6 J& y" _+ o# ]实例, c+ N s# j: Q, p7 R9 M图8-1为一个具有阿基米德螺旋线的凸轮,点P1至点P2为第一段阿基米德螺旋线,点P3至点P4为第二段阿基米德螺旋线。
三维网技术论坛t( \1 p. h1 n9 I1.绘图1)作圆C1和C2三维网技术论坛. J* O7 Y& t8 {单击“基本曲线”按钮,在弹出的功能工具栏菜单中单击“圆”按钮,选立即菜单中1:圆心_半径,提示圆心点时,输0,0(回车),提示输入半径时,输10(回车)作出R=10的圆C1,提示输入半径时,输12(回车)作出R=12的圆C2,按鼠标右键结束。
因为图形尺寸太小,为了看得更清楚,可将显示的图形放大至屏幕大小。
单击屏幕上方常用工具栏中的“动态缩放”按钮,按住鼠标左键,从屏幕下方向上方推动光标时,图形随之放大。
三维网技术论坛) I1 H7 _) h# e# N, o2)作点P1至点P2之间的阿基米德螺旋线三维|cad|机械|汽车|技术|catia|pro/e|ug|inventor|solidedge|solidworks|caxa! h" t$ p1 p: N0 I; X作图前必需先算出这段阿基米德螺旋线条数a和当极角t=0°时的极径ρo。
proe函数公式名称:正弦曲线建立环境:Pro/E软件、笛卡尔坐标系x=50*ty=10*sin(t*360)z=0名称:螺旋线(Helical curve)建立环境:PRO/E;圆柱坐标(cylindrical)r=ttheta=10+t*(20*360)z=t*3蝴蝶曲线球坐标 PRO/E方程:rho = 8 * ttheta = 360 * t * 4phi = -360 * t * 8Rhodonea 曲线采用笛卡尔坐标系theta=t*360*4x=25+(10-6)*cos(theta)+10*cos((10/6-1)*theta) y=25+(10-6)*sin(theta)-6*sin((10/6-1)*theta) *********************************圆内螺旋线采用柱座标系theta=t*360r=10+10*sin(6*theta)z=2*sin(6*theta)渐开线的方程r=1ang=360*ts=2*pi*r*tx0=s*cos(ang)y0=s*sin(ang)x=x0+s*sin(ang)y=y0-s*cos(ang)z=0对数曲线z=0x = 10*ty = log(10*t+0.0001)球面螺旋线(采用球坐标系)rho=4theta=t*180phi=t*360*20名称:双弧外摆线卡迪尔坐标方程: l=2.5b=2.5x=3*b*cos(t*360)+l*cos(3*t*360) Y=3*b*sin(t*360)+l*sin(3*t*360) 名称:星行线卡迪尔坐标方程:a=5x=a*(cos(t*360))^3y=a*(sin(t*360))^3名稱:心脏线建立環境:pro/e,圓柱坐標a=10r=a*(1+cos(theta))theta=t*360名稱:葉形線建立環境:笛卡儿坐標a=10x=3*a*t/(1+(t^3))y=3*a*(t^2)/(1+(t^3))笛卡儿坐标下的螺旋线x = 4 * cos ( t *(5*360))y = 4 * sin ( t *(5*360))z = 10*t一抛物线笛卡儿坐标x =(4 * t)y =(3 * t) + (5 * t ^2)z =0名稱:碟形弹簧建立環境:pro/e圓柱坐r = 5theta = t*3600z =(sin(3.5*theta-90))+24*t方程: 阿基米德螺旋线x = (a +f sin (t))cos(t)/ay = (a -2f +f sin (t))sin(t)/bpro/e关系式、函数的相关说明资料?关系中使用的函数数学函数下列运算符可用于关系(包括等式和条件语句)中。
阿基米德螺旋线与宏变量编程
摘要本文首先介绍手功编程中宏变量编程与自动编程的一些特点和运用,然后在此基础上通过以阿基米德螺旋线为实例研究宏变量编程的方法,以此来明确宏变量编程在数控编程中应有的地位。
关键词宏变量编程;自动编程;阿基米德螺旋线;数控编程
随着技术的发展,自动编程逐渐会取代大部分手工编程,但宏程序简洁的特点使之依然具有比较大的使用空间。
1宏程序在特定曲线、曲面中的运用
使用用户宏程序可以有效地解决比较规则的曲面、圆角、型腔和外形轮廓等加工特征。
使用宏程序时,要求思路清楚,语法正确。
1.1加工椭圆曲线
宏程序就是用公式来加工零件的,如果没有宏程序的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏程序后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏程序就会自动算出X坐标并且用G01指令进行编程切削,实际上宏程序也是变量编程。
1.2加工凹球曲面
一般用自上而下等角度圆弧环绕球面铣的方式,宏程序编程时使用三角函数SINa,COSa计算控制线上的等角度节点,XY平面用刀距增量计算轨迹线,子程序用两层镶套编程,加工采用时用平底键槽刀层铣加工,完成粗加工;用球刀完成精加工。
注意,为了保证粗加工余量的均衡,以控制线半径为循环条件的判断,使每循环一次的径向变化为均值,另为了保证精加工余量,粗加工时高度固定保持抬高一定值。
精加工使为了保证扇形误差的均匀,以圆心角为循环条件的判断。
2实例研究阿基米德螺旋线加工宏程序
2.1分析图形,确定编程加工方法
1)机床:选择FANUC0i系统,2.5轴以上联动的数铣机床;2)夹具:选用精度平口虎钳;3)加工方式:采用Z方向等高层铣粗加工;4)刀具:选用键槽铣刀,刀具直径根据螺旋线的槽宽,采用直径为8mm;5)编程:工件上平面中心为工件坐标原点,用圆弧插补法加工螺旋线;6)计算阿基米德螺旋线起点坐标:
根据阿基米德螺旋线公式
Ri=(RA+(ai-a)T/360)
Xi=(RA+(ai-a)T/360)*(cos(ai))
Yi=(RA+(ai-a)T/360)*(sin(ai))
螺距为T螺旋线起点角度为a螺旋线起点半径为RA
螺旋线在线上i点转过角度为ai螺旋线在i点半径值为Ri 根据图示尺寸计算阿基米德螺旋线起点坐标
T=18Ri=19
RA = Ri -(ai-a)T/360=19-24*18/360=-17.8
XA=17.8*cos(-24) =-7.24
YA=17.8*sin(-24) =-16.26
2.2编阿基米德螺旋线宏程序
Φ88x4圆凸台和正六边形加工程序(略)
O1234
T01M06
G54G00X0Y0Z50
M03S500
G43G00Z5H01
#24=-7.24 起点x坐标
#25=-16.261 起点y坐标
#20=18 螺距
#18=17.8 螺旋线起点半径
#1=-114 螺旋线起点角度
#2=285螺旋线终点角度
#3=2 角步距
G00X#24Y#25螺旋线起点上方
G01Z-10F60螺旋线深度
#100=#3角步距赋值给中间变量
#101=#2-#1螺旋线转过角度
WHILE[#100LE#101]DO1判断螺旋线终点
#104=#100*#20/360
#105=#18+#104计算螺旋线上各点半径
#106=#105*COS[#100+#1]计算各点X坐标
#107=#105*SIN[#100+#1]计算各点Y坐标
G03X#106Y#107R#105F100用圆弧插补法加工螺旋线
#100=#100+#3角步距叠加
END1返回循环
G00Z100抬刀
M05
M30
通过上述加工实例,不难看出宏变量编写的程序不但能有效地控制刀具路径,高效率高精度的完成加工任务,而且简洁适应性强,将编程人员从繁琐的、大量的重复性工作中解脱出来,这是任何自动编程软件都不能达到的效果。