摘要:介绍了ACIS开发平台、VGX技术和特征造型技术,并以“金银花”系统为实例对基于ACIS平台开发三维变量化特征造型系统的相关技术和实现方法进行了深入研究,给出了实现系统的框架结构。
关键词: CAD 变量化(VGX) 实体造型 特征造型
Abstract: Development platform named ACIS,VGX and feature modelling are introduced in this paper。 The related techniques and implementation methods of developing the 3D variational feature modelling system based ACIS are discussed。 At last,the framework of 3D CAD/CAM system lonicera is summarized。
Key words: CAD; Variational Geometry Extended(VGX); Solid Modelling; Feature Modelling
[注]本课题来源于国家863目标产品——“金银花”STEP为基础的CAD/CAM系统,合同号:863-511-9503-001。
1. 引言
随着计算机图形学、人工智能、计算机网络等基础技术的发展和计算机集成制造、并行工程、协同设计等现代设计理论和方法的研究,使得CAD系统也由单纯二维绘图向三维智能设计、物性分析、动态仿真方向发展,参数化设计向变量化和VGX(超变量化)方向发展,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等方向发展。伴随着软件的开放性、组件化要求和大型系统的复杂化,使得基于通用平台基础构件进行开发成为复杂软件系统开发的流行趋势,其开发周期短、见效快、系统稳定性高和开放性好以及容易“即插即用”等优势而倍受亲赖。完全自主的底层开发方式不仅成本高昂、也难以满足快速变化的市场需求。当然,这种通用平台的选择对于系统的最终性能也至关重要。当前CAD/CAM系统开发平台主要有ACIS,PARASOLID,CAS.CADE等。本文主要讨论基于ACIS(Verion6.0)几何平台开发三维变量化特征造型系统的一些关键技术,并在国产商品化CAD/CAM系统——“金银花”中予以实现。
2. ACIS开发平台
ACIS是美国STI公司(Spatial Technology Inc.)推出的具有开放式软件体系结构的实体造型软件开发平台。其特点包括:(1)是采用面向对象的数据结构,全部内容均由C++语言编写,由一系列C++类和函数组成,程序员在开发自己的应用系统时可以通过调用这些类和函数来获得强大的几何造型功能。(2)提供统一的数据结构,同时支持线框、曲面、实体三种模型并允许它们共存,ACIS实体BODY可以是这三种模型的一种或几种的组合,对线性和二次几何采用解析方法表示而自由几何体则采用非均匀有理B样条(NURBS)来表示。(3)ACIS是采用边界表示(B-rep)的几何建模器,边界由封闭面集所构成,该边界将ACIS实体与外界空间划分开来。(4)除了流型,ACIS也支持非流型几何体的表示,这对于存在悬边、悬面等特殊的几何拓扑体的表示是极端重要的。STI公司的目标是在CAD/CAM/CAE及相关的应用领域推进面向对象的三维实体造型技术;推动在开放的公共体系结构上采用软件组件技术;使得采用开放建模技术的独立的软件组件开发商,根据自己的需求自由选择最佳组件产品。目前世界上已有数百家基于ACIS的软件开发商和应用商,其中包括Autodesk,Bentley,Intergraph等。国内也有一些软件开发商陆续购买了ACIS作为其CAD/CAM系统的开发平台,如广州红地的“金银花”、华中理工的InterSolid等都采用了ACIS作为其几何造型平台。
2.1 ACIS系统体系结构简介
由于ACIS是完全基于组件技术开发的,其所有基础功能均通过动态联接库DLL实现。在ACIS6.0中大约有五十多个DLL,所有这些DLL实际可划归为两部分:ACIS 3D Toolkit(核心模块)和Optional Husks(可选模块)。其中核心模块提供构造系统所需的基本功能(如:基本几何和拓扑、内存管理、模型管理、显示管理、图形交互等),这部分是ACIS几何建模的核心,类似于飞机的发动机,其中包括许多开发商的必选构件;而另一部分可选模块则提供一些更专业化和更高级的功能(如:高级过渡、高级渲染、可变形曲面、精确消影、拔模、抽壳、与CATIA和Pro/E等系统的数据接口等),这部分作为可选组件由用户根据实际开发的系统需要自由挑选、搭配和组合,当然用户也可用自己开发的组件取代ACIS的部分组件。
ACIS的各组件之间存在一定的依赖关系,详情可参见ACIS6.0组件依赖关系图,限于篇幅此处不再列出。
2.2 基于ACIS的应用系统开发模式
基于ACIS平台进行应用系统的开发一般可采用C++或者Scheme语言两种方式。由于C++语言功能强大,对于各种复杂应用均能提供全面支持,故被广泛采用;但Scheme语言提供一种更快捷、更简单、更高效的开发途径,在一些小型应用中使用较多。本文主要讨论使用C++语言进行应用开发的方式。
应用系统可通过三种接口访问ACIS提供的所有功能组件:应用编程接口(API函数)、直接操作接口(DI函数)、C++类(Class)。API函数是其中最主要的接口,在ACIS的不同版本中,底层数据结构可能改变但这些接口始终保持不变,而DI函数则由可能随着版本的改变而变化。另外,由于API函数内部封装了许多用于出错处理的宏,当对模型的修改或操作发生错误时,ACIS可以自动回溯到调用该API函数之前的状态,从而保证模型的稳定,也方便了系统的Undo/Redo操作。用户可以对ACIS的C++类直接实例化后使用,也可以派生自己的应用类。如图一示:.
3.变量化技术的发展(VGX技术)
随着CAD系统在工业界的广泛应用和发展,人们不再满足于无约束的自由造型方式,而对系统的修改和编辑功能提出了更高的要求,即“设计就是修改”;另一方面,设计本质上就是一个约束满足问题,由给定的功能、结构、材料及制造等方面的约束描述,经过反复迭代、不断修改从而求得满足设计要求的解的过程。因此,参数化技术和变量化技术应运而生,二者都属于基于约束的造型方法,都强调基于特征的设计、全数据相关,并可实现尺寸驱动设计修改等。但它们在约束的管理和处理机制上存在许多不同之处:参数化技术解决的是特定情况(全约束)下的结构形式比较定型的设计问题,参数与设计对象的控制尺寸有显式的对应关系,故约束的求解较简单;而变量化技术解决的是任意约束(包括几何、尺寸、工程约束)情况下的产品设计问题,通过求解一组联立方程组来确定产品的尺寸和形状。参数化技术应用最有代表性的是Pro/E系统,而变量化应用的代表是SDRC/I-DESA。
几 何 尺寸约束 代数分解 数值表达 代数求解 工程关系 数值分解 数值求解 可解 不可解 图二 VGX技术中约束求解机理
4. 特征造型技术简介
计算机集成制造系统(CIMS)和并行工程的发展,也自然要求作为其核心的造型技术在实体造型技术的基础上有一个质的飞跃,那就是定义统一的产品数据模型,顺利实现CAD/CAPP/CAM/PDM等系统间的信息交换、共享与集成。特征造型技术很好的适应了这一需求,为解决从产品设计到制造的一系列问题奠定了坚实的理论和技术基础。
特征是由一定的几何、拓扑信息与一定的功能和工程语义信息组成的集合,是定义产品模型的基本单元。基本特征的属性包括尺寸属性、精度属性、装配属性、功能属性、工艺属性、管理属性等。这种面向设计和制造过程的特征造型系统,克服了传统实体造型系统的缺陷,由于它不仅含有产品的几何形状信息,而且将公差、粗糙度、孔、槽等工艺信息也保存在特征模型中,所以易于CAD/CAPP/CAM的集成,也大大方便了数控加工代码的自动生成。因此,基于特征的建模方法成为了国际标准STEP的集成产品信息模型(IPIM)的核心。
特征造型技术往往与参数化、变量化技术有机结合,共同构成参数化/变量化特征造型系统。这类系统由于与特征的创建历史相关,通常在模型修改系统重建时导致无效特征、特征干涉、特征语义发生变化以及重建效率低下等问题。为解决这类问题,许多学者都提出了一些较好的解决方案,如:前面提到的VGX技术,以及语义特征建模技术(见参考文献6)等。