基于组件开发三维CAD系统的技术和实现方法

2009-05-30 鬼马 真空技术网整理

1.引言

        随着传统CAD系统在工业界的应用普及以及现代设计问题的复杂化、智能化,人们不再仅仅满足于用计算机取代人进行手工绘图。所幸随着计算机图形学、人工智能、计算机网络等基础技术的发展和计算机集成制造、并行工程、协同设计等现代设计理论和方法的研究,使得CAD系统也由单纯二维绘图向三维智能设计、物性分析、动态仿真方向发展,参数化设计向变量化和VGX方向发展,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等方向发展;另一方面,伴随着CAD软件复杂程度的增加和各个不同应用系统间互操作的现实需要,人们希望CAD系统具有极佳的开放性同时又能“搭积木”似的自由拼装形成不同的功能配置,软件工程技术非凡是组件开发技术的研究应用和逐渐成熟为解决这一问题提供了坚实的基础。

        组件技术使得各CAD系统开发商们不必再完全遵从“一切从零开始”的开发模式,他们可根据自己的技术优势在满足组件接口规范要求下开发不同的构件,然后在得到许可的情况下便可以自由使用这些构件来搭建用户所需要的CAD系统。这种方式因其开发周期短、见效快、系统柔性高、开放性好、以及轻易“即插即用”和进行并行开发等优势而倍受亲赖。
本文主要讨论采用组件技术开发国产商品化CAD/CAM系统——“金银花”系统的一些关键技术。

2.系统框架

        “金银花”是在ACIS几何建模平台上,采用变量化特征造型技术,基于STEP标准——遵循AP214和AP203协议而研制开发出来的商品化三维CAD系统。该系统基本框架结构如图一所示,大体分为三个层次——数据层、功能层、接口层:


        数据层包括物理数据文件、数据库和逻辑数据模型两部分,它是CAD系统的设计结果,也是CIMS信息集成的主模型,由于本系统是符合STEP标准的,故可以通过标准数据存取接口进行操作,数据是用户利用系统功能实现的。

        功能层是主体部分,主要有三维零件设计、装配设计、二维工程图设计三大模块,由于有主模型的支持,三块之间相互关联:即任一部分的改变都将引起其它部分相关的自动更新。在零件设计中采用特征造型和实体造型相结合、特征模型与实体模型共存,大大方便了后续工艺分析和加工对特征信息的需求又满足了显示、变换、物性计算、干涉检查等操作对实体信息的要求。变量化VGX技术主要在草图设计、特征造型、装配设计等部分应用,极大的方便了用户对设计的编辑和修改。

        接口层是提供系统的对外接口,分为功能接口与数据接口。功能接口便于用户进行二次开发,组件重用等;而数据接口为其它环节如CAPP“CAM“CAE“PDM等提供一致性的数据访问方式。

3.组件结构

        系统的组件结构设计是基于组件技术开发CAD系统的关键,主要内容是根据应用系统的功能需求列出所有构成组件、各个组件间的依靠关系和接口,并确定哪些组件自己开发而哪些可直接从组件供给商处购买以缩短开发周期。而本系统就是通过从美国STI公司购买三维CAD系统所需几何造型、文件治理、内存治理等基本功能组件,而集中精力开发支持特征造型、VGX约束求解、装配设计、关联绘图、用户接口等组件。

        由于ACIS是完全基于组件技术开发的,其所有基础功能均通过不同的组件实现。在ACIS6.0中大约有五十多个DLL,所有这些DLL实际可划归为两部分:
ACIS 3D Toolkit和Optional Husks。其中核心组件提供构造系统所需的基本功能,这部分是ACIS几何建模的核心,类似于飞机的发动机,其中包括许多开发商的必选构件;而另一部分可选组件则提供一些更专业化和更高级的功能,这部分作为可选组件由用户根据实际开发的系统需要自由挑选、搭配和组合,当然用户也可用自己开发的组件取代ACIS的部分组件。ACIS的各组件之间存在一定的依靠关系,其中核心组件详情可参见ACIS6.0核心组件依靠关系图。

        金银花系统组件结构是在对系统功能需求和总体框架结构分析基础上得出的,同时也参照了ACIS的组件划分思想。图二给出了系统组件依靠关系简图,为方便组件的集中治理和调用系统采用了层次结构,主要分为核心组件、功能组件、接口组件三层,上层组件可任意调用下层组件提供的所有服务。以下对图二作一些介绍:

        核心组件层:该层包含了系统最重要和最基本的组件,是三维特征造型、二维关联绘图、部件装配、动态仿真等模块的共享部分。ACIS核心组件也位于其中,为系统提供ACIS几何造型基本功能;LM_GI是提供底层显示支持,如:对OpenGL的调用、对屏幕刷新的操作、基本几何元素的绘制;LM_PUBFUN中提供通用数学运算以及公用链表、队列、堆栈的类定义;LM_RUB包容了各种几何元素的橡皮条——rubberband,该部分是支持VGX动态拖放造型中通过属性ATTRIB机制又嵌入其对应的LmSuperElement。这种双向链表结构方式不仅便于实现特征造型和实体造型间的无缝链接和快速查找,而且也为系统重建时维护拓扑关系奠定了基础。因为仅记录ACIS拓扑元素是不可能保证拓扑关系一致的。m_OtherInfo属性主要用于存放特征语义、工艺信息等,另外还为用户提供了手工添加特征语义的接口,为真正支持CIMS环境下信息集成奠定了基础。

        在特征创建“删除“修改或模型重建过程中,为维护设计者的设计意图关键在于维护模型修改前后拓扑结构的对应关系即:拓扑一致性,因此必须考虑拓扑编码的问题。系统通过为每个从ENTITY派生的实体引入索引标志的方法解决,该索引标志不仅记录全局唯一标志符,而且通过充分利用ACISENTITY中的ATTRIB和ANNOTATION类对模型操作的具体变化做了具体的记录:操作前有那些面、边、点,操作后又产生了那些新的面、边、点等等。操作后系统自动重新整理,保证了拓扑结构的对应关系。

        要支持特征造型,还必需维护特征之间的依靠关系,以便修改特征参数后重建所有依靠特征,这些关系一般形成树形结构,又称特征树。特征树方便了对特征的治理,但这种关系往往也限制了设计人员的设计思路,并且还可能出现:父特征的删除导致所有子特征的删除,假如某特证的参数依靠于其后续特征的参数导致系统重建时的崩溃等现象。于是系统采用双重坐标方法:即对每个特征既记录其相对父特征的坐标,也记录其在全局坐标系下的坐标。这样,当父特征不存在时,子特征可在全局坐标系下“生存“;另外,采用VGX技术,将约束关系从几何关系中独立出来,建立全局约束链,相对独立的约束求解器,结合代数方法和数值求解方法对约束整体联立求解,既增加了系统的动态导航、动态约束添加和动态修改机制又保证了模型的修改可以超越设计历史树的限制,使得设计人员随时、随地、随意修改成为现实。

5.结论

        软件组件技术的发展为大型复杂的三维CAD/CAM系统的开发提供了极好的解决之道,它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类复杂系统也可以“搭积式”的快速构建。本文深入研究了基于组件技术开发三维CAD系统的相关技术,介绍了具体实现方法,同时给出了系统组件层次结构,可为开发该类系统提供一定的参考。

参考文献

1、CFACA:Componentframeworkforfeature-baseddesignandprocessplanning。Computer-AidedDesign32397-408。

2、王刚。“金银花“系统中曲面特征造型模块的研究与实现。北京航空航天大学硕士论文。1998.3

3、OnlineHelpforACISVersion6.0。http://www.chvacuum.com。

4、J.C.H.Chungetal.Frameworkforintegratedmechanicaldesignautomation。Computer-AidedDesign32355-365。

5、R.Bidarra,W.F.Bronsvoort。Semanticfeaturemodelling。Computer-AidedDesign32201-225。