返回 管理论文 首页
VBA开发AUTOCAD实现参数化绘图

  摘要: 介绍了采用VBA(Visual Basic for Application)进行AutoCAD2005的二次开发,应用AutoCAD ActiveX Automation接口技术访问AutoCAD对象,采用ADO实现AUTOCAD与Microsoft Access2000的数据通信,实现程序参数化绘图的基本思路及程序设计流程.
  关 键 词:VBA AutoCAD ActiveX Automation ADO 参数化绘图
  1 .引言
  在工程设计中,传统的CAD技术缺乏智能性和创新性,已经无法满足实际发展的需要,所以将专家系统和人工智能应用于CAD系统是非常必要的。而参数化设计是实现智能CAD系统必不可少的主要技术。
  许多的专业图纸设计中,很多图形结构具有一定的相似性,其图形随尺寸参数的变化而相应变化。因而对复杂图形的输入,可以采用程序参数化绘图,即可以研制出一种绘图软件,通过交互方式输入图中尺寸参数,通过运行程序来确定所有的绘图信息,进而自动绘制出图形。
  这种方法特别适用于大量机械、电子等系列产品中,同一基本结构形式的零部件的标准化、系列化图形的绘制,如不同规格的螺纹绘制。
  2.程序参数化设计的图形建模[4]
  程序参数化绘图的实质,就是建立一种约束模型,包括图形的几何约束和拓扑关系约束。从而可以解约术方程和几何推理等实现这些约束的描述,从而将其作为图形信息存储在程序中,采用相应的算法结构设计完成程序设计,从而实现图形的结构基本定型,儿根据输入的约束参数的不同实现参数化尺寸驱动,进而自动绘制出不同的图形。
  为了很好的实现参数化绘图,可以建立相应的图形设计程序包,其基本思想是选择一种合适的高级程序设计语言作为开发语言,并且利用已有的较成熟的图形软件系统作为绘图平台,实现开发语言和绘图软件系统的接口,发挥二者的优势结合,达到既可以简化图形设计应用程序的编制,又能方便地应用计算机程序实现图形的输入和输出,更能很好的实现相关的算法设计和数据通信,真正的的实现了自动化和集成化。
  3.程序参数化绘图的主要技术[1]
  要实现程序参数化绘图程序的编制, 本文采用AutoCAD2005为绘图支撑软件,采用VBA(Visual Basic for Application)进行AutoCAD2005的二次开发,运用AutoCADVBA实现参数化绘制工程图纸.
  3.1 AUTOCAD2005简介
  AutoCAD是一个很好的计算机辅助绘图和设计软件系统,它具有具有开放式的体系结构,提供了AutoLISP、ADS、ARX、VBA作为二次开发的工具,使用户可以根据各自的需求对AutoCAD进行定制和二次开发,、更规范、更专业的实现设计和绘图的需要。
  3.2 VBA开发AutoCAD2005
  (1)AutoCAD ActiveX Automation接口技术
  采用面向对象的程序设计方法, 使用Visual Basic在AutoCAD2005 上用VBA技术进行二次开发, 能够快速创建出符合用户要求的程序,很好地实现系统程序参数化绘图。
  VBA是通过AutoCAD ActiveX Automation接口来建立和AutoCAD对象间的联系,它允许对象之间通过一定的接口相互通信。
  (2)AutoCAD对象的分层
  AutoCAD对象是通过分层方式来组织的,用户可直接通过用户定义变量引用对象。直接引用对象,应包括对象的层次。如增加一条直线到模型空间的主要语句为:设startPoint,endPoint为直线端点,
  ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)就是对象的分层引用。
  (3)AUTOCAD 的 VBA IDE
  AUTOCAD提供很好的VBA集成开发环境,在AUTOCAD中选择菜单“工具|宏|VBA管理器”就可以进入VBA 开发环境进行程序设计,可以插入窗体,所需控件及其属性等,进一步编写单击事件代码,完成相应程序的设计。
  4. 参数化绘制图形程序的实例
  4.1 参数化绘制图形程序的交互界面
  以VB可视化编程为基础,得到一个非常简洁的人机对话界面,依托AUTOCAD的强大图形功能为工具,用VBA对AUTOCAD进行二次开发。VBA程序设计人员事先编制好实现图形的程序.用户只需在对话框内输入参数.便可以得到图形,根据参数的不同和程序不同得到不同工程图.
  4.2参数化绘制三维图形实例运行
  (1)AUTOCAD VBA二次开发可以实现二维和三维建模,从窗体中输入参数得到图形,如以下的圆筒模型 。
  运行本实例,出现以下对话框(如图1),输入相应参数,能够在图形窗口中创建一个圆筒模型,其大小,半径,深度都可以改变。
  (2)编程思路
  建立两个同心但大小和半径不同的圆柱体,差集得到上图模型。
  5. 系统数据库管理
  程序参数化绘图过程中,有效的管理图形数据,特别对一些标准件,通用件,建立标准参数图库,是很重要的一个环节.采用ADO技术可以实现AUTOCAD与ACCESS的数据通信,其主要功能是对参数化生成的图形的几何参数和结构参数进行记录并管理这些数据。
  5.1餐厅用具(冰箱)二维参数化绘图实例
  餐厅用具(冰箱)的参数化过程主要体现的是由图形的几何参数和结构参数来进行图形的参数化绘制(基点坐标和尺寸长度)。拾取基点后:输入长度和宽度。即可绘制出其二维图形.
  5.2餐厅用具(冰箱)的数据库连接过程
  此连接有添加、修改和删除的功能,通过添加按钮可以向数据库中添加新的记录,修改按钮可以修改库中已有的数据,而删除按钮可以删除旧的记录。另外用户可以通过导向按钮查看库中的数据记录情况,并调出需要的数据进行绘图。
  如图2所示为餐厅用具(冰箱)的数据库表。
  此表记录了餐厅用具(冰箱)的结构参数,通过此表用户就可以对和冰箱有关的所有参数进行管理。
  7.结束语:
  用VBA对AUTOCAD进行二次开发,编制好参数化绘图程序.用户只需在对话框内输入参数,运行程序,根据参数的不同即可得到结构相似而尺寸参数变化的系列工程图.极大地满足了设计和绘图的需要,提高了工作效率。
  程序参数化绘图作为CAD系统设计的重要环节,也在得到更全面,更专业的应用, 一些软件开发商在AutoCAD的基础上已开发出许多符合实际应用的软件,很好的实现了参数化绘制工程图纸.
  以上介绍的参数化绘图基本思路,有很大的实用价值,可以作更进一步的专业开发与设计,极大满足工程设计的需要.
  [1] 李长勋 . AutoCAD VBA程序开发技术[M] . 北京:国防工业出版社,2004.1
  [2] 张帆,郑立楷,王华杰 Autocad VBA开发精彩实例教程[M]. 北京:清华大学出版社,2004..


【相关论文推荐】
  • 基于VBA的Autocad中实现参数化标准零件的绘图
  • 利用VB实现AutoCAD二次开发中参数化绘图
  • 基于AutoCAD的参数化程序开发
  • 基于VBA的浇口类零件参数化绘图
  • 基于AutoCAD参数化设计实现方法研究
  • 齿轮参数化绘图设计
  • 应用VBA技术进行AutoCAD二次开发
  • 在油田施工中AutoCAD 批量绘图的实现
  • 法兰盘参数化绘图设计