数控铣宏程序实例()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数控铣宏程序实例
§4.1 椭圆加工(编程思路:以一小段直线代替曲线)例1:整椭圆轨迹线加工(假定加工深度为2mm)
方法一:已知椭圆的参数方X=acosθ Y=bsinθ
变量数学表达式
设定θ= #1(0°~ 360°)
那么 X= #2 = acos[#1]
Y= #3= bsin[#1]
程序
O0001;
S1000 M03;
G90 G54 G00 Z100;
G00 Xa Y0;
G00 Z3;
G01 Z-2 F100;
#1=0;
N1 #2=a*cos[#1];
#3=b*sin[#1];
G01 X#2 Y#3 F300;
#1=#1+1;
IF[#1LE360]GOT01;
GOO Z50;
M30;
例2:斜椭圆且椭心不在原点的轨迹线加工(假设加工深度为2mm)
椭圆心不在原点的参数方程
X=a*COS[#1]+ M
Y=b*SIN[#1]+ N
变量数学表达式
设定θ=#1; (0°~360°)
那么X=#2=a*COS[#1]+ M
Y=#3=b*SIN[#1]+ N
因为此椭圆绕(M ,N)旋转角度为A 可运用坐标旋转指令G68
格式 G68 X
- Y
-
R
-
X,Y:旋转中心坐标; R: 旋转角度
程序
O0002;
S1000 M03;
G90 G54 G00 Z100; GOO Xa+M YN;
GOO Z3;
G68 XM YN R45;
#1=0;
N99 #2=a*COS[#1]+M; #3=b*SIN[#1]+N;
GO1 X#2 Y#3 F300;
G01 Z-2 F100;
#1=#1+1;
IF[#1LE360]GOTO99; G69 ;
GOO Z100;
M30;
例3:椭圆轮廓加工(深度2mm)
采用椭圆的等距加工方法使椭圆的长半轴和短半轴同时减少一个行距的方法直到短半轴小于刀具的半径R
根据椭圆的参数方程可设
变量表达式θ=#1(0°~360°)
a=#2
b=#3(b-R~R)
X=#2*COS[#1]=#4
Y=#3*SIN[#1]=#5
程序
O0003;
S1000 M03;
G90 G54 G00 Z100;
G00 XO YO;
GOO Z3;
G01 Z-2 F100;
#2=a-R;
#3=b-R;
N99 #1=0;
#4=#2*COS[#1];
#5=#3*SIN[#1];
G01 X#4 Y#5 F300;
#1=#1+1;
IF[#1LE360]GOTO99;
#2=#2-R;
#3=#3-R;
IF[#3LER]GOTO99;
GOO Z100;
M30;
例4 非整椭圆轨迹线加工(加工深度2mm)
已知椭圆的长半轴a 短半轴为b 且与X轴正向夹角为A1,A2。首先根据椭圆的参数方
程求出θ
1,θ
2
和P1(x
1
,y
2
) P2(x
1
,y
2
)
此时要注意 A
1≠θ
1
,A
2
≠θ
2
如图示
ON=b , OM=a
NP=P
1Q, NP
1
=PQ
X 1=OQ, Y
1
=P
1
Q
由上可列出方程
OQ=OM*COSθ=a*COSθ=X (1) P
1
Q=NP=ON*SINθ=b*SINθ=Y (2)
TANa=P
1
Q/OQ=Y/X (3)
根据(1)(2)(3)可解出θ
1,X
1
,Y
1
同理可解出θ
2
,X
2
,Y
2
编程方法一:
根据参数方程 X=a*COSθ Y=b*SINθ设定变量表达式
#1=0 (角度从θ
1~θ
2
变化)
#2=a*COS[#1]#3=b*SIN[#1]
程序 O0001;
S1000 M03;
G90 G54 G00 Z100;
G00 Xa Y0;
G00 Z3;
G01 Z-2 F100;
#1=0;
N99 #2=a*cos[#1];
#3=b*sin[#1];
G01 X#2 Y#3F300;
#1=#1+1;
IF[#1LE360]GOTO99;
GOO Z50;
M30;
编程方法二:根据椭圆标准方程 X2/a2+Y2/b2=1 设定变量表达式
#1=X (X值由X~-X变化)
#2=Y=b/a*SQRT[[a*a]-[#1*#1]]
程序
O0002;
S1000 M03;
G90 G54 G00 Z100;
GOO X
1 Y
1
;
GOO Z3;
G01 Z-2 F100;
#1=X
1
;
N99 #2=b/a*SQRT[a*a-#1*#1]; G01 X#1 Y#2 F300;
#1=#1-0.2;
IF[#1LE-a]GOTO99;
G00 Z100;
M30;