当前位置:文档之家› 宏程序编程例子入门

宏程序编程例子入门

宏程序编程例子入门
宏程序编程例子入门

宏程序编程例题

椭圆解析:

椭圆关于中心、坐标轴都是对称的,坐标轴是对称轴,原点是对称中心。对称中心叫做椭圆中心。椭圆和X轴有2两个交点,和Y轴有两个交点,这四个交点叫做椭圆顶点。

椭圆标准方程:x2 / a2 + y2 / b2 = 1 ( a为长半轴,b为短半轴,a > b > 0 )

椭圆参数方程:x=a*cosM

y=b*sinM ( a为长半轴,b为短半轴,a > b > 0 ,M是夹角,是椭圆上任意一点到椭圆中心

连线与X正半轴所成的夹角,顺时针为负,逆时针为正。)

二、数控车床:

根据椭圆标准方程:x2 / a2 + y2 / b2 = 1 ( a为长半轴,b为短半轴,a > b > 0 )

根据椭圆参数方程:x=a*cosM

y=b*sinM ( a为长半轴,b为短半轴,a > b > 0 ,M是夹角,是椭圆上任意一点到椭圆

中心连线与X正半轴所成的夹角,顺时针为负,逆时针为正。)

可得车床标准方程:z2 / a2 + x2 / b2 = 1 ( a为长半轴,b为短半轴,a > b > 0 )

可得椭圆参数方程:z=a*cosM

x=2b*sinM ( a为长半轴,2b为短轴(直径),a > b > 0 ,M是夹角,是椭圆上任意一点

到椭圆中心连线与Z正半轴所成的夹角,顺时针为负,逆时针为正。)

通过标准方程推导X的表达式:x =b / a * SQRT [a * a– z * z ] a、b为长、短半轴是常数表示。

(一)车床车削椭圆通常是加工椭圆X正方向部分(回转体),用标准方程车削椭圆时,通常设Z为自变量,通过方程把X表达出来,最多就是车削到180度椭圆,然后利用G01插补拟合成椭圆。

通过椭圆车床标准方程推导,可以有如下过程:z2 / a2 + x2 / b2 = 1

可推导x2 / b2 =1- [ z2 / a2 ] = [ a2 – z2 ] / a2

可推导x2 = [ b2 / a2 ] * [ a2 – z2 ] x =b / a * SQRT [a2 – z2 ]

转换为数控格式就为x =2b / a * SQRT [a * a– z * z ] a为长半轴、2b为短轴(直径编程)常数表示。

设z为自变量#1,则x为因变量#2,根据上述公式有:#2 =b / a * SQRT [a * a- #1 * #1 ]

例题:长半轴a=5,短半轴b=4的椭圆。有以下几种情况:

1、#1为z,为自变量:

则#1=5 (#1=5 表示从Z正半轴开始加工。)

N10 #2 = 8 / 5 * SQRT [5 * 5 - #1 * #1 ]

