




免费预览已结束,剩余48页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9基于objectARX技术的AutoCAD图库管理系统及高级建模工具的二次开发本科毕业论文(科研训练、毕业设计)题 目:基于ObjectARX技术的AutoCAD图库管理系统及高级建模工具的二次开发姓 名:学 院:软件学院系: 专 业:软件工程年 级: 学 号:指导教师(校内): 职称:指导教师(校外): 职称: 年 月 日基于ObjectARX技术的AutoCAD图库管理系统及高级建模工具的二次开发摘要 本系统是以AutoCAD为平台并使用VC6.0和ObjectARX开发的面向石材行业的石材设计软件的图库管理模块和高级建模工具模块。该课题主要根据项目开发需求并严格按照软件工程建立了本系统的框架结构.按照面向对象的程序设计方法进行模块化设计,深入研究了ObjectARX的编程技术,实现了图库管理的前台和后台及数据流处理的功能,实现了辅助建模的高级建模工具。关键词 ObjectARX 图库管理 建模 数据库Based On ObjectARX Technical AutoCAD Map Storage Management System And Advanced Model Tool ResearchAbstract This system takes AutoCAD as a platform and designs the software with VC6.0 and the ObjectARX development face stone industrys the map storage administration module and the Advanced model tool module.This topic mainly bases on the project development demand and strictly has established this system portal frame construction according to the Software engineering. According to the object-oriented programming method to carry on the modular design, thoroughly has studied the ObjectARX programming technology, has realized the map storage management onstage and the backstage and the data stream processing function, has realized the assistance model advanced model tool.Keyword ObjectARX Map storage management Model Database目录引言5第一章:概述51.1 图库管理51.1.1图库管理的发展历程51.1.2图库管理与传统CAD文档管理的区别61.1.3图库管理的意义71.2 关于图库管理的国内外研究动态与发展现状81.2.1图库管理的国内外研究动态,水平81.2.2本图库管理软件的存在的问题.81.3高级建模81.3.1高级建模的定义81.3.2高级建模的意义91.4 本软件开发行业背景91.4.1石材行业的国内发展现状91.4.2石材软件的图库管理需求101.5本课题研究的主要内容和意义111.5.1课题研究方向的选择111.5.2本课题研究的主要内容111.5.3在理论及应用方面的意义12第二章:图库管理的理论基础122.1图库管理122.1.1图库的定义122.1.2图库管理的分层组织结构122.2图形数据库研究132.2.1数据库概要132.2.2图形系统与数据库132.2.3图形数据库的形成、特点及类型142.3数据库类使用分析142.3.1数据库访问接口说明142.3.2数据库兼容性分析15第三章:图库管理的系统构成153.1软件开发环境153.1.1开发环境的选择153.1.2AutoCAD和高级语言的接口173.1.3Visual C+ / MFC 开发环境183.1.4开发环境配置183.2 ObjectARX 2002 简介193.2.1ObjectARX简介193.2.2ObjectARX的功能简介203.2.3ObjectARX类库简介213.2.4开发中使用到的主要类库223.3设计开发的主要步骤233.3.1创建VC+的工作环境233.3.2配置数据库开发环境233.3.3添加开发类库及配置工程243.3.4添加对话资源及编写主程序代码243.3.5编译链接和运行应用程序263.3.6加载ObjectARX应用程序263.4参数化软件体系结构27第四章 基于OBJECTARX的图库管理294.1引言294.2图库管理的后台数据库表结构及多级分类管理结构的实现294.2.1数据库表结构294.2.2多级分类管理结构的简要说明304.3图库管理模块流程图314.3.1部材入库系统流程图314.3.2部材出库系统流程图324.3.3复合部材入库系统流程图334.3.4复合部材出库系统流程图344.3.5外栅工程(半成品库)的系统流程图344.4 图库管理程序中的关键技术及难点说明354.4.1对部件的预览功能354.4.2对颜色变更中颜色选择对话框使用354.4.3对部材基点变更364.4.4对部材插入动态拖动的ObjectARX的实现37第五章 基于OBJECTARX的高级建模工具395.1 引言395.2建模工具类各模块说明395.2.1部材交换395.2.2部材参数变更395.2.3部材信息显示405.2.4部材对称复写405.2.5部材视点回坛415.2.6部材定位移动415.2.7部材未命名,未编号高亮显示425.3辅助删除工具类说明425.4建模中AutoCAD数据库结构425.4.1AutoCAD数据库对象创建425.4.2AutoCAD数据库对象属性修改445.5建模中使用关键技术465.5.1遍历器465.5.2选择集的使用47第六章 总结与展望506.1研究开发内容总结506.2展望50引言在现代的工业生产和机械制造业中,CAD/CAM技术应用得越来越广。图库管理软件使用现代数据库管理,从图库中调取部件图作为编制加工高级部品的依据,从部件设计到部件组合加工编程,数据信息流是连续的,有利于计算机辅助设计和制造的集成,容易发现和修改错误,可靠性更强。本课题利用ObjectARX的编程开发技术,在AutoCAD图形软件平台上,针对石材行业的生产需求和国际石材行业标准,研究与开发了石材行业图库管理系统和与之配套的高级建模工具软件系统。该系统与工程出图,工程效果渲染相集成,实现了石材行业的专用CAD软件。第一章:概述1.1 图库管理1.1.1图库管理的发展历程图库管理软件的发展是在制造业发展过程中形成的基于设计人员需求的平台软件。在图库管理中经历了几个阶段:1) 设计人员给图档分类存档,自建目录管理2) 使用文本管理工程图档3) 使用外部数据库管理CAD图档第一阶段是制造业初期,很多产品的设计是按照标准资料开发。在开发中设计人员有复用的需求,使用自建目录管理不仅不易使用,而且效率和复用性低。第二阶段在复用中使用文本记录需要复用的标准件的基本资料,便于用户检索。使用弊端是无法对多个目录操作,及没有分级别管理,数据量大时较混乱。第三阶段使用高级外建数据库管理图档,使用树型数据库结构,多级别管理使图库更加清晰明了。而且用户可以对其添加,删除,改写等操作,并且屏蔽了用户对工程文件的操作,避免丢失数据1.1.2图库管理与传统CAD文档管理的区别一、 当前CAD文档管理情况标准件是机械制造企业在设计、生产过程中使用最频繁的基础单元。标准件种类多、数量大,传统的使用方式是:设计人员按照图纸要求查询相关标准资料,然后完成绘制工作。传统方式容易出现的弊端有: 1)资源分散导致资源浪费 设计人员出于方便,往往将曾经使用过的标准件信息及图形文件自行管理起来,以备今后使用。每个设计人员手中都会有一部分标准件图形的备份,但是,凭一个人的力量和工作经历难以将全部标准件图形备份,更谈不上进行有效管理。即使设计人员做到了这一步,这也只能体现出资源严重浪费、管理不善。2)缺乏管理导致标准件使用出现混乱状态 设计人员自行管理标准件的模式,直接导致标准件使用过程中的混乱现象。在现实工程,设计人员在标准件选择上是具有相当自主权的,但是,企业出于节约采购成本、控制生产质量等目的,极希望设计人员在完成设计要求的基础上,尽量降低标准件种类(节约不必要的采购支出和不必要的标准件质量检测实验费用),但是根据调查结果,很多企业目前仍然处于这种比较混乱的情况下。3)烦琐工作占用设计人员宝贵时间 设计人员在设计过程中,会很频繁地用到标准件,如果每次都绘制,尤其是三维图形需要建模工作,设计人员的很多时间将会不必要地浪费掉。即使设计人员自己积累了一定的标准件图形文件,但都是很有限的,这种情况使工作经历少的设计人员越发处于劣势,更加浪费时间。 标准件图库为企业设计人员提供齐全的标准件信息及图形文件,目的也是为了使设计人员可以从烦琐地图形绘制工作中解脱出来。二、 标准件管理系统提供的解决方案 标准件管理系统,针对企业存在的上述问题,完成了企业标准件资源整合、统一有效管理,从企业的角度解决了资源浪费、成本增加的问题;同时,标准件管理系统还极大地解决了设计人员重复劳动的问题,使设计人员能够从查询标准手册、绘制标准件图形的烦琐工作中解脱出来,更便洁、高效的工作。 标准件管理系统具有以下几个突出特点: 1)完整的标准件标准信息 系统中收录了全部的标准件标准信息,标准件分类方法按照国标分类方法建立树形目录,清晰明了的结构使设计人员可以在友好的界面中方便地查询到标准件的所在位置。2)一对一的标准件图形文件该系统提供每一个标准中每个规格的标准件图形文件。设计人员可以直接调用矢量图形,无须再重新绘制。虽然当前各种绘图软件参数化绘制过程已经简化了设计人员的工作,但是对于三维部件图而言,建模还是需要花费设计人员的宝贵时间。本系统也是出于这个考虑,为设计人员提供完全到位的支持,即提供每个标准中每个规格的标准件图形文件。3)强大的标准件管理功能企业开发人员只需对标准件库进行有效管理,就能够轻松达到节约成本、提高效率的开发目标。该系统提供了强大的图档管理功能,能够根据企业需要添加新的标准部件、添加新的部件规格,修改部件信息、删除部件及图形文件等。4)提高企业效率 图库管理系统使设计人员从绘制图形的工作中解脱出来,节省大量时间,对于企业领导层来说,这等于提高了技术人员使用率,等于无形中增加了已有技术人员的实际工作时间。从成本角度来说,提高设计人员工作效率就等于降低成本。1.1.3图库管理的意义图库管理是现代制造行业的企业的发展趋势,图库管理能够为企业节约成本、提高效率,研究当前机械制造行业的发展趋势可以发现,越来越多的企业将注意力提高到标准化管理中来。标准化图库管理系统能够为企业的标准化建设提供巨大的帮助,企业应用图库管理系统,能够迅速实现企业标准化管理、标准化使用、标准化生产的基础工作。1.2 关于图库管理的国内外研究动态与发展现状1.2.1图库管理的国内外研究动态,水平本软件主要开发石材行业,该行业在国际领先技术的国家是日本,因此我们对比日本的石材设计软件来看有以下特点:第一、 日本软件是使用文本操作的格式,其对文本数据进行加密管理,其有固定的使用格式。其行业严格按照国际标准化,开发精度高,但其图库结构单一,开发分类必须通过WINDOWS文件管理,而且工程量大时候效率会低。第二、 国内开发起步较晚,但使用二次开发工具选择也比较新,但大部分还是使用文本管理的方式,对外建数据库的使用不多,对处理大型工程复用性来看效率不高。界面不够人性化。1.2.2本图库管理软件的存在的问题.本系统主要使用Windows提供的ADO数据库访问接口访问数据库文件,使用分级别管理来管理图档,用户可以自由的添加修改图档资料,对用户而言屏蔽了后台工程图库文件,产生问题如下:1、 未进行工程备份模块开发,一旦用户误操作导致系统外建数据库丢失会造成工程图库文件无法识别。2、 使用外建数据库管理,并未开发对外建数据库管理接口3、 设计人员使用效率较高但自扩展性较低1.3高级建模1.3.1高级建模的定义在AutoCAD中建立的三维对象一般称为模型(model),建立模型的过程称为造型(modeling),AutoCAD支持三种类型的三维模型:线框模型,曲面模型和实体模型,在本系统中高级建模的对象是实体模型。 (爱尔兰)麦克奥理(McAuley, C.),AutoCAD 2000 ObjectARX编程指南,(李世国等译),北京:机械工业出版社,2000.255-32;高级建模的定义是通过ObjectARX编程,实现对三维实体的拉伸,变形,着色,定位等操作,以加快设计人员的开发效率。1.3.2高级建模的意义高级建模工具的开发使得设计人员在设计模型的同时减少了设计中处理实体的难度,降低的出错的机率,是实现了对设计的辅助开发。1.4 本软件开发行业背景1.4.1石材行业的国内发展现状我国石材加工技术和加工机械的整体水平与外国相比还有一定的差距。从市场上来看,国内产品结构不平衡,供过于求,石材市场竞争过于激烈。从产业规模来看,大多数企业规模偏小,产品单一,在与国外企业的竞争中,越来越不利。从产品生产结构来看,虽然我国石材出口已跃居世界第一,但出口产品档次低,数量大,进口产品档次高,价格高。这些因素导致了我国的石材行业竞争激烈而且标准化不够,这些使得我国石材业在国际市场上生存力不强。在这些不利的环境中,我们希望在国内的标准化产业能尽快与国际接轨,只有这样,才能在国际市场站稳脚跟。 中国产业经济信息网第9页基于objectARX技术的AutoCAD图库管理系统及高级建模工具的二次开发1.4.2石材软件的图库管理需求在石材行业中,使用了大量的重复开发的模型,而由于对这些模型缺乏有效的管理,导致开发效率低,开发标准化不够,可重用性差等问题。这些问题导致了石材行业对图库管理软件的需求十分迫切。分析所得图库管理需求如下:需求模块简要功能描述部材库录入部材化建模时为加快建模速度,将已设计成型的部材录入部材库,录入部材为已部材化的cad实体和按标准定义的部材。部材库索引是由外栅,周边,墓石等大类,以及其包含的小类构成的。周边,外栅,墓石三大类为标准,其他小类是可以添加,删除,修改的。录入功能包括:一般部材录入和复合部材录入部材库调用部材化建模时为加快建模速度,从部材库中调出已存在的部材,实际上是提供一个部材库的索引。1:部材库索引是由外栅,周边,墓石等大类,以及其包含的小类构成的。2:此部材库由三结构相同的库组成,一个是一般部材库,一个是复合部材库。所谓一般部材库是指由单个实体或块按一定的标准形成的部材库。所谓复合部材是指把两个或两个以上的一般部材或伸缩部材等(必须是实体)进行组合登录,其在出部品图时,又逐个解绑还原为单个部材,与单一部材的区别是:单一部材若是由两个以上的实体组成,在出部品图或入库时都是视作一个一般部材。所谓复合部材库,是指由上述复合部材组成的结构同一般部材库的部材库。部材选择分为一般部材选择复合部材选择。两种选择都提供预览缩略图功能。部材库维护1:部材修改(修改部材相关属性,长宽高的修改,基点的修改,名称的修改等)2:部材删除(从部材库中删除部材)表1:图库管理需求1.5本课题研究的主要内容和意义1.5.1课题研究方向的选择本课题来源于厦门豪达石制品有限公司的设计需求,在对其开发过程的详细调研之后发现图库管理是其公司在设计中迫切的需求,在开发中对图库的管理制约了其开发可利用的效率,设计人员缺乏高效的图档管理工具,重复劳动较多。1.5.2本课题研究的主要内容1 图库管理系统的后台外建数据库结构。2 图库管理系统中图档的多级别管理实现。3 AutoCAD的实体建模及ObjectARX实现。4 AutoCAD内部数据库的高级访问操作。5 AutoCAD的高级建模工具的实现。1.5.3在理论及应用方面的意义图库管理作为工程行业中提高开发效率的有利方法,逐步形成在工程行业中有不可缺少的地位,我们尝试使用ObjectARX技术来开发新的图库系统,不仅能提高设计人员开发效率,而且在AutoCAD平台上使用新的技术架设新的设计管理软件对国内的ObjectARX研究也是一种推动。第二章:图库管理的理论基础2.1图库管理2.1.1图库的定义图库泛指由各种图形或符号构成的文件。在基于AutoCAD的CAD系统中,图库实质上是AutoCAD的一个图形文件。在图库文件中,由线、圆、弧和文字等图元构成基本单元称为块(block)或图块,用来表示一种图形或符号。与一般图形文件不同之处在于图库文件不作为一个机械零部件图使用,而是一个存放块的容器。图库管理系统的基本功能就是图库文件的生成和库中块的定义和使用。2.1.2图库管理的分层组织结构 图1: 图库管理组织结构图(1)建库模块:创建和扩充图库;(2)插入模块:用多种途径向当前图形数据库中插入图形或图块;(3)查询模块:检索图库中已包含的块、在交互界面中预览图块和制作供预览用的幻灯片;(4)输出模块:从图库文件中选择任意图块作为一个独立的图形文件保存。2.2图形数据库研究2.2.1数据库概要数据库是指在计算机存储设备上合理存放的相互关联的数据的集合。这些数据集合具有如下特点:尽可能不重复,即最小冗余,以节约存储空间;以最优的方式服务于一个或多个应用程序,以实现应用程序对数据资源的共享;数据的存放尽可能的独立于使用它的应用程序,即保持数据的独立性,以使设备具有良好的可维护性;与有良好的数据操作语言和面向终端用户的查询语言,通过软件对数据进行统一管理,以方便的进行数据的输入、修改、增删、检索等操作。2.2.2图形系统与数据库任何计算机系统都有数据组织问题。在以前的图形系统中,图形数据都作为“文件”存放在计算机中,以“数据文件”的形式实现。在大型复杂的图形系统中,人们逐步发现这种方法的缺点,如数据的冗余性、不完整性以及处理各个文件的复杂性等。诸如数据文件只对某一应用程序有意义,而其它程序无法利用这些数据;各自独立的多个数据文件使得管理、查找数据要花费巨大的代价。因此,大系统必须考虑使用统一的图形数据结构,并用有效方法来管理、使用这些数据。数据库就是为有效管理数据的工具。2.2.3图形数据库的形成、特点及类型1.图形数据库的形成在计算机辅助设计中,用户所涉及的图形往往是比较复杂的,复杂的图形涉及的数据量大,要完全放在内存中是不可能的,这些数据不是孤立的,而是彼此密切联系的,并且要高速的处理以实现人机交互作用。另外,图形设计往往需要很多单位,许多人共同工作,而且要经常共用以前的设计经验,应用以前设计的图形与数据,以及一些标准的零件、部件、组合件等模型,这些都必须存储起来供用户随时调用。把这些相关联的数据以便于存储的形式组织起来,存放在磁盘中,这就形成了图形数据库。2.图形数据库的特点图形数据库在用途上不同于通用数据库,它更侧重于图形的生成、图形的组合、图形的变换方面。图形数据库的主要数据是几何图形,且要管理两种类型的信息:一种是有关设计环境的信息,包括规则、方法、标准元素等静态实体。另一种是有关设计对象的数据,此数据用于建立设计的客体,在设计过程中是动态的。实用中图形、符号较差,两种类型的数据信息经常混合出现。图形数据库向用户提供的是图形数据。图形数据库的特点是图形数据很复杂;图形数据量大;图形操作特殊,实时性强;图形具有一定的属性。图形数据库在处理大量数据时,重要的一点是使数据库的逻辑结构能够反映出现实世界中相应物体的结构,数据库软件能将逻辑数据库映射到实际存储的物理数据结构中去。2.3数据库类使用分析2.3.1数据库访问接口说明使用ADO对MS_ACCESS或SQL_Server等当前流行数据库进行访问,以下对该类进行具体方法说明:变量及具体方法参数说明_ConnectionPtr m_pConnection;指向Connection对象的指针_RecordsetPtr m_pRecordset;指向Recordset对象的指针ADOConn();数据库访问类构造函数virtual ADOConn();数据库访问类销毁函数void OnInitADOConn();数据库访问类初始化函数_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);查询SQL语句,返回Recordset对象指针bstrSQL为Cstring类型的SQL语句Bool ExecuteSQL(_bstr_t bstrSQL);执行SQL语句,如Insert Update语句成功返回TURE,失败返回FALSEvoid ExitConnect();退出ADO连接表2:ADO数据库接口说明2.3.2数据库兼容性分析使用ADO数据库访问接口访问windows平台下的各种主流数据库,而且访问类接口方便并且兼容性较强,ACCESS数据库和SQL_Server,ORACLE等数据库可以相互转化,使用非常方便.第三章:图库管理的系统构成3.1软件开发环境3.1.1开发环境的选择CAD技术最早可以追溯到20世纪40年代,它是20世纪最杰出的科技成果之一。近年来,CAD技术从最初的平面辅助绘图工具,迅速向智能化、三维化、集成化和网络化的方向发展。其中,三维技术以其突出的优越性,迅速成为CAD.业界的发展主流。三维技术使工程设计实现了技术上的巨大飞跃,给工程技术人员带来了强烈的震撼,为工程师们的创意和想象力提供了最为广阔的空间,并从设计中得到无穷的乐趣。三维技术的应用,是CAD技术向纵深发展的必由之路。 高艳明,李利,杨志刚,精通AutoCAD三维设计与开发,北京:中国铁道出版社,2002.1AutoCAD是当今最流行的CAD软件之一,在建筑和机械等工程设计中得到了极为广泛的应用。它将用户和设计信息与外部世界联系起来,在强大的技术平台框架上,集成了许多用户一直追求的特性,构成了充满活力而又轻松易用的设计环境。同时,AutoCAD采用开放式的体系结构允许用户或二次开发商扩充新的功能和设计各种应用程序,随着系统功能的逐渐增强和版本的不断升级,提供了一系列开发环境和工具。AutoCAD 2002提供了完整、高性能且面向对象的CAD程序开发环境,从菜单和工具栏直到每一个图形对象,都可以精确地定制,为用户和开发者提供了多种选择。这些选择包括基于C+ 的ObjectARX;基于ActiveX Automation(AutoCAD的ActiveX Automation (AutoCAD的COM接口)的VBA和Visual LISP.所有这些开发接口都能与AutoCAD的ActiveX Automation或COM接口对象协同工作。正是由于这些第三代的开发环境和工具的支持,使AutoCAD本身不仅是一个轻松的设计环境,而且是一个强大的开放式的面向对象的CAD技术平台。ObjectARX是软件本身提供的一种开发AutoCAD应用程序的C+语言 谭浩强,C+ 程序设计,北京:清华大学出版社,2002环境。ARX 表示AutoCAD 运行时扩展(AutoCAD Runtime Extension).ObjectARX2002是一个综合的API(Application Programming Interface).本文采用ObjectARX2002作为AutoCAD的二次开发工具主要原因为:ARX程序有如下的优点:(1) ARX由于是动态链接库类型,在运行期间实时扩展AutoCAD,共享AutoCAD位址空间,性能无比强大,运行速度要比ADS更快。(2) 采用面向对象程序设计方法设计,因此AutoCAD公司提供了220多个面向对象的C+类,与操作系统环境紧密联合起来,可充分利用操作系统的各种资源。(3) 可创建用户自己的对象和实体,如同AutoCAD内部的对象和实体一样。ARX应用程序以C+为基本开发语言,具有面向对象编程方式的资料可封装性、可继承性及多态性等特点。用其开发的工程CAD软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效实用以及代码可重用性强等优点,并且支持VC,能简洁高效地实现许多复杂功能。此外,考虑到其运行速度快、保密性好、交互式接口容易生成等因素,绘图程序决定采用ARX编写。同时,ARX程序也有它自身的缺点:(1)稳定性:运行稳定性反映出程序可能出现的严重错误所导致的危险。由于ARX应用程序共享AutoCAD的地址空间,所以一旦其失败,AutoCAD进程也随着崩溃。(2)技术难度:程序核心部分用Visual C+语言,由于ARX依赖于C+语言,它必须经过严格的控制的编译、链接才能生成应用程序。经分析比较,虽然。ObjectARX编程难度大,但功能速度最好同时又提供了许多便于开发的特征和功能。因此,我们选用了ObjectARX作为AutoCAD 2002平台上的二次开发工具。通过综合分析各种CAD软件的扩展功能,图形功能及开发中成本难度风险,本文选用AutoCAD2002作为开发平台,对其进行二次开发,建立了基于ObjectARX2002的AutoCAD图库管理模块和高级建模工具模块。3.1.2AutoCAD和高级语言的接口计算机辅助设计(CAD)是计算机应用中的一个非常重要部分,微机CAD工作已在各个领域得到广泛的开展和应用。但是AutoCAD在CAD系统仅是一个支撑平台,它必须与工程设计的计算分析软件、应用开发软件、数据库相联系才能发挥其优势,才能形成参数作图、编辑处理的能力,真正起到辅助设计的作用。二次开发是用一定的高级语言编写与AutoCAD连接的程序,通过程序对原始资料进行处理和运算,形成所有目标图素的AutoCAD命令和相应的运行参数组织起来,通过AutoCAD的外部程序(参数)入口,一次性的输入到AutoCAD内部,让它连续快速地编辑图形,提高运行效率,用程序方法对AutoCAD进行二次开发,就是以AutoCAD为支撑软件进行的软件开发。在AutoCAD提供的各种开发工具中,以C/C+开发工具的效率最高、功能最强。AutoCAD 2002使用一种特定的C/C+编程环境一ObjectARX(以下简称ARX)应用程序与AutoCAD在同一地址空间内运行并能够直接用AutoCAD的核心数据库结构和代码。由于AutoCAD软件自身的很大一部分就是用ARX实现的,使用ARX能以无缝集成的技术方法向AutoCAD增加自定义的新实体和设计对象,以及创建全面享受AutoCAD固有命令之特权的新命令。3.1.3Visual C+ / MFC 开发环境Visual C+6是Microsoft在多年使用过程中不断改进的基础上推出的,用于支持Win32, Windows95/98和WindowsNT平台的应用程序、服务和控件的一个优秀的可视化开发工具。该开发工具以其用户界面友好、开发过程简单、类库结构完备、不断支持最新技术等等一系列优点而备受开发人员青睐。Visual C+6.0给用户提供了良好的可视化编程环境,该软件包含了许多独立的组件,如编辑器、编译器、连接器、实用程序生成器、调试器,以及各种各样为开发Windows环境下的C/C+程序而设计的工具,其中最重要的是Developer Studio的集成开发环境。Developer Studio把所有的Visual C+工具结合在一起,集成为一个由窗口、对话框、菜单、工具栏、快捷键及宏组成发和谐系统,通过该集成环境,程序员可以观测和控制整个开发进程。Visual C+提供APPWizard帮助使用MFC的用户构造一个程序框架.MFC借助C什的优势为Windows开发开辟了一片新天地,同时也借助ApplicationWizard使开发者摆脱了那些每次都必写基本代码,借助ClassWizard和消息映射使开发者摆脱了定义消息处理时那种混乱和冗长的代码段。更令人兴奋的是利用C+的封装功能使开发者摆脱Windows中各种句柄的困扰,只需要面对C+中的对象,这样一来使开发更接近开发语言而远离系统。另外,Visual C+6.0具有执行速度快,底层操作能力强,数据占用资源可以准确控制等优点,但对于图形图像编程则需要特定的开发包,所需工作量大。3.1.4开发环境配置在使用ObjectARX 2002开发应用程序时,需要使用Windows 9X/NT4/2000操作系统平台,Microsoft Visual C+6.0以上版本的编译器,并同时在硬盘上安装好AutoCAD 2002和ObjectARX 2002开发系统。因为开发生成的应用程序要在AutoCAD 2002环境中运行,因此,运行ARX应用程序所需硬件环境同AutoCAD 2002。即最低硬件配置为 余承飞,方勇,AutoCAD2000二次开发技术(ObjectARX),北京:人民邮电出版社,1999:1)Pentium 1.7G CPU2)256MB内存3)10G硬盘自由空间4)1024 X 768VGA视频显示5) Windows视频显示驱动3.2ObjectARX 2002 简介3.2.1ObjectARX简介AutoCAD是AutoDesk公司推出的通用绘图软件,它具有最广大的用户群。但是,要想使它真正适用于某一领域,如机械行业,必须对它进行二次开发。AutoDesk公司提供了丰富的开发工具。在AutoCAI)中,我们能够使用的开发工具主要有ADS, ObjectARX, AutoLisp等。这些开发工具与AutoCAD之间的通讯有较大差别,其关系如图所示。其中就综合性能而言 , ObjectARX的功能最为强大。ObjectARX开发环境提供了一个面向对象的C+应用程序接口,开发人员可以利用接口使用,修改和扩展AutoCAD。ObjectARX包含一组动态链接库(DLL),这些库与AutoCAD在同一地址空间内运行,直接利用AutoCAD的核心数据库结构和代码。库中包含一组通用工具,利用这些工具可以充分利用AutoCAD的开放结构,直接访问AutoCAD的数据库结构、图形系统,以及几何造型核心,以便能够在运行期间实时扩展AutoCAD的功能,建立与AutoCAD本身的固有命令操作方式相同的新命令。ObjectARX程序的本质是Windows DLL程序。AutoCAD本身是一个典型的Windows程序,ObjectARX程序与AutoCAD. Windows之间采用Windows消息传递机制直接通信。它以C语言为基本开发语言,具有OOP(Object Oriented Program)技术的许多特点,如数据封装、继承、多态性等。ObjectARX支持MFC,也就是说,能够利用MFC编写功能强大、具有windows风格的用户图形界面程序。采用可扩展性思想设计出的ObjectARX库,库中包含了用于定义新类的宏,提供了对已经存在库中的类进行实时添加新功能的能力。此外,ObjectARX库提供了与ADS、AutoLISP应用程序相链接的接口。ObjectARX库中有各种各样的系列工具,开发人员可以通过AutoCAD的开放结构,直接对AutoCAD的数据结构、图形系统和内部命令进行操作。 李长勋主编,AutoCAD ObjectARX程序开发技术,北京:国防工业出版社,2005ADS应用程序IPC(进程间通讯)AutoLisp外部进程IPC(进程间通讯)AutoCAD直接调用IPC(ObjectARX直接调用图2 : ObjectARX. ADS. AutoLisp和AutoCAD之间的关系3.2.2ObjectARX的功能简介ObjectARX库包括各种各样的工具,可以使开发者方便利用AutoCAD的开发结构,这些工具可以方便应用程序对AutoCAD数据库结构,图形系统及本地命令进行直接访问,作为开发者,用户可以使用ObjectARX完成以下任务:1 访问AutoCAD数据库2 与AutoCAD编辑器交互作用3 使用MFC创建用户界面4 支持多文档界面(MDI)5 创建自定义类6 建立复杂的应用程序7 与其他编程环境交互作用。3.2.3ObjectARX类库简介ObjectARX环境包含下列几组类和函数: (1) AcRx库AcRx库提供了一些系统级类,用于DLL的初始化和链接及运行时类的注册和标识。该库的基类是AcRxObject。AcRxDictionary是该库中一个重要的类,词典是从一个文本字符串到另一个对象的一个映射。AcRx库将其对象、类和服务词典放在一个全局对象词典中,全局对象词典是一个AcRxDictionary类的实例。应用程序可以向对象词典添加对象,所以其他应用程序可以访问这些实体。(2)AcEd库AcEd库提供定义和注册新的AutoCAD命令的类,新命令的操作性能与AutoCAD内部命令是完全一样的。我们定义的新命令被当作本地命令是因为它们与AutoCAD内部命令具有相同的内部结构(AcEdCommandStack)。该库还提供编辑反映器和一套与AutoCAD通信的全局函数。(3) AcDb库AcDb库提供了组成AutoCAD数据库的类。AutoCAD数据库用于存储所有的图形对象和非图形对象;图形对象称为实体,组成AutoCAD图:非图形对象如层、线型和字型也是图形的一部分。AutoCAD数据库包含如下主要元素:1.九个符号表,每个表都拥有唯一的命名符号表条目对象,这些对象表示各种常用的AcDbDatabase对象和数据成员。2.命名的对象词典,提供加toCAD图的目录表。3.一套固定的环境变量,大约有200个环境变量,其值是由AutoCAD设置的。(4) AcGi库AcGi库提供了用于绘制AutoCAD实体的图形界面。(5) AcGe库AcGe库提供了公用线性代数学和几何学对象应用类。AcGe库包含两个主要的子集:二维和三维几何类,主要抽象基类分别为AcGeEntity2d和AcGeEntity3d。包括AcGePoint2d. AcOeVector2d和AcGeMatrWd在内的一些基类,它们不是从任何其他类派生来的,这些基类可以用于完成多种常用的操作,如在一个点上添加一个矢量、计算两个向量的点乘或积和计算两个矩阵的积。该库的高级类是通过这些基类来实现的。 陈杉,王宁,郭剑峰,用ObjectARX开发AutoCAD2000应用程序,北京:人民邮电出版社,200开发中使用到的主要类库本系统开发中主要模块使用的类库:开发模块使用类库及自定义类库(说明)图库管理模块(部材及复合部材)ADO类:ACCESS等外建数据库访问接口。AcDb库:访问用户选择的图形对象和非图形对象。AcGi 库:用于图形在模型空间的动态拖动的实现。半成品库模块(外栅工程)Ini 类:文本操作基类。ParIni 类:伸缩部材操作类。GtpIni 类:外栅工程操作类高级建模模块AcDb库:访问用户选择的图形对象和非图形对象,并且操作处理该对象(如移动,旋转等)。AcBrEntity 类:自定义实体类库(按用户需求定制)表3: 本系统开发中主要模块使用的类库3.3设计开发的主要步骤3.3.1 创建VC+的工作环境一个VC工程文件一般由.cpp,.def, . rc, . h,等文件组成。其具体过程为:1) 打开Visual C+6.0,选择File-New,在列表框中选择ObjectARX 2000/2000i/2002 AppWizard,在Project name框中填入开发工程名称,在Location框中填入工程所在的路径,单击OK按钮。2) 为了正确的编译和链接应用程序,必须把ObjectARX应用程序与MFC动态链接,从而可以使用ObjectARX中的有关类库。具体操作为,来到Step 1 of 1对话框,确认选中ObjectARX(AutoCAD extension),并将Use MFC前的小方框勾上,确认选择了MFC Extension DLL(using shared MFC DLL)和Use MFCExtensions for AutoCAD,在Your Register Developer编辑框中填入开发者代号,单击Finish按钮。3)最后,在New Project Information对话框中单击OK按钮。现在Project已经创建好了。3.3.2配置数据库开发环境开发中使用ACCESS数据库及ADO数据库访问接口。因我们在ObjectARX中使用数据库访问接口,为了避免和MFC中ADO访问冲突所以必须对数据库访问变量重命名使用。具体操作如下:1) 打开要使用外部数据库的工程,选择Insert-New Class.,在New class 对话框中把Class type 选择为 Generic class。输入Name :ADOConn,对话框中单击OK按钮,类建好了。2) 在ADOConn.h和ADOConn.cpp中添加程序代码3) 修改stdafx.h文件,在其中添加以下代码:#import c:program filescommon filessystemadomsado15.dll no_namespace rename (EOF, adoEOF) rename (LockTypeEnum, adoLockTypeEnum) rename (DataTypeEnum, adoDataTypeEnum) rename (FieldAttributeEnum, adoFieldAttributeEnum) rename (EditModeEnum, adoEditModeEnum) rename (RecordStatusEnum, adoRecordStatusEnum) rename (ParameterDirectionEnum, adoParameterDirectionEnum) rename(EOS,AdoEOS)3.3.3添加开发类库及配置工程工程开发中我们需要使用ObjectARX提供的类库来开发,我们必须在开发环境中手动配置,操作如下:1) 打开工程,选择Toolsoptions进入options设置对话框。2) 在options对话框中选择Directories页,在show directories for 选择为“include files”,情况下,添加“filePath K030.ARX.PLUS.ALLINC”; 在show directories for 选择为“Library files”,情况下,添加“filePath K030.ARX.PLUS.ALLLIB”;3.3.4添加对话资源及编写主程序代码大部分的Windows应用程序都是借助于对话框与用户进行交流的。这些对话框可以是简单的消息对话框此类对话框用于提醒用户能否进行某些操作),也可以是比较复杂的、可以输入数据的对话框(此类对话框可以用于获取有关数据)。Windows将对话框分为两大类:模式对话框和无模式对话框。本系统中主要采用模式对话框,具体创建过程如下:1) 选择菜单Insert-Resource,在Insert Resource对话框中选择Dialog,单击New按钮,这时出现对话框编辑窗口,将其编辑成符合部材库结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何正确做汇报
- 牙科种植牙新技术应用与进展
- 无缝拼接技术讲解
- 团建活动策划方案纲要
- 2026届江苏省扬州市示范初中化学高二第一学期期中质量跟踪监视模拟试题含解析
- 血栓影像扫描技术
- 速度与激情7讲解
- 小组交流小组汇报
- 新概念第一册第83课讲解
- 输液泵课件讲解
- 催收作业管理制度
- 2025年云南红河州红产林业发展有限公司招聘笔试参考题库附带答案详解
- (高清版)DG∕TJ 08-2165-2015 建设项目交通影响评价技术标准
- 《早期诊断前列腺癌》课件
- 2025年新媒体运营考试题及答案
- 职业技术学校护理-妇产科护理-课程标准
- 国企出纳笔试试题及答案
- 回弹法表格自动生成计算表-F9-刷新.文件
- 第32届全国中学生物理竞赛复赛答案
- 沉香文化课件
- 2025年初中语文八年级下册试讲稿(教师招聘面试)桃花源记
评论
0/150
提交评论