欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    ACIS基础培训课程安排.ppt

    • 资源ID:5414565       资源大小:312.99KB        全文页数:33页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ACIS基础培训课程安排.ppt

    ACIS基础培训课程安排,属性(Attribute),所有从ENTITY派生的类都可以拥有属性属性是在属性类ATTRIB中实现的属性可以保存两个主要目的为了实现功能所做的记号由SPATIAL开发和实现由开发者定义实现作为属性信息,应用程序的最终用户将会用到由开发者定义,应用程序的最终用户使用,实体和属性之间的关系,ENTITY,ATTRIB,ATTRIB,ATTRIB,ATTRIB,NULL,NULL,ATTRIB类,从ENTITY类派生是一个抽象类组织实行(Organization Attribute)类从ATTRIB类派生应用程序特定属性(Application Specific Attribute)类从组织属性类派生,SPATIAL定义的属性,每个组件有各自的属性实现特定的功能如混合(blend)的半径和颜色普通属性(Gentric Attribute)普通属性类来存储一个字符串或一个字符串及其相关联的一个属性值(value)ATTRIB_GEN_NAME属性值可以是integer,real,string,position,vector,pointer,指向ENTITY的指针从ATTRIB_GEN_NAME派生缩短了用户开发的时间良好的兼容性,用户自定义属性,定义组织属性类用户有必要使用”sentinel”,SPATIAL的技术支持应用程序特定属性类应该从组织属性类派生其它子类可以从应用程序特定属性类中派生开发者可以定义属性中包含的数据因为ATTRIB类是从ENTITY类派生的,因此用户在定义自己的属性时,掌握保存/恢复机制是很有帮助的,尤其是用户自定义的属性中包含ENTITY*时,以颜色属性为例,在ACIS中颜色是通过属性来实现的,组织属性类,应用程序特定属性类,ATTRIB类的重要方法,virtual void ATTRIB:split_owner(ENTITY*)virtual void ATTRIB:merge_owner(ENTITY*,lotical)virtual void ATTRIB:trans_owner(SPAtransf const&),ACIS MFC,ACIS MFC从ACIS R11开始,完全放弃使用ACIS MFC原因是ACIS的一些显示组件(如GL和GI)已经完全放弃使用,ACIS HOOPS AppWizard,ACIS HOOPS AppWizard提供类似ACIS MFC的基本功能由SPATIAL JAPAN开发和维护,ACIS HOOPS AppWizard主要特点,使用HOOPS不用学习HOOPS就可以使用HOOPS基本的图形功能如果用户仅仅需要用到一些基本的图形功能,那么就不需要直接用HOOPS来编程,也就是说使用这个AppWizard就已经足够了使得开发者在开发地初级间断可以将经理集中在ACIS上如果需要的话,开发者可以直接使用HOOPS来扩展应用程序的图形显示能力提供一些示例源代码可以学习如何使用ACIS和InterOp和ACIS MFC结构类似利用原有的AICS MFC用户顺利地使用GI/GL组件过度到使用HOOPS来显示快速搭建测试环境,历史机制(History mechanism),历史机制是什么?可以实现撤销/恢复(Undo/Redo)Undo向后滚动(roll back)Redo向前滚动(roll forward)四个主要的类BULLETINBULLETIN_BOARDDELTA_STATEHISTORY_STREAM最常用的API函数api_part_start_state()api_part_note_state(),历史的基本类,DELTA_STATE是实现Undo/Redo的一个单元BULLETIN_BOARD基本上调用一个API函数都会创建一个BULLETIN记录ENTITY改变前和改变后的状态,练习:历史机制,目标是通过使用ACIS HOOPS AppWizard增加对历史机制的理解使用ACIS HOOPS AppWizard创建一个新的工程“History”作为示例AppWizard重一斤个实现Solid Block的创建编译和构建工程将实现函数“api_make_gear”的文件复制到该工程文件夹,并加入到该工程中在菜单中加入“Gear”,参考Solid Block的实现,实现创建齿轮的命令,练习:历史机制,续上页注释掉”API_BEGIN”和“API_END”宏,并哼名一个outcome类型的变量result使用“api_solid_cylinder_cone”函数创建一个半径为3,高度为20的圆柱从gear body中湔区圆柱注释掉”check_outcome(result);”行int depth=0;api_part_start_state(depth);/API_BEGINoutcome result=api_make_gear(pBody);/check_outcome(result);/创建圆柱/从齿轮中减去该圆柱if(result.ok()m_pAHDoc-AddEntity(pBody);/API_ENDapi_part_note_state(result,depth);,练习:历史机制,int depth=0;api_part_start_state(depth);outcome result=api_make_gear(pBody);BODY*pCyl;SPAposition p3(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_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_state(result,depth);,练习:历史机制,修改UNDO/REDO创建菜单“Gear2”并复制Gear实现的代码按下面的程序进行相应的修改,int depth=0;api_part_start_state(depth);outcome result=api_make_gear(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_state(result,depth);api_part_start_state(depth);BODY*pCyl;SPAposition p3(0,0,-10);SPAposition p4(0,0,10);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);if(result.ok()m_pAHDoc-AddEntity(pCyl);api_part_note_state(result,depth);api_part_start_state(depth);result=api_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-UpdateEntity(pBody);api_part_note_state(result,depth);,练习:历史机制,int depth=0;api_part_start_state(depth);outcome result=api_make_gear(pBody);if(result.ok()m_pAHDoc-AddEntity(pBody);api_part_note_state(result,depth);api_part_start_state(depth);BODY*pCyl;SPAposition p3(0,0,-10);SPAposition p4(0,0,10);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);if(result.ok()m_pAHDoc-AddEntity(pCyl);api_part_note_state(result,depth);api_part_start_state(depth);result=api_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-UpdateEntity(pBody);api_part_note_state(result,depth);,BULLETIN类,存储ENTITY类对象在创建、删除或修改时的信息拥有指向新的ENTITY和原来ENTITY的指针,BULLETIN类,NULL,ENTITY,ENTITY,old_entity_ptr(),new_entity_ptr(),BULLETIN,ENTITY,新创建的ENTITY,改变之后的ENTITY,修改之前的ENTITY拷贝,删除的ENTITY,Change Bulletin,Delete Bulletin,Create Bulletin,BULLETIN_BOARD类,一般来说一个API创建一个BULLETIN_BOARDAPI函数中的API_BEGIN,API_END宏对创建一个BULLETIN_BOARD通过API函数中的返回值outcome 可以得到指向相应的BULLETIN_BOARD的指针包含一个或多个BULLETIN,DELTA_STATE类,每个UNDO/REDO操作需要有一个DELTA_STATE每个DELTA_STATE可以包含一个或多个BULLETIN_BOARD,next(),prev(),DELTA_STATE,DELTA_STATE,BULLETIN,BULLETIN,BULLETIN,partner(),bb(),DELTA_STATE类,HISTORY_STREAM类,管理DELTA_STATE的实用类缺省情况下,系统启动时定义了一个HISTORY_STREAMapi_get_default_history()开发者可以设置roll back(UNDO)的最大次数HISTORY_STREAM:set_max_states_to_keep()零件(PART)类有一个指向HISTORY_STREAM的指针如果使用到PART类,开发者可以使用一些有用的API函数api_part_start_state()标志着一个DS的开始api_part_note_state()标志着一个DS的结束api_part_roll_n_states()UNDO或REDOapi_part_name_state()state命名api_part_rooo_to_state()移动到指定名称的state中PART:history_stream()得到HISTORY_STREAM,HISTORY_STREAM类,DELTA_STATE,DELTA_STATE,DELTA_STATE,DELTA_STATE,根DS,当前活动DS,创建DS,API_BEGIN,API_END宏,int depth=0;api_part_start_state(depth);result=api_make_gear();result=api_solid_cylinder_cone();result=api_subtract();api_part_note_state(result,depth);,API_BEGIN,API_END宏,int depth=0;api_part_start_state(depth);result=api_make_gear();result=api_solid_cylinder_cone();result=api_subtract();api_part_note_state(result,depth);,API_BEGIN,API_END,API_BEGIN,API_END宏,int depth=0;api_part_start_state(depth);result=api_make_gear();result=api_solid_cylinder_cone();result=api_subtract();api_part_note_state(result,depth);,API_BEGIN,API_END,API_NOP_BEGIN,API_NOP_END,API_NOP_BEGIN和API_NOP_END的效果和取消操作的效果一致,对应的两个宏之间的所有创建、修改和删除是无效的,因此用户需要注意在该宏对之内的ENTITY是否有效,出错处理(error handling),可以知道API函数调用的结果outcome:error_number()outcome:ok()check_outcome()函数为了创建稳定的API,这是必要的调用系统错误出错处理宏EXCEPTION_BEGIN,EXCEPTION_TRY,EXCEPTION_CATCH,EXCEPTION_ENDAPI_BEGIN,API_END,出错处理(error handling),明确地指出错误,并跟踪该过程中发生了些什么将api_solid_cylinder_cone()函数中的半径参数设置为0首先注释掉API_BEGIN和API_END运行程序,尝试Undo/Redo操作,int depth=0;api_part_start_state(depth);/API_BEGINoutcome result=api_make_gear(pBody);BODY*pCyl;SPAposition p3(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_subtract(pCyl,pBody);if(result.ok()m_pAHDoc-UpdateEntity(pBody);/API_ENDapi_part_note_state(result,depth);,出错处理(error handling),明确地指出错误,并跟踪该过程中发生了些什么(续上页)取消注释API_BEGIN和API_END移去api_make_gear()前的“outcome”在图示位置在每个api函数调用之后添加“check_outcome(result);”行运行程序,尝试Undo/Redo操作,int depth=0;api_part_start_state(depth);API_BEGINresult=api_make_gear(pBody);check_outcome(result);BODY*pCyl;SPAposition p3(0,0,-10);SPAposition p4(0,0,10);result=api_solid_cylinder_cone(p3,p4,3.0,3.0,3.0,(SPAposition*)NULL,pCyl);check_outcome(result);result=api_subtract(pCyl,pBody);check_outcome(result);if(result.ok()m_pAHDoc-UpdateEntity(pBody);API_ENDapi_part_note_state(result,depth);,出错处理宏,double*dbls=new doublen;/Temporary memorydelete dbls;,EXCEPTION_BEGINENTITY_LIST list;double*dbls=NULL;EXCEPTION_TRYEDGE*ent=new EDGE()list.add(ent);dbls=new doublen;EXCEPTION_CATCH(TRUE)delete dbls;EXCEPTION_END,HOOPS演示,模型精细度级别(Level Of Detail)支持不同的图形驱动接口 OpenGL/Windows GDI/切平面(Cutting Plane)动画Animation碰撞检查Collision detection,全部结束仅供参考学习Thanks,

    注意事项

    本文(ACIS基础培训课程安排.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开