G01 X [ #2+ D ] Z [ #2 + E ] (X正,Z正,表示走逆时针,D、E表示椭圆中心X、Z绝对坐标)

#1=#1-1

IF [ #1 GE 0 ] GOTO10 这是加工第一象限的椭圆,90度椭圆。

IF [ #1 GE -5 ] GOTO10 这是从第一象限加工到第二象限的椭圆,180度椭圆。

2、#1为x,为自变量:

则#1=-5 (#1=-5 表示从Z轴负方向开始加工。)

N10 #2 = 8 / 5 * SQRT [5 * 5 - #1 * #1 ]

G01 X [ #2+ D ] Z [ -#2 + E ] (X正,Z负,表示走顺时针,D、E表示椭圆中心X、Z绝对坐标)

#1=#1 + 1

IF [ #1 LE 0 ] GOTO10 这是加工第二象限的椭圆,90度椭圆。通常这是利用反刀加工。

IF [ #1 LE 5 ] GOTO10 这是从第二象限加工到第一象限的椭圆,180度椭圆。正反刀都可以加工。

关于D、E椭圆中心坐标位置的说明,D为直径表达,E的位置有三种:

a

E=-a+Δ时([ #2 + E ]>0),椭圆中心在Z轴上向右偏移,中心离工件原点距离小于一个长半轴。

E=-a-Δ时([ #2 + E ]<0),椭圆中心在Z轴上向左偏移,中心离工件原点距离大于一个长半轴。

(二)车通过参数方程加工椭圆可以加工0-180度内任意角度,直接通过参数方程加工即可。

例题:长半轴a=5,短半轴b=4的椭圆。有以下几种情况:

1、设#1为M,为角度自变量,x、z为因变量:

则#1=0 (#1=0 表示从0度开始加工,即Z正半轴开始加工,若写#1=90表示从X正半轴开始加工,其他以此类推)

N10 Z = #2 = a * COS [ #1 ]

X = #3 = 2b * SIN [ #1 ]

G01 X [ #3 +D ] Z [ #2 + E ] (X正,Z正,表示走逆时针,D、E表示椭圆中心X、Z绝对坐标)

#1=#1+1 ( + 表示走逆时针方向)

IF [ #1 LE 90 ] GOTO10 这是加工第一象限部分,90度椭圆。

IF [ #1 LE 180 ] GOTO10 这是从第一象限加工到第二象限的椭圆,180度椭圆。

如果写LE180就是加工0-180度椭圆,其他任意角度以此类推。

2、设#1为M,为角度自变量,x、z为因变量:

则#1=180 (#1=180 表示从180度开始加工,即Z负半轴开始加工,其他任意角度以此类推)

N10 Z = #2 = a * COS [ #1 ]

X = #3 =2 b * SIN [ #1 ]

G01 X [ #3 + D ] Z [ -#2 + E ] (X正,Z负,表示走顺时针,D、E表示椭圆中心X、Z绝对坐标)

#1=#1-1 ( - 表示走顺时针方向)

IF [ #1 GE 90 ] GOTO10 这是加工第二象限部分,90度椭圆。通常这是利用反刀加工。

IF [ #1 GE 0 ] GOTO10 这是从第二象限加工到第一象限的椭圆,180度椭圆。正反刀都可以加工。

通过可以通过参数方程和标准加工,通过上述举例可以发现,参数方程编程简单,程序简洁,可以加工任意角度的椭圆。

关于椭圆的编程介绍到此为止。

椭圆例题

图形1

方法1

O0001

N010 G99 G97 G21

N020 T0101

N030 S600 M03

N040 G0 X45 Z5 M08

N050 G73 U23 W0 R21

N060 G73 P70 Q190 0.1 F

N070 G00 X0 S1000

N080 G42 G01 0 F

N090 #101=20

N100 WHILE[#101GE0]DO1

N110 #102=26*SQRT[1-[#101*#101]/[20*20]]

N120 G01 X[#102] Z[#101-20]

N130 #101=#

N140 END1

N150 Z-30

N160 G02 X36 Z-35 R5

N180 X42 Z-37

N190 X45

N200 G70 P70 Q190

N210 G40 G00 X100 Z100 M09

N220 T0100 M05

N230 M30

%

方法2

O0002

N010 G99 G97 G21

N020 T0101

N030 S600 M03

N040 G0 X45 Z5 M08

N050 G73 U23 W0 R21

N060 G73 P70 Q180 0.1 F

N070 G00 X0 S1000

N080 G42 G01 0 F

N090 #101=20

N100 #102=26*SQRT[1-[#101*#101]/[20*20]] N110 G01 X[#102] Z[#101-20]

N120 #101=#

N130 IF[#101GE0]GOTO100

N140 Z-30

N150 G02 X36 Z-35 R5

N160 G01 X38

N170 X42 Z-37

N180 X45

N190 G70 P70 Q180

N200 G40 G00 X100 Z100 M09

N210 T0100 M05

N220 M30

图形2

方法1

O0001

N010 G99 G97 G21

N020 T0101

N030 S600 M03

N040 G0 X53 Z5 M08

N050 G73 U25 W0 R23

N060 G73 P70 Q210 0.1 F

N070 G00 S1000

N080 G42 G01 0 F

N090 Z-2

N100 Z-18

N110 X20

N140 WHILE[#101GE0]DO1

N150 #102=18*SQRT[1-[#101*#101]/[20*20]] N160 G01 X[#102] Z[#101-45]

N170 #101=#

N180 END1

N190 G01 X38

N200 Z-60

N210 X50

N220 G70 P70 Q210

N230 G40 G00 X100 Z100 M09

N240 T0100 M05

N250 M30

%

方法2

O0001

N010 G99 G97 G21

N020 T0101

N030 S600 M03

N040 G0 X53 Z5 M08

N050 G73 U25 W0 R23

N060 G73 P70 Q200 0.1 F

N070 G00 S1000

N080 G42 G01 0 F

N090 Z-2

N100 Z-18

N110 X20

N120 Z-25

N130 #101=20

N140 #102=18*SQRT[1-[#101*#101]/[20*20]] N150 G01 X[#102] Z[#101-45]

N160 #101=#

N170 IF[#101GE0]GOTO140

N180 G01 X38

N190 Z-60

N200 X50

N210 G70 P70 Q200

N230 G40 G00 X100 Z100 M09

N240 T0100 M05

N250 M30

%

图形2 切槽与螺纹均不编

图形3

O0001

N010 G99 G97 G21

N040 G00 X53 Z2 M08

N050 G73 U25 W0 R23

N060 G73 P70 Q230 0.1 F

N070 G00 X0 S1000

N080 G42 G01 0 F

N090 G03 X16 Z-8 R8

N100 G01

N110 X20

N120

N130

N140 #101=0

N150 #102=30*SQRT[1-[#101*#101]/[20*20]] N160 G01 X[52.98-#102] Z[#]

N170 #101=#

N180 IF[#]GOTO150

N190 G01 X32

N200 Z-27

N210 Z-50

N220 X46

N230 X48 Z-51

N240 G70 P70 Q230

N250 G40 G00 X100 Z100 M09

N260 T0100 M05

N270 M30

N280

%

图形3 切槽与螺纹均不编

图形4

O0001

N010 G99 G97 G21

N020 T0101

N030 S700 M03

N040 G00 X52 Z2 M08

N050 G73 U12 W0 R10

N060 G73 P70 Q200 0.1 F

N070 G00 X26 S1000

N080 G42 G01 0 F

N090 G01 X30 Z-2

N100 G01 Z-5

N110 X36

N120 G03 X40 R20

N130

N140 #101=14

N150 #102=16*SQRT[1-[#101*#101]/[14*14]]

N170 #101=#

N180 IF[#101GE-14]GOTO150

N190 G01 X44

N200 Z-51

N210 G70 P70 Q200

N220 G40 G00 X100 Z100 M09

N230 T0100 M05

N240 M30

N250

%

图形4 切槽与螺纹均不编

图形5

O0001

N010 G99 G97 G21

N020 T0101

N030 S700 M03

N040 G00 X62 Z2 M08

N050 G73 U13 W0 R10

N060 G73 P70 Q190 0.1 F

N070 G00 X51 S1000

N080 G42 G01 0 F

N090 G01 X52

N100 G01

N110 #101=25

N120 #102=24*SQRT[1-[#101*#101]/[25*25]] N130 G01 X[58-#102] Z[#101-43]

N140 #101=#

N150 IF[#101GE0]GOTO120

N160 G01 Z-43

N170 X51

N180 X52 Z-44

N190 X60

N200 G70 P70 Q190

N210 G40 G00 X100 Z100 M09

N220 T0100 M05

N230 M30

N240

图形6

O0001

N010 G97 G99 G21

N020 T0101

N030 S600 M03

N040 G0 X53 Z5 M08

N050 G73 U10 W0 R9

N060 G73 P70 Q180 0 F

N080 G42 G01 Z0 1200 F

N090 #101=0

N100 #102=38*SQRT[1-[#101*#101]/[50*50]] N110 G01 X[#102] Z[#101]

N120 #101=#

N130 IF[#]GOTO100

N140 G01 Z-36

N150 G02 X38 Z-40 R4

N160 G01 X47

N170 X48

N180 X50

N190 G70 P70 Q180

N200 G40 G00 X100 Z100 M09

N210 T0100 M05

N220 M30

N230

模拟轨迹O0001

N010 G97 G99 G21

N020 T0101

N030 S600 M03

N040 G0 X73 Z5 M08

N050 G73 U13 W0 R11

N060 G73 P70 Q160 0 F

N070 G00 X44

N080 G42 G01 Z0 1200 F

N090 #101=20

N100 #102=24*SQRT[1-[#101*#101]/[20*20]] N110 G01 X[#102+44] Z[#101-20]

N120 #101=#

N130 IF[#101GE0]GOTO100

N140 G01 X68

N160 X70

N170 G70 P70 Q160

N180 G40 G00 X100 Z100 M09 N190 T0100 M05

N200 M30

N210

相关主题
文本预览
相关文档 最新文档