分享

干货 | 最好最新的宏程序实用例集

 zhajialo 2017-04-03


正多边形外轮廓宏程序



编制正多边形外轮廓加工宏程序,能实现边数为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;


评论处大家可以补充文章解释不对或欠缺的地方,这样下一个看到的人会学到更多,你知道的正式大家所需要的。。。

微信号:cncdnsk
长按、关注、领取资料包

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多