CA800首页 >> 技术文库 >> 应用案例 >> 在AutoCAD R14.0中用ActiveX Automation技术开发线切割数控自动编程系统
 
在AutoCAD R14.0中用ActiveX Automation技术开发线切割数控自动编程系统
2008-9-30 10:56:00 来源:中国自动化网 网友评论 条 点击查看

1 前言

  目前,国内线切割自动编程系统采用的操作平台绝大多数为DOS版本,采用高级语言开发程序,周期长、工作量大,技术开发工具较落后。国内有在AutoCAD R12.0版本上开发自动编程,也为DOS版本,操作平台也较为落后,并且编程相当复杂。
  AutoCAD R14.0是在Windows95/NT多窗口多任务先进操作平台下用Visual C++开发出来的,是目前世界上最好的绘图软件,利用其强大绘图功能完成自动编程的图形输入相当理想。
  同时,AutoCAD R14.0支持微软的ActiveX Automation技术,其显露出大约70个对象300多种属性给Automation Client(客户),ActiveX Automation技术可以用Visual Basic 6.0程序来直接在AutoCAD图形中提取图形实体(如直线、圆弧)的属性(如起点、终点、圆心等坐标,圆半径等),并可操纵实体。随着多任务多窗口操作系统的发展,线切割自动编程也必须紧跟当代先进计算机技术的发展,脱离单任务单窗口的DOS版本。因此,在AutoCAD R14.0中用ActiveXAutomation技术开发数控自动编程系统很有意义。

2 AutoCAD R14.0的ActiveX Automation技术简介

  ActiveX技术是一组基于构件对象模型COM的技术集合。ActiveX Automation是OLE(Object Linking and Embedding,对象链接和嵌入)自动化技术的扩充和发展,它适用于OLE对象与ActiveX对象。Automation技术允许一个应用程序操纵另一个应用程序中实现的对象,从而可被操纵。AutoCAD R14.0的ActiveX Automation对象模型如图1所示,所有的对象组成一个层状结构。最高层是Application对象,其他对象都是Application子对象。与本自动编程有关的AutoCAD R14.0的Automation对象如下:

1

图1 AutoCAD R14.0的ActiveX Automation对象模型

  (1)Application对象。Application对象有许多属性和方法:ActiveDocument属性返回当前文档, ActiveDocument对象是AutoCAD正在编辑的图形;Preference属性返回对象,返回对象等价于Preferences对话框。
  (2)Document对象。Document对象是AutoCAD当前正在编辑的图形,它可存取所有的AutoCAD图形与非图形对象。 ModelSpace和PaperSpace属性可存取图形对象(如直线、圆弧、多义线等),非图形对象可通过属性Layers、LineType、 TextStyles等存取。Document对象方法有文件的存储与打开。AutoCAD的图形或非图形对象都可以对象集合 (CollectionSet)的形式存在,通过对这些对象集合的操作,可遍历到当前图形中所有的对象。
  (3)图形对象。AutoCAD的图形对象被称为实体(Entities),是图形的可见对象。包括Lines(线段)、Arcs(圆弧)、Polylines(多义线)、Dims(尺寸标注)等。可使用ModelSpace和PaperSpace的AddEntityname方法产生一个新的图形对象。图形对象的编辑可通过图形对象自身的方法(Copy,Erase,Move,Rotate等)实现。一些图形对象的典型特征可通过对象属性进行修改,如Color(颜色)、LineType (线形)、Layer(图层)等。
  (4)非图形对象。非图形对象是指图形中不可见对象。包括Dimstyle尺寸标注风格,LineType(线型)、SelectionSet选择集等。
  (5)Preferences对象。可查询和设置Preferences对话框,该对象也是Application对象的子对象,它的主要功能是进行交互输入和类型转换。

3 AutoCAD R14.0的ActiveX Automation技术编程设计

  AutoCAD R14.0的ActiveX Automation技术编程设计流程图如图2所示。

2

图2 程序设计流程图

3.1 设置应用程序全局变量
  一个Visual Basic 6.0应用程序包括三类模块:窗体模块、全局模块、类模块。为提高程序的健壮性和运行效率,将Application对象、Document对象、ModelSpace对象和PaperSpace对象定义为全局变量。
3.2 将Application对象与AutoCAD程序链接
  Application对象是VB应用程序与AutoCAD之间链接的关键。只有通过Application对象才能获得Document对象、 ModelSpace和PaperSpace对象。将Application对象与AutoCAD链接是为AutoCAD开发ActiveX Automation应用程序的第一步工作。
  Application对象与AutoCAD链接的代码如下所示。如成功则返回Application对象,否则利用信息框反馈错误信息。
Dim acadApp As Object
 On Error Resume Next
‘返回Application对象
Set acadApp=GetObject(,"AutoCAD.Application")
If Err Then
 Err.Clear
 `如果在AutoCAD没有运行,则强迫AutoCAD启动
 Set acadApp=CreateObject("AutoCAD.Application")
  If Err Then
   MsgBox Err.Description `反馈错误信息
   Exit Sub
  End If
 End If
acadApp.Visible=True
  得到了Application对象,就可调用相应的方法与函数。调用ActiveDocument属性可得到当前的Document对象。调用Preferences属性可得到Preferences对象。
3.3 使用Document对象
  AutoCAD属性的Document对象是进行图形编辑的最高层对象。Application对象的ActiveDocument返回一个Document对象,它是当前正在编辑的图形。下面的代码产生一个新的Document对象。
  Dim acadDoc As Object
  Set acadDoc=acadApp.ActiveDocument
  当得到Document对象后,就可使用它的方法和属性。
3.4 零件图形输入及处理
  在AutoCAD中按零件图纸尺寸输入零件图形,可利用本文开发的“绘图点线圆及工具”菜单和“绘图点线圆及工具”按钮图标方便地实现。将零件图形编辑成多义线,加入放电间隙量,加入穿丝线,零件图形处理完毕。
3.5 构造AutoCAD选择集
  将正在编辑的图形的直线和圆弧构成一个选择集。其中选择的第一、第二元素(实体)顺序必须为图形的加工方向,第一段实体可为穿丝线。构造AutoCAD选择集代码如下:
  Dim sset As Object
  Set sset=acadDoc.SelectionSets.Add("ss1")  ′构造新选择集
  Sset.SelectionOnScreen  ′在屏幕上选择直线圆弧实体
3.6 确定选择集的第一、第二段元素的加工起点、终点坐标
  第一、第二段元素的起点、终点是根据绘图的顺序确定,根据第一段与第二段元素的相连点,确定出加工方向的起点、终点坐标。
3.7 对所有选择的实体进行排序
  确定了加工方向的第二段元素的终点,再依次搜寻与加工方向第二段元素终点相连的直线或圆弧,作为加工方向的第三段元素,根据加工的第三段元素(实体)的终点再搜寻与其相连的下一段元素(实体),……,直到排序完所有加工方向的实体。
3.8 生成3B数控加工代码或ISO代码
  排序的同时,得到了各段排序实体的几何数据,如加工方向直线的起点、终点坐标;圆弧的起点、终点、圆心坐标,起始角、终止角,圆弧半径,圆弧方向等。
  根据加工直线圆弧的数据,可方便地生成3B数控加工代码或ISO代码。

4 应用菜单及按钮图标的开发

  一般自动编程绘图有12种直线、16种圆弧和4种点。可利用AutoCAD的菜单文件方便地扩充AutoCAD的功能。本文用写字板编辑程序调出菜单源文件Acad.mns,在“帮助”菜单后按照菜单的标准格式增加菜单“绘制点线圆及工具”项,即生成所需的应用菜单。
  利用AutoCAD的按钮图标开发工具,即下拉菜单中的“View/Toolbars”菜单选项、“Toolbars”对话框、“New Toolbar”对话框、“Customize Toolbars”对话框、“Button Properties”对话框、“Button Edit”对话框,可生成按钮图标并挂上所要执行的命令。

5 Visual Basic 6.0程序文件的生成

  在Visual Basic 6.0下建立如图3所示的工程1(自动编程.vbp),其中3B指令显示.frm窗体是用RichTextBox高级文本控件制做的写字板,用来显示生成的3B指令,并对生成的3B指令进行保存。加工仿真.FRM窗体用来显示加工仿真的图形。自动编程.bas模块是对AutoCAD进行处理的主要模块。该工程生成可执行文件R14_3b.exe,外挂在Acad.pgp程序中,即可在AutoCAD中执行。

图3 应用程序VB6.0工程的建立

6 编程实例

  在AutoCAD中输入如图4所示的图形,将图形编辑成多义线,加入放电间隙及穿丝线。用鼠标单击“3B”图标按钮,再单选穿丝线为第一段实体,穿丝线左边为第二段实体,再用复选框全选整个图形后,按鼠标左键即可生成3B代码。

2

图4 编程实例

7 结束语

  在AutoCAD中用ActiveX Automation技术开发数控编程的周期短;开发工具及技术平台先进,编程简单;使用菜单和按钮图标,绘图简单易学,用户界面和通用性能好;可在同一个*.dwg文件中绘制多个零件图形,分别生成加工指令;利用多窗口特性,可不退出系统,查看生成的3B指令、AutoCAD编辑的图形和加工仿真图形,非常方便。计算机的配置也较简单,能较好地满足自动编程的要求。

本信息来源于网络,不代表本站观点[关闭][打印]
相关文章
·数控线切割加工指令的图形化自动编程2008-9-30
·中走丝切割机床编程与加工工艺处理方法和加工操作方案2008-8-28
·MTC套排软件在激光切割中的应用2008-7-31
·数控电火花线切割加工凸凹模编程实例2008-7-31
·直接驱动技术在模压切割机上的应用2008-7-19
·线切割软件在DK7725e线切割机床上的应用2008-7-16
·直接驱动技术在模压切割机中的应用2008-7-5
·数控电火花线切割在塑料模具加工中的应用方法2008-6-30
文章评论 已有位对此文章感兴趣的网友发表了看法 点击查看  
用户名: 密 码: 匿名(不用注册)
行业分类
电力能源 冶 金 石油化工
机械制造 纺织印染 水工业
造纸印刷 智能建筑 建 材
交 通 汽车制造 食品工业
包装工业 机 床 塑胶工业
医 药 物 流 安 防
环 保 烟草工业 电 梯
电子制造 电气机械 金 融
I T 通 信 其 他
热门文章
·基于运料小车自动往返顺序控制的PL
·切纸机永宏PLC+台达人机+东元伺服联
·DCS控制技术在电气监控中的应用
·变频器的有关问题
·基于机器视觉的汽车智能驾驶系统
·编码器选型指导
·ABB ACS800变频器在高炉上料系
·基于组态技术的PLC实验仿真系统的开
·PLC 与变频器的通讯应用
·基于PCI总线的全闭环交流伺服的控制
热评文章
·自动化焊接技术在机床行业的应用
·电气施工时常用的经验公式
·变频供水新概念---新型的可视化自动
·炼油厂节电降耗新途径--页岩干馏装
·济钢燃气-蒸汽发电DCS电气系统设计
·缸体珩磨机床的电气改造
·磁悬浮列车是怎样运行的?
·泓格WinCon8000在油库消防监控系统
·关于自动化装置受干扰及抗干扰措施
·“铁老大”注入ERP力量