基于ObjectARX的复杂图形拆分及其实现.docVIP

  • 18
  • 0
  • 约4.1千字
  • 约 10页
  • 2018-05-24 发布于江苏
  • 举报

基于ObjectARX的复杂图形拆分及其实现.doc

基于ObjectARX的复杂图形拆分及其实现

基于ObjectARX的复杂图形拆分及其实现-机械制造论文 基于ObjectARX的复杂图形拆分及其实现 撰文/ 日照职业技术学院电子信息工程学院 陈旭东 河北工业大学电气工程学院 刘伯颖 在数控机床的操作过程中,编程工作是枯燥而乏味的,指令测试往往伴随着工件的浪费。以Visual C++ 为开发工具,使用ObjectARX 开发接口,可直接读出AutoCAD 数据库中的设计图形数据。由设计图形数据出发,实现数控机床指令的自动编码与仿真,将大大提高工作的效率和准确性。本文提出的算法用可以将复杂的图形数据拆分为简单图形序列,从而提高自动编码系统的准确性,使系统自动编制出的数控机床机器指令达到最优。 一、引言 冲裁成型技术是工业中应用广泛的板材加工技术,一般是使用数控机床进行加工,数控机床使用特定的语句指令进行编程。这种编程一般使用数控系统高级语言FAGOR,通常称为G 代码,如:G00 G90 X400 Y300,表示快速定位,G90 表示绝对坐标。数控机床工作的过程就是执行G 代码的过程。使用G 代码不仅要控制加工位置,还要控制模具的切换,代码量较大。例如冲压100 个间隔相等的孔,通常需要编制至少200 条指令。编写G 代码的过程往往是繁琐枯燥的,正确性难以保证,进行指令的测试往往伴随着原材料的浪费。 使用计算机辅助设计系统可以实现数控机床所需G 代码的自动化编程。 AutoCAD 是美国Autodesk 公司推出的计算机辅助设计软件,广泛用于二维绘图、设计文档和基本的三维设计。 其开放的体系结构,允许用户进行二次开发,根据自己的需要扩充新的功能。ObjectARX(Object AutoCAD RuntimeeXtension)是AutoCAD 系统配套的面向对象的C++ 应用程序开发接口,使用ObjectARX 可以在运行状态下直接访问AutoCAD 的内部数据库,图形系统及几何造型核心。 使用VC++ 开发基于ObjectARX 的应用,还可充分利用Windows 系统资源,包括MFC 基本类库和Visual C++ 开发环境。可以在运行时从AutoCAD 中读取设计图形数据。 通过分析这些图形数据,可以实现冲床指令的自动编程与仿真,从而可以大大提高工作效率,降低甚至杜绝板材的测试浪费,提高经济效益。 二、问题的提出 数控机床对于简单的图形,如三角形、矩形、圆形及长圆孔等(以下称为基本图形),都有成熟的加工指令或指令序列。而工业中需要加工的形状要复杂得多,包括凸多边形,凹多边形,甚至可能包括曲线边在内(以下称之为复杂图形),如图1 所示为典型的复杂图形示意图。这些图形在机床上无法简单的加工出来,需要编写机床控制程序。如果能将这些图形做一定的拆分,将其分解为多个矩形,就可以使用矩形的加工指令组成复杂多边形的加工指令。 通过ObjectARX 接口,可以读出AutoCAD 中的设计图形数据,并进行分析处理。本文提出的拆分算法的目的就是将各种各样的复杂形状拆分为较简单的基本图形,即把复杂图形看成是由基本图形拼成的,为复杂图形找到一组合理的基本图形序列,从而可以使用基本图形的加工指令进行复杂图形的加工。 三、复杂图形拆分算法描述 图形拆分算法的程序流程如图2 所示。简要叙述如下。 (1)读取AutoCAD 中的设计图形数据,数据的顺序和设计图绘制过程有关,在数据排序链接模块中,需要对读出的数据进行预处理,按顺序依次排列组成封闭图形。因为工件上一般需要加工多处孔,所以此处得到的是一个封闭图形的序列。 (2)对序列中的图形依次进行处理,每次取出一个封闭图形。检测图形数据的转向,确保封闭图形数据按逆时针转向排列。否则对图形数据进行翻转处理。 (3)在图形数据逆时针转向的基础上,可以确定各顶点的内角。对凹多边形来讲,内角值有可能会大于180°,确定图形内角对图形拆分模块有重要意义。 (4)图形拆分模块。这一部分将综合使用图形数据的各种信息进行图形的拆分,拆分的结果是形成一个基本图形的序列。 (5)最后输出拆分后的基本几何图形序列。 四、算法的实现 下面以L 形图形的拆分为例,介绍复杂图形拆分的执行过程。本文的介绍是针对由直线段组成的多边形,在实际的应用中,可以根据具体的需要对算法进行扩展。 1. 图形边框的数据定义 通过ObjectARX 接口,从AutoCAD 中读出数据后,将边框用以下数据结构来表示: b(x1,y1,x2,y2

文档评论(0)

1亿VIP精品文档

相关文档