数控铣宏程序实例(DOC)数控铣宏程序实例§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]+ MY=b*SIN[#1]+ N变量数学表达式设定θ=#1; (0°~360°)那么X=#2=a*COS[#1]+ MY=#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;例4 非整椭圆轨迹线加工(加工深度2mm)已知椭圆的长半轴a 短半轴为b 且与X轴正向夹角为A1,A2。
首先根据椭圆的参数方程求出θ1,θ2和P1(x1,y2) P2(x1,y2)此时要注意 A1≠θ1,A2≠θ2如图示ON=b , OM=aNP=P1Q, NP1=PQX1=OQ, Y1=P1Q由上可列出方程OQ=OM*COSθ=a*COSθ=X (1) P1Q=NP=ON*SINθ=b*SINθ=Y (2)TANa=P1Q/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;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 X1 Y1;GOO Z3;G01 Z-2 F100;#1=X1;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;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;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0;WHILE[#1LE90]DO1;#2=R*SIN[#1]+r;#3=R-R*COS[#1];G01 X#2 Y0 F300;G01 Z-#3 F100;G02 X#2 Y0 I-#2 J0 F300;#1=#1+1;END1;G00 Z100;M30;当加工的球形的角度为非半球时可以通过调整#1也就是θ角变化范围来改变程序例3:球刀加工凸半球已知凸半球的半径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;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;Z3;#1=0;WHILE[#1LE90]DO1;#2=[R+r]*SIN[#1];#3=[R+r]*[1-COS[#1]];G01 X#2 Y0 F300;G01 Z-#3 F100;G02 X#2 Y0 I-#2 J0 F300;#1=#1+1;END1;G00 Z100;M30;例4:球刀加工凹半球已知凸半球的半径R,刀具半径r建立几何模型如图设定变量表达式#1=θ=0 (0°~90°,设定初始值#1=0)#2=X=[R-r]*COS[#1](刀具中心坐标)#3=Z=[R-r]*SIN[#1]+r程序O0003S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0;WHILE[#1LE90]DO1;#2=[R-r]*SIN[#1];#3=[R-r]*COS[#1]+r;G01 X#2 Y0F300;G01Z-#3F100;G03 X#2 Y0 I-#2 J0F300;#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;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;GOO Z3;#1=0N99#2 =φ/2+R-r-R*SIN[#1]#3 =R-R*COS[#1]G01 X#2 Y0 F300;G01Z-#3 F100;G03 X#2 Y0 I-#2 J0 F300;#1=#1+1;IF[#1LE90]GOTO99;G00 Z100;M30;例2:平刀加工凹圆角已知孔口直径φ,孔口圆角半径R,平刀半径r 建立几何模型设定变量表达式#1=θ=0(θ从0°~90°,设定初始值#1=0)#2=X=φ/2 +R*SIN[#1]–r#3=Z=R*SIN[#1]程序O0001;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0N99#2 =φ/2+R*SIN[#1]-r#3 = R*SIN[#1]G01 X#2 Y0 F300;G01 Z-#3 F100;G03 X#2 Y0 I-#2 J0 F300;#1=#1+1;IF[#1LE90]GOTO99;G00 Z100;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;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0N99#2 =φ/2 +R-[R+r]*SIN[#1];#3=[R+r]*[1-COS[#1]]G01 X#2 Y0 F300;G01 Z-#3 F100;G03 X#2 Y0 I-#2 J0 F300;#1=#1+1;IF[#1LE90]GOTO99;G00 Z100;M30;例4:球刀倒凹圆角已知内口直径φ,孔口圆角半径R,球刀半径r 建立几何模型设定变量表达式#1=θ=0(θ从0°~90°,设定初始值#1=0)#2=X=φ/2 +R*COS[#1]-r#3=Z=R*SIN[#1]程序O0001;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0N99#2 =φ/2 +R*COS[#1]-r;#3= R*SIN[#1]G01 X#2 Y0 F300;G01 Z-#3 F100;G03 X#2 Y0 I-#2 J0 F300;#1=#1+1;IF[#1LE90]GOTO99;G00 Z100;M30;4.4 孔口倒斜角(编程思路:以若干不等半径整圆代替环形斜面)例1 平刀倒孔口斜角已知内孔直径φ倒角角度θ倒角深度Ζ1建立几何模型设定变量表达式#1=θ=0(θ从0变化到Ζ1设定初始值#1=0)#2=X=φ/2 +Ζ*COT[θ]-#1*COT[θ]-r1程序O0001;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=0;]DO1;WHILE[#1LEΖ1#2=φ/2 +Ζ*COT[θ]-#1*COT[θ]-r;1G01 X#2 Y0 F300;G01Z-#1 F100;G03X#2 Y0 I-#2 J0 F300;#1=#1+O.1;END1;G00 Z100;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;S1000 M03;G90 G54 GOO Z100;G00 X0 Y0;G00 Z3;#1=Z2;WHILE[#1LE(Ζ1+Z2)]DO1;#2=φ/2+[Z-#1+r-r*COS[θ]*COT[θ]]-r*SIN[θ]; G01 X#2 Y0 F300;G01 Z-#1 F100;G03 X#2 Y0 I-#2 J0 F300;#1=#1+0.1;END1;G00 Z100;M30;4.5 多元素(任意轮廓)倒角编程思路:通过改变半径补偿值改变加工轮廓的实际大小以若干个轮廓线代替轮廓曲面运用指令:G10 L12 P 半径补偿号 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;S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y-3O;GOO Z3;#1=0;N99#2= R*SIN[#1]+r-R;#3= R-R*COS[#1];G01 Z-#3 F100;G10 L12 P1 R#2;D01 M98 P100 F3OO;#1=#1+1;IF[#1LE90]GOTO99;G00 Z100;M30;子程序O100;G41 G01 X0 Y-15G01 X-13;G02 X-13 Y15 R15;G01 X13;G02 X13 Y-15 R15;G01 X0 Y-15;G40 G01 X0 Y-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;S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y-3O;GOO Z3;#1=0; N99#2= [R+r]*SIN[#1]-R; #3= [R+r]-[R+r]*COS[#1]; G01 Z-#3 F100; G10 L12 P1 R#2; D01 M98 P100 F3OO; #1=#1+1;IF[#1LE90]GOTO99; G00 Z100; M30;子程序O100;G41 G01 X0 Y-15G01 X-13;G02 X-13 Y15 R15;G01 X13;G02 X13 Y-15 R15;G01 X0 Y-15;G40 G01 X0 Y-30;M99;例3:平刀倒多元素斜角已知倒角深度Z,角度θ,平刀半径r建立几何模型设定变量表达式#1=Z=0(Z由0变化到Z,设定初始值#1=0)1*COT[θ]#2=D=Z*COT[θ]+r-Z1*COT[θ]= #1*COT[θ]+r-Z1程序O0001;S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y-3O;GOO Z3;#1=0; N99#2= #1*COT[θ]+r-Z*COT[θ];1G01 Z-#1 F100; G10 L12 P1 R#2; D01M98P100F3OO; #1=#1+0.1;]GOTO99; IF[#1LEZ1G00Z100; M30;子程序O100;G41G01X0Y-15G01X-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;G90 G54 G40 G00 Z100;G00 XO Y-3O;GOO Z3;#1= Z2;N99#2= #1+ r*COs[θ]*COT[θ]- Z1*COT[θ];G01 Z-#1 F100;G10 L12 P1 R#2;D01 M98 P100 F3OO;#1=#1+0.1;IF[#1LE Z1+Z2]GOTO99;G00 Z100; M30;子程序O100;G41G01X0Y-15G01X-13;G02X-13Y15R15;G01X13;G02X13Y-15R15;G01X0Y-15;G40G01X0Y-30;M99;4.6 特殊类型加工例1:运用个G10指令加工腔体或者凸台G10格式:G10 L12 P半径补偿号 R 半径补偿值编程思路:通过设定刀具半径补偿变量偏置轮廓加工腔体或凸台已知各尺寸如图刀具假定半径r=5每层加工2mm 加工行距8设定变量表达式#1=Z=2(Z从2变化到10 初始值Z=2)#2=D=5(刀具半径补偿初始值D=5) 主程序O0001S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y0;GOO Z3;#1= 2;WHILE[#1LE10]DO1;WHILE[#2LE30]DO2;#2=5;G01 Z-#1 F100;G10 L12 P1 R#2; D01 M98 P100 F200; #2=#2+8;END2;#1=#1+2; END1; GOO Z100; M30;子程序O100;G41 G01 Y30;G01 X-26 Y30;G03 X-26 Y-30 R30;G01 X26 Y-30;G03 X26 Y30 R30;G01 X0 Y30;G40 G01 X0 Y0;M99;例2:螺纹加工螺纹加工方法有很多种,本例主要针对单齿螺纹刀运用G02G03指令加工螺旋括补代码 G02 G03格式G02 X- Y- Z- I- J- F-;G03 X- Y- Z- I- J- F-;编程思路:运用G02 G03螺旋括补指令设定Z方向为变量以每一个螺距或导程为递增,加工螺纹加工M60×3的螺纹深度20设定变量 #1=Z=0(Z由3变化到-21 设定初始加工平面Z=3) (每加工一个齿下降一个螺距3)程序O0002;S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y0;GOO Z3;#1=0;G42 G01 X30 Y0 D01 F100; WHILE[#1GE-21]DO1; G02 X30 Y0 Z#1 I-30; #1=#1-3;END1;G40 G01 X0 Y0;G00 Z100;M30;例3 正弦曲线加工(深度2mm)设定变量表达式#1=t=0(t由0°变化到360°) #3=a*SIN[#1]=Y#2=b/360*#1=X程序O0003; S1000 M03;G90 G54 G40 G00 Z100; G00 XO Y0;GOO Z3;G01 Z-2 F100;#1=0;WHILE[#1LE360]DO 1; #2= b/360*#1;#3= a*SIN[#1];G01 X#2 Y#3 F300; #1=#1+1;END1;G15 G00 Z100; M30;例4:阿基米德螺旋线的轨迹线加工(加工深度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;S1000 M03;G90 G54 G40 G00 Z100;G00 XO Y0;GOO Z3;G01 Z-2 F100;#1=0;WHILE[#1LE630]DO 1;#2=#1*3.14/180#3=a*#2G16 G01 X#3 Y#1 F300;#1=#1+1;END1;G15 G00 Z100;M30;例5 正弦曲面四轴加工设定变量表达式#1=A=0(#1为第四轴A的角度由0°~360°) #2=X=a*SIN[3*#1]程序O0003;S1000 M03;G90 G54 G40 G00 Z100;G00 X-R Y0;GOO Z3;G01Z-m F100;G41 G01 XO YO D01 F200;#1=0;WHILE[#1LE360]DO 1;#2= a*SIN[3*#1];G01 X#2 A#1;#1=#1+1;END1;G15 G00 Z100;M30;例6:椭球面加工已知:椭球面的标准方程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)=a*COS[#1](X向半轴变量)#3=a1#4=c=c*SIN[#1](Z向半轴变量)1#5=b/c*SQRT[c*c-#4*#4](Y向半轴变量)#6=#3*COS[#2]+r(平面内X坐标变量)#7=#5*SIN[#2]+r(平面内Y坐标变量)程序O0003;S1000 M03;G90 G54 G40 G00 Z100;G00 X0 Y0;GOO Z3;#1=0;WHILE[#1LE90]DO 1;#3= a*COS[#1];#4=c*SIN[#1];#5=b/c*SQRT[c*c-#4*#4];G01 X#3 Y#5 F300;G01 Z#4;#2=0;WHILE[#2LE360]DO 2;#6=#3*COS[#2]+r;#7=#5*SIN[#2]+rG01 X#6 Y#7;#2=#2+1;END2;#1=#1+1;END1;G00 Z100; M30;。