ARX技术在数控加工中的应用

来源:互联网

点击:1830

A+ A-

所属频道:新闻中心

关键词:ARXMFC数控加工 C代码

    0 前言

      数控加工是CIMS的一个重要组成部分,如何使数控加工更精确、更高效成为目前特别关注的问题,而进行高效、高精度加工的关键在于合理、准确、快捷地编制数控加工程序和实时、精确地对加工对象的检测。

      本文采用ARX(AmoCAD Runtime eXtension)技术,结合MFC(Microsoft Foundation Class)技术,并使用当今最流行的可视化编程语言Visual C++,在Auto—CAD平台上实现了数控加工的多项前期工作,如NC代码查询、加工工艺干预、NC代码的自动编程、NC代码的验证以及加工过程的动态仿真与在线检测,从而使数控加工更精确、更高效,同时也为实现数控加工的CAD/CAM/CIMS一体化提供了一种可行的途径。

    1 可行性分析

      ARX就是一种对AutoCAD进行二次开发的、采用并支持面向对象技术开发的智能化设计系统及Windows平台的集成技术。其应用程序在运行期间能实时扩展AutoCAD,并以动态链接库(DLL)的形式与Auto—CAD共享地址空间,采用Windows的消息传递机制直接与AutoCAD系统进行通信,可直接调用AutoCAD的核心函数,并能直接访问和利用AutoCAD的核心数据库结构、图形系统、几何造型核心及代码,用户还可以建立与AutoCAD本身固有命令有同样操作方式的新的外部命令,在原有ARX系统上增加新的类,实时扩展原有类的函数。

      1.1 ARX的动态链接库

      ARX开发工具包开发工具中主要包括五个库:Ac一风(实时扩展),AcEd(编辑器),AeDb(数据库),AcGi(图形接口)和AcGe(几何库)。

      AcRx库提供了系统层次的类,用于动态链接库的初始化以提供ARX程序同AutoCAD的接口,同时也提供了一组C++宏用于创建新的ARX类;AcEd库提供了一组类用于定义和注册新的AutoCAD命令,这些命令和AutoCAD内部命令作用方式相同;AcDb库提供了一组类用于存取AutoCAD图形数据库的结构,该数据库保存着组成AutoCAD图形的所有图形对象即实体,以及非图形对象(如图层、线型、文本样式等)的所有信息,应用程序可以使用AcDb库查询和操作已由AutoCAD定义的实体及对象的实例,也可以建立新的数据库对象的实例;AcGi库提供了绘制AutoCAD实体的图形界面;AcGe库提供了许多实用类(如矢量、点、矩阵等),用于执行二维和三维几何操作,还提供了相关的几何实体类,如点、曲线和面。而在数控加工中,编制零件的加工程序也就是需要这一些图形的数据信息,因此,只要在AutoCAD中绘制零件图后,利用ARX技术获得相关的实体数据信息,并进行适当处理,就可以得到零件的数控加工程序,从而实现加工程序的自动编制和加工过程的在线检测;相反,也可将数控加工程序“翻译”成实体信息后在AutoCAD中绘制零件图,从而实现数控加工代码的验证和加工过程的动态仿真。

      1.2 ARX与MFC的结合

      MFC是Windows环境下编程的一个应用程序框架,是C++类库的扩展。它提供了大量的预写类和支持码,可以处理多种标准的Windows编程任务;也可以在程序中加人复杂的特性,如工具条、分窗视图和OLE2支持等。因此,使用MFC可以简化数据库编程,缩短应用程序开发的时间,并可充分利用Windows资源和MFC类库以及可视化编程环境,实现程序界面的可视化设计。

      ARX开发环境提供了与MFC相关的用户界面类AdUi和AcUi。AdUi是一个MFC的扩展动态链接库,这些MFC的扩展类库被用来处理用户界面操作,经过扩展可以使用AutoCAD和其他Autodesk公司的产品,并且包含了核心的功能性函数。AcUi则是在AdUi框架基础上建立的,并且可以提供AutoCAD特定的特征和行为。恰当的利用这两个类可以使开发的应用程序与AutoCAD的Windows风格用户界面很好地融合在一起,同时用Visual C++还可设计出更加复杂的对话框。

      ARx与MFC混合编程的方法,一方面能利用MFc强大的消息处理和图形界面功能,使得设计简单、方便、可视化的Windows风格的操作界面成为可能;另一方面能利用ARX技术建立的外部命令与AutoCAD本身固有的内部命令并无差别,并可直接访问AutoCAD图形数据库的功能,使基于图形的数控加工NC代码程序的自动生成以及加工过程的动态仿真与在线检测等功能的实现成为可能,从而使ARX技术在数控加工中得到很多应用。

    2 在数控加工中的应用

      将ARX技术应用于数控加工的基本思路是:首先利用ARX技术在AutoCAD中建立一个外部命令组“数控加工(NCMP)”,并建立该命令组中的若干命令,分别对应于NC代码查询、加工工艺干预、NC代码自动编程、NC加工代码验证以及加工过程的动态仿真与在线检测等功能;然后再结合MFC技术建立可视化的用户界面,通过调用界面并以人机交互方式来完成相关功能。

      2.1 NC代码查询

      构成数控加工程序的NC代码主要是用来规定机床坐标系、刀具与工件的运动轨迹、刀具补偿、加工进给速度、主轴转速、刀具号等。因此多而繁杂,虽然国际上使用ISO标准,但对于不同厂家生产的不同类型的数控机床其NC代码有所不同。因此,在NC代码查询功能下,应该可以选择ISO国际通用的标准代码和不同厂家所规定的不同NC代码,从而避免对复杂的数控加工代码的记忆。

      这个功能是利用ARX技术,并结合Help?Work.shop和Microsoft?Word建立、制作标准的Windows风格的联机帮助文件,能进行目录、索引、关键字查询。

      2.2 加工工艺干预

      数控机床是一种高效率的自动化设备,要充分发挥数控机床的特点,加工出高精度的零件。编制合理、准确的加工程序,必须正确地确定加工方案,进行合理的加工工艺干预。在数控机床加工过程中,由于加工对象复杂多样,特别是轮廓曲线的形状及位置千变万化,加上材料不同、批量不同等多方面因素的影响,在对具体零件制定加工方案时,应该进行具体分析和区别对待,灵活处理,从而制定加工方案合理,达到质量优、效率高和成本低的目的。

      利用ARX技术和计算机图形学技术,可实现直接在AutoCAD环境下对零件的加工进行上述若干加工工艺的干预。该功能首先在用户界面上给出了几种典型类零件的合理加工工艺供用户选择,如轴类零件、法兰和盘类件、型腔模具零件、板类零件、箱体零件等等;然后通过用鼠标选择实体并以人机交互方式来实现加工工艺的干预。

      2.3 NC代码自动编程

      数控加工主要以点、线为驱动对象,如孔、轮廓、平面区域等,这种加工要求操作人员的水平较高,交互复杂。随着CAD技术的发展,从二维到三维、从曲面到实体造型,也出现了基于实体的数控加工。AutoCAD提供了一种DXF格式的ASCII代码文本文件,它包含有AutoCAD图形的所有数据信息,如实体几何拓扑信息、形位公差、表面粗造度等。对于图形中的任何一个图形实体,其数据信息都是按一定格式存放在DXF文件中,不同的实体在DXF文件中记录的要素不同。

      利用ARX技术可实现面向对象的实体加工方式,只需输人并选择加工工艺,即可自动完成编程操作,从而实现新一代的智能化CAD/CAM系统。首先从零件图的DXF文件(图形交换文件)中提取所需的图形数据信息,并根据加工工艺的要求对这些数据进行适当处理,最后按照一定的数控加工程序的格式转换成加工指令代码即可完成NC代码的自动编程。编程的复杂程度与零件的复杂程度无关,只与加工工艺有关,可以充分发挥NC设备操作人员的优势,缩短加工时间间隔。除考虑加工工艺的要求外,程序设计时还有一个需要解决的非常重要的问题——坐标系转换。NC代码和机床的加工坐标系有着密切的关系,对于标准的三轴数控机床,它的加工坐标系与CAD系统的坐标系一致,皆为三垂直直角坐标系。对于非标准三轴机床,其坐标系与CAD系统的坐标系是不同的,但也存在确定的固定的对应转换关系。

      2.4 NC代码的验证与加工过程的动态仿真

      NC代码作为数控加工的信息载体,其正确与否直接影响零件加工质量。目前实际生产使用的NC代码,在投人加工之前通常采用机床空运行和木模、蜡模的试切,完成NC程序的检查。这种方法加工准备周期长,生产成本增加,难以实现数控机床的高效生产。

      NC代码的验证是利用ARX技术从NC代码文件中获取有关数据(如坐标值、G代码),在进行坐标系转换和其它适当处理后,通过调用AutoCAD的相关操作命令在屏幕上将NC代码还原为待加工的零件图,从而实现NC代码准确度的直观、快捷地检验。NC代码的验证对优化NC代码和减少实际加工中产生的错误有非常重要的作用。

      利用ARX技术还可实现加工过程的动态仿真,能更直观、更准确地判断NC代码的正确性及其准确性。该功能允许把已编好的NC代码程序通过文本编辑送到AutoCAD,再采用时间分割插补算法对其加工过程进行模拟演示,通过计算机屏幕便可清晰地看到所编辑的加工程序运行的模拟过程,并可方便地反复修改加工程序,直到被加工的“工件”符合要求为止。

      2.5 NC加工的在线检测

      在线检测是一种计算机自动控制的检测技术,其检测过程由数控程序来控制,检测精度高,辅助时间短,提高了数控加工的自动化程度和加工质量,具有手工检测和离线检测无法比拟的优势。在线检测的关键是检测程序的编制,目前主要有人工调用检测命令和人机对话方式自动生成检测程序这两种方式。

      利用ARX技术可以建立基于AutoCAD的检测系统,实现NC加工的在线检测。首先在AutoCAD上建立零件的CAD模型;然后用鼠标选择检测对象,并输入检测执行命令进入检测程序,通过人机交互方式确定检测要求后,自动生成文本形式的检测程序,从而实现检测程序的可视化编制;最后将编制好的检测程序通过计算机传输到数控系统,便可驱动并控制其检测系统进行检测。

    3 结束语

      ARX技术是自AutoCAD R13版开始特有的面向对象C++开发环境、功能强大、运算效率高;与MFC结合后,可以使基于ARX技术的应用程序具有良好的、Win—dows风格的用户界面。利用ARX技术可以实现数控加工的CAD/CAM/CIMS一体化工程,从而缩短生产周期、提高加工精度、提高加工零件的复杂度。

      另外,在建立若于计算机局域联网后还可实现数控加工的分工合作,熟悉AutoCAD的人员可负责零件图的设计,熟悉零件加工工艺的人员可负责加工工艺干预、确定加工线路,熟悉数控技术的人员可负责验证自动生成的NC加工代码、进行加工的动态仿真,并进行数控加工的相关操作。

    (审核编辑: 智汇胡妮)