HEATS 发表于 2010-10-23 18:24:26

数控线切割3B加工指令的图形化自动编程

<P>数控线切割机床是利用上下移动的钼丝,对金属进行电火花切割的机床。几十年来,全世界出现了许多系列的线切割机床,其相应的加工指令也有了国际ISO和EIA标准。国产线切割机床因为价格便宜、维修方便、可靠性好、熟练操作人员多而在全国各地有广泛的用户。然而,国产机床广泛采用的是3B格式的加工指令。一般的图形化编程系统(如UGⅡ、MasterCAM等)仅能生成符合ISO和EIA标准的加工代码,对于3B格式代码无能为力。近年来Auto CAD在国内机械行业得到了广泛应用。本文在Auto CAD上开发了一个3B指令图形化自动编程系统,它采用AutoLisp语言读取实体组码数据来转化成3B加工代码,实践证明其精确、实用、效率高。</P>
<P align=left><STRONG>1 原理</STRONG></P>
<P align=left>1.1 3B指令代码的格式<BR>  格式为:B XY B YY B J G Z<BR>  其中,B是分隔符。XY和YY:①加工直线时,是直线的终点坐标(原点处于直线的起点);②加工圆弧时,是其起点坐标(原点处于圆弧的圆心)。J和G:G是计数方向,有X、Y两个方向,分别是G<SUB>x</SUB>和G<SUB>y</SUB>,如图1所示,对于直线,当线处在阴影区域时,G取G<SUB>y</SUB>,否则G取G<SUB>x</SUB>;若圆孤的终点处于阴影区,G取G<SUB>x</SUB>,否则取G<SUB>y</SUB>。J则是加工轨迹(直线或圆弧)在计数方向上的投影线长度或投影长度之和; Z是加工指令,共有12种(如图2)。<BR>1.2 Auto CAD实体选择集及实体组码<BR>  在Auto CAD中,每个图形元素都可做为独立的实体来处理,还可以用ssget()函数来构造需要的实体选择集。每个实体的数据,都可查找其实体组码来获得。每个实体都有一个实体名,用组码-1表示,还有一个实体类型,如Line、Arc、Pline等,用组码0表示,其他组码关系见下表。</P>
<P align=center><IMG src="http://www.chmcw.com/upload/news/RCL/13220_4xfeop200831116187.gif"></P>
<P align=center><STRONG>图1 计数方向选择(左为直线,右为圆弧)</STRONG></P>
<P align=center><IMG src="http://www.chmcw.com/upload/news/RCL/13220_iygs2m2008311161825.gif"></P>
<P align=center><STRONG>图2 加工指令示意图(左为直线,右为圆弧)</STRONG></P>
<P>下面是一段线的实体组码:<BR>  (-1.<Entity name: 60000014>)<BR>  (0.”LINE”)<BR>  (8.”0”)<BR>  (10 1.0 2.0 0.0)<BR>  (11 6.0 6.0 0.0)</P>
<P align=center><STRONG>表 部分组码</STRONG></P>
<CENTER>
<TABLE border=1>
<TBODY>
<TR>
<TD align=middle><FONT size=2>组 码</FONT></TD>
<TD align=middle><FONT size=2>直  线</FONT></TD>
<TD align=middle><FONT size=2>圆  弧</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>8</FONT></TD>
<TD align=middle><FONT size=2>层名</FONT></TD>
<TD align=middle><FONT size=2>层名</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>10</FONT></TD>
<TD align=middle><FONT size=2>起点坐标</FONT></TD>
<TD align=middle><FONT size=2>圆心坐标</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>11</FONT></TD>
<TD align=middle><FONT size=2>终点坐标</FONT></TD>
<TD align=middle><FONT size=2>………</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>40</FONT></TD>
<TD align=middle><FONT size=2>………</FONT></TD>
<TD align=middle><FONT size=2>半径</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>50</FONT></TD>
<TD align=middle><FONT size=2>………</FONT></TD>
<TD align=middle><FONT size=2>起始角度</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>51</FONT></TD>
<TD align=middle><FONT size=2>………</FONT></TD>
<TD align=middle><FONT size=2>终止角度</FONT></TD></TR>
<TR>
<TD align=middle><FONT size=2>210</FONT></TD>
<TD align=middle><FONT size=2>延伸方向</FONT></TD>
<TD align=middle><FONT size=2>延伸方向</FONT></TD></TR></TBODY></TABLE></CENTER>
<P>
<TABLE width="90%" border=0>
<TBODY>
<TR>
<TD><FONT size=2><STRONG>2 程序设计的方法</STRONG> </FONT>
<P><FONT size=2>  程序首先调用gettfiled()函数创建一个NC文件(该文件以.3B为扩展名),然后用ssget()函数定义实体选择集(由用户依加工顺序选取),经解碎后成为“Line”和“Arc”两种类型(经研究发现,对v12.0,图形实体解碎到最后均为Line和Arc,如Fit拟合的pline解碎后为Arc,spline拟合的pline解碎后为line等等),因此程序的核心以line和Arc为对象。程序调入下一个实体,判断其是line还是Arc,分流后按line或Arc的组码提取几何数据进行计算,最后形成一字符串“B XX B YY B J G Z”,将这行字符添加到NC文件中去,然后再调入一个实体进行循环计算,这样NC文件就一行一行地增加,直到实体被编辑完毕。<BR>  对于直线,可用10和11组码提取其起点和终点坐标,然后将原点换到起点,此时XX和YY就是终点坐标。令dx1和dx2分别是XX、YY的绝对值,则当dx1>dy1时,G=G<SUB>x</SUB>、J=dx1,否则,G=G<SUB>y</SUB>、J=dy1。对于圆弧,可用10、40、50、51组码提取圆心、半径、起始角度、终止角度。圆弧的问题之一是对投影长度J的计算,如图3所示。<BR>  圆弧的J计算分成3种情况(图3),对于①J=|Q<SUB>x</SUB>-Zh<SUB>x</SUB>|或J=|Q<SUB>y</SUB>-Zh<SUB>y</SUB>|(Q:起点,Zh:终点)。对于②将原点移到Q点,此时J=|Q<SUB>x</SUB>+Zh<SUB>x</SUB>|或J=|Q<SUB>y</SUB>+Zh<SUB>y</SUB>|。对于③将原点分别移到Q<SUB>1</SUB>、Q<SUB>2</SUB>来计算Q<SUB>1</SUB>A’和Q<SUB>2</SUB>B’:Q<SUB>1</SUB>A’=|Q<SUB>x</SUB>|或|Q<SUB>y</SUB>|、Q<SUB>2</SUB>B’=<BR>|Zh<SUB>x</SUB>|或|Zh<SUB>y</SUB>|,则J=Q<SUB>1</SUB>A’+Q<SUB>2</SUB>B’+D。</FONT></P></TD></TR></TBODY></TABLE></P>
<P align=center><IMG src="http://www.chmcw.com/upload/news/RCL/13220_702y7o2008311161848.gif"></P>
<P align=center><STRONG>图3 圆弧投影长度J计算(左为G=G<SUB>x</SUB>时,右为G=G<SUB>y</SUB>时)</STRONG></P>
<P>  对于圆弧的加工方向问题(顺、逆时针),由于Auot CAD圆弧的组码数据全按逆时针方向规定,因此本程序将保留上一个实体的终点坐标,将其赋给变量ZhD,若下一个实体是圆弧,则将ZhD与圆弧的起点坐标Q<SUB>x、y</SUB>相比较,若相同说明该弧为逆时针,否则该弧为顺时针,此时要将圆弧的起点和终点交换。程序框图见图4。</P>
<P align=center><IMG style="WIDTH: 609px; HEIGHT: 822px" height=846 src="http://www.chmcw.com/upload/news/RCL/13220_wtqy1e200831116197.gif" width=648></P>
<P><STRONG>3 结论</STRONG></P>
<P>  实践证明采用本文介绍的方法编制3B加工代码时,操作简便迅速、计算精确、直观可靠、效果显著,对数控编程员的要求有所下降,减轻了劳动的难度,达到了3B加工代码的图形化自动编程的目的。</P>
               
页: [1]
查看完整版本: 数控线切割3B加工指令的图形化自动编程

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网