VB基于AutoCAD的自动成图系统开发及其应用(14)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

VB基于AutoCAD的自动成图系统开发及其应用(14)


(4)产品设计智能化开发技术
CAD智能化是把人工智能的思想、方法和技术引入传统的CAD系统中,分析归纳设计/工艺知识,模拟人脑推理分析,提出设计/工艺方案,从而提高设计工艺水平,缩短周期,降低成本。现在的CAD系统是人机交互工作,把需要由知识和经验决策的设计问题留给用户,使产品设计水平受到工程师学科知识和设计经验的制约,开发基于通用化CAD系统的智能CAD(Intelligent CAD)可以克服这一缺点,提高设计质量和效率。它的技术核心就是以专家知识和经验建立专家系统(Expert System,ES)模型,采用规则控制下的产生式系统和启发式推理来实现系统的智能化。
(5)特征映射器的开发技术
目前优秀的机械设计自动化软件都是基于参数或变量化的特征建模技术,将CAD/CAM集于一身,特征在不同的应用领域有着不同的特征模型,设计特征不可能与制造特征完全一致,这就会导致特征信息的歧义与混乱,因此需要一种特征映射(Feature Conversion)机制来完成特征信息由设计域向制造域的转化,即特征映射器。特征映射器可自动将CAD系统的设计特征转变为CAPP系统的制造特征,从而实现CAD/CAPP的有效集成,其中特征提取(Feature Extraction)和特征识别(Feature Recognition)是特征映射器的技术关键。
4.1.6  CAD软件提供的常见二次开发手段
应用软件提供二次开发方法的好坏,主要是看这种二次开发方法是否合理公开应用软件内部的结构,以及这种开发方法的易用性和效率。常见的手段有:
(1)函数库形式(普通DLL和API)
提供函数库和基于函数库的API接口是最直接的再开发手段,Microsoft windows API就是典型的例子。函数库的使用有两种方式,一种为应用程序在其内部使用函数库,可在无CAD系统的情况下运行,但欠缺灵活性,无法访问CAD系统和充分发挥CAD系统的性能。另一种为在CAD系统内部加载函数库,这种方式能扩充CAD系统的功能和进行界面定制,但有一定限制,只能在CAD系统内运行。传统的具有平面结构的API函数,为二次开发和应用程序中数据的有效管理带来了复杂性。现在,包括Microsoft在内的许多软件供应商普遍利用面向对象技术对传统的API进行封装,以降低开发的复杂性[5]。
(2)ActiveX Automation
ActiveX Automation是建立在COM基础之上、由OLE Automation(Object Linking and Embedding Automation)发展来的,其的核心技术是允许一个应用程序操作另一个应用程序。ActiveX Automation并不是直接获取及处理数据,而是间接地通过暴露对象的方法和属性,利用对象的方法和属性获取、设置及处理数据。
ActiveX Automation包括两个方面:Automation客户和Automation服务器。Automation服务器也可称为Automation组件,是一个实现了IDispatch接口的COM组件。一个Automation客户则是一个通过IDispatch接口同Automation服务器进行通信的COM客户。
4.2  AutoCAD二次开发语言的发展
虽然AutoCAD作为一种通用计算机辅助软件,其图形设计功能非常强大,但人们在使用过程中还是发现其存在较多的不足之处,如对于一些特殊曲线的绘制往往较为困难,而对于一些标准件、常用件,虽然从结构上看它们较为相似,但却难以采用AutoCAD提供的复制、镜像、旋转等命令来实现,而必须一笔一划的绘制,显得费时费力。因此AutoCAD为用户提供了多种二次开发工具,其中较常用的有Auto LISP、VBA、ObjectARX、C等方式[6]。
4.2.1  AutoLISP
Auto LISP它是AutoDesk公司最早推出的API,它不是面向对象的语言,用于自动完成重复性的任务,进行简单的用户开发,是一种解释性的表结构处理语言,是被解释执行的,任何一个语句键入后就能马上执行。其具有语言结构简单、开发周期短、不依赖于操作平台的特点,是低版本AutoCAD的首选编程语言。但是作为解释语言,其运行速度和保密性方面有一定的缺陷,并且不适合开发有复杂运算的软件。随着Windows界面技术的发展,在AutoCADR14的版本以后,AutoDesk公司又推出了一种新的面向对象的编程工具--Visual Lisp,它是一种可编译的API,不但兼容Auto Lisp,还可以将Lisp源代码编译成•ARX文件。Visual Lisp为开发者提供了崭新的、增强的集成开发环境,使得程序创建和调试更加容易;实现了对COM、ActiveX接口和事件反应器的访问,便于实现更底层的开发;增强了原始代码的保密功能,以防盗版和被更改。它特别适合于那些没有计算机编程基础的工程设计人员使用。 (责任编辑:qin)