(整理)
平台:
造型引擎——ACIS
显示引擎——
Direct3D/OpenGL/GDI
应用框架——
HOOPS
组件关系图
![](https://p-blog.csdn.net/images/p_blog_csdn_net/feijj2002_/153762/o_solid18.bmp)
ACIS
——造型引擎
ACIS是美国Spatial Technology公司推出的三维几何造型引擎,它集线框、曲面和实体造型于一体,并允许这三种表示共存于统一的数据结构中,为各种3D造型应用的开发提供了几何造型平台.Spatial Technology公司在1986年成立,目前ACIS 3D Toolkit在世界上已有380多个基于它的开发商,许多著名的大型系统都是以ACIS作为造型内核,如AutoCAD,CADKEY,Mechanical Desktop,Bravo,TriSpectives,TurboCAD,Solid Modeler,Vellum Solid等。
ACIS 核心功能
3D 造型
3D 造型
Ø
将2D曲线经拉伸、旋转、扫掠等操作生成复杂的3D曲面或实体
Ø
高级倒角和圆角操作
Ø
网格曲面生成
Ø
阵列操作
Ø
实体抽壳和曲面加厚
Ø
曲线、曲面和实体的交互式弯曲、扭曲、延展、变形
Ø
曲线、曲面、实体的交、并、差运算
Ø
放样操作
Ø
模型中拔模面生成、曲面等距和移动
3D 模型管理
Ø
在模型的任何级别关联用户自定义的数据
Ø
跟踪几何和拓扑改变
Ø
计算质量和体积
Ø
使用单元拓扑表示实体模型子域
Ø
独立于历史流的无穷次的撤销(undo)和恢复(redo)操作
3D 模型显示
Ø
将曲面几何离散成多边形网格表示
Ø
利用可选可变形造型组件创建高级曲面
Ø
利用可选PHL V5 组件生成带隐藏线消除的精确2D工程图
Ø
利用Spatial提供的Tech Soft America的HOOPS/3dAF以及HOOPS/ACIS Bridge等产品搭建图形交互应用程序
ACIS是一个完整的modeling的内核,说白了就是一套用C++写的modeling类库,只要你掌握了这个库就可以完成所有的建模工作(基本上所有3D造型软件的功能他都有),但是这个库的易用性不够,所以在其上又开发了一些API进一步对底层的acis类库进行封装,而最上层则是现在非常流行的一中类lisp的解释器平台,应用scheme语言作为上层的开发语言,经过这么多步骤的封装,你只需要输入(block(0,0,0),(10,10,10))这个命令就能建立一个立方体,其他相似的简单命令就能完成很复杂的操作,已经相当于
AutoCAD里面的命令行模式了。
建立一个模型后不能只存为一个数据文件就完了,我们需要把这个模型显示在计算机屏幕上,并实时对他进行操作,这就需要一个图形显示引擎来干这个事儿了。
HOOPS是一个在底层图形驱动基础上开发的显示类库,他不是一个单独的图形显示引擎,而是对OpenGL、DirectX这些图形引擎进行封装和扩展的结果。他的最大优势是对大模型操作和显示的优化以及一种压缩比高,适合网络传输的stream模式。这两者都可以理解为对原有图形引擎的优化,使文件更小,运行更快。当然,灵活的对OpenGL和directX的支持也是其卖点,HOOPS保证自己能同步跟上OpenGL和DirectX的发展步伐并在其上做有益的改进。
ACIS是一个
B-rep建模引擎,它是通过定义几何对象的边界来表达一个实物。边界是可组成一个闭合区域的一系列面的集合。其拓扑结构如下图:
Body
模型对象的根结点,是块的集合,能描述线体、板体、实体,也能是几个彼此分离的体的集合,包含
0
个或多个
Lumps
。
Lump 空间有界的连通的区域。
用
Shell
约束的点的集合,一个实体上附加一个悬挂面也称为
Lump
。
Shell 一系列连通的Face / Wire 的集合。
线、面的集合,能位于实体外,也能在内部形成空洞。一个体含一个悬挂面,一个体内嵌许多和外表面相连的面都称为
shell
。
Face 广义的面。
ACIS
能定义无限薄的双面或单面
(
这种情况下,单面法向量指向面的一侧,实体材料存在于另一侧
)
。
Loop a connected series of coedges, Closed
Wire not attached to faces
Coedge Edge被多个Face引用。
ACIS
中允许边是一个、两个或多个面的交线,因此它能描述二流形体和非流形体。一条边由两条共边
(
有时也是单条共边
)
组成。
Edge one or more vertices。
边是多个面的交线时
(