资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
UG 3B格式线切割后置处理的开发发布日期:2006-5-16 9:20:47 作者:未知 出处:网上转摘UG 3B格式线切割后置处理的开发 一前言 线切割能加工各种窄槽、小凹圆角,对硬度不敏感、特别适合淬火后加工,并且成本低、操 作方便,故在加工行业中是一种不可缺少的工艺手段。近年来线切割机床也迅速发展,控制 系统也逐渐与世界接轨,G 代码的控制系统逐渐成为主流,但在一些低端产品,尤其是老式机 床中,3B 格式的控制系统却几乎一统天下,我们厂是汽车模具专业生产厂,目前就有多台老 式快走丝线切割机床。虽然我厂也有先进的慢走丝机床,但因快走丝机床加工成本低,对环 境要求也低,所以一直是线切割工段的主力。 最初,我们编线切割程序是在 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种。 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 象限时,顺时针圆弧分别为 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|,指 令为: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 象限,按终点分图 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; 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_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 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) # 终点在第 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后处理出的程序如下所示,我厂的线切割需手工输入,为方便程序阅读 ,加入了坐标值,如果为自动传输,略加修改即可。 我做的后置处理程序经过多次改进,现在已稳定运行一年多了,效果良好。同时希望本文能 给读者一定启迪,达到抛砖引玉的目的。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号