找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 366|回复: 0

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

[复制链接]
发表于 2010-10-23 18:24:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×

数控线切割机床是利用上下移动的钼丝,对金属进行电火花切割的机床。几十年来,全世界出现了许多系列的线切割机床,其相应的加工指令也有了国际ISO和EIA标准。国产线切割机床因为价格便宜、维修方便、可靠性好、熟练操作人员多而在全国各地有广泛的用户。然而,国产机床广泛采用的是3B格式的加工指令。一般的图形化编程系统(如UGⅡ、MasterCAM等)仅能生成符合ISO和EIA标准的加工代码,对于3B格式代码无能为力。近年来Auto CAD在国内机械行业得到了广泛应用。本文在Auto CAD上开发了一个3B指令图形化自动编程系统,它采用AutoLisp语言读取实体组码数据来转化成3B加工代码,实践证明其精确、实用、效率高。

6 A. J/ t, ?' O+ Z6 k# m) S! p1 m

1 原理

) Z% c$ D- b+ @5 l$ V

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表示,其他组码关系见下表。

2 K2 h2 a4 {% o# ]3 D. m8 p# h

! B4 J+ B0 a# k( C2 S1 p

图1 计数方向选择(左为直线,右为圆弧)

" t, ?! x& l0 k# }5 |, a

8 r2 K( A) f5 `; G$ _

图2 加工指令示意图(左为直线,右为圆弧)

) x t) q" V- K- X: e

下面是一段线的实体组码:
  (-1.<Entity name: 60000014>)
  (0.”LINE”)
  (8.”0”)
  (10 1.0 2.0 0.0)
  (11 6.0 6.0 0.0)

9 X' _5 W; W4 U4 n

表 部分组码

4 U( \$ A! {- j. S1 n& s
. q5 k# P! W' ^, \- h/ S + p9 ^7 i$ Y& }) z7 P+ a" r5 r. `; a( y, b( Q9 f- i" a) y5 G+ U+ m5 W+ V9 ?: |0 m" v: i3 Y7 ^" A9 k5 s# S4 D5 m! H5 B# n0 d+ q( M3 _4 }8 Q1 n' g& H. m7 ?3 |& N1 N: N' Y7 p6 D6 ?* [- T. {: A, e3 x# E8 v( r; @0 o( j6 k' b: m3 S& ]( \( c. g3 c# h) }- @& i0 B3 k; f% i0 n$ N/ b; ~* j; z2 a$ ^2 g: }7 \; p5 h6 P& H8 r9 d0 K6 b# g* w9 H2 k$ V3 \5 p) A! D2 S y3 ~# ^2 n( ^, s$ a' l/ B0 B. s0 J6 F" v1 n6 W0 c _1 e. l% c: V2 d1 X- j# O0 [( t2 s, W8 A; ?- c @4 }* i! d6 K' w+ K. p) _) @" Q# ]) H1 ~" a4 [+ {* J+ g4 X2 }3 h5 R; K9 e9 u1 w$ Z8 y% k& \5 \9 h3 E. i3 L1 L$ F5 b- }4 h' Z( s$ O) W# u" z* m c1 \7 G8 M0 q( _: V9 p0 ~" |/ C( @3 }, A. g, C: A. n" H: n$ B3 N8 o1 V3 y! Q* M" v( t, U, C7 Q! a9 K. \+ t; `; x; t% X4 A. q6 i: K& y; d& `- x* d& D; L" T* a- f! y: C' c7 @1 t' I- { v/ n3 b( s4 \. L6 s* Q( T5 C o' F* ?8 Z/ j3 A z B* ~9 n. a) W9 I& {+ ~. z
组 码 直  线 圆  弧
8 层名 层名
10 起点坐标 圆心坐标
11 终点坐标 ………
40 ……… 半径
50 ……… 起始角度
51 ……… 终止角度
210 延伸方向 延伸方向
$ f4 k% ]; ^. G4 M7 d

/ c* Q6 `, }7 d I

4 j7 V! Y* y) c8 B3 X# I5 I4 d3 J4 {& z F, {( a0 {7 L5 L- ~9 K1 p8 T: M3 r1 R) \
2 程序设计的方法 1 `1 v @; W7 L* ^2 b6 V& \

  程序首先调用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。

% e( J ?1 ?: n! V

, K# u) H E* i* k: z) [

图3 圆弧投影长度J计算(左为G=Gx时,右为G=Gy时)

- z7 |8 X9 s7 W7 p3 y

  对于圆弧的加工方向问题(顺、逆时针),由于Auot CAD圆弧的组码数据全按逆时针方向规定,因此本程序将保留上一个实体的终点坐标,将其赋给变量ZhD,若下一个实体是圆弧,则将ZhD与圆弧的起点坐标Qx、y相比较,若相同说明该弧为逆时针,否则该弧为顺时针,此时要将圆弧的起点和终点交换。程序框图见图4。

* _. r0 E$ G: r+ |& A

- A& b+ Y! A; B/ u1 a1 x: w, d

3 结论

, ^. K8 x6 L* S% S

  实践证明采用本文介绍的方法编制3B加工代码时,操作简便迅速、计算精确、直观可靠、效果显著,对数控编程员的要求有所下降,减轻了劳动的难度,达到了3B加工代码的图形化自动编程的目的。

$ ^1 p& C- M6 O& s% x- I
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2024-11-15 10:10 , Processed in 0.144125 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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