ACIS系统架构

ACIS平台基本特性

ACIS是美国STI公司(Spatial Technology Inc.)推出的,具有开放式软件体系结构的实体造型软件开发平台。其特点包括:

  • 是采用面向对象的数据结构。全部内容均由C+语言编写,由一系列C+类和函数组成。程序员在开发自己的应用系统时,可以通过调用这些类和函数来获得强大的几何造型功能
  • 提供统一的数据结构。同时支持线框曲面实体三种模型,并允许它们共存。ACIS实体BODY可以是这三种模型的一种或几种的组合。对线性和二次几何采用解析方法表示,而自由几何体则采用非均匀有理B样条(NURBS)来表示。
  • ACIS是采用边界表示(B-rep)的几何建模器。边界由封闭面集所构成,该边界将ACIS实体与外界空间划分开来。
  • 除了流型,ACIS也支持非流型几何体的表示。这对于存在悬边,悬面等特殊的几何拓扑体的表示是极端重要的。

混合造型技术

ACIS是混合造型技术的代表,它是一个先进的三维的边界表示(B-rep)为主的几何造型工具。提供统一的数据结构,同时支持线框、CSG、B-rep三种模型,在需要的场合可以相互转换。混合造型建立在边界表示法(B-rep)和构造实体几何法(CSG)的基础上。在同一系统中将两者结合起来共同表示实体。

B-rep侧重面边界,因此在图形处理上有明显的优点,尤其是探讨形体详细的几何信息时,B-rep到数据模型可以较快地生成线框模型或面模型。

CSG强调过程,在整体形状定义方面精确严格。然而它不存储顶点、棱边、表面等形体的边界信息,也未显式定义三维点集与所表示形体在空间的一一对应关系,所以CSG树又被称为形体的隐式模型和算法模型。CSG树的缺点是不适合对集合物体形状作局部的修改,而且在生成工程设计中常用的线框图时效率很低。CSG数据结构简单,无论是数据量还是程序量,CSG均比B-rep简洁。

在实际应用中单纯的几何模型不能满足要求,往往需要在几何模型的基础上附加制造信息,构造产品模型。因此常常把CSG树与B-rep表示结合起来使用,相互补充。

在混合造型系统中,以CSG法为系统外部模型,CSG法适于做用户接口,方便用户输入数据,定义体素及确定集合运算类型。以B-rep法为系统内部模型将,CSG模型在显示的同时,生成B-rep模型以便存储形体更详细的信息。这相当于在CSG树结构的节点上扩充B-rep的数据结构,可以达到快速描述和操作模型的目的。CSG模型可以很容易的转换为B-rep模型,但B-rep模型转换为CSG模型却比较困难。

目前世界上已有数百家基于ACIS的软件开发商和应用商。其中包括Autodesk、Bentley、Intergraph等。国内也有一些软件开发商陆续购买了ACIS作为其CAD/CAM系统的开发平台,如广州红地的金银花,华中理工的InterSolid等都采用了ACIS作为其几何造型平台。

ACIS的软件组件技术

ACIS产品线一个软件组件是一个专业化的软件单元。即为了某种特殊目的或用途服务的软件元素(如函数类等)的集合。组件用来作为一个完整的软件产品的组成部分,一个完整的软件产品是由一个或多个软件组件组装而成的并作为一个软件包出售。组件可由不同的组合方式构成不同的产品。组件技术已成为当今软件开发的重要发展方向。ACIS的产品线是采用软件组件技术设计的,在公司成立之时就打起了软件组件技术和开放系统的旗帜。向传统的CAD/CAM领域发出了挑战。ACIS的产品线的目的是为虚拟制造提供一个通用的,具有很高的互操作性的开放平台。

ACIS的产品线由几何造型引擎ACIS3DToolkit和多个可选的组件构成。这些可独立出售的组件可以根据应用的需要加到ACIS内以增强其功能。一个ACIS产品就是一个集成在一起的,作为软件包出售的组件集合。软件组件技术的发展为大型复杂的三维CAD/CAM系统的开发提供了极好的解决之道。它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类复杂系统也可以“搭积式”的快速构建。

ACIS3DToolkit是核心组件。开发者可在它基础上构造自己的应用程序。它采用面向对象语言C++开发。提供了在一致的公共的数据结构之上的线框、曲面、实体的造型功能框架。具备三维造型的基本功能:如faceter、零件/模型管理、图形交互、基本显示、OpenGL显示等。除ACIS3DToolkit外,还有许多可选组件,比:ACIS
Deformable、Modeling Husk,ACIS Jet Scream Husk,Advanced Blending
Husk,Advanced Rendering Husk,Advanced Surfacing
Husk,Architecture,Engineering,Construction Husk,CATIA Translator
Husk,Cellular Topology Husk,Healing Husk,IGES Translator Husk,Local
Operations Husk,Mesh Surface Husk,Precise HiddenLine Husk,Pro/E
Translator Husk,Shelling Husk,Space WarpingHusk,STEPTranslator
Husk,VDA-FST ranslator
Husk另外还有许多第三方开发的组件。这些组件也同样可嵌入基于ACIS的应用中。所有ACIS的组件都采用软件组件的方法进行设计和包装。各个组件即相互独立又保持一个统一的结构层次关系。使得整个系统具有清晰的拓扑结构,有利于自身的开发以及用户的二次开发图。

建立在软件组件技术基础上的开放式体系结构,形成了ACIS的重要特色。可使不同用户不同应用,采用不同的组件组合。开发者也可以用自己开发的组件替代ACIS组件。ACIS的C++库由35个DLL组成。为开发者开发3D应用软件提供了极大的柔性和功能基础。开发者可以迅速把ACIS的新版本集成到产品中,例如Ashlar公司Vellum
Solids和Visionary Design
Systems公司IronCAD几乎在ACIS4.0面市的同时宣布推出其基于4.0的应用。

ACIS数据结构,几何体和拓扑体

ACIS是用C+构造的几何开发平台。包括一系列的C函数和类(包含数据成员和方法)。ACIS通过一个统一的数据结构来同时描述线框、曲面和实体模型。这个数据结构用分层的C类实现。标准C没有提供描述几何体的数学基本类,ACIS提供了若干C基本类实现这一功能,并且利用C+的特性对它进行扩充。这样ACIS就可以支持任意几何体的定义和构造。

几何体几何体(Geometry)是指组成模型的纯粹的几何元素,如点曲线和曲面等。这些元素之间不存在空间和拓扑关系。ACIS中几何体的实现方式有两种,即构造几何体和模型几何体。

构造几何体(ConstructionGeometry)指含有几何体的数学定义的C++类。构造几何体是一些小型的类,它们不能被直接作为用户模型的一部分保存在模型中,而是主要用于数学计算,也可以被包含在模型几何体中形成永久的实体对象。构造几何体类不含几何处理部分的定义,可以被直接送入求交器进行快速求交运算。在ACIS中构造几何体类的名称用小写字母表示,包括:

  • compcurv(复合曲线)
  • cone(圆锥体)
  • ellipse(椭圆面)
  • intcurve(插值曲线)
  • meshsurf(网格曲面)
  • plane(平面)
  • sphere(球面)
  • spline(样条曲线)
  • straight(直线)
  • torus(圆环面)。

例如sphere类是提供球面在xyz模型空间和uv参数空间中的数学定义的几何体类。它提供了sphere对象的构造、析构、修改、访问,以及求解的方法。该类不可以直接保存在ACIS的SAT文件中。

模型几何体(ModelGeometry)指为构造几何体增加模型操作功能的C++类。模型几何体类在几何体定义的基础上提供了模型操作功能。它把构造几何体类