正多边形外轮廓宏程序 编制正多边形外轮廓加工宏程序,能实现边数为n边(n=3,4,5,6,8,9,10,12等,n能被360整除即可)的外轮廓自上而下环绕分层加工,同时通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形(如图5-24所示,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角)。 图5-24 现以五边形为例,如图5-25所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程(不用半径补偿功能),编程起始点为X轴上的A点,以顺铣方式(顺时针方向),根据标准正多边形的各边长总是相等,边长之间的夹角也相同的规律,用极坐标编程方式,循环完成每一边的加工。多边形宏程序的加工路线和变量设计如下: 图5-25 1)初始变量的设置: #1=__;正多边形的边数 #2=__;正多边形外接圆的直径 #3=__;轮廓加工的高度尺寸值 #4=__;刀具半径(平底立铣刀) #5=__;Z向加工起始点坐标,设为自变量,赋初始值Z0(工件上平面) #15=__;分层加工的层间距 #23=__;正多边形旋转角度(正三角形为90,正四边形为45) 2)宏程序中变量及表达式 要应用极坐编程,需计算极半径和极角,如图5-25所示。 (1)#10,夹角β。在多边形中心与某边中点做一连线OC,OC与OD之间的夹角β设为变量#10,赋值表达式为:#10=180/#1;(180除以边数) (2)我们以刀具中心点编程,要计算出极半径OA,需确定△AOB 中OB的边长,计算OB边长首先要确定OC边长: ①在△OCD中,已知∠β(#10),边长OD(外接圆半径,#2/2),根据三角函数定义,余弦COS等于邻边比斜边,即COSβ=OC/OD,那么:OC=OD*COSβ=#2/2* COS[#10] ②#11,OB边长。在△AOB中,OB=OC+BC(刀具半径r为#4),设OB边长为变量#11,赋值表达式为:#11=#2/2*COS[#10]+#4; ③#12,极半径OA边长。那么在△AOB中,已知OB和∠β,余弦COS等于邻边比斜边的定义,即COSβ=OB/OA,那么:OA=OB/COSβ,设OA变量#12,赋值表达式为:#12=#11/COS[#10]; (3)转移循环设计 ①以极角变化次数循环加工边数 #17=1;极角变化次数,初始值为1 WHILE[#17LE#1]DO2; 当极角变化次数小于正多边形边数,循环2继续 G01 Y[-#17*[#10*2]]; 极坐标,旋转编程顺时加工正多形的一个边长,Y为极角,每加工一边极角依次递减2β #17=#17+1;极角变化次数递增到边数即结束循环 END2; ②深度分层加工循环次数 WHILE[#5LE#3]DO1; 加工深度循环判断 …… #5=#5+#15;每层加工坐标递增层间距值 END1; 现以边数为5边形,外接圆的直径为80,五边形轮廓台阶高为6mm,用刀具半径为8mm的平底立铣刀,每层加工间距为2mm,编程加工旋转18°后的正五边形宏程序。 O0004; G15G69G17; #1=5;正多边形的边数 #2=80.;正多边形外接圆的直径 #3=6.;轮廓加工的高度尺寸值 #4=8.;刀具半径(平底立铣刀) #5=0;Z向加工起始点坐标,设为自变量,赋初始值Z0 #15=2.;分层加工的层间距 #23=18;OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0) G54G90X0Y0Z30.M03S800; 移动工件原点 G68X0Y0R#23;以多边形中心为中心进行坐标系旋转#23的角度 G16;极坐标编程 #10=180/#1;计算角度β,180除以边数 #11=#2/2*COS[#10]+#4;计算OB边长,(计算OA的条件) #12=#11/COS[#10];计算加工起点的极半径,OA边长 X#12Y0;快速移到加工起点A WHILE[#5LE#3]DO1;加工深度循环判断 G00Z[-#5+1];下刀到加工平面上方1mm处 G01Z-#5F200;刀具进给移到加工平面坐标位置(初始起点Z0,自上而下) #17=1;极角变化次数,初始值为1 WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续 G01 Y[-#17*[#10*2]];极坐标,X极径不变,Y为极角(每加工一边极角依次递减2β) #17=#17+1;极角变化次数递增到边数即结束循环 END2; #5=#5+#15;每层加工坐标递增层间距值 END1;到达Z向加工深度,跳出循环1 G00Z30.;提刀 G15;取消极坐标方式 G69;取消坐标系旋转 M30; 正多边形外轮廓铣斜面、倒角、锥台宏程序 设计正多边形外轮斜面、倒角和锥台的加工宏程序,以立铣刀实现边数为n边的外轮廓自下而上环绕分层加工出周边斜面,如图5-26所示。 图5-26 正多边形斜面加工 同时能通过控制多边形中心与其中一顶点的连线与水平方向的夹角,加工出不同摆放位置的正多边形,为编程方便,我们将编程起始点,即多边形的一个顶点A放在X水平轴上,要加工出所要求的摆放位置,需用G68指令进行坐标系旋转,旋转角度为OA与OA’的夹角)。 现以五边形为例,如图5-27所示,工件坐标系设在多边形中心的上平面,以刀具中心点编程,编程起始点为X轴上的A点,用G68指令进行坐标系旋转。以顺铣方式(顺时针方向)由下而上分层加工。 图5-27 多边形斜面宏程序 1)初始变量的设置,与多边形外轮廓宏程序中一样,各参数号相对应,仅增加斜面与垂直面的夹角α,设变量为#7。 #1=__;正多边形的边数 #2=__.;正多边形外接圆的直径 #3=__;周边斜面的高度尺寸值 #4=__;刀具半径(平底立铣刀) #5=__;Z向加工起始点坐标,设为自变量,赋初始值Z0 #7=__; 斜面与垂直面的夹角 #15=__.; 分层加工的层间距 #23=__; OA与水平X轴的正向夹角(正三角形为90,正四边形为45,正六边形为0) 2)宏程序中变量及表达式 在正多边形周边斜面宏程序中,完成一圈(首办加工最外圈)的#10、#11、#12变量的含义与计算表达式与正多边形轮廓加工宏程序中一样。 要实现正多边形周边斜面的加工,关键点是每层的正多边形外接圆随着高度的上升而缩小,即每层的极半径OA在变化,极角不变。如图5-28所示,计算每层多边形的极半径OA’的表达式如下: 图5-28 ①#18,OB’边长。首先确定OB’边长,OB’边长等于OB(#11)减去图中的BC边长,在△ABC中,已知∠α(#7)和AC(#5)边长,根据正切函数TAN等于对边比邻边定义,即BC=AC*TANα,那么OB’边长赋值表达式为:#18==#11-#5*TAN[#7]; ②#19,每层多边形的极半径OA’的赋值表达式为:#19=#18/COS[#10]; 3)转移循环设计 ①每层以极角变化次数循环加工边数 #17=1;极角变化次数,初始值为1 WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续 G01X#19 Y[0-#17*[#10*2]]; 极坐标,每加工一边极角依次递减2β #17=#17+1;极角变化次数递增到边数即结束循环 END2; ②深度分层加工循环次数 WHILE[#5LE#3]DO1;加工高度循环判断 …… #5=#5+#15;每层加工坐标递增层间距值 END1; O5016;宏程序名 #1=5;正多边形的边数赋值 #2=80.;正多边形外接圆的直径赋值 #3=6.;周边斜面的高度尺寸值赋值 #4=8.;刀具半径(平底立铣刀)赋值 #5=0;Z向加工起始点坐标,设为自变量,赋初始值Z0 #7=15;斜面与垂直面的夹角赋值 #15=2.;分层加工的层间距赋值 #23=18;正多边形旋转角度赋值 S1000M03; G54G90G00X0Y0Z30.; G68X0Y0R#23;坐标系旋转 G17G90G16;极坐标编程 #10=180/#1;计算角度β,180除以边数 #11=#2/2*COS[#10]+#4;计算最外圈正多边形OB边长 #12=#11/COS[#10];计算最外圈加工起点的极半径OA边长 N11 G00 X#12Y0;快速移到最外圈加工起始点A N12 Z2. ;接近加工平面 N13 G01 Z-#3;进给下刀到斜面底部(自下而上) WHILE[#5LE#3]DO1;当分层加工还未到斜面顶部时,循环1继续 #18=#11-#5*TAN[#7];计算每层加工的OB’边长(计算OA的条件,随#5变化) #19=#18/COS[#10];计算每层加工的极半径OA’边长 N21 G01Z[-#3+#5]F1000.;进给上升到上一层的起始点Z坐标(随#5变化) N22 X#19 Y0;进给移到当前层的XY平面起始点 #17=1;极角变化次数,初始值为1 WHILE[#17LE#1]DO2;当极角变化次数小于正多边形边数,循环2继续 N23 G01 X#19 Y[0-#17*[#10*2]];X极径,Y为极角(每加工一边极角依次递减2β) #17=#17+1; 极角变化次数递增到边数即结束循环 END2; #5=#5+#15;层加工Z向加工起始点坐标依次增加层间距 END1; G00Z30.; G15; M30; 铣圆孔 使用平底铣刀,以螺旋铣削方式在实体上粗、精加工圆孔内型腔。工件原点为圆孔中心上平面,绝对值编程。循环加工路线为:根据圆孔直径、刀具直径及步距所计算的螺旋加工次数确定每次螺旋下刀坐标,每次从1处以开始螺旋铣削一周,每一周螺旋下刀进给一个深度,到达预定孔深度后,刀具向中心移动1mm后快提刀,再移到2处开始螺旋铣削,依次类推,直到完成精加工。 O5018; G54; G00X0Y0Z10.; M03S800; #1=100; 圆孔直径 #2=15; 圆孔深度 #3=16; 刀具直径 #4=0; Z向下刀起始点坐标 #17=2; 每次螺旋Z向切深,即层间距 #5=0.8*#3; 以刀具直径计算步距(12.8) #6=#1-#3; 精加工时刀具中心回转直径(最大直径84) #7=FIX[#6/#5]; 在XY平面内螺旋次数,刀具中心最大回转直径#6除以步距#5,并上取整数(84/12.8=6.5625,取整为7) #8=FIX[#7/2]; 以半径计算坐标时的加工次数,取上整数(7/2=3.5,取整为4次) WHILE[#8GE0]DO1; 判断加工次数是否#8≥0,即还没完成精加工,则循环1继续,(在循环最后要对#8进行递减,#8=#8-1) #10=#6/2-#8*#5; XY平面内每次螺旋加工时在X向的起点坐标值(绝对值,分别是X3.6,X16.4,X29.2,X42,) G00X#10;快速移到每次螺旋加X坐标起点 Z1.; 快速定位到工件上平面1mm 处 G01Z0.F[#9*0.2]; 工进速度接近加工平面 #4=0; Z向加工坐标初始值。一定要放在循环语句之前 WHILE[#4LT#2]DO2;判断Z向坐值变量#4是否小于孔深#2的值,如还没到孔底则循环2继续#4=#4+#17; 依次递增Z向切深#17的值,重新对Z向坐标赋值。 G03I-#10Z-#4F#9; 螺旋铣削程序段,G03逆时针螺旋加工至下一层 END2; 循环2结束,当螺旋加工到孔底时,继续执行该段后的程序 G03I-#10; 到达圆孔深度逆时针整圆铣削,平整加工孔底 G01X[#10-1.]; 沿X向圆孔中心移动1mm G00Z30.; 快速提刀 #8=#8-1.; XY平面内螺旋加工次数依次减至0 END1; 循环1结束,加工次数依次减至0则加工完成 M30; 铣内孔圆弧角 O5020; G54G90G40G49; G43G00Z10.H3M03S800; X0Y0M08; G01Z0; #1=100;圆孔直径 #3=16;刀具直径 #17=5;圆弧角半径 #16=[#1-#3]/2+#17; 加工圆弧角上平面最大外圈时刀中心X坐标 G01X#16F60; XY平面定位倒角的加工起点 #11=0; Z轴起始深度赋值,工件上平面,自上而下分层加工 #12=-#17; Z轴最终深度赋值(圆角Z向终点,值为圆角半径) N20#13=#17+#11; 每层的高度值(半径值加上#11,#11随层变化) #14=SQRT[#17*#17-#13*#13]; 每层刀尖接点X方向到圆角圆心的值 #15=#16-#14; 刀中心每层X方向绝对坐标值 G01X#15Y0Z#11F1000; 进给至每层圆弧面的X、Y、Z轴起点, G02I-#15J0; G02整圆铣削加工一层 #11=#11-0.05; Z坐标每次下降层间距0.05mm IF[#11GE#12]GOTO20; 当深度未到时,转移到N20程序段 G00G49Z50; M30; 华中倒圆角宏程序:(通过)项目:华中M铣孔R圆角 CHEHELAN O5020; G54G90G40G49; G00Z10.M03S800; X0Y0M08; G01Z0; #1=50 #3=16 #17=5 #16=[#1-#3]/2+#17 G01X[#16]F60 #11=0 #12=-#17 WHILE #11 GE #12 N20 #13=#17+#11 #14=SQRT[#17*#17-#13*#13] #15=#16-#14 G01 X[#15] Y0 Z[#11]F1000 G02 I[-#15]; #11=#11-0.05; ENDW; G00G49Z50; M30; %1205 G54;华中项目(华中椭圆和半径补偿) G90G00X48.Y50.M03S800; G43Z50.H02; G01Z15.F200; #1=40.; #2=30.; #3=15.;工件原点离上平面15mm G00Z[#3-5.]; G01G41X[#1]Y0D01; #103=360.; N100 WHILE #103 GE 0; #104=#1*COS[#103*PI/180]; #105=#2*SIN[#103*PI/180]; G01X[#104]Y[#105]; #103=#103-1.; ENDW; G00Z20.; G40X48.Y50.; G00Z50.; M05; M30; %8002; 项目(华中宏M四方斜台) #10=10. 华中圆和与X轴成10度角的四方宏程序 #11=10.0 #12=124.0 #13=124.0 N01 G54 N05 G00 Z10.0 #0=0 N06 G00 X[-#12] Y[-#13] N07 Z[-#10] M03 S600 WHILE #0 LT 3 N[08+#0*6] G01 G42 X[-#12/2] Y[-175/2] F280.0 D[#0+1];可分别调D01D02D03半径值 N[09+#0*6] X[0] Y[-175/2] N[10+#0*6] G03 J[175/2] N[11+#0*6] G01 X[#12/2] Y[-175/2] N[12+#0*6] G40 X[#12] Y[-#13] N[13+#0*6] G00 X[-#12] Y[-#13] #0=#0+1 ENDW N100 Z[-#10-#11] #2=175/SQRT[2]*COS[55*PI/180] #3=175/SQRT[2]*SIN[55*PI/180] #4=175*COS[10*PI/180] #5=175*SIN[10*PI/180] #0=0 WHILE #0 LT 3 N[101+#0*6] G01 G90 G42 X[-#2] Y[-#3] F280.0 D[#0+1] N[102+#0*6] G91 X[+#4] Y[+#5] N[103+#0*6] X[-#5] Y[+#4] N[104+#0*6] X[-#4] Y[-#5] N[105+#0*6] X[+#5] Y[-#4] N[106+#0*6] G00 G90 G40 X[-#12] Y[-#13] #0=#0+1 ENDW G00 X0 Y0 M05 M30 内圆角宏程序(铣) O0555; G91G28Z0; G54; M6T3; S800M3; G52Z10.216;(将工件原点移动球心) G90G00X0.Y0.; G0G43Z5.H04;(显示Z15.216) #1=30;球半径 #2=5;平底铣刀半径 #100=-15.216;球面终止高度(球上平面距球心Z坐标) #101=-23.216; 球面起始高度(球下平面距球心Z坐标) G00Z[#101+1]; WHILE[#101LE#100]DO1; #102=SQRT[#1*#1-#101*#101]-#2;刀中心在每层的X坐标 G01Z#101;(显示Z-13.) G01X[#102]F1000;(第一刀X14.) G17G02I[-#102]F1500; #101=#101+0.02; END1;(结束停在X20.843Z4.980) M30; 评论处大家可以补充文章解释不对或欠缺的地方,这样下一个看到的人会学到更多,你知道的正式大家所需要的。。。 长按、关注、领取资料包 |
|