三维CAD系统架构及系统开发技术简介课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《三维CAD系统架构及系统开发技术简介课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维 CAD 系统 架构 开发 技术 简介 课件
- 资源描述:
-
1、大家好大家好第13讲 三维CAD系统关键技术 及二次开发简介 13.1CAD系统功能需求及体系架构 13.1.1 三维CAD系统功能需求 13.1.2 三维CAD系统体系架构13.2CAD系统开发技术(选学)13.3CAD系统二次开发技术 13.3.1 基于通用CAD平台的开发(选学)13.3.2 工程数据处理组件开发 13.3.4 专业化应用组件开发(选学)本章目的 1了解三维CAD系统的需求及架构2、掌握工程数据常用处理方法3、了解三维CAD系统开发方法及二次开发过程13.1 CAD系统功能需求及体系架构13.1.1 CAD系统功能需求Solid Edge CATIAUG NXPro/EI
2、nventor目前最流行的三维CAD系统 美、法等国的CAD软件技术一直走在世界的前沿,它们拥有许多世界闻名的CAD/CAM系统,这些系统具备十分强大的功能。国内:清华大学、北航、新舟、浙大、华工 以国家863国产三维CAD系统评测要求为例,三维CAD基本功能需求:真正的产品创新设计有赖于三维CAD的应用;三维CAD采用直观的三维模型表达方式,能直观清晰地描绘更复杂的产品结构,能方便地将设计、分析、工艺和辅助制造系统相连接;CAD是CAE、CAPP、CAM集成的基础;三维CAD软件可大幅度的减少设计错误,提高产品设计质量,缩短产品研发周期。l 三维零件参数化特征建模功能l 二维工程图功能 l
3、三维零件装配功能 l 三维零件、装配与二维工程图关联功能l 数据接口功能 l 系统综合管理功能l 系统性能需求三维零件参数化特征建模功能三维零件参数化特征建模功能线框造型:线框造型:基本几何定义;曲线插值逼近;NURBS曲线;曲线组合、打断、光顺、延伸、修整、拼接、求交等;过渡、等距曲线和线性变距曲线;曲线变换(平移、旋转、镜像、阵列等);曲线分析与计算(切矢、曲率、坐标值反求参数值)等。曲面造型功能:曲面造型功能:曲面求交、延伸;直纹面、旋转面、扫成面、点阵面、NURBS曲面;给定边界定义曲面;曲面和变距曲面;曲面过渡、拼接、光顺、剪裁、修型;曲面分析与计算(切矢、法矢、曲率、坐标值反求U,
4、V参数);取子曲面片、曲面轮廓线、曲线在曲面上的投影;散乱点插值、数据预处理、特征点提取及光顺等。实体造型功能:实体造型功能:草图定义、编辑、约束、导航等;基本体素、自定义体素、体素库(体素库建立、查询、删除等维护);实体生成方法(平扫、旋转扫、广义扫、拔模、抽壳及其它方法);布尔运算(并、交、差);局部操作(剖切、圆角、倒角、局部拉伸);实体编辑(拷贝、镜像、阵列、删除、回退与重作、平移、旋转、缩放、几何元素查询、几何信息的修改);曲面转实体;三维实体向二维的转换(生成轮廓图及消隐);实体体积、质量、质心、惯性矩等计算。装配建模功能装配建模功能 装配建模:装配建模:装配环境下的零件建模,零件
5、导入、抑制、取消,装配约束管理(装配约束定义、装配约束求解),零件干涉检查,装配爆炸图生成等。装配管理:装配管理:装配结构树维护,生成零件BOM表。扩展功能:扩展功能:可装配性评价、装配动画仿真、机构运动仿真。三维零件、装配与二维工程图关联功能三维零件、装配与二维工程图关联功能零件、装配、工程图关联:三维模型变化则装配模型及二维图形自适应变化;二维图形主要参数变化则三维模型与装配模型自适应变化;装配模型变化则三维模型与二维图形自适应变化。数据接口功能数据接口功能 文件的输入及输出;具有某种国际标准接口(如IGES、STEP等);具有某种工业标准接口(如DXF、X_T、SAT、STL、VRML等
6、)。系统综合管理功能系统综合管理功能 用户界面:文字或图符菜单、下拉式菜单、动态弹出式菜单、对话框、命令语言、数字化仪、鼠标器、功能键、快捷键、提示信息、出错信息、动态导航功能等。二维工程图功能二维工程图功能(参见第4讲二维CAD系统,略)图形显示:视像定义与修改、多视口显示、动态显示、视图的管理、透明命令、图形缩放(Z00M)、图形曳移;曲面和线框图显示及轮廓图显示;实体及特征的真实图与简图显示(简图用于二维及三维布置);正投影图、轴测图、透视图、剖切图、消隐图;渲染图(真实感图);图像文件输出(GIF等光栅文件格式)。视图管理:视图投影设置、二维视图布局,标准视图和自定义视图输出、剖视,图
7、层控制功能。图纸输出:按比例输出图形及自动按图纸设定输出比例;输出图形预览及终止预览;对多张图纸进行编辑打印;绘图输出控制线型及粗细;打印机、绘图机驱动。13.1.2 CAD系统体系架构以天喻软件等六家单位申请项目“某航空集团企业创新设计平台”为例 该系统针对某大型集团企业的创新设计需求,不仅需要强大的通用功能,同时也需要较强的专业化设计功能,系统功能复杂。为此,采用四层体系结构,其中:系统支撑层:系统支撑层:提供CAD软件运行环境(如操作系统、网络协议、数据库管理、图形接口等)。基础核心层:基础核心层:提供共性基础构件,几何与拓扑核心数据结构,内存管理机制、基础算法引擎及方法。主要包括以下几
8、个方面:几何引擎几何引擎支持零件造型、装配造型、高级曲面造型等三维数字化设计功能,应具有接口兼容、功能齐全、计算稳定、几何覆盖域宽、多种造型统一表示、可扩展性等特点2D 2D、3D3D尺寸约束管理尺寸约束管理即变量化草图设计,能够支持2D设计、工程图和2D轮廓草图,2D轮廓草图能够有效地支持3D参数化实体模型;支持装配件和机构件的约束管理,能够支持3D草图、零件设计和装配设计。此外,支持欠约束和过约束设计并提供冲突检测管理,支持实时动态装配和机构运动仿真等。通用函数库通用函数库提高共享的常用数学运算方法(矢量、矩阵、方程求解、优化)。图形管理图形管理该模块包括线框显示、隐藏线消除、快速真实感图
9、形显示和高度真实感图形显示等三种不同层次的子模块,以满足多种形式的用户需求。专业应用层:专业应用层:提供面向航空制造应用设计分析工具,支持快速产品开发;接口工具集:接口工具集:提供系统内部各层间访问接口、外部数据交换接口、系统集成接口、用户二次开发接口。通用平台层:通用平台层:提供通用设计、分析工具构件,支撑用户进行产品结构设计、装配设计、工程绘图、工艺设计、数控代码生成。具体包括:特征设计工具:是基于参数化的实体造型。包括:草图设计、特征生成两个方面。曲面造型:曲面造型:是复杂形体型面造型的最有力的工具。包括直纹面、旋转面、扫描面、等距面、过渡面,曲面裁剪、拼接、缝合、延伸、求交等。零件设计
10、:零件设计:提供以特征为基础的零件设计和管理工具,与装配和工程图设计共同构成一个设计平台。装配设计:装配设计:支持复杂产品装配设计、干涉检查。提供面向设计群体的装配设计环境,支持参数化自动装配功能。工程图设计:工程图设计:主要包括图纸生成、编辑、管理及打印输出等。三维零件或装配模型能自动生成各种视图,填充剖面线等;具有国标尺寸标注、标题栏和明细表等。逆向工程工具:逆向工程工具:包括数据获取、噪声点过滤、残缺数据恢复、区域分割、特征提取、三角网格化、参数曲面拟合重建等功能,实现产品的快速原型设计。钣金设计工具:钣金设计工具:针对钣金零件的特点专门设计供处理钣金零件造型用的模块,它根据钣金零件的几
11、何特征进行钣金零件设计,钣金零件自动展开、自动排样计算。动画与仿真:动画与仿真:提供机构运动仿真、运动协调关系、运动范围设计、运动干涉检查;机械产品可装配性检查;提供产品真实效果显示,机器内部的漫游。其它设计工具集:其它设计工具集:包括标准件库工具,材料库工具,设计图表工具,计算工具,协同管理工具,知识管理工具等。13.2 CAD系统开发技术简介(选学)CAD技术从诞生至今已有近四十多年的历史,历经二维绘图、线框模型、自由曲面模型、实体造型、特征造型等重要发展阶段,其间还伴随着参数化(变量化)、尺寸驱动、知识融合等技术的融入。目前CAD技术在基础理论方面日趋成熟,并推出了许多商品化系统,诸如C
12、ATIA、UG、Pro/E、Solid Works等。通常CAD系统软件的开发方式主要可分为三种:1)大部分核心模块自主开发,少量模块及技术购买版权,该方式周期长、风险高,对CAD技术基础及软件开发技术要求高。2)基于通用CAD 系统的二次开发,如基于UG、AutoCAD等。目前商用CAD系统一般提供C,C等Api函数供用户二次开发。该方式风险小,见效快,适合企业进行专业化应用开发。3)基于商业化几何引擎平台(如Parasolid、ACIS等)的开发。此类开发较通用CAD平台的二次开发更能深入核心层,其难度及风险在二者之间,但引擎平台的版权费用昂贵。1)CAD系统开发技术概述CADCAD系统软
13、件开发的基本原则:系统软件开发的基本原则:1)支持多种主流的计算平台,包括Windows、UNIX等;2)采用面向对象技术,具有封装性、多态性、继承性,使对象模块化、即插即用;3)采用软件组件技术与开放式结构。基于组件技术可为设计者提供很大程度的柔性,这也为系统的开放性奠定良好的基础;4)支持混合维造型线框模型、曲面模型、实体模型,在数据结构层采用统一的精确边界表示,支持流形与非流形拓扑;5)支持约束驱动的参数化特征造型等用户化的功能;6)支持知识融合与知识重用,实现知识驱动的设计,提高系统智能化程度;7)支持装配、零件及工程图统一建模,并实现全关联设计;8)提供良好的图形交互、显示及渲染;9
14、)提供产品数据管理等功能,即提供了一个集造型、可视化、交互、数据管理为一体的集成化开发环境。2)基于商业几何引擎ACIS的开发技术介绍 目前市场上较为成熟的商用三维CAD几何引擎主要有ACIS、Parasolid等。其中:1)基于Parasolid开发的CAD系统UG、Solidworks、Solidedges等获得了广泛的应用;2)基于ACIS开发的CAD系统Inventor凭借AutoCAD拥有的市场优势得到迅速推广;3)也有研究机构基于开源几何引擎(CAS.CADE)进行研究开发。ACIS是美国Spatial Technology公司的三维几何造型引擎,它集线框、曲面和实体造型于一体,并
15、允许这三种表示共存于统一的数据结构中,为各种3D造型应用开发提供几何造型平台。ACIS ACIS 核心模块库:核心模块库:ACIS产品由两部分构成:核心模块(ACIS 3D Toolkit)和多种可选模块。在核心模块中提供了基本、通用功能,而在可选模块中提供了一些更为高级的和更专用的功能。其主要功能包括:构造曲面技术、求交与布尔运算、过渡曲面、模型分析、显示与交互、模型管理等。基于ACIS的开发接口有3种:API函数、C+类和DI函数。下图中AMFC(ACIS Microsoft Foundation Class Component)是专门为Microsoft Windows平台提供的与MFC
16、的接口。API函数:提供了应用与ACIS间的主要接口,应用通过调用API函数建立、修改或恢复数据,无论ACIS底层的数据结构或函数如何修改,这些函数在各版本中均保持不变。C类:ACIS以C+类的形式提供的接口,用于定义模型的几何、拓扑以及实现其它功能,开发者可根据需要从ACIS类派生出自己的类,类接口在各版本中可能变化。DI函数:提供不依赖于API而对ACIS造型功能可直接访问的接口,与API不同的是,这些函数在各版本中可能有变。ACISACIS接口方式接口方式ACISACIS数据结构数据结构如下图所示:图中的黑虚线框中是几何信息,蓝虚线框中是拓扑信息。几何(Geometry)、拓扑(Topo
17、logy)和属性(Attribute)构成了ACIS模型,三者统一由最基础的抽象类ENTITY所派生。ENTITY本身不代表任何对象,但在ENTITY中定义了所有子类应具有的数据和方法(如存储、恢复、回溯等)。ACIS采用CSGBREP混合数据结构,其中拓扑信息包括 BODY(体)、LUMP(块)、SHELL(壳)、SUBSHELL(子壳)、FACE(面)、LOOP(环)、WIRE(线框)、COEDGE(共边)、EDGE(边)和VERTEX(顶点)。ACIS把线框(WIREFRAME)、曲面(SURFACE)和实体(SOLID)模型存储在统一数据结构中,这种机制使ACIS支持混合维模型和各种非
18、闭合模型的统一建模。几何信息几何信息拓扑信息拓扑信息拓扑信息:拓扑信息:BODY:是ACIS模型中最高层次的实体;LUMP:一个有边界、连通的区域,一个BODY可有多个LUMP;SHELL:完全相连的面或线的集合;SUBSHELL:是为了内部计算加速需要增加的一个结构层次;WIRE:一组互连的边框的集合;FACE:是形体边界表面的一部分,一个面只有一个外环,可有 0 n个内环;所对应的几何信息为SURFACE。LOOP:是面的封闭边界的有向边(COEDGE)的集合,环有内环 和外环之分;COEDGE:形体边(EDGE)在一个面上构成环的有向边界情况,所对应的几何信息为PCURVE。EDGE:形
19、体棱边的表达,多为形体表面交线;一条边与多条 COEDGE关联;所对应的几何信息为CURVE。VERTEX:是面的角点,边的端点,对应的几何信息为APOINT。几何信息:几何信息:TRABNSFORM:实现体的模型变换;SURFACE:一个面(FACE)的数学定义(如B样条曲面);CURVE:交线边(EDGE)的数学定义(3维B样条曲线);PCURVE:面的有向边(COEDGE)的方程定义(2维B样条);APOINT:顶点的位置坐标定义(3维空间坐标)。utu2u1t2t1PS2S1S2wvw2w1v2v1PS1ACISACIS的拓扑及几何类成员访问关系的拓扑及几何类成员访问关系近年来,Spa
20、tial公司推出AGM框架,该框架建立在ACIS、HOOPS和InterOp基础之上的应用程序框架,右图所示为AGM的架构图。AGM中提供了对底层Spaital3D组件的访问接口,3D应用程序可使用AGM中提供的接口访问底层的3D组件,也可直接访问底层3D组件。AGM可选模块中提供了面向行业的应用,如创新的2D草绘模块、CAE前后处理模块、机构运动和仿真模块以及和解释性语言Scheme进行集成等,用户可在商品化软件中直接使用这些模块,大大简化这些行业用户的开发。目前,AGM 已经提供了对VC6.0和C+.NET平台的支持,而且AGM的内部是采用标准C+实现的,因此用户可以很容易移植到其它平台。
21、另外,用户可以参考AGM中提供的实例增加更加丰富的造型、可视化和数据交换等功能。AGM包括基本模块和可选模块。AGM基本模块中实现了ACIS模型和HOOPS显示对象之间的映射、模型建立和可视化范例、视图操作、检取高亮、历史回退管理以及显示对象保存等功能,用户可非常方便地进行建模和可视化操作。ACISACIS的的AGMAGM框架:框架:13.3 CAD系统二次开发技术13.3.1 基于通用CAD平台的开发(选学)1)基于CATIA的二次开发CATIA V5是达索公司推出的CAD软件,该软件能在Unix及Windows 等平台上运行,是目前市场影响最大的CAD软件。CATIA V5开放了大部分接口
22、,并提供了很好的二次开发平台。其二次开发主要有两种方法,采用CAA C+技术,或采用Automation技术。CAA方法(Component Application Architecture)CAA是CATIA的一套C+函数库。具有强大的交互、集成和用户特征定义功能,并有自己的体系架构。该函数库在CATIA运行时加载,用户可通过RADE模块在VC+编程环境下编写程序,与CATIA进行通信。基于CAA方法可进行最有效率的程序开发,可以进行从简单到复杂的二次开发工作,而且和原系统的结合非常紧密,但入门困难。Automation API 使用自动化接口的宏,采用交互方式定制,允许用户获取CATIA的
23、数据模型。该方法提供交互的方式,让用户记录操作过程,通过VB Script(或 Java Script)来录制宏,从而自动生成代码。Automation技术是建立在COM基础之上(如下图),提供了约360个接口对象。Automation技术并不直接处理数据,而是间接利用对象方法和属性来获取及处理数据,允许一个应用程序操作另一个应用程序。CATIA与应用程序之间传递消息用接口对象来与外部进行通信,接口对象就是API。使用Automation技术。Automation API具备了与任何OLE所兼容的平台进行通讯的能力。Automation方法使用VB语言开发相对容易些(VC较困难些)。一般先用宏
24、录制过程,然后将vB与catia链接,其流程如右图:例:用VB开发要对CATIA进行操纵,首先是要连接到他的COM接口,主要有GetObject和CreateObject两种方法。先用GetObject方法连接,即:Dim CATIA As Object On Error Resume Next CATIA的基本操作主要是通过几个API(Application Programming Interface)对CATIA进行文件操作,视图操作等。零件操作主要是进行CATIA实体建模,如草绘、约束、实体等操作。VB应用与CATIA通讯如果CATIA启动,用GetObject连接到CATIASet C
25、ATIA=GetObject(,CATIA.Application)如果CATIA没有运行,则先用Create Object启动CATIAIf Err.Number 0 Then Set CATIA=CreateObject(CATIA.Application)CATIA.Visible=TrueEnd IfOn Error GoTo 0通过这段代码,程序即可访问到CATIA,如果CATIA没有启动,则程序先启动CATIA,再对CATIA进行访问。Dim Doc as DocumentSet Doc=CATIA.Documents.Add(“Part”)Dim Doc as DocumentS
展开阅读全文