基于组件的三维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的组件划分思想。图二给出了系统组件依赖关系简图(为节省篇幅,主要表示了三维零件设计部分的组件,而没有详细表示关联绘图和装配部分的组件),为方便组件的集中管理和调用