分享

利用数学公式编写宏程序,学到就是赚到(铣削篇)

 血狱猎鹰 2018-06-01


清风今天继续给你分享如何利用数学公式来编写宏程序(铣削篇)

 比如椭圆参数方程式:

X=a*COSθ

Y=b*SINθ

一看到数学方程式,哥们又傻眼了。

 

其实知道某个方程式不NB,能应用方程式才NB

 

什么X=a*COSθ ,Y=b*SINθ 怎么来的那是数学上的,只知道a为椭圆短半轴,b为椭圆长半轴,θ为角度。           


好了,要加工椭圆(如上图尺寸),长轴为80.(长半轴40)短轴50(短半轴25)

  

编写椭圆程序,需要知道椭圆轮廓上任意一点的X,Y坐标,然后用G01X___ Y___依次链接这些点位坐标,这就构成了椭圆轮廓。

 

如何求出椭圆上任意一点X,Y坐标呢?


椭圆参数方程式啊!根据图纸,已知a= 40,b=25,那么给θ一个度数就会有对应的X,Y值。

 

X=40*COSθ 

Y=25*SINθ

 

如果θ=0 那么:

X=0,Y=0; 


如果θ=5, 那么:

X=40*COS5 

Y=25*SIN5 


如果θ=10,那么:

X=40*COS10 

Y=25*SIN10

……..

如果θ取值越多,那么对应X,Y数值越密集,数值越密集,构成的椭圆轮廓越光滑。

比如θ=1、θ=2、θ=3、θ=4、θ=5等等,数值太多了,不能在写了。

 

说到这里你还记得清风讲过的自增吗?就是让θ自己增值。

 

比如说我们这里的房价一直飙升,两年前均价6千/㎡,一年前8千/㎡,随着周边配套设施的建设,房还在涨价,现在均价1万/㎡,这就是增值。



现在房的价值=之前房价+增值部分


再比如现在的小A不是往年的小A了,现在的小A 牛逼啦!他通过自身努力,先掌握了别人还没有掌握的技能,那么他就厉害了,就增值了!


现在的小A =小A+绝活

 

好了,如何让θ自增呢?也采用这种方式

θ =θ+5

这个5,就是θ增值部分,现在的θ不是之前那个θ啦,运算一次后就增加了5

 

比如你想让θ增加10,那么

θ =θ+10

这个10,就是θ增值的部分

 

好了,这和我们宏程序编程有什么关系呢?

用变量编写的程序就叫宏程序,(法拉克系统的变量是由”#”和”数字”组成,比如#1,#2,#3等等)那么设θ为变量#1

 

采用#1=#1+1这种方式

 

左边#1+1运算的结果赋值给右边#1

 

如下面程序段:

#1=0

#1=#1+1

 

经过第一次运算左边变量增值啦,#1为1了,而不是0啦

 

好嘞,清风写文章的目标:让每篇文章都能解决你一个问题


回归到椭圆编程,如何编写椭圆程序呢?

 

上面说了求出圆任意一点的X,Y坐标值

设椭圆任意一点变量为:

#24 (X方向)

#25(Y方向)

 

即:

#24=35*COS[#1]  (X方向)

#25=15*SIN [#1]  (Y方向)

 

求出椭圆轮廓上任意一点的X,Y坐标后

用G01X#24Y#25依次链接这些点位坐标,这就构成了椭圆轮廓

 

好了,到这里大家应该明白, 如果#1取值越多,那么对应X,Y数值越密集,数值越密集,构成的椭圆轮廓越光滑。

 

好了用到上面讲解的变量自增了

#1=0

#1=#1+0.5 (每运算一次自增0.5)

  

下来在利用WHILE语句

WHILE [#1LE360]DO1

 

当#1的值小于等于360就要循环DO1与END1的程序段

也就是判断G01X#24Y#25是否走完了一圈 


好了分析到这,直接上程序:

O0001

(微信:soscnc)

G54G00X50.Y0

S1000M3

G00G42X40.Y-5.0D1M08

G02X35.Y0.R5.0F100 (圆弧进刀)

#1=0 (角度变量,赋值为0代表从0°开始加工)

WHILE[#1LE360]DO1(#1的值小于等于360就要循环D01与END1的程序段

#1=#1+1 (角度增量)

#24=35*COS[#1] (X)

#25=15*SIN[#1]  (Z)

G01X#24Y#25F100

END1

G02X40.0Y5.R5F100 (圆弧退刀)

G0G40X50Y0.

M30

 

上面是椭圆精加工程序,刀具沿着椭圆轮廓(从0~360)依次走刀,然后在回到起始点,(即从1-2-3-4-5在回到起点1)

 

 

那么 粗加工怎么编写呢?


看刀路,(如上图)刀具轨迹从第一层到最后一层,每层的刀路除了深度不同外,形状与上一个刀路都是相同的。

 

深度变化,逐渐递减,很容易想到深度设变量,让变量自减,如#10=#10-1(变量#10每运算一次,深度方向下降1mm 

 

这个程序有两次判断:


第一次:判断椭圆一圈是否加工完(从0°-360°)

第二次:判断深度是否加工到尺寸

 

先判断一圈是否加工完,然后在判断深度是否加工到位,那么一圈是否加工完,需要放在里层,里层的一圈加工完,在跳到外层,执行深度方向的判断……

 

好了,更进一步思路上的分,析推荐大家看看清风我的系统宏教程,从零讲起,一步一个脚印让你学到绝活!


直接上程序,如下:

O0001(清风SOSCNC)

G54G00X50Y0.

S1000M3

#10=-2.(深度变量初始赋值 )

WHILE[#10GE-10]DO1 (判断深度方向是否到尺寸)

G01Z#10F100.

G00G42X40.Y-5.0D1M08

G02X35.Y0.R5.0F100

#1=0 (角度变量初始赋值)

WHILE[#1LE360]DO2 (判断椭圆一圈是否加工完)

#1=#1+0.5 (角度变量自增 )

#24=35*COS[#1]

#25=15*SIN[#1]

G01X#24Y#25F100

END2

G02X40.0Y5.R5F100

G0G40X50Y0.

#10=#10-1. (深度变量自减)

END1

M30


程序仿真如下:

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多