找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: xiayong

搞加工中心已经6年,关于宏程序跟大家分享下

[复制链接]

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-27 10:01:24 | 显示全部楼层
如图三角形ACB为直角三角形,有两个公式想必大家都不会陌生
abc为各边的长度。

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-27 10:01:49 | 显示全部楼层


如图加工直径100的圆,我们平时用的方法大家可能都会:
G0 X50 Y0;
G2/G3 I-50;
下面我说两种宏程序的加工方法,当然平时加工种加工圆还是建议不要用宏程序,比较复杂,之所以写这个。是为后让吧友进一步熟悉适应设定,代入,变化的理念。还有就是为后面加工椭圆铺垫…

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:32:48 | 显示全部楼层
先说第一种方法:
加工圆的时候刀具的中心跟圆的圆心还有X轴有个夹角。这个夹角是从0到360度的一个变量,半径一直都没变,随意假设这个夹角为角1,半径为R,A点的坐标为X#1 Y#2 ,如图有OB=#1;OC=#2;所以利用三角函数推出SIN角1=#2/R;COS角1=#1/R;进一步可以推出,#1=R*SIN角1;
#2=R*COS角1;
这就意味着我找到了一种关系,随着角度的变化跟A点之间的坐标关系。

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:32:56 | 显示全部楼层
下面说两种条件语句,IF…GOTO的意思就是如果满足IF后面的判断语句,GOTO的意思就是无条件转移到你要循环的那段程序,在那段程序的开头输入行号假设为N10,那个就是GOTO 10;
第二种为:
WHILE DOn;




ENDn;
意思为如果满足WHILE后面的判断语句,则执行n之间的步骤,n就是一个符号而已,没有任何意义,只能为1,2,3,这3个数字中的一个。
LE是小于等于的意思;
GE是大于等于的意思;
LT是小于;
GT是大于;
基本平时用的就这么多,2个表达式,4个判断词…

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:33:06 | 显示全部楼层
回到上一步,加工直径100的圆。具体程序如下:
G0 X50 Y0;
#3=0(起始角度,0度开始);
#4=50;(半径,还有就是前面的#3/#4,随便你用,#5/#6也行#7/#200都可以)
#200=360;(终止角度,下一步的#200也可以直接换成360,那么此步就不需要了)
WHILE(#3)LE(#200)DO1;(注意加括号,要判断的,跟被判断的,都要用括号包起来成一个整体)
#1=#4*COS(#3);
#2=#4*SIN(#3);(这就是角度跟坐标的关系,之前我们已经推导过)
因为变量为角度所以每次变化量很小,可直接用G1走出圆弧,肉眼分辨不出。
G1 X#1 Y#2 F2000;
#3=#3+1;(此步意思为每次走到这角度都会大一度,由此可见上一步的意思就是,用G1走直线,每次只走1度。)
END1;
G0 Z50;
M30;

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:33:21 | 显示全部楼层
说第二种用极坐标加宏,我在机床上没试过,不过应该没问题。有问题的留言。程序如下:
G0 X50 Y0 ;
#3=0;
#1=50;
N123 G16;
G1 X#1 Y#3 F200000000;
G15;
#3=#3+1;
IF(#3)LE(360)GOTO 123;
G0 Z50;
M30;
还是极坐标看上去好用

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:34:22 | 显示全部楼层
接下来就是椭圆:如图(尼玛椭圆UG好难画)

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:34:36 | 显示全部楼层
如图加工蓝色实心线的椭圆
椭圆方程是 x*x/(a*a)+y*y/(b*b)=1

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:35:04 | 显示全部楼层
如图,椭圆的长半轴a=100,短半轴b=60。
作如图辅助线产生ABCDE5个点。B点为椭圆上的一点其坐标为X#1 Y#2,在作圆1圆2分别内切,外切于待加工椭圆。则有下列关系:
#2=BC=DE;
#1=OC;
OA=a=100;
OE=b=60;
假设角AOC为变量,依然是从0~360度;
根据三角函数,有下面关系:
COS(角AOC)=OC/OA=#1/a;
SIN(角AOC)=AC/OA=DE/OE=#2/b;
推导出:
#1=a*COS(角AOC);
#2=b*SIN(角AOC);
由此可见,我推导出了椭圆上任意一点坐标与该点和X轴角度之间的关系。

1

主题

31

回帖

99

积分

机械村良民

UID
14639
威望
0
机械币
33
活力
0
 楼主| 发表于 2015-1-29 09:35:09 | 显示全部楼层
具体程序如下:
G0 X100 Y0 ;
#3=0;(起始角度)
#4=360;(终止角度)
#5=100;(椭圆长半轴,因为不是变量。也可不用设#5,直接往#1/#2的表达式里代入,个人习惯问题,同理下面#6也一样)
#6=60;
WHILE(#3)LE(#4)DO2;
#1=#5*COS(#3);
#2=#6*SIN(#3);
G1 X#1 Y#2 F11111111;
#3=#3+1;
END2;
G0 Z50;
M30;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|机械村 ( 渝ICP备17010994号-1 )

GMT+8, 2024-4-20 01:43 , Processed in 0.055392 second(s), 17 queries , Gzip On.

Powered by Jixiecun.com

Copyright © 2012-2024

快速回复 返回顶部 返回列表