马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛
您需要 登录 才可以下载或查看,没有账号?注册会员
×
数控线切割机床是利用上下移动的钼丝,对金属进行电火花切割的机床。几十年来,全世界出现了许多系列的线切割机床,其相应的加工指令也有了国际ISO和EIA标准。国产线切割机床因为价格便宜、维修方便、可靠性好、熟练操作人员多而在全国各地有广泛的用户。然而,国产机床广泛采用的是3B格式的加工指令。一般的图形化编程系统(如UGⅡ、MasterCAM等)仅能生成符合ISO和EIA标准的加工代码,对于3B格式代码无能为力。近年来Auto CAD在国内机械行业得到了广泛应用。本文在Auto CAD上开发了一个3B指令图形化自动编程系统,它采用AutoLisp语言读取实体组码数据来转化成3B加工代码,实践证明其精确、实用、效率高。 7 h& X6 r4 m) d. T0 A5 i* I
1 原理 ! X" ]* A( N R1 ?2 K5 j- ?1 R3 Q( H" k
1.1 3B指令代码的格式 格式为:B XY B YY B J G Z 其中,B是分隔符。XY和YY:①加工直线时,是直线的终点坐标(原点处于直线的起点);②加工圆弧时,是其起点坐标(原点处于圆弧的圆心)。J和G:G是计数方向,有X、Y两个方向,分别是Gx和Gy,如图1所示,对于直线,当线处在阴影区域时,G取Gy,否则G取Gx;若圆孤的终点处于阴影区,G取Gx,否则取Gy。J则是加工轨迹(直线或圆弧)在计数方向上的投影线长度或投影长度之和; Z是加工指令,共有12种(如图2)。 1.2 Auto CAD实体选择集及实体组码 在Auto CAD中,每个图形元素都可做为独立的实体来处理,还可以用ssget()函数来构造需要的实体选择集。每个实体的数据,都可查找其实体组码来获得。每个实体都有一个实体名,用组码-1表示,还有一个实体类型,如Line、Arc、Pline等,用组码0表示,其他组码关系见下表。
3 `5 k1 b6 t+ P l1 k# i
# v7 [# D( }6 f u: }1 C图1 计数方向选择(左为直线,右为圆弧)
) O8 l( g2 h; |5 W+ Z8 G" E# t
2 N- ^# R) \+ u0 Q8 h图2 加工指令示意图(左为直线,右为圆弧) 5 f- y" `0 V" T6 w2 y% _
下面是一段线的实体组码: (-1.<Entity name: 60000014>) (0.”LINE”) (8.”0”) (10 1.0 2.0 0.0) (11 6.0 6.0 0.0)
2 A7 X% k7 i/ z8 t, j表 部分组码
5 ~" V6 o# E6 X/ L! W
7 I2 h8 Q$ A4 m8 h" l' u, T) {" d; a2 W8 S+ m- ]" N; g! ?5 j* I, x4 T/ k7 I! N2 K' a" V$ O( R, W1 v% ?' F: m/ J6 d/ Z% ]% Q) _6 w |4 K* y" @7 [! C4 p; A9 R+ \6 C3 K! t. p! ?; A& z( v: [! v% F$ l) Q+ o4 x ^' G0 Q, }% d& }4 \7 ^2 S; k: ^9 ]$ s" |7 N# y* C/ u7 ?; S3 s% E* i; |; q9 v+ Q4 a) ?$ \, @: k4 ~! s+ @* ?. K( W6 G) K' Q4 Z0 `7 u" E# }, Y1 X4 J7 c" x9 C0 \# U' Z1 F. j/ |# h: F. }; k' |, S' R: S/ y" D0 Q0 y( N( U( Q1 i" d% q9 }7 i" O/ G. U3 L w+ k4 e2 g3 z* n8 B7 a: q# T7 Z: J) m3 a H- h8 _5 h+ U0 `! v1 i/ t) f6 t! l$ D4 a& n$ U8 E1 j# t. {' T7 Z+ Q: B/ O1 \" J* j6 F+ g, Z" J7 ~# r; v$ }/ e3 E: d6 n1 G' w0 H% T: N8 W( K; ]# L- ]- ^; I* b4 X ?; {- @$ k/ P. V" V2 g6 }( k& |4 Z# N% Z8 t$ T$ [. }; h- G% M% j: X$ r! f1 ]/ c- S" P- a+ @9 U5 c+ M. v7 Q+ o* r3 C2 I; [% J, W1 e5 }+ G* P6 r
组 码 |
直 线 |
圆 弧 |
8 |
层名 |
层名 |
10 |
起点坐标 |
圆心坐标 |
11 |
终点坐标 |
……… |
40 |
……… |
半径 |
50 |
……… |
起始角度 |
51 |
……… |
终止角度 |
210 |
延伸方向 |
延伸方向 |
6 j+ r( x( [3 M( d7 `, Q) a- t; C2 W2 ^
( K. w/ y6 w- [2 \4 u! W: G) J! A4 J% ~3 p7 V' I6 I" n3 W! ` [4 I1 h
2 程序设计的方法
: z3 V5 N0 i% A- d/ o 程序首先调用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文件就一行一行地增加,直到实体被编辑完毕。 对于直线,可用10和11组码提取其起点和终点坐标,然后将原点换到起点,此时XX和YY就是终点坐标。令dx1和dx2分别是XX、YY的绝对值,则当dx1>dy1时,G=Gx、J=dx1,否则,G=Gy、J=dy1。对于圆弧,可用10、40、50、51组码提取圆心、半径、起始角度、终止角度。圆弧的问题之一是对投影长度J的计算,如图3所示。 圆弧的J计算分成3种情况(图3),对于①J=|Qx-Zhx|或J=|Qy-Zhy|(Q:起点,Zh:终点)。对于②将原点移到Q点,此时J=|Qx+Zhx|或J=|Qy+Zhy|。对于③将原点分别移到Q1、Q2来计算Q1A’和Q2B’:Q1A’=|Qx|或|Qy|、Q2B’= |Zhx|或|Zhy|,则J=Q1A’+Q2B’+D。 |
2 t- L# m M0 K
" q/ `! I+ u$ b; H图3 圆弧投影长度J计算(左为G=Gx时,右为G=Gy时)
( j0 ?1 l* W! \5 P- k; m# Q# G 对于圆弧的加工方向问题(顺、逆时针),由于Auot CAD圆弧的组码数据全按逆时针方向规定,因此本程序将保留上一个实体的终点坐标,将其赋给变量ZhD,若下一个实体是圆弧,则将ZhD与圆弧的起点坐标Qx、y相比较,若相同说明该弧为逆时针,否则该弧为顺时针,此时要将圆弧的起点和终点交换。程序框图见图4。
& Z9 w8 p2 g0 ~) v3 n; r
, s8 T2 }0 b+ m3 结论 0 A# m0 n, @& d. s
实践证明采用本文介绍的方法编制3B加工代码时,操作简便迅速、计算精确、直观可靠、效果显著,对数控编程员的要求有所下降,减轻了劳动的难度,达到了3B加工代码的图形化自动编程的目的。 5 i5 L9 P8 J' G U% S/ Z+ p
|