ACIS基础培训课程安排.ppt
《ACIS基础培训课程安排.ppt》由会员分享,可在线阅读,更多相关《ACIS基础培训课程安排.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ACISACIS基础培训课程安排基础培训课程安排属性属性3 3ACIS MFCACIS MFC3 3历史机制历史机制3 3错误处理错误处理3 3HOOPSHOOPS介绍介绍3 3MFCMFC环境和环境和ACISACIS3 3属性(Attribute)n n所有从ENTITY派生的类都可以拥有属性n n属性是在属性类ATTRIB中实现的n n属性可以保存n n两个主要目的为了实现功能所做的记号为了实现功能所做的记号n n由由SPATIALSPATIAL开发和实现开发和实现n n由开发者定义实现由开发者定义实现作为属性信息,应用程序的最终用户将会用到作为属性信息,应用程序的最终用户将会用到n n由
2、开发者定义,应用程序的最终用户使用由开发者定义,应用程序的最终用户使用实体和属性之间的关系ENTITYATTRIBATTRIBATTRIBATTRIBNULLNULLATTRIB类ENTITYATTRIBOrganization Attribute ClassApplication Specific Attribute Class从ENTITY类派生是一个抽象类组织实行(Organization Attribute)类从ATTRIB类派生应用程序特定属性(Application Specific Attribute)类从组织属性类派生SPATIAL定义的属性n n每个组件有各自的属性实现特定的
3、功能每个组件有各自的属性实现特定的功能 如混合如混合(blend)(blend)的半径和颜色的半径和颜色n n普通属性普通属性(Gentric Attribute)(Gentric Attribute)普通属性类来存储一个字符串或一个字符串及其相关普通属性类来存储一个字符串或一个字符串及其相关联的一个属性值联的一个属性值(value)ATTRIB_GEN_NAME(value)ATTRIB_GEN_NAME 属性值可以是属性值可以是integer,real,string,position,integer,real,string,position,vector,pointer,vector,po
4、inter,指向指向ENTITYENTITY的指针的指针从从ATTRIB_GEN_NAMEATTRIB_GEN_NAME派生派生n n缩短了用户开发的时间缩短了用户开发的时间n n良好的兼容性良好的兼容性用户自定义属性n n定义组织属性类用户有必要使用用户有必要使用”sentinel”,SPATIAL”sentinel”,SPATIAL的技术支的技术支持持n n应用程序特定属性类应该从组织属性类派生n n其它子类可以从应用程序特定属性类中派生n n开发者可以定义属性中包含的数据n n因为ATTRIB类是从ENTITY类派生的,因此用户在定义自己的属性时,掌握保存/恢复机制是很有帮助的,尤其是用
5、户自定义的属性中包含ENTITY*时以颜色属性为例n n在ACIS中颜色是通过属性来实现的ENTITYATTRIBATTRIB_STATTRIB_RGB组织属性类应用程序特定属性类ATTRIB类的重要方法n nvirtual void ATTRIB:split_owner(ENTITY*)virtual void ATTRIB:split_owner(ENTITY*)n nvirtual void ATTRIB:merge_owner(ENTITY*,lotical)virtual void ATTRIB:merge_owner(ENTITY*,lotical)n nvirtual void
6、ATTRIB:trans_owner(SPAtransf const&)virtual void ATTRIB:trans_owner(SPAtransf const&)ACIS MFCn nACIS MFCACIS MFC 从从ACIS R11ACIS R11开始开始,完全放弃使用完全放弃使用ACIS MFCACIS MFC 原因是原因是ACISACIS的一些显示组件的一些显示组件(如如GLGL和和GI)GI)已经完全放弃使用已经完全放弃使用ACIS HOOPS AppWizardn nACIS HOOPS AppWizard 提供类似提供类似ACIS MFCACIS MFC的基本功能的基本
7、功能 由由SPATIAL JAPANSPATIAL JAPAN开发和维护开发和维护ACIS HOOPS AppWizard主要特点n n使用使用HOOPSHOOPSn n不用学习不用学习HOOPSHOOPS就可以使用就可以使用HOOPSHOOPS基本的图形功能基本的图形功能n n如果用户仅仅需要用到一些基本的图形功能如果用户仅仅需要用到一些基本的图形功能,那么就不需要直接那么就不需要直接用用HOOPSHOOPS来编程来编程,也就是说使用这个也就是说使用这个AppWizardAppWizard就已经足够了就已经足够了 使得开发者在开发地初级间断可以将经理集中在使得开发者在开发地初级间断可以将经理
8、集中在ACISACIS上上n n如果需要的话如果需要的话,开发者可以直接使用开发者可以直接使用HOOPSHOOPS来扩展应用程序的图来扩展应用程序的图形显示能力形显示能力n n提供一些示例源代码提供一些示例源代码 可以学习如何使用可以学习如何使用ACISACIS和和InterOpInterOpn n和和ACIS MFCACIS MFC结构类似结构类似 利用原有的利用原有的AICS MFCAICS MFC用户顺利地使用用户顺利地使用GI/GLGI/GL组件过度到使用组件过度到使用HOOPSHOOPS来来显示显示n n快速搭建测试环境快速搭建测试环境历史机制(History mechanism)n
9、 n历史机制是什么历史机制是什么?可以实现撤销可以实现撤销/恢复恢复(Undo/Redo)(Undo/Redo)UndoUndo向后滚动向后滚动(roll back)(roll back)RedoRedo向前滚动向前滚动(roll forward)(roll forward)n n四个主要的类四个主要的类 BULLETINBULLETIN BULLETIN_BOARDBULLETIN_BOARD DELTA_STATEDELTA_STATE HISTORY_STREAMHISTORY_STREAMn n最常用的最常用的APIAPI函数函数 api_part_start_state()api_p
10、art_start_state()api_part_note_state()api_part_note_state()历史的基本类n nDELTA_STATEDELTA_STATE 是实现是实现Undo/RedoUndo/Redo的一个单元的一个单元n nBULLETIN_BOARDBULLETIN_BOARD 基本上调用一个基本上调用一个APIAPI函数都会创建一个函数都会创建一个n nBULLETINBULLETIN 记录记录ENTITYENTITY改变前和改变后的状态改变前和改变后的状态DSDSBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB练习:历史机制n n目标是通过使用
11、目标是通过使用ACIS HOOPS AppWizardACIS HOOPS AppWizard增加对历史机增加对历史机制的理解制的理解 使用使用ACIS HOOPS AppWizardACIS HOOPS AppWizard创建一个新的工程创建一个新的工程“History”“History”作为示例作为示例AppWizardAppWizard重一斤个实现重一斤个实现Solid BlockSolid Block的创建的创建 编译和构建工程编译和构建工程 将实现函数将实现函数“api_make_gear”“api_make_gear”的文件复制到该工程文件夹,并加入的文件复制到该工程文件夹,并加入
12、到该工程中到该工程中 在菜单中加入在菜单中加入“Gear”“Gear”,参考,参考Solid BlockSolid Block的实现,实现创建齿轮的的实现,实现创建齿轮的命令命令练习:历史机制n n续上页续上页 注释掉注释掉”API_BEGIN”API_BEGIN”和和“API_END”“API_END”宏,并哼名一个宏,并哼名一个outcomeoutcome类型的变量类型的变量resultresult 使用使用“api_solid_cylinder_cone”“api_solid_cylinder_cone”函数创建一个半径为函数创建一个半径为3 3,高度为,高度为2020的圆的圆柱柱 从从
13、gear bodygear body中湔区圆柱中湔区圆柱 注释掉注释掉”check_outcome(result);”check_outcome(result);”行行int depth=0;int depth=0;api_part_start_state(depth);api_part_start_state(depth);/API_BEGIN/API_BEGINoutcome result=api_make_gear(pBody);outcome result=api_make_gear(pBody);/check_outcome(result);/check_outcome(result
14、);/创建圆柱创建圆柱/从齿轮中减去该圆柱从齿轮中减去该圆柱if(result.ok()m_pAHDoc-AddEntity(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);/API_END/API_ENDapi_part_note_state(result,depth);api_part_note_state(result,depth);练习:历史机制int depth=0;int depth=0;api_part_start_state(depth);api_part_start_state(depth);outcome result=api_
15、make_gear(pBody);outcome result=api_make_gear(pBody);BODY*pCyl;BODY*pCyl;SPAposition p3(0,0,-10);SPAposition p3(0,0,-10);SPAposition p4(0,0,10);SPAposition p4(0,0,10);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPApositi
16、on*)NULL,pCyl);result=api_subtract(pCyl,pBody);result=api_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_state(result,depth);api_part_note_state(result,depth);DSBBBBBBBBBBBBBBB练习:历史机制 修改修改UNDO/REDOUNDO/REDOn n创建菜单创建菜单“Gear2”“Gear2”并
17、复制并复制GearGear实现的代码实现的代码n n按下面的程序进行相应的修改按下面的程序进行相应的修改int depth=0;int depth=0;api_part_start_state(depth);api_part_start_state(depth);outcome result=api_make_gear(pBody);outcome result=api_make_gear(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_st
18、ate(result,depth);api_part_note_state(result,depth);api_part_start_state(depth);api_part_start_state(depth);BODY*pCyl;BODY*pCyl;SPAposition p3(0,0,-10);SPAposition p3(0,0,-10);SPAposition p4(0,0,10);SPAposition p4(0,0,10);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);resu
19、lt=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);if(result.ok()m_pAHDoc-AddEntity(pCyl);if(result.ok()m_pAHDoc-AddEntity(pCyl);api_part_note_state(result,depth);api_part_note_state(result,depth);api_part_start_state(depth);api_part_start_state(depth);result=api_subtract(pCyl,pBo
20、dy);result=api_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-UpdateEntity(pBody);if(result.ok()m_pAHDoc-UpdateEntity(pBody);api_part_note_state(result,depth);api_part_note_state(result,depth);练习:历史机制int depth=0;int depth=0;api_part_start_state(depth);api_part_start_state(depth);outcome result=api_make
21、_gear(pBody);outcome result=api_make_gear(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_state(result,depth);api_part_note_state(result,depth);api_part_start_state(depth);api_part_start_state(depth);BODY*pCyl;BODY*pCyl;SPAposition p3(0,0,-10);SPA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ACIS 基础 培训 课程 安排
限制150内