椭圆参数方程(老师傅不愿告诉的数控编程绝招,利用椭圆公式来编写椭圆程序)
时间:2023/04/25 14:25:05 编辑: 浏览量:次
分别用字母 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
好了精加工程序已经写完,我把上面程序合并剪贴仿真如下:
好了,后面会不断的补充基础知识,希望对刚刚入门的兄弟们有所帮助!
希望这样的知识能够帮助更多需要的人,也希望大家帮忙转发!!!
你的喜欢和点赞是我坚持的动力!
学好数控编程,关注邹军爱数控
-
-
日夜操(健身餐由女友亲自炮制27岁TVB爆肌小生保持最佳状态希望演奸角)
浏览:41 2024-05-09
-
-
龙珠作者(成龙同款《龙珠》原作者鸟山明获法国骑士勋章)
浏览:26 2024-05-09
-
-
馒头减肥法(小学一顿就能吃5个馒头,443斤女子住院切胃想减肥至200斤)
浏览:28 2024-05-09
-
-
燃气灶不打火原因及维修办法(燃气灶不出火,换新电池也没用,只见火星不燃烧,多半是这些原因)
浏览:26 2024-05-09
-
-
跺脚英语(“气死我了”用英语怎么说?别告诉我是I'm angry to die)
浏览:23 2024-05-09
-
-
影子照片(用一组照片看看影子的神奇效果)
浏览:27 2024-05-09