ACIS-HOOPS新手上手学习方法
时间进度安排:
开始学习————————————————————————————————————1.5天 环境准备————————————————————————————————————0.5天 学会ACIS造型方法——————————————————————————————— 1天 在工程中实现对四面体的“实时拖动变形”功能————————————————— 1天 掌握acispartview工程功能实现机制——————————————————————— 1天 Acispartviewer的修改:实现三维立方体的功能—————————————————— 2天 参数化驱动 三维立方体的功能——————————————————————————2天 三维立方体功能的产品化—————————————————————————————2天
如何学习ACIS和HOOPS
学习前所具备的知识及能力:
具备C/C++基础,MFC基础,熟悉pro_e UG 等3D软件的一种。
开始学习
首次接触ACIS和HOOPS不是马上进行学习,而是应该了解HOOPS和ACIS到底是是什么,有什么用。
ACIS是什么?
(以下内容来自百度百科)
ACIS是由美国Spatial Technology公司推出的,Spatial Technology公司成立于1986年,并于1990年首次推出ACIS。ACIS最早的开发人员来自美国Three Space公司,而Three Space公司的的创办人来自于Shape Data公司,因此ACIS必然继承了Romulus的核心技术。ACIS的重要特点是支持线框、曲面、实体统一表示的非正则形体造型技术,能够处理非流形形体。
ACIS是用C++构造的图形系统开发平台,它包括一系列的C++函数和类(包括数据成员和方法)。开发者可以利用这些功能开发面向终端用户的三维造型系统。ACIS是一个实体造型器,但是线框和曲面模型也可以在ACIS中表示。ACIS通过一个统一的数据结构来同时描述线框、曲面和实体模型,这个数据结构用分层的C++类实现。ACIS利用C++的特点构造了标准的、可维护的接口。API函数在不同ACIS版本之间保持一致性,而类及其接口函数则可能改变。ACIS中应用到的主要C++概念包括:数据封装、类构造重载、构造拷贝、类方法和操作符重载以及函数重载等。C++没有提供描述几何体的数学基本类,ACIS提供了一些C++基类实现这个功能,并且利用C++的特性可以对它进行了扩充,这样ACIS就可以支持任意几何体的定义和构造功能。
ACIS是美国Spatial Technology公司推出的三维几何造型引擎,它集线框、曲面和实体造型于一体,并允许这三种表示共存于统一的数据结构中,为各种3D造型应用的开发提供了几何造型平台.Spatial Technology公司在1986年成立,目前ACIS 3D Toolkit在世界上已有380多个基于它的开发商,并有180多个基于它的商业应用,最终用户已近一百万.许多著名的大型系统都是以ACIS作为造型内核,如AutoCAD,CADKEY,Mechanical Desktop,Bravo,TriSpectives,TurboCAD,Solid Modeler,Vellum Solid等.
ACIS主要功能是用来构建和保存读取实体数据,并对这些数据进行处理。注意:ACIS无法在窗口中显示图形,你能看到的只是一些数据。
Hoops是什么?
(以下内容来自百度百科)
HOOPS 3D Application Framework (HOOPS/3dAF)是由Tech Soft America公司开发并由Spatial再次销售的产品,该产品为当今世界上领先的3D应用程序提供了核心的图形架构和图形功能,这些3D应用程序涉及 CAD/CAM/CAE、工程、可视化和仿真等领域。有了HOOPS/3dAF,用户就站在一个高起点上,能够快速和有效地开发和维护高性能的用户应用程 序。用户通过将HOOPS/3dAF集成到相应的软件开发中,可以更好地管理开发成本、优化资源和缩短产品上市时间。 这里HOOPS可以将ACIS中的数据以图形的方式在窗口中显示出来。 学习过程中,可以花少量时间上网查询相关内容,了解ACIS和HOOPS的相关内容,方便更好的理解相关内容。(以上内容花半天的时间了解)
ACIS的学习
了解完ACIS和HOOPS相关知识后,接下来我们要具体学习ACIS方面的相关知识。 抓住一个核心:ACIS的数据结构,即ACIS模型的拓扑结构,如下图,阅读教材:《基于ACIS的几何造型技术与系统开发》的第1,2,3章章节内容(4-12章粗略阅读,有个大致印象即可,不必详读)。
hoops的学习
合理安排时间,在学习ACIS的同时,也要对hoops的相关内容有所掌握,结合PPT文档《HOOPS基础培训课程》,理解hoops中相关组件的作用。
? HOOPS/3dGS:
场景图API ? HOOPS/MVO:
实现了3D应用程序框架的功能
? 模型:文件的输入输出,模型的管理 ? 显示:文字和相机的管理 ? 操作:对象操作的管理
? HOOPS/MFC
封装了所需要的操作
? 与窗口的连接,获得窗口句柄和窗口的ID号 ? 将鼠标和键盘事件映射到了HOOPS/MVO ? 封装了剪贴板,打印机和打印机预览
? HOOPS/Stream
支持HSF的读写功能
? 数据是高度压缩的,大大缩短传输时间 ? 数据的分类,流化处理 支持2D和3D
? 支持3dGS中所有的几何体
? HOOPS/GM Bridge
连接HOOPS与建模内核(如ACIS)
? 封装了连接模型与HOOPS几何的函数 将模型映射到HOOPS几何
? 读写SAT文件
? 选择与高亮显示的处理
? 当创建和更新模型的时候,图形数据也被创建和更新
? HOOPS ACIS Bridge是ACIS组件的一部分
环境准备
通过前面的内容学习,我们对ACIS和HOOPS作用及相关内容有了初步的认识,接下来将要搭建学习后续知识的平台。 acispartview是一个简单的小型ACIS/HOOPS三维CAD平台,ACIS是一个几何造型引擎,HOOPS是图形显示平台,通过学习该平台,可以概况地了解基于ACIS/HOOPS的三维CAD系统的基本结构。(参考文档《ACIS-HOOPS造型学习方法.doc》中第二部分,工程设置入门) 该平台的搭建工作可能遇到各种问题:(最好将ACISR15和HOOPS1220放在根目录下)
1 没有找到头文件和动态库文件
操作系统环境变量设置:添加如下环境变量:1)A3DT<自定义目录>\\acisR15\\include2)HOOPS<自定义目录>\\Hoops1220\\Dev_Tool
在VC6.0中的菜单项tools->options的Directories选项卡中 include files和Library files的Directories添加:
2 运行activeproject.exe时发现缺少dll文件
找到上图中的文件并将其放在activeproject.exe的文件夹内即可。
如遇到其它问题可参考文档《ACIS-HOOPS造型学习方法.doc》中工程设置的内容。
工程运行及效果 将工程运行起来,加载部分sat文件,观察并实验工具栏上部分按钮的功能及效果。
掌握工程中的基础技术
学会ACIS造型方法
活学活用ACIS造型方法,可以从构造一个几何体开始。仔细阅读并理解教材《基于ACIS的几何造型技术与系统开发》中第十三章,第十四章的内容。掌握构造一个实体模型的基本方法和各个API的使用方法。教材中涉及的Scheme语言暂不学习。 以下是构建一个实体的基本方法: