编辑数控铣宏程序.docx
《编辑数控铣宏程序.docx》由会员分享,可在线阅读,更多相关《编辑数控铣宏程序.docx(36页珍藏版)》请在冰豆网上搜索。
编辑数控铣宏程序
第四章数控铣宏程序实例
§4.1椭圆加工(编程思路:
以一小段直线代替曲线)
例1整椭圆轨迹线加工(假定加工深度为2mm)
方法一:
已知椭圆的参数方X=acosθY=bsinθ
变量数学表达式
设定θ=#1(0°~360°)
那么X=#2=acos[#1]
Y=#3=bsin[#1]
程序
O0001;
S1000M03;
G90G54G00Z100;
G00XaY0;
G00Z3;
G01Z-2F100;
#1=0;
N99#2=a*cos[#1];
#3=b*sin[#1];
G01X#2Y#3F300;
#1=#1+1;
IF[#1LE360]GOTO99;
GOOZ50;
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
格式G68X- Y- R-X,Y:
旋转中心坐标;R:
旋转角度
程序
O0002;
S1000M03;
G90G54G00Z100;
GOOX0Y0;
GOOZ3;
G68XMYNR45;
#1=0;
N99#2=a*COS[#1]+M;
#3=b*SIN[#1]+N;
GO1X#2Y#3F300;
G01Z-2F100;
#1=#1+1;
IF[#1LE360]GOTO99;
G69GOOZ100;
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;
S1000M03;
G90G54G00Z100;
G00XOYO;
GOOZ3;
G01Z-2F100;
#2=a-R;
#3=b-R;
N99#1=0;
#4=#2*COS[#1];
#5=#3*SIN[#1];
G01X#4Y#5F300;
#1=#1+1;
IF[#1LE360]GOTO99;
#2=#2-R;
#3=#3-R;
IF[#3LER]GOTO99;
GOOZ100;
M30;
例4非整椭圆轨迹线加工;(加工深度2mm)
已知椭圆的长半轴a短半轴为b且与X轴正向夹角为A1,A2。
首先根据椭圆的参数方程求出θ1,θ2和P1(x1,y2)P2(x1,y2)
此时要注意A1≠θ1,A2≠θ2如图示
ON=b,OM=a
NP=P1Q,NP1=PQ
X1=OQ,Y1=P1Q
由上可列出方程
OQ=OM*COSθ=a*COSθ=X
(1)
PQ=NP=ON*SINθ=b*SINθ=Y
(2)
TANa=PQ/OQ=Y/X(3)
根据
(1)
(2)(3)可解出θ1,X1,Y1同理可解出θ2,X2,Y2
编程方法一:
根据参数方程X=a*COSθY=b*SINθ
设定变量表达式
#1=0(角度从θ1~θ2变化)
#2=a*COS[#1]
#3=b*SIN[#1]
程序
O0001;
S1000M03;
G90G54G00Z100;
G00XaY0;
G00Z3;
G01Z-2F100;
#1=0;
N99#2=a*cos[#1];
#3=b*sin[#1];
G01X#2Y#3F300;
#1=#1+1;
IF[#1LE360]GOTO99;
GOOZ50;
M30;
编程方法二:
根据椭圆标准方程X2/a2+Y2/b2=1
设定变量表达式
#1=X(X值由X~-X变化)
#2=Y=b/a*SQRT[[a*a]-[#1*#1]]
程序
O0002;
S1000M03;
G90G54G00Z100;
GOOX1Y1;
GOOZ3;
G01Z-2F100;
#1=X1;
N99#2=b/a*SQRT[a*a-#1*#1];
G01X#1Y#2F300;
#1=#1-0.2;
IF[#1LE-a]GOTO99;
G00Z100;
M30;
4.2球面加工(编程思想:
以若干个不等半径的整圆代替曲面)
例1平刀加工凸半球
已知凸半球的半径R,刀具半径r
建立几何模型如图
数学变量表达式
#1=θ=0(00~900,设定初始值#1=0)
#2=X=R*SIN[#1]+r(刀具中心坐标)
#3=Z=R-R*COS[#1]
编程时以圆球的顶面为Z向O平面
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0;
WHILE[#1LE90]DO1;
#2=R*SIN[#1]+r;
#3=R-R*COS[#1];
G01X#2Y0F300;
G01Z-#3F100;
G02X#2Y0I-#2J0F300;
#1=#1+1;
END1;
G00Z100;
M30;
当加工的球形的角度为非半球时可以
通过调整#1也就是θ角变化范围来改变程序
例2球刀加工凸半球
已知凸半球的半径R,刀具半径r
建立几何模型如图
设定变量表达式
#1=θ=0(0°~90°,设定初始值#1=0)
#2=X=[R+r]*SIN[#1](刀具中心坐标)
#3=Z=R-[R+r]*COS[#1]+r=[R+r]*[1-COS[#1]]
编程时以圆球的顶面为Z向O平面
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
Z3;
#1=0;
WHILE[#1LE90]DO1;
#2=[R+r]*SIN[#1];
#3=[R+r]*[1-COS[#1]];
G01X#2Y0F300;
G01Z-#3F100;
G02X#2Y0I-#2J0F300;
#1=#1+1;
END1;
G00Z100;
M30;
例3球刀加工凹半球
已知凸半球的半径R,刀具半径r
建立几何模型如图
设定变量表达式
#1=θ=0(0°~90°,设定初始值#1=0)
#2=X=[R-r]*COS[#1](刀具中心坐标)
#3=Z=[R-r]*SIN[#1]+r
程序
O0003
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0;
WHILE[#1LE90]DO1;
#2=[R-r]*SIN[#1];
#3=[R-r]*COS[#1]+r;
G01X#2Y0F300;
G01Z-#3F100;
G03X#2Y0I-#2J0F300;
#1=#1+1;
END1;
G00Z100;
M30;
当加工凹半球的一部分时,可以通过改变#1即θ角来实现。
如果凹半球底部不加工可以利用平刀加工,方法相似。
4.3孔口倒圆角
编程思路:
以若干不等半径整圆代替环形曲面
例1平刀倒凸圆角
已知孔口直径φ,孔口圆角半径R,平刀半径r
建立几何模型
设定变量表达式
#1=θ=0(θ从0°~90°,设定初始值#1=0)
#2=X=φ/2+R-r-R*SIN[#1]
#3=Z=R-R*COS[#1]
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
GOOZ3;
#1=0
N99#2=φ/2+R-r-R*SIN[#1]
#3=R-R*COS[#1]
G01X#2Y0F300;
G01Z-#3F100;
G03X#2Y0I-#2J0F300;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
例2平刀加工凹圆角
已知孔口直径φ,孔口圆角半径R,平刀半径r
建立几何模型
设定变量表达式
#1=θ=0(θ从0°~90°,设定初始值#1=0)
#2=X=φ/2+R*SIN[#1]–r
#3=Z=R*SIN[#1]
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0
N99#2=φ/2+R*SIN[#1]-r
#3=R*SIN[#1]
G01X#2Y0F300;
G01Z-#3F100;
G03X#2Y0I-#2J0F300;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
例3球刀倒凸圆角
已知孔口直径φ,孔口圆角半径R,球刀半径r
建立几何模型
设定变量表达式
#1=θ=0(θ从0°~90°,设定初始值#1=0)
#2=X=φ/2+R-[R+r]*SIN[#1]
#3=Z=R-[R+r]*COS[#1]+r
=[R+r]*[1-COS[#1]]
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0
N99#2=φ/2+R-[R+r]*SIN[#1];
#3=[R+r]*[1-COS[#1]]
G01X#2Y0F300;
G01Z-#3F100;
G03X#2Y0I-#2J0F300;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
例4球刀倒凹圆角
已知内口直径φ,孔口圆角半径R,球刀半径r
建立几何模型
设定变量表达式
#1=θ=0(θ从0°~90°,设定初始值#1=0)
#2=X=φ/2+R*COS[#1]-r
#3=Z=R*SIN[#1]
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0
N99#2=φ/2+R*COS[#1]-r;
#3=R*SIN[#1]
G01X#2Y0F300;
G01Z-#3F100;
G03X#2Y0I-#2J0F300;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
4.4孔口倒斜角(编程思路:
以若干不等半径整圆代替环形斜面)
例1平刀倒孔口斜角
已知内孔直径φ倒角角度θ倒角深度Ζ1
建立几何模型
设定变量表达式
#1=θ=0(θ从0变化到Ζ1设定初始值#1=0)
#2=X=φ/2+Ζ1*COT[θ]-#1*COT[θ]-r
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=0;
WHILE[#1LEΖ1]DO1;
#2=φ/2+Ζ1*COT[θ]-#1*COT[θ]-r;
G01X#2Y0F300;
G01Z-#1F100;
G03X#2Y0I-#2J0F300;
#1=#1+O.1;
END1;
G00Z100;
M30;
例2球刀倒孔口斜角
已知内孔直径φ倒角角度θ倒角深度Ζ1
建立几何模型
首先求出Z2=r-r*COS[θ]
X2=r*SIN[θ]
设定变量表达式
#1=Z=Z2(Z由Z2变化到Z1+Z2)
#2=X=φ/2+Ζ1*COT[θ]-[Z-Z2]*COT[θ]-X2
=φ/2+Ζ1*COT[θ]-r*SIN[θ]-[#1-r+r*COS[θ]*COT[θ]
=φ/2+[Z-#1+r-r*COS[θ]*COT[θ]]-r*SIN[θ]
程序
O0001;
S1000M03;
G90G54GOOZ100;
G00X0Y0;
G00Z3;
#1=Z2;
WHILE[#1LE(Ζ1+Z2)]DO1;
#2=φ/2+[Z-#1+r-r*COS[θ]*COT[θ]]-r*SIN[θ];
G01X#2Y0F300;
G01Z-#1F100;
G03X#2Y0I-#2J0F300;
#1=#1+0.1;
END1;
G00Z100;
M30;
4.3多元素倒角
编程思路:
通过改变半径补偿值改变加工轮廓的实际大小以若干个轮廓线代替轮廓曲面
运用指令:
G10L12P半径补偿号R半径补偿值
须知基本概念:
刀具半径补偿值=刀具中心到加工轮廓的距离
例1平刀倒多元素圆角
已知周边圆角半径R,刀具半径r
建立几何模型如图所示
设定变量表达式
#1=θ=0(θ从0°~90°设定初始值#1=0)
#2=D=R*SIN[#1]+r-R(D有可能是负值)
#3=Z=R-R*COS[#1]
程序
O0001;
S1000M03;
G90G54G40G00Z100;
G00XOY-3O;
GOOZ3;
#1=0;
N99#2=R*SIN[#1]+r-R;
#3=R-R*COS[#1];
G01Z-#3F100;
G10L12P1R#2;
D01M98P100F3OO;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
子程序
O100;
G41G01X0Y-15
G01X-13;
G02X-13Y15R15;
G01X13;
G02X13Y-15R15;
G01X0Y-15;
G40G01X0Y-30;
M99;
例2球刀倒多元素圆角
图同上例
已知周边圆角半径R,刀具半径r
建立几何模型如图所示
设定变量表达式
#1=θ=0(θ从0°~90°设定初始值#1=0)
#2=D=[R+r]*SIN[#1]-R
#3=Z=[R+r]-[R+r]*COS[#1]
主程序
O0001;
S1000M03;
G90G54G40G00Z100;
G00XOY-3O;
GOOZ3;
#1=0;
N99#2=[R+r]*SIN[#1]-R;
#3=[R+r]-[R+r]*COS[#1];
G01Z-#3F100;
G10L12P1R#2;
D01M98P100F3OO;
#1=#1+1;
IF[#1LE90]GOTO99;
G00Z100;
M30;
子程序
O100;
G41G01X0Y-15
G01X-13;
G02X-13Y15R15;
G01X13;
G02X13Y-15R15;
G01X0Y-15;
G40G01X0Y-30;
M99;
例3平刀倒多元素斜角
已知倒角深度Z,角度θ,平刀半径r
建立几何模型
设定变量表达式
#1=Z=0(Z由0变化到Z1,设定初始值#1=0)
#2=D=Z*COT[θ]+r-Z1*COT[θ]
=#1*COT[θ]+r-Z1*COT[θ]
程序
O0001;
S1000M03;
G90G54G40G00Z100;
G00XOY-3O;
GOOZ3;
#1=0;
N99#2=#1*COT[θ]+r-Z1*COT[θ];
G01Z-#1F100;
G10L12P1R#2;
D01M98P100F3OO;
#1=#1+0.1;
IF[#1LEZ1]GOTO99;
G00Z100;
M30;
子程序
O100;
G41G01X0Y-15
G01X-13;
G02X-13Y15R15;
G01X13;
G02X13Y-15R15;
G01X0Y-15;
G40G01X0Y-30;
M99;
例4球刀倒多元素斜角
已知倒角深度Z,角度θ,平刀半径r
建立几何模型
设定变量表达式
#1=Z=Z2(Z由Z2变化到Z1+Z2,设定初始值#1=Z2)
#2=D=[Z-Z2]*COT[θ]+r*COT[θ]-Z1*COT[θ]
=[#1-[r-r*COs[θ]]]*COT[θ]+r*COT[θ]-Z1*COT[θ]
=#1+r*COs[θ]*COT[θ]-Z1*COT[θ]
程序
O0001;
S1000M03;
G90G54G40G00Z100;
G00XOY-3O;
GOOZ3;
#1=Z2;
N99#2=#1+r*COs[θ]*COT[θ]-Z1*COT[θ];
G01Z-#1F100;
G10L12P1R#2;
D01M98P100F3OO;
#1=#1+0.1;
IF[#1LEZ1+Z2]GOTO99;
G00Z100;
M30;
子程序
O100;
G41G01X0Y-15
G01X-13;
G02X-13Y15R15;
G01X13;
G02X13Y-15R15;
G01X0Y-15;
G40G01X0Y-30;
M99;
4.4特殊类型加工
例1运用个G10指令加工腔体或者凸台
G10的格式G10L12P半径补偿号R半径补偿值
编程思路:
通过设定刀具半径补偿变量偏置轮廓加工腔体或凸台
已知各尺寸如图刀具假定半径r=5
每层加工2mm加工行距8
设定变量表达式
#1=Z=2(Z从2变化到10初始值Z=2)
#2=D=5(刀具半径补偿初始值D=5)
主程序
O0001;
S1000M03;
G90G54G40G00Z100;
G00XOY0;
GOOZ3;
#1=2;
WHILE[#1LE10]DO1;
WHILE[#2LE30]DO2;
#2=5;
G01Z-#1F100;
G10L12P1R#2;
D01M98P100F200;
#2=#2+8;
END2;
#1=#1+2;
END1;
GOOZ100;
M30;
子程序
O100;
G41G01Y30;
G01X-26Y30;
G03X-26Y-30R30;
G01X26Y-30;
G03X26Y30R30;
G01X0Y30;
G40G01X0Y0;
M99;
例2螺纹加工
螺纹加工方法有很多种,本例主要针对单齿螺纹刀运用G02
G03指令加工
螺旋括补代码G02G03格式G02X-Y-Z-I-J-F-;
G03X-Y-Z-I-J-F-;
编程思路:
运用G02G03螺旋括补指令设定Z方向为变量
以每一个螺距或导程为递增,加工螺纹
加工M60×3的螺纹深度20
设定变量#1=Z=0(Z由3变化到-21设定初始加工平面Z=3)
(每加工一个齿下降一个螺距3)
程序
O0002;
S1000M03;
G90G54G40G00Z100;
G00XOY0;
GOOZ3;
#1=0;
G42G01X30Y0D01F100;
WHILE[#1GE-21]DO1;
G02X30Y0Z#1I-30;
#1=#1-3;
END1;
G40G01X0Y0;
G00Z100;
M30;
例3阿基米德螺旋线的轨迹线加工(加工深度2mm)
编程思路:
以若干条小段直线代替曲线
已知此曲线极坐标的方程为r=aθ(a:
常数θ:
弧度)
起始角θ=0°=0弧度
终止角θ=270°+360°=630°=630×3.14/180弧度=10.99弧度
设定变量表达式#1=θ=0°(θ由00变化到630°设定初始值#1=0)
#2=θ(弧度=#1×3.14/180)
#3=r=a*#2
程序
O0003;
S1000M03;
G90G54G40G00Z100;
G00XOY0;
GOOZ3;
G01Z-2F100;
#1=0;
WHILE[#1LE630]DO1;
#2=#1*3.14/180
#3=a*#2
G16G01X#3Y#1F300;
#1=#1+1;
END1;
G15G00Z100;
M30;
例4正弦曲线加工(深度2mm)
设定变量表达式
#1=t=0(t由0°变化到360°)
#3=a*SIN[#1]=Y
#2=b/360*#1=X
程序
O0003;
S1000M03;
G90G54G40G00Z100;
G00XOY0;
GOOZ3;
G01Z-2F100;
#1=0;
WHILE[#1LE360]DO1;
#2=b/360*#1;
#3=a*SIN[#1];
G01X#2Y#3F300;
#1=#1+1;
END1;
G15G00Z100;
M30;
例5正弦曲面四轴加工
设定变量表达式
#1=A=0(#1为第四轴A的角度由0°~360°)
#2=X=a*SIN[3*#1]
程序
O0003;
S1000M03;
G90G54G40G00Z100;
G00X-RY0;
GOOZ3;
G01Z-mF100;
G41G01XOYOD01F200;
#1=0;
WHILE[#1LE360]DO1;
#2=a*SIN[3*#1];
G01X#2A#1;
#1=#1+1;
END1;
G15G00Z100;
M30;
例5椭球面加工
已知椭球面的标准方程X2/a2+Y2/b2+Z2/c2=1
和椭圆的参数方程X=a*COS[θ]Y=b*SIN[θ]
X,Y,Z方向三个半轴长度分别为a,b,c刀半径r
设定变量表达式
#1=θ=0(Z向角度变量,θ由0°变化到90°设定初始值#1=0)
#2=θ=0(平面内角度变量,θ由0°变化到360°设定初始值#2=0)
#3=a1=a*COS[#1](X向半轴变量)
#4=c1=c*SIN[#1](Z向半轴变量)
#5=b/c*SQRT[c*c-#4*#4](Y向半轴变量)
#6=#3*COS[#2]+r(平面内X坐标变量)
#7=#5*SIN[#2]+r(平面内Y坐标变量)
程序
O0003;
S1000M03