
ACIS基础培训课程1.ppt
39页ACIS基础培训课程安排,ACIS概述,关于Spatial Spatial公司成立于1986年,公司成立时主要经营CAM软/硬件产品 2000年11月,达索公司收购了Spatial公司的ACIS部门,ACIS概述,主要特点 面向对象的建模内核 用C++语言开发 组件体系结构 混合建模技术,可以处理 点/线/面/体 内含Scheme应用程序 支持多种主流平台Windows NT/2000/XP, UNIX,Linux,MAC,ACIS概述,Pro/E,STEP,VDA/FS,CATIA V4,IGES,UG,Parasolid,SolidWorks,Inventor,InterOp,,,,,,,,,,SAT,ACIS,,ACIS B-Rep,,3D 模型,,HOOS,渲染,,ACIS 主要功能,建模功能 点/线/面/体的创建和删除,布尔操作,混合,扫略Sweeping,蒙面Skinning,放样Lofting,局部操作Local Operation,规则Law,覆盖Covering,交线,抽壳 框架功能/实用程序 网格(多面体近似),零件管理,历史管理,属性,单元拓扑Cellular Topology,欧拉操作,特征注释,体系结构概述,3个接口,,高,低,直接访问接口,API,Scheme,用户应用程序,,,,,,,简介:Scheme语言和ACIS scheme,Scheme语言是什么? 从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.exe binnt_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 scheme,WinScheme编辑器中的基本操作 范例程序 ACIS联机帮助中包含很多范例程序,简介:Scheme语言和ACIS scheme,AIDE的其他有用功能 Scm文件拖放 Sat文件拖放 “/|”键可以调用以前的命令 “ESC”键可以删除正在处理的命令行,简介:Scheme语言和ACIS scheme,Scheme语言 ScmObj (command ScmObj ScmObj ),例(define mylist(list “abc” 1 “xyz” (+ 1 1))),简介:Scheme语言和ACIS scheme,Scheme扩展: 通过扩展scheme命令可以实现ACIS的功能,ScmObj (command ScmObj ScmObj ),简介:Scheme语言和ACIS scheme,Scheme标准命令 Defne Map List List-ref Length Do Cond Lambda = <= Not Eq?,Scheme AIDE C++命令 Solid:blockposition Solid:unitegvector View:dltransform:rotation Entity:debugface:plane Sweep:law,Scheme AIDE Scheme命令 Isopick-face Frontzoom-all Topzoom-window Right pick,如何使用联机帮助,联机帮助:Scheme模板,Scheme名称 Action:动作。
作用(Obsolete:不再使用) Filename:实现该命令的C++文件 APIs:使用到的API Syntax:语法定义 Arg Types:参数列表 Returns:返回值 Errors:可能的错误 Description:函数说明 Arguments:相关参数的说明 Limitations:函数限制或无特别说明(一般无限制) Example:示例源代码,联机帮助:函数模板,Global Function:函数名称 Short Role:简介 Role:解释 Errors:可能的错误 Effect:Readonly Limitations:函数限制或无需特别说明(一般无限制) 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 Body FACE(面): 一个面(如球面)或由多张面经过缝合构成一个Solid body或Sheet Body EDGE(边): 一条线或首尾相连的线将构成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 扫略该WireBody,ACIS C++ 应用程序基础知识,初始化 api_start_modeler() api_initialize_,造型 事件处理(如菜单) 调用造型函数,终止 api_terminate _ api_initialize_modeler(),,,,,,,应用程序,ACIS C++应用程序基础知识,实用类: SPAposition,SPAvector,SPAunit_vector SPAposition 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_BEGIN content API_END return result; ,练习:Win32控制台应用程序,环境变量 A3DTACIS安装目录 如:C:SpatialACIS17 ARCH库类型 如:NT_DLLD PATH可执行文件运行时所需库文件的路径 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函数,尝试以下方法或许可以从中获得提示,在联机帮助中scheme文件相关联的component中进行查找 打开“Global Function Index”来查找可能实现所需功能的相关函数 打开“C++ Master Index”查找可能实现所需功能的函数 通过参数或返回值信息搜索,练习:从Scheme到C++,当上述方法不起作用时,确认是否存在以下问题,是否在你的应用程序中已经调用了所有需要用到的组件的初始化和终止函数 是否使用到的运行库和当前正在使用的配置(Debug/Release)一致 是否定义的动态库的路径与当前起作用的环境中的设置一致?,技术支持,免费技术支持(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)) (。
