基于组件的三维CAD系统开发的要害技术研究
摘要:研究了组件技术和特征造型技术,并以“金银花”系统的开发为实例对基于组件开发三维CAD系统的相关技术和实现要领进行了深入研究,给出了实现系统的框架布局和组件布局。
要害词: CAD 组件 变量化(VGX) 实体造型 特征造型
1. 引言
跟着传统CAD系统在产业界的应用普及以及现代设计问题的庞大化、智能化,人们不再仅仅满足于用计算机代替人进行手工画图。所幸跟着计算机图形学、人工智能、计算机网络等根本技术的成长和计算机集成制造、并行工程、协同设计等现代设计理论和要领的研究,使得CAD系统也由纯真二维画图向三维智能设计、物性阐明、动态仿真偏向成长,参数化设计向变量化和VGX(超变量化)偏向成长,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等偏向成长;另一方面,陪同着CAD软件庞洪水平的增加和各个差异应用系统间互操纵的现实需要,人们但愿CAD系统具有极佳的开放性同时又能“搭积木”似的自由拼装形成差异的成果配置,软件工程技术出格是组件开发技术的研究应用和逐渐成熟为解决这一问题提供了坚实的根本。
组件技术使得各CAD系统开发商们不必再完全遵从“一切从零开始”的开发模式,他们可按照本身的技术优势在满足组件接口范例要求下开发差异的构件,然后在获得许可的环境下便可以自由使用这些构件来搭建用户所需要的CAD系统。这种方法因其开发周期短、见效快、系统柔性高、开放性好、以及容易“即插即用”和进行并行开发等优势而倍受亲赖。
本文主要讨论回收组件技术开发国产商品化CAD/CAM系统——“金银花” 系统的一些要害技术。
2. 系统框架
“金银花”是在ACIS几何建模平台上,回收变量化特征造型技术,基于STEP尺度——遵循AP214和AP203协议而研制开发出来的商品化三维CAD系统。该系统根基框架布局如图一所示,概略分为三个条理——数据层、成果层、接口层:
数据层包罗物理数据文件、数据库和逻辑数据模型两部门,它是CAD系统的设计功效,也是CIMS信息集成的主模型,由于本系统是切合STEP尺度的,故可以通过尺度数据存取接口(SDAI)进行操纵,数据是用户操作系统成果实现的。
成果层是主体部门,主要有三维零件设计、装配设计、二维工程图设计三大模块,由于有主模型的支持,三块之间彼此关联:即任一部门的改变都将引起其它部门相关的自动更新。在零件设计中回收特征造型和实体造型相结合、特征模型与实体模型共存,大大方便了后续工艺阐明和加工对特征信息的需求又满足了显示、调动、物性计算、过问干与检查等操纵对实体信息的要求。变量化VGX技术主要在草图设计、特征造型、装配设计等部门应用,极大的方便了用户对设计的编辑和修改。
接口层是提供系统的对外接口,分为成果接口与数据接口。成果接口便于用户进行二次开发,组件重用等;而数据接口为其它环节如CAPP\CAM\CAE\PDM等提供一致性的数据会见方法。
3. 组件布局
系统的组件布局设计是基于组件技术开发CAD系统的要害,主要内容是按照应用系统的成果需求列出所有组成组件、各个组件间的依赖干系和接口,并确定哪些组件本身开发而哪些可直接从组件供给商处购置以缩短开发周期。而本系统就是通过从美国STI公司(Spatial Technology Inc.)购置三维CAD系统所需几何造型、文件打点、内存打点等根基成果组件,而集中精力开发支持特征造型、VGX约束求解、装配设计、关联画图、用户接口等组件。
由于ACIS是完全基于组件技术开发的,其所有根本成果均通过差异的组件(表示为动态联接库DLL)实现。在ACIS6.0中约莫有五十多个DLL,所有这些DLL实际可划归为两部门:ACIS 3D Toolkit(焦点模块)和Optional Husks(可选模块)。个中焦点组件提供结构系统所需的根基成果(如:根基几何和拓扑、内存打点、模型打点、显示打点、图形交互等),这部门是ACIS几何建模的焦点,类似于飞机的动员机,个中包罗很多开发商的必选构件;而另一部门可选组件则提供一些更专业化和更高级的成果(如:高级过渡、高级渲染、可变形曲面、精确消影、拔模、抽壳、与CATIA和Pro/E等系统的数据接口等),这部门作为可选组件由用户按照实际开发的系统需要自由挑选、搭配和组合,虽然用户也可用本身开发的组件代替ACIS的部门组件。ACIS的各组件之间存在必然的依赖干系,个中焦点组件详情可拜见ACIS6.0焦点组件依赖干系图。
金银花系统组件布局是在对系统成果需求和总体框架布局阐明根本上得出的,同时也参照了ACIS的组件分别思想。图二给出了系统组件依赖干系简图(为节省篇幅,主要暗示了三维零件设计部门的组件,而没有详细暗示关联画图和装配部门的组件),为方便组件的集中打点和调用系统回收了条理布局,主要分为焦点组件、成果组件、接口组件三层,上层组件可任意调用下层组件提供的所有处事。以下对图二作一些介绍:
◆ 焦点组件层:该层包括了系统最重要和最根基的组件,是三维特征造型、二维关联画图、部件装配、动态仿真等模块的共享部门。ACIS焦点组件也位于个中,为系统提供ACIS几何造型根基成果;LM_GI是提供底层显示支持,如:对OpenGL的调用、对屏幕刷新的操纵、根基几何元素的绘制;LM_PUBFUN中提供通用数学运算以及公用链表、行列、仓库的类界说;LM_RUB海涵了各类几何元素的橡皮条——rubberband,该部门是支持VGX动态拖放造型(drag-and-drop)、动态约束添加以及装配模块中的动态过问干与检查等的根基组件;LM_KERN包罗本系统特征造型成果和ACIS几何造型引擎连接相关的类LmSuperElement(详见4),以及为上层提供的打点类、约束类、特征类等提供超类。
◆ 成果组件层:该层建于焦点层之上,系统面向应用的主要成果部件均在这一层实现。用户的差异需求会但愿配置差异成果的软件系统,从该层选折所需组件集进行差异配置即可。图二所示为三维部门的焦点组件LM_KERNPART、特征造型组件LM_FEATURE、VGX约束打点器组件LM_VGX、处理惩罚选折工具的组件LM_PICK、和卖力总体协调打点的组件LM_MANAGE等。而个中特征造型和VGX组件中又别离进一步细化为:草图特征、高级特征、自界说特征和VGX约束操纵、约束打点约束求解等组件。
◆ 接口组件层:是系统的最高层,也是与用户直接进行交互操纵打点的组件层,所以主要有处理惩罚鼠标事件MouseTool的LM_MT和打点系统界面中涉及到的对话框、菜单、东西条等资源的组件。
可见,这种组件设计布局不只极大的方便了差异用户需求系统的配置,并且将系统的用户接口与成果的具体实现分隔,便于针对差异语种、差异操纵系统平台、差异使用习惯开发富厚多彩的界面,也从技术角度实现了与ACIS几何引擎的无缝集成。
4. 要害技术实现
回收软件组件技术成立组件依赖干系为三维CAD系统架设了总体布局,但具体实现还需解决很多要害性技术,以下主要以特征造型技术为例说明系统的设计思路。
由于ACIS本质上一个几何实体造型的平台,通过B-rep暗示提供实体几何、拓扑布局的完整描述,但它并不直接支持特征造型。因此,如图三所示系统在实体模型和特征模型之间通过引入结构点、边、面的机制成立一种映射干系。每个特征中不只包括工艺制造信息还包括其具体结构点、边、面信息,这些结构元素再与实体模型中的点、边、面成立联系。
个中LmFeature最终派生于ACIS的ENTITY,以便于进行内存打点、文件存储和模型操纵打点。m_Construction属性记录该特征的所有结构点LmSuperPoint、边LmSuperEdge、面LmSuperFace(三者均派生于LmSuperElement),它们又别离记录ACIS的VERTEX,EDGE,FACE和部门几何参数以及特定的语义信息;同时在每个ACIS拓扑元素(FACE,EDGE,VERTEX)中通过属性ATTRIB机制又嵌入其对应的LmSuperElement。这种双向链表布局方法不只便于实现特征造型和实体造型间的无缝链接和快速查找,并且也为系统重建时维护拓扑干系奠基了根本。因为仅记录ACIS拓扑元素(FACE,EDGE,VERTEX)是不行能担保拓扑干系一致的。m_OtherInfo属性主要用于存放特征语义、工艺信息等,另外还为用户提供了手工添加特征语义的接口, 为真正支持CIMS情况下信息集成奠基了根本。
在特征创建\删除\修改或模型重建历程中,为维护设计者的设计意图要害在于维护模型修改前后拓扑布局的对应干系即:拓扑一致性,因此必需考虑拓扑编码的问题。系统通过为每个从ENTITY派生的实体引入索引符号的要领解决,该索引符号不只记录全局独一符号符,并且通过充实操作ACIS ENTITY中的ATTRIB 和ANNOTATION 类对模型操纵的具体变革做了详细的记录:操纵前有那些面、边、点,操纵后又发生了那些新的面、边、点等等。操纵后系统自动从头整理,担保了拓扑布局的对应干系。
要支持特征造型,还必须维护特征之间的依赖干系,以便修改特征参数后重建所有依赖特征,这些干系一般形成树形布局,又称特征树。 特征树方便了对特征的打点,但这种干系往往也限制了设计人员的设计思路,而且还可能呈现:父特征的删除导致所有子特征的删除,如果某特证的参数依赖于其后续特征的参数导致系统重建时的瓦解等现象。于是系统回收双重坐标要领: 即对每个特征既记录其相对父特征的坐标,也记录其在全局坐标系下的坐标。这样,当父特征不存在时,子特征可在全局坐标系下"保留";另外, 回收VGX技术,将约束干系从几何关系中独立出来,成立全局约束链,相对独立的约束求解器, 结合代数要领和数值求解要领对约束整体联立求解,既增加了系统的动态导航、动态约束添加和动态修改机制又担保了模型的修改可以逾越设计历史树的限制,使得设计人员随时、随地、随意修改成为现实。
5. 结论
软件组件技术的成长为大型庞大的三维CAD/CAM系统的开发提供了极好的解决之道,它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类庞大系统也可以“搭积式”的快速构建。本文深入研究了基于组件技术开发三维CAD系统的相关技术,介绍了具体实现要领,同时给出了系统组件条理布局,可为开发该类系统提供必然的参考。
参 考 文 献
1 CFACA:Component framework for feature-based design and process planning。 Computer-Aided Design 32(2000) 397-408。
2 王刚。 "金银花"系统中曲面特征造型模块的研究与实现。 北京航空航天大学硕士论文。1998.3
3 Online Help for ACIS Version 6.0。 http://www. spatial. com。
4 J.C.H. Chung et al. Framework for integrated mechanical design automation。 Computer-Aided Design 32(2000) 355-365。
5 R.Bidarra,W.F.Bronsvoort。 Semantic feature modelling。 Computer-Aided Design 32(2000) 201-225。