老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

分别用字母 a、b 表示。那么什么是长半轴,什么是短半轴呢?我们看图说明:

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

如图,所谓长半轴,我们可以通俗的理解为:椭圆圆心点0,到右边点A的直线距离叫长半轴!短半轴就是圆心点O到达B点的垂直距离。

前面也说过,a 表示长半轴,b 表示短半轴。如果a = 10,b = 5 那么说明这个椭圆的长半轴是10,短半轴是5 那么我们就可以列出椭圆标准方程:

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

其中Z和X 表示椭圆曲面上某个点的Z和X坐标值(如果是加工中心,在XY平面 Z就需要变换为Y)

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

上面方程式并不是加工时所需要的,我们希望得到的是X= 或者Z=…

所以需要换算方程式:

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

如果知道Z值,那么X值也可以根据椭圆公式算出来,同理,知道X值Z值也可以算出来。

注意:这里的Z和X,他们的取值范围最大分别是他们的长短半轴的值。我们这里a=10,b=5 所以这里Z和X取值最大分别是10和5 如果取值超出这个范围,那么系统会报错,因为这个方程不成立!

好了我们开始编写宏程序(如下图:)

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

首先这个零件我们加工顺序是从右向左,那么刀具当是从零件右端面起切,至最左端结束(这里不考虑装夹)。

(只写精加工)!

T0101

S500M03

G0X0Z2

G01Z0F150

#1=10

我们以椭圆长半轴为自变量。这个值有正负之分。取决于需要加工的部分是在椭圆中心点的哪边。这里取10,是因为图中椭圆要从最右端加工,而最右端的坐标值相对于椭圆中心是10。因此长半轴、短半轴的取值不是由编程原点决定,而是根据椭圆中心决定的,需格外注意!)

WHILE [#1 GE 0] DO1

这句话的意思是:如果#1的值大于等于0,那么就一直执行DO1、END1里的程序段,直到不符合条件!

#2=5×SQRT[1-#1*#1/100]

此程#2表示椭圆短半轴,跟着长半轴变化而变化。其实这一步就是我们上面化简的方程,只不过用了宏代码格式表达而已。备注:SQRT在宏程序中是开平方根的意思。

G01X[#2*2] Z[#1-10]

这里是重点!我认为这是宏程序的核心!这一步直接关系到程序的正确与否!首先说明为什么#2要乘以2。因为这里的#2表示短半轴,可以理解为零件X方向单边值。那么在实际零件里,是双边的值才对,所以要乘以2

重点是Z值!我们先想想,做这个零件,刀具肯定是从右向左加工的。也就是说Z值是从“0到-1再到-2一直到-10”的顺序变化的。

如果这个Z段改为”Z#1”那么会怎么样? 我们发现他的第一刀在Z10处,因为#1=10而我们加工时第一刀应该在Z0!如果#1一直减小那么Z加工方向是对了,但值却不对。他是从10一直加工到0。加工完我们就会发现根本没做零件,走了空刀而已!那我们需要的是从0加工到-10。

所以重点是怎么样才能把他的第一刀定位在Z0!其实很简单,我们给他点“障碍”,在#1后面减去10。那么第一刀就会在Z0了。因为10-10=0

好,我们看看对不对。

第一刀Z0

第二刀Z-1(这里假设#1每次运算后,减1)

第三刀Z-2我们就发现Z值和他的方向都是对的!总而言之Z向的第一刀在你选择加工的初始点上就可以了!如果把零件原点和椭圆中心原点设置在一起。那么Z段程序就应该是“Z#1.这里面的奥妙自己摸索,已经讲的详细了。

#1=#1-1 //这程序段意思是#1每经过一次运算后递减1。(一般递减值不会这么大,越小加工出来的曲面就会越光滑。0.1就可以了。只是这里取1是为配合上面的讲解)

END1

G0X50.

Z100.

M30

好了精加工程序已经写完,我把上面程序合并剪贴仿真如下:

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序

好了,后面会不断的补充基础知识,希望对刚刚入门的兄弟们有所帮助!

希望这样的知识能够帮助更多需要的人,也希望大家帮忙转发!!!

学好数控编程,关注邹军爱数控


分享到:


相關文章: