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

宏程序例子

问题1.长半轴40,短半轴25.
有一句宏程序:#2=SQRT[1600-2.56*#1*#1]
句中1600和2.56是怎么计算得来的?



解答;椭圆的公式为:x2/a2+y2/b2=1
a 设为长半轴,b设为短半轴 x设为长轴坐标 y设为端州坐标
#2=x #1=y
X=sqrt(a2*(1-y2/b2)
有上公式 #2=sqrt(402*(1-#12/252)
#2=sqrt(1600*(1-#12/625)或#2=sqrt(1600-#12*(1600/625)


给你一个实例,你可以看看,直接套用就可以了:
椭圆程序实例
G90 G54;(绝对,偏移坐标系)
S900 M3;
#1=60;(定义Z轴起始位置,坐标中心建立在椭圆中心)
#2=100;(定义椭圆长半轴)
#3=40;(定义椭圆短半轴)
N60 G00 X[#3+1] Z[#1+1];(快速移动至车削起始位置)
N70 #4=#3*SQRT[1-[#1*#1]/[#2*#2]];(计算短半X轴变量数值)
N80 G01 X[2*#4] Z[#1] F0.1;(椭圆插补)
N90 #1=#1-0.5;(Z轴步距,每次0.5mm)
N100 IF[#1GE0] GOTO 70;(椭圆插补条件判断)
N110 G00 X100;
N120 M30;




G71U3R1;
G71P10Q20U0.5W0F0.3;
N10G0X0;
G1Z0F0.15;
#1=16;
N15#2=7/16*SQRT[256-#1*#1];
G1X[#2*2]Z[#1-16];
#1=#1-0.1
IF[#1GE-8]GOTO15;
`
`
`
N20GOX?
G70P10Q20;



#1=100; 用#1指定Z向起点值
#2=100; 用#2指定长半轴
#3=50; 用#3指定短半轴
G99 T0101 S500 M03; 机床准备相关指令
G00 X150. Z150. M08; 程序起点定位,切削液开
X0 Z101.; 快速定位到靠近椭圆加工起点的位置
WHILE[#1GE-80]DO1; 当Z值大于等于-80时执行DO1到END1
之间的程序
#4=#3*SQRT[1-#1*#1/[#2*#2]]; 计算X值,就是把公式
里面的各值用变量代替
G01 X[#4*2] Z#1 F0.15; 直线插补,这里#4×2是因为公
式里面的X值是半径值
#1=#1-0.1; 步距0.1,即Z值递减量为0.1,此值过大
影响形状精度,过小加 重系统运算负担,
应在满足形状精度的前提下尽可能取大值。
END1; 语句结束,这里的END1与上面的DO1对应
G01 Z-110 ; 加工圆柱面
X102.; 退刀
G00 X150. Z150.; 回程序起点
M09; 切削液关
M05; 主轴停止
M30;



大家好,请帮忙编写一个数控车床车椭圆宏程序,短半轴7.0(X),长半轴16.0(Z).加工四分之三的椭圆,请大家编写粗车精车一起的宏程序.车床系统FANUC Oi TD.先谢谢了.

G71U3R1;
G71P10Q20U0.5W0F0.3;
N10G0X0;
G1Z0F0.15;
#1=16;
N15#2=7/16*SQRT[256-#1*#1];
G1X[#2*2]Z[#1-16];
#1=#1-0.1
IF[#1GE-8]GOTO15;
`
`
`
N20GOX?
G70P10Q20;












#1=0
WH[#1LE360]DO1
#2=长半轴
#3=短半轴
#4=#2*COS[#1]-z轴方向半轴长
#5=#3*SIN[#1]*2
G01X#4Y#5
DO1
这里是直径编程 椭圆的圆心在z轴上 如果椭圆在其它地方程序还得变


数方程为 x向坐标值=长半轴*cos[角度](车床上是z轴 具体数值调整看原点坐标与椭圆关系)
y向坐标=短半轴*sin[角度] (车床上是x轴 直径编程要乘以2 具体数值调整看原点坐标与椭圆关系)

相关主题
相关文档 最新文档