1
中国减速机行业最大的门户网站!
免费注册 | 会员登录会员中心 设为首页加入收藏 联系我们
 当前位置:首页 >> 技术讲座 >>博士论文>> 正文
   我要成为会员
杨永喜 硕士——减速机计算机辅助设计、绘图与信息管理系统研究
来源:减速机信息网    时间:2007年10月10日8:40  责任编辑:wangtao   
 

4.3  集成化CAD设计

集成化CAD设计是面向对象的编程思维用在CAD系统中的产物。在传统的CAD系统中,设计者所面对的和所操作的是一些简单几何的点、线、圆、圆孤等,其图形设计思维是:由简单几何(线、圆、圆弧等)一零件图形一产品图形。参数化设计主要是实现第一步,利用约束方程组的求解,进而实现产品的结构单元图的实现,这对于简单的图形或草图是合适的,但对于工程中复杂的图形来说,是不合适的。而集成化CAD,它主要是高效率地实现第二步过程,忽略了第一步,直接由零件图形拼成产品图形。

集成化CAD设计,是专用CAD系统中所采取的设计方法,主要是针对一些行业(如建筑设计、室内设计等行业),在这些行业的工程图纸内容描述中,仅仅是一些具有该行业中的实际实体意义的实体图形组合而成,例如门实体、窗实体和墙实体等。而这些具有实际实体意义的实体,也正是面向对象的编程编理中的对象(object,进一步抽象成具有共同特定属性的“类”,并赋予这些实体相应的属性,即类的成员变量、成员函数等。

通过对这些行业中的实体封装以后,面对系统操作者的都是一些具有实际意义的行业实体和绘图相关实体,而屏蔽了几何的点、线、圆、圆弧等。最重要的突破是对工程图形的理解的突破,由原先简单几何的点、线、圆、圆弧等组合成一个产品图形,发展到由工程实体图形拼成产品图形,是一种彻底的组装装配图,将面向对象的概念完全引入到CAD设计中,集成化设计基本脱离了参数化建模的过程,对每个实体的参数化功能要求不高。

在传统的CAD系统中,我们以在PC机上最流行的AutoCAD软件为例。在其二次开发中,AutoCAD软件R14以前的版本中,对典型的面向对象的语言C++中“类”不支持,故只能做一些参数化的二次开发,而不能对Auto CAD软件进行真正意义上的面向对象的集成开发;但是,AutoCAD软件的R14版本彻底改变了这种情况,Autodesk公司在AutoCAD R14中吸收了ObjectARX技术,可以对AutoCAD R14版本进行ARX开发。利用C++中的“类”的技术,将AutoCAD系统的基本核心模块(如各种几何操作函数)进行封装,而不必关心其内部是如何操作的,减少重复开发底层模块的工作,把主要精力放在开发应用模块上,扩充已有模块的功能,体现了面向对象技术中的“封装性”、“继承性”。

4.3.1  集成化CAD系统的总体结构

集成化CAD系统,从系统的整体结构上,在CAD系统的UI之上,建立集成化后工程实体的UI,通过UI进一步调用集成后的对实体操作的UI。在AUTOCADRl4的面向对象的集成开发,引入了ObjectARX技术,增加了对“类”的全面支持,应用了具有面向对象技术中“类”特性的实体模块,将所有操作集成在若干类的函数或方法里,其体系结构简图见图4-2。面向对象的CAD集成软件主要包括了实体核心模块、信息存储模块和用户界面模块。其中,实体核心模块是最主要、最基础的模块,是它对CAD系统进行彻底的封装,使得系统在用户面前体现的不再是简单几何的点线圆,而是一个个工程实体;同时,它也是不同行业对CAD不同集成要求的具体体现。

1、用户界面

用户使用系统接触到的第一个功能就是用户界面。软件工程的一个重要指标就是用户界面友好、操作方便。根据目前的潮流,以Windows为基础的交互式的界面最受人们欢迎。AutoCAD的界面就是以Windows为基础的交互式的界面,而且,AutoCAD软件有一个很好的接口(对acad.mns文件进行编辑)让用户自行开发所须界面。故,可以以AutoCAD的界面为基础,根据各个行业的行业习惯,把不同实体进行归类,编写所须的菜单条和对话框去触发各个实体的属性、函数和方法。

2、实体集合

实体(Object)是面向对象中的核心内容,实体也是面向对象系统中的唯一的操作者和承受者,总的来说,实体主要由三部分构成:属性、方法和函数。实体也是面向对象的CAD集成开发系统中的最重要的核心部分,根据工程图纸在此系统中所实现的内容,主要分为:图纸实体、通用实体、工程实体和工具实体。图纸实体主要是描述每一张图纸的所有特征信息和相关图纸操作;通用实体主要是描述AutoCAD中的所有系统变量及其值的设置;工程实体是描述工程产品的特征信息及其信息处理服务,工具实体主要是对整个图纸的信息标注。

3、信息存储

在CAD系统里,一般对一张图纸信息的存储是通过一个文件(即图形数据库)实现,而在这个文件中,文件图形数据库中仅仅存储图纸的几何点、线、圆和圆弧等信息;而在面向对象的CAD集成开发系统里,需要存储的是整个图纸的实体集合信息,并且由于每个实体又是由若干几何点、线、圆和圆弧等信息构成。因此,仅仅一个文件还是不够的,还需要利用附加文件去记录图纸中所有实体完整的特征产品信息。

4.3.2  实体模型

在面向对象的CAD集成开发系统里,系统数据模型的基本元素就是ARX开发语言中的(多是C/C++语言)类,类实例化后称为对象或实体,整个图纸就是一个实体集合,主要由四大块组成:图纸实体集合、通用实体集合、工程实体集合和工程实体集合。其中,图纸实体、通用实体和工具实体都为独立类,没有父类或子类;而工程实体集合中的各工程实体是由具有基本特征的基类实体派生而来,具有一个基类和若干个派生类,并且各实体集之间互相独立(如图4-3所示)

实体集合中的各类实体在图纸的绘制和再认识过程中,分工明确,互不干涉。在图纸实体集合里,图纸信息实体主要管理图纸的图幅、比例等图纸特征属性的设置;图纸操作实体主要管理图纸的打印、视图的放大缩小等等。在通用实体集合里,图层信息实体主要管理图层(Layer)中的线型、颜色等图层特征属性;空间信息实体主要管理图纸的维数、视图的种类等。在工具实体集合里,尺寸标注实体管理图纸的尺寸标注;其他标注实体管理汉字的标注、公差的标注等等。在最核心的工程实体集合里,基类实体主要管理所有工程实体都具有的共同的属性及方法,而派生类工程实体是基类实体的派生类,是不同行业中的具体实体,它不仅继承了基类实体的所有共同属性和方法,还具有工程实体一些独特的属性和方法。

在上面所说的四种实体里,图纸实体、通用实体、工具实体都是一些简单实体,基本上是对一些AutoCAD的操作命令进行集成,使之能够对工程实体进行操作,并且符合不同行业的命名规则。而最复杂的是工程实体,首先,每个行业中工程实体的种类繁多,必须进行细致有序的分类,使之符合行业习惯;其次,确定基类与派生类之间的关系,有效地定义基类的各个属性、方法和函数,便于扩充派生类;最后,要完整的定义每一个工程实体的所有的属性、方法和函数,特别重要的是,要很好地利用AutoCAD已提供的所有信息资源。

对于以上的问题,第一,要对行业的需求十分清晰,能够对行业中涉及到的工程实体进行归纳,要具有“面向对象”的编程思维;第二,基类涉及的属性方法和函数基本上与实体图形的操作有密切关系(如图4-4所示);派生类主要涉及到工程实体的特征属性、特征方法和特征函数(如图4-5示),完整地定义其基类和派生类是“面向对象的CAD集成开发系统”中的核心部分;第三,要充分的利用AutoCAD已提供的资源,主要就是要利用AutoCAD系统中的*,dwg文件的图形文件数据库中的资源,熟悉各种AutoCAD中实体(例如点、直线、圆弧等)的DXF码规则,并从中提取相关特征信息;第四,由于在AutoCAD中的.dwg文件中,存储的是一些简单的几何的点、直线、圆、弧等信息,故还需要另一个文件去记录整个图纸的工程实体图形的逻辑关系(下一节详细介绍),随同*.dwg文件的打开而打开,标识*.dwg文件图形中的实体图形逻辑关系,随同*.dwg文件的关闭而记录*.dwg文件中的实体图形逻辑关系。

4.3.3  信息存储

如前所述,在AutoCAD中的*.dwg文件中只存储简单的几何点、直线、圆、圆弧等信息,而在面向对象的AutoCAD集成开发系统里,还所须存储的工程实体的信息,而这些实体在图纸上就是通过若干简单的几何点、直线、圆、圆弧等信息的集成而体现的。因而,对于系统的信息存储,不仅利用*.dwg文件的图形数据库记录整个图纸的简单几何信息,还须记录实体信息,或者说,记录描述图纸的信息,这对于图形的再认识是非常重要的。图纸信息存储主要包括二个方面:一、单个实体的信息存储;二、整个图纸里所有的实体的综合信息存储。

1、单个实体的信息存储

单个实体是通过点、直线、圆、圆弧等信息的集成而体现的,因此,在对实体类进行定义时,可充分利用AutoCAD中的“实体集合”这个设计概念,把*.dwg图形数据库中的若干几何信息集成起来,使之成为一个整体,再将此“实体集合”并入实体类的一个属性(见图4-6),当实体在绘制、移动等操作中被调用。

2、整个图纸实体综合信息的存储

用户对实体进行查找、移动、旋转、删除等操作,系统首先要在整个图纸中搜索该实体,因而,系统必须对整个图纸的实体的综合信息进行存储,多采用链式结构,设置一个链头和一个指向当前实体的指针。采用链式结构的原因是它很方便进行查找、插入、删除,效率高,简单明了。(见图4-7)

4.3.4  参数化过程

在面向对象的CAD集成开发系统里,我们操作的对象是工程实体,由于同一类型的工程实体的由于各自的型号不同,在图纸表现上也有不同的,例如对于建筑图纸中的“门”实体,各种门的高度与宽度是不同的,因此在图纸表现上也应该区分的,需要一定的参数化的功能,而参数化的数据就是实体自身的特性尺寸。在系统里,对工程实体是作为一个类的实例来处理,将所有的属性函数封装起来,利用类的函数对实体的特性尺寸进行重新设置。因此,通过实体的函数对实体属性进行改变和对实体函数的再调用,实现参数化CAD系统。

上一页

下一页

 

查看评论 】【关闭窗口
  精品推荐     相关信息
网友留言
发表评论:  标题:    联系方式
  
 
*必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。
*不得制作、复制、发布、传播含有下列内容的信息:
   (一)反对宪法所确定的基本原则的;
   (二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;
   (三)损害国家荣誉和利益的;
   (四)煽动民族仇恨、民族歧视,破坏民族团结的;
   (五)破坏国家宗教政策,宣扬邪教和封建迷信的;
   (六)散布谣言,扰乱社会秩序,破坏社会稳定的;
   (七)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;
   (八)侮辱或者诽谤他人,侵害他人合法权益的;
   (九)含有法律、行政法规禁止的其他内容的。
* 您发表的文章仅代表个人观点,与减速机信息网无关。
* 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
* 本站评论管理人员有权保留或删除其管辖评论中的任意内容。
* 您在本站评论板发表的作品,本站有权在网站内转载或引用。
* 参与本评论即表明您已经阅读并接受上述条款。
关于我们 - 联系方式 - 版权声明 - 本站宗旨 - 网站地图 - 广告服务 - 帮助中心 - 设为首页 - 加入收藏
本站域名:www.jiansuji001.com 网络实名:减速机 jiansuji 减速机信息网
Copyright © 2005-2006 By 减速机信息网 All Rights Reserved.
建议使用:1024*768分辨率,16位以上颜色、IE5.0以上版本浏览器