ACIS基础培训课程.ppt
ACISACIS基础培训课程安排基础培训课程安排ACISACIS概述概述1 1ACISACIS主要功能主要功能1 1ACISACIS体系结构体系结构1 1SchemeScheme语言和语言和ACIS SchemeACIS Scheme1 1如何使用联机帮助如何使用联机帮助1 1ACISACIS模型表示(模型表示(B-repB-rep)1 1ACIS C+ACIS C+应用程序体系结构应用程序体系结构1 1简介:简介:ACIS Win32ACIS Win32控制台应用程序控制台应用程序1 1简介:从简介:从SchemeScheme到到C+C+1 1ACIS概述n n关于SpatialSpatialSpatial公司成立于公司成立于19861986年,公司成立时主要年,公司成立时主要经营经营CAMCAM软软/硬件产品硬件产品20002000年年1111月,达索公司收购了月,达索公司收购了SpatialSpatial公司的公司的ACISACIS部门部门ACIS概述n n主要特点面向对象的建模内核面向对象的建模内核用用C+C+语言开发语言开发组件体系结构组件体系结构混合建模技术,可以处理混合建模技术,可以处理 点点/线线/面面/体体内含内含SchemeScheme应用程序应用程序支持多种主流平台支持多种主流平台Windows NT/2000/XP,UNIX,Linux,MACWindows NT/2000/XP,UNIX,Linux,MACACIS概述Pro/ESTEPVDA/FSCATIA V4IGESUGParasolidSolidWorksInventorInterOpSATACISACIS B-Rep3D 模型HOOS渲染ACIS 主要功能n n建模功能点点/线线/面面/体的创建和删除,布尔操作,混合,体的创建和删除,布尔操作,混合,扫略扫略SweepingSweeping,蒙面,蒙面SkinningSkinning,放样,放样LoftingLofting,局部操作,局部操作Local OperationLocal Operation,规则,规则LawLaw,覆盖,覆盖CoveringCovering,交线,抽壳,交线,抽壳n n框架功能/实用程序网格(多面体近似),零件管理,历史管理,网格(多面体近似),零件管理,历史管理,属性,单元拓扑属性,单元拓扑Cellular TopologyCellular Topology,欧拉操,欧拉操作,特征注释作,特征注释体系结构概述3个接口高低直接访问接口APIScheme用户应用程序简介:Scheme语言和ACIS schemeScheme语言是什么?从LISP语言派生出来的一种解释性语言类似于面向对象SPATIAL扩展了Scheme语言是的用户可以测试ACIS功能,称之为Scheme AIDE(ACIS Interface Driver Extension)简介:Scheme语言和ACIS scheme练习:Scheme AIDE基础启动Scheme退出Scheme创建一个dl视图创建一个gl视图创建一个方块block创建一个圆柱cylinder等轴测Isometric视图写sat文件清除一个零件都sat文件视图操作front,top,right鼠标和视图操作编辑器基本操作运行示例其他有用的函数简介:Scheme语言和ACIS scheme练习:Scheme AIDE基础可执行程序Acis3dt.exebinnt_dll环境变量A3DT-ACIS安装目录ARCH-库类型LOADPATH-scm文件保存目录PATH-可执行文件运行时所需库文件的路径简介:Scheme语言和ACIS scheme练习:Scheme AIDE基础启动acis3dt.exe输入“(exit)”退出重新打开acis3dt.exe应用程序简介:Scheme语言和ACIS scheme练习:Scheme AIDE基础(view:dl 0 0 400 400)(view:gl 400 0 400 400)(solid:block(position 0 0 0)(position 10 10 10)(solid:cylinder(position 0 0 0)(position 0 0 20)5)(map iso(part:views)(part:save“c:/training.sat”)简介:Scheme语言和ACIS scheme练习:Scheme AIDE基础(part:clear)(part:load“C:/training.sat”)(front)(top)(right)简介:Scheme语言和ACIS scheme鼠标左键:旋转鼠标右键:缩放左键右键:平移中键:平移中键左键:缩放中键右键:旋转简介:Scheme语言和ACIS schemeWinScheme编辑器中的基本操作 范例程序 ACIS联机帮助中包含很多范例程序简介:Scheme语言和ACIS schemeAIDE的其他有用功能Scm文件拖放Sat文件拖放“/|”键可以调用以前的命令“ESC”键可以删除正在处理的命令行简介:Scheme语言和ACIS schemeScheme语言ScmObj(command ScmObj ScmObj)例(define mylist(list“abc”1“xyz”(+1 1)简介:Scheme语言和ACIS schemeScheme扩展:通过扩展scheme命令可以实现ACIS的功能ScmObj(command ScmObj ScmObj)简介:Scheme语言和ACIS schemeScheme标准命令DefneMapListList-refLengthDoCondLambda=NotEq?Scheme AIDE C+命令Solid:blockpositionSolid:unitegvectorView:dltransform:rotationEntity:debug face:planeSweep:lawScheme AIDE Scheme命令Isopick-faceFrontzoom-allTopzoom-windowRightpick如何使用联机帮助联机帮助:Scheme模板Scheme名称Action:动作。作用(Obsolete:不再使用)Filename:实现该命令的C+文件APIs:使用到的APISyntax:语法定义Arg Types:参数列表Returns:返回值Errors:可能的错误Description:函数说明Arguments:相关参数的说明Limitations:函数限制或无特别说明(一般无限制)Example:示例源代码联机帮助:函数模板Global Function:函数名称Short Role:简介Role:解释Errors:可能的错误Effect:ReadonlyLimitations:函数限制或无需特别说明(一般无限制)Parameters:参数列表File name:定义函数所用到的文件名联机帮助:类模板Class:类名Usage:基类或派生类Short Role:简介Role:解释Limitations:函数限制或无需特别说明See also:相关类Constructor Index:构造函数索引Method Index:方法函数索引Constructor:构造函数列表Method:方法函数列表File Name:定义类所用到的文件名ACIS模型表示(B-Rep)几何(geometry)拓扑(topology)ACIS模型表示(B-Rep)拓扑简介:BODY(体):一个模型单元,最高级别的拓扑类Solid Body,Sheet Body,Wire BodyFACE(面):一个面(如球面)或由多张面经过缝合构成一个Solid body或Sheet BodyEDGE(边):一条线或首尾相连的线将构成Wire Body练习预备知识创建一条边(EDGE)和Wire Body创建一条边(EDGE)(edge:lineatposition|point|entray position|point|entray)由多条边创建Wire Body (wire-body entity-list)练习预备知识扫略(sweeping)扫略操作方法指的是沿着某条路径拉伸轮廓、边或wirebody,或者将轮廓绕某个轴旋转来创建solidbody或sheetbody例)(sweep:law profile(gvector 0 0 3)(sweep:law profile(position 0 0 0)(gvector 0 0 1)练习:ACIS Scheme初始化一个零件删除所有的视图创建一个dl视图设置成iso视图定义点p1定义点p2定义点p3创建并定义EDGE e1创建并定义EDGE e2创建并定义EDGE e3用e1,e2,e3创建一个WireBody扫略该WireBodyACIS C+应用程序基础知识初始化api_start_modeler()api_initialize_造型事件处理(如菜单)调用造型函数终止api_terminate _api_initialize_modeler()应用程序ACIS C+应用程序基础知识实用类:SPAposition,SPAvector,SPAunit_vectorSPAposition p1(0,0,0);SPAposition p2=SPAposition(10,10,10)SPAvector vec1(0,0,10);SPAvector vec2=p1-p2;SPAvector vec3=vec1*vec2;/叉乘SPAvector vec4 vec1%vec2;/点乘ACIS坐标系是右手系HOOPS中缺省的坐标系是左手系,需调整ACIS C+应用程序基础知识ACIS API典型结构outcome api_NAME_function()API_BEGINcontentAPI_ENDreturn result;练习:Win32控制台应用程序环境变量A3DTACIS安装目录如:C:SpatialACIS17ARCH库类型如:NT_DLLDPATH可执行文件运行时所需库文件的路径A3DT%binnt_dlld练习:从Scheme到C+修改Win32控制台应用程序创建一个三角形SolidBody,替换方块SolidBody初始化一个零件删除所有的视图创建一个dl视图设置成iso视图定义点p1定义点p2定义点p3创建并定义EDGE e1创建并定义EDGE e2创建并定义EDGE e3用e1,e2,e3创建一个WireBody扫略该WireBody练习:从Scheme到C+通过练习创建并准备Scheme源代码创建并实现“api_make_triangle”代替“api_make_cuboid”参考Scheme源代码中使用的Scheme命令的联机帮助,然后打开联机帮助中注明的实现该功能的“CXX”文件练习:从Scheme到C+如果在Scheme源代码中没有使用合适的API函数,尝试以下方法或许可以从中获得提示1.在联机帮助中scheme文件相关联的component中进行查找2.打开“Global Function Index”来查找可能实现所需功能的相关函数3.打开“C+Master Index”查找可能实现所需功能的函数4.通过参数或返回值信息搜索练习:从Scheme到C+当上述方法不起作用时,确认是否存在以下问题1.是否在你的应用程序中已经调用了所有需要用到的组件的初始化和终止函数2.是否使用到的运行库和当前正在使用的配置(Debug/Release)一致3.是否定义的动态库的路径与当前起作用的环境中的设置一致?技术支持免费技术支持(Basic)可以访问spatial的官方网站,获得包括FAQs在内信息收费技术支持 电话,传真,email等方式与spatial技术人员取得联系 ACIS联盟 ACIS用户可以订阅免费的邮件列表范例练习:ACIS Scheme初始化一个零件删除所有的视图创建一个dl视图设置成iso视图定义点p1定义点p2定义点p3创建并定义EDGE e1创建并定义EDGE e2创建并定义EDGE e3用e1,e2,e3创建一个WireBody扫略该WireBody(part:clear)(map view:delete(part:views)(view:dl)(iso)(define p1(position-10-5 0)(define p2(position 10-5 0)(define p3(position 0 10 0)(define e1(edge:linear p1 p2)(define e2(edge:linear p2 p3)(define e3(edge:linear p3 p1)(define body(wire-body(list e1 e2 e3)(sweep:law body(gvector 0 0 10)范例练习:ACIS Scheme#include“ckoutcom.hxx”#include“swp_opts.hxx”#include“sweepapi.hxx”outcome api_make_triangle(BODY*&body)SPAposition p1(-10,-5,0);SPAposition p2(10,-5,0);SPAposition p3(0,10,0);EDGE*e1=NULL;EDGE*e2=NULL;EDGE*e3=NULL;BODY*wirebody=NULL;API_BEGINresult=api_curve_line(p1,p2,e1);result=api_curve_line(p2,p3,e2);result=api_curve_line(p3,p1,e3);范例练习:ACIS SchemeEDGE*edges3;edges0=e1;edges1=e2;edges2=e3;result=api_make_ewire(3,edges,wirebody);check_outcome(result);sweep_options*options=ACIS_NEW sweep_options();BODY*dmy=NULL;result=api_sweep_with_options(wirebody,SPAvecto(0,0,10),options,dmy);check_outcome(result);ACIS_DELETE options;API_ENDif(result.ok()body=wirebody;return result;