UG线切割后置处理的开发

上传人:平*** 文档编号:13410759 上传时间:2017-10-23 格式:DOC 页数:10 大小:75.77KB
返回 下载 相关 举报
UG线切割后置处理的开发_第1页
第1页 / 共10页
UG线切割后置处理的开发_第2页
第2页 / 共10页
UG线切割后置处理的开发_第3页
第3页 / 共10页
UG线切割后置处理的开发_第4页
第4页 / 共10页
UG线切割后置处理的开发_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《UG线切割后置处理的开发》由会员分享,可在线阅读,更多相关《UG线切割后置处理的开发(10页珍藏版)》请在金锄头文库上搜索。

1、UG 3B格式线切割后置处理的开发发布日期:2006-5-16 9:20:47 作者:未知 出处:网上转摘UG 3B格式线切割后置处理的开发 一前言 线切割能加工各种窄槽、小凹圆角,对硬度不敏感、特别适合淬火后加工,并且成本低、操 作方便,故在加工行业中是一种不可缺少的工艺手段。近年来线切割机床也迅速发展,控制 系统也逐渐与世界接轨,G 代码的控制系统逐渐成为主流,但在一些低端产品,尤其是老式机 床中,3B 格式的控制系统却几乎一统天下,我们厂是汽车模具专业生产厂,目前就有多台老 式快走丝线切割机床。虽然我厂也有先进的慢走丝机床,但因快走丝机床加工成本低,对环 境要求也低,所以一直是线切割工段

2、的主力。 最初,我们编线切割程序是在 autocad中用一个二次开发程序编制,后来单位上了 UG,但UG常 用的后置处理没有 3B代码格式,我们就把 UG的线条转换到 Auto CAD 中,常常因为两种软件衔 接不好而反复调整,费时费力,我们斥巨资购买的 UG软件无法发挥其做线切割的强大功能。 后来随着对 UG的深入了解,发现也能处理出 3B格式来,下面就介绍一下,希望能对大家有所 启迪。 二3B 代码的编程规则 13B 代码的格式为:B x B y B j G Z ,B 为分割符号,x,y,j 为数值,以微米为单位。 j 为计数长度,G 为计数方向,Z 为加工指令。 2加工指令共有 12种。

3、 a加工直线时,以起点为坐标原点,终点在坐标轴上时,x、y 值为零,计数长度 j为线段长 度,按 X+,X-,Y+,Y-,四半轴计数方向与加工指令分别为,GX L1,GY L2,GX L3,GY,L4。 b加工直线时,以起点为坐标原点,终点在各象限内时,x,y 为终点相对起点坐标值,可同 比例放大或缩小,计数长度 j为线段在计数方向的投影长度,按终点在 1、2、3、4 象限,加工 指令分别为 L1、L2、L3、L4。各象限以 45度线分割后,终点贴近 X轴,则计数方向为 GX,反之 为 GY。 c加工圆弧时,加工圆弧时 x,y 为起点相对于圆心的坐标值,圆弧起点相对圆心在 1、2、 3、4 象

4、限时,顺时针圆弧分别为 SR1、SR2、SR3、SR4,逆时针圆弧分别为 NR1、NR2、NR3、 NR4。各象限以 45度线分割后,终点贴近 X轴,则计数方向为 GY,反之为 GX。 例: 三分析 UG 在后置处理为 G代码程序时有直线(G01)、顺时针圆弧(G02)、逆时针圆弧(G03)几种格式 ,如果能编写一段代码将直线及圆弧按 3B格式分类计算,那么处理成 3B格式就容易了。 为方便介绍,将每一步的终点坐标为 X、Y,起点也就是上一步终点为 X0、Y0,圆心点 Xc, Yc。 图 2 区域划分: 1直线运动时,终点相对于起点在 X+半轴的条件为:XX0,Y=Y0,计数长度为:|X-X0

5、|,指 令为:GX L1; 同理 X负半轴: 条件 XY0, 计数长度|Y-Y0|,GY L2; Y负半轴: 条件 X=X0,YX0,YY0,|X-X0|=|Y-Y0|,计数长度|X-X0|,指令 GX L1; 2/8区:条件 XX0,YY0,|X-X0|Y0,|X-X0|Y0,|X-X0|=|Y-Y0|,计数长度|X-X0|,指令 GX L2; 5/8区:条件 X=|Y-Y0|,计数长度|X-X0|,指令 GX L3; 6/8区:条件 XX0,YX0,Y=|Y-Y0|,计数长度|X-X0|,指令 GX L4; 3圆弧划分较为麻烦: 按方向,分为顺时针,逆时针;按起点象限分为 1、2、3、4

6、象限,按终点分图 2所示的 8区域 。下面仅以逆时针,起点在 1象限的圆弧加以分析: 1/8区:(优弧)条件 YY0,计数长度|Y-Y0|,指令 GY NR1; (劣弧)条件 Y=X0,计数长度 4R-|X-X0|,指令 GX NR1; 3/8区:计数长度|X-X0|,指令 GX NR1; 4/8区:计数长度 2R-|Y0-Yc|-|Y-Yc|,指令 GY NR1; 5/8区:计数长度 2R-|Y0-Yc|+|Y-Yc|,指令 GY NR1; 6/8区:计数长度 2R+|X0-Xc|-|X-Xc|,指令 GX NR1; 7/8区:计数长度 4R-|X0-Xc|-|X-Xc|,指令 GX NR1

7、; 8/8区:计数长度 4R-|Y0-Yc|-|Y-Yc|,指令 GY NR1; 起点在 2、3、4 象限的圆弧以及顺时针圆弧同理。 四实施 先看看 UG后处理的构成,UG 后处理主要由两个文件组成,*.DEF 与*.TCL。前者主要定义了一 些格式,后者主要定义了一些运算,我们所要加的程序代码就在后者中。 打开*.TCL,找到程序段 proc MOM_linear_move ,直线运动的运算就在该段内运 算,圆弧运动在程序段 proc MOM_circular_move 中。UG 后处理中定义了一些变 量,mom_prev_pos 为前一点坐标,即起点坐标,mom_pos 为终点坐标,mom

8、_pos_arc_center为 圆弧运动的圆心点坐标,mom_arc_radius 为圆弧半径值,mom_arc_direction 为圆弧旋转方向 ,等等,可从 post builder 中查得。 由于 UG在运算时按允差计算,并进行四舍五入,在判断相等时不要用相等,而是判断差值小 于允差。 有了这些准备,就可以动手编程序了。当然也可以利用 post builder做一个用户自定义指令 ,但核心内容不变,仍需自己编写。限于篇幅,仅示例直线运动的一部分。 global mom_l_code 自定义变量其值为:1,2,3,4 global mom_gxy 自定义变量其值为:X,Y global

9、 mom_ba 自定义变量,第一个 B 的值,即第二部分介绍的 x值 global mom_bb 自定义变量,第二个 B 的值,即 y值 global mom_bc 自定义变量,计数长度,即 j值 global mom_pos 终点变量 global mom_prev_pos 起点变量 set mom_ba abs($mom_pos(0)-$mom_prev_pos(0) set mom_bb abs($mom_pos(1)-$mom_prev_pos(1) if abs($mom_pos(1)-$mom_prev_pos(1) abs($mom_pos(1)-$mom_prev_pos(1)

10、 # 终点在第 1/8区域 set mom_bc abs($mom_pos(0)-$mom_prev_pos(0) set mom_gxy X set mom_l_code 1 else # 终点在第 2/8区域 set mom_bc abs($mom_pos(1)-$mom_prev_pos(1) set mom_gxy Y set mom_l_code 1 else ifabs($mom_pos(1)-$mom_prev_pos(1)abs($mom_pos(0)-$mom_prev_pos(0) # 终点在第 3/8区域 # 终点在第 8/8区域 else set mom_bc abs($mom_pos(0)-$mom_prev_pos(0) set mom_gxy X set mom_l_code 4 其他部分略。 五结束语 如图 2所示的图形由 ug后处理出的程序如下所示,我厂的线切割需手工输入,为方便程序阅读 ,加入了坐标值,如果为自动传输,略加修改即可。 我做的后置处理程序经过多次改进,现在已稳定运行一年多了,效果良好。同时希望本文能 给读者一定启迪,达到抛砖引玉的目的。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号