第13讲三维CAD系统架构及系统开发技术简介_第1页
第13讲三维CAD系统架构及系统开发技术简介_第2页
第13讲三维CAD系统架构及系统开发技术简介_第3页
第13讲三维CAD系统架构及系统开发技术简介_第4页
第13讲三维CAD系统架构及系统开发技术简介_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 专业化应用组件开发(选学) 第13讲三维CAD系统架构及系统开 发技术简介 本章目的 1了解三维CAD系统的需求及架构 2、掌握工程数据常用处理方法 3、了解三维CAD系统开发方法及二次 开发过程 第13讲三维CAD系统架构及系统开 发技术简介 13.1 CAD系统功能需求

2、及体系架构 13.1.1 CAD系统功能需求 Solid Edge CATIA UG NX Pro/E Inventor 目前最流行的三维CAD系统 美、法等国的CAD软件技术一直走在世界的前沿,它们拥有许 多世界闻名的CAD/CAM系统,这些系统具备十分强大的功能。 国内:清华大学、北航、新舟、浙大、华工 第13讲三维CAD系统架构及系统开 发技术简介 以国家863国产三维CAD系统评测要求为例,三维CAD基本 功能需求: 真正的产品创新设计有赖于三维CAD的应用; 三维CAD采用直观的三维模型表达方式,能直观清晰地描绘更复杂的产 品结构,能方便地将设计、分析、工艺和辅助制造系统相连接;CA

3、D是 CAE、CAPP、 CAM集成的基础; 三维CAD软件可大幅度的减少设计错误,提高产品设计质量,缩短产品 研发周期。 l 三维零件参数化特征建模功能 l 二维工程图功能 l 三维零件装配功能 l 三维零件、装配与二维工程图关联功能 l 数据接口功能 l 系统综合管理功能 l 系统性能需求 第13讲三维CAD系统架构及系统开 发技术简介 三维零件参数化特征建模功能三维零件参数化特征建模功能 线框造型:线框造型:基本几何定义;曲线插值逼近;NURBS曲线;曲线组合、打断、光顺、 延伸、修整、拼接、求交等;过渡、等距曲线和线性变距曲线;曲线变换(平移、 旋转、镜像、阵列等);曲线分析与计算(切

4、矢、曲率、坐标值反求参数值)等。 曲面造型功能:曲面造型功能:曲面求交、延伸;直纹面、旋转面、扫成面、点阵面、NURBS曲面; 给定边界定义曲面;曲面和变距曲面;曲面过渡、拼接、光顺、剪裁、修型;曲面 分析与计算(切矢、法矢、曲率、坐标值反求U,V参数);取子曲面片、曲面轮廓 线、曲线在曲面上的投影;散乱点插值、数据预处理、特征点提取及光顺等。 实体造型功能:实体造型功能:草图定义、编辑、约束、导航等;基本体素、自定义体素、体素库 (体素库建立、查询、删除等维护);实体生成方法(平扫、旋转扫、广义扫、拔 模、抽壳及其它方法);布尔运算(并、交、差);局部操作(剖切、圆角、倒角、 局部拉伸);实

5、体编辑(拷贝、镜像、阵列、删除、回退与重作、平移、旋转、缩 放、几何元素查询、几何信息的修改);曲面转实体;三维实体向二维的转换(生 成轮廓图及消隐);实体体积、质量、质心、惯性矩等计算 。 装配建模功能装配建模功能 装配建模:装配建模:装配环境下的零件建模,零件导入、抑制、取消,装配约束管理(装配 约束定义、装配约束求解),零件干涉检查,装配爆炸图生成等。 装配管理:装配管理:装配结构树维护,生成零件BOM表。 扩展功能:扩展功能:可装配性评价、装配动画仿真、机构运动仿真。 第13讲三维CAD系统架构及系统开 发技术简介 三维零件、装配与二维工程图关联功能三维零件、装配与二维工程图关联功能

6、零件、装配、工程图关联:三维模型变化则装配模型及二维图形自适应变化;二维 图形主要参数变化则三维模型与装配模型自适应变化;装配模型变化则三维模型与 二维图形自适应变化。 数据接口功能数据接口功能 文件的输入及输出;具有某种国际标准接口(如IGES、STEP等);具有某种工业标 准接口(如DXF、X_T、SAT、STL、VRML等)。 系统综合管理功能系统综合管理功能 用户界面:文字或图符菜单、下拉式菜单、动态弹出式菜单、对话框、命令语言、 数字化仪、鼠标器、功能键、快捷键、提示信息、出错信息、动态导航功能等。 二维工程图功能二维工程图功能(参见第4讲二维CAD系统,略) 图形显示:视像定义与修

7、改、多视口显示、动态显示、视图的管理、透明命令、图 形缩放(Z00M)、图形曳移;曲面和线框图显示及轮廓图显示;实体及特征的真实 图与简图显示(简图用于二维及三维布置);正投影图、轴测图、透视图、剖切图、 消隐图;渲染图(真实感图);图像文件输出(GIF等光栅文件格式)。 视图管理:视图投影设置、二维视图布局,标准视图和自定义视图输出、剖视,图 层控制功能。 图纸输出:按比例输出图形及自动按图纸设定输出比例;输出图形预览及终止预览; 对多张图纸进行编辑打印;绘图输出控制线型及粗细;打印机、绘图机驱动。 第13讲三维CAD系统架构及系统开 发技术简介 13.1.2 CAD系统体系架构 以天喻软件

8、等六家单位申请项目“某航空集团企业创新设计平台”为例 第13讲三维CAD系统架构及系统开 发技术简介 该系统针对某大型集团企业的创新设计需求,不仅需要强大的通用功能,同时也需 要较强的专业化设计功能,系统功能复杂。为此,采用四层体系结构,其中: 系统支撑层:系统支撑层:提供CAD软件运行环境(如操作系统、网络协议、数据库管理、图 形接口等)。 基础核心层:基础核心层:提供共性基础构件,几何与拓扑核心数据结构,内存管理机制、基 础算法引擎及方法。主要包括以下几个方面: 几何引擎几何引擎支持零件造型、装配造型、高级曲面造型等三维数字化设计功能,应 具有接口兼容、功能齐全、计算稳定、几何覆盖域宽、多

9、种造型统一表示、可扩展 性等特点 2D 2D 、3D3D尺寸约束管理尺寸约束管理即变量化草图设计,能够支持2D设计、工程图和2D轮 廓草图,2D轮廓草图能够有效地支持3D参数化实体模型;支持装配件和机构件的 约束管理,能够支持3D草图、零件设计和装配设计。此外,支持欠约束和过约束 设计并提供冲突检测管理,支持实时动态装配和机构运动仿真等。 通用函数库通用函数库提高共享的常用数学运算方法(矢量、矩阵、方程求解、优化)。 图形管理图形管理该模块包括线框显示、隐藏线消除、快速真实感图形显示和高度真实 感图形显示等三种不同层次的子模块,以满足多种形式的用户需求。 专业应用层:专业应用层:提供面向航空制

10、造应用设计分析工具,支持快速产品开发; 接口工具集:接口工具集:提供系统内部各层间访问接口、外部数据交换接口、系统集成接口、 用户二次开发接口。 第13讲三维CAD系统架构及系统开 发技术简介 通用平台层:通用平台层:提供通用设计、分析工具构件, 支撑用户进行产品结构设计、装配设 计、工程绘图、工艺设计、数控代码生成。具体包括: 特征设计工具:是基于参数化的实体造型。包括:草图设计、特征生成两个方面。 曲面造型:曲面造型:是复杂形体型面造型的最有力的工具。包括直纹面、旋转面、扫描面、等 距面、过渡面,曲面裁剪、拼接、缝合、延伸、求交等。 零件设计:零件设计:提供以特征为基础的零件设计和管理工具

11、,与装配和工程图设计共同构成 一个设计平台。 装配设计:装配设计:支持复杂产品装配设计、干涉检查。提供面向设计群体的装配设计环境, 支持参数化自动装配功能。 工程图设计:工程图设计:主要包括图纸生成、编辑、管理及打印输出等。三维零件或装配模型能 自动生成各种视图,填充剖面线等;具有国标尺寸标注、标题栏和明细表等。 逆向工程工具:逆向工程工具:包括数据获取、噪声点过滤、残缺数据恢复、区域分割、特征提取、 三角网格化、参数曲面拟合重建等功能,实现产品的快速原型设计。 钣金设计工具:钣金设计工具:针对钣金零件的特点专门设计供处理钣金零件造型用的模块,它根 据钣金零件的几何特征进行钣金零件设计,钣金零

12、件自动展开、自动排样计算。 动画与仿真:动画与仿真:提供机构运动仿真、运动协调关系、运动范围设计、运动干涉检查;机 械产品可装配性检查;提供产品真实效果显示,机器内部的漫游。 其它设计工具集:其它设计工具集:包括标准件库工具,材料库工具,设计图表工具,计算工具,协 同管理工具,知识管理工具等。 第13讲三维CAD系统架构及系统开 发技术简介 13.2 CAD系统开发技术简介(选学) CAD技术从诞生至今已有近四十多年的历史,历经二维绘图、线框模型、 自由曲面模型、实体造型、特征造型等重要发展阶段,其间还伴随着参 数化(变量化)、尺寸驱动、知识融合等技术的融入。目前CAD技术在基 础理论方面日趋

13、成熟,并推出了许多商品化系统,诸如CATIA、 UG、 Pro/E、 Solid Works等。通常CAD系统软件的开发方式主要可分为三种: 1)大部分核心模块自主开发,少量模块及技术购买版权,该方式周 期长、风险高,对CAD技术基础及软件开发技术要求高。 2)基于通用CAD 系统的二次开发,如基于UG、AutoCAD等。目 前商用CAD系统一般提供C,C等Api函数供用户二次开发。该方式 风险小,见效快,适合企业进行专业化应用开发。 3)基于商业化几何引擎平台(如Parasolid、ACIS等)的开发。此 类开发较通用CAD平台的二次开发更能深入核心层,其难度及风险在二 者之间,但引擎平台的

14、版权费用昂贵。 1)CAD系统开发技术概述 第13讲三维CAD系统架构及系统开 发技术简介 CADCAD系统软件开发的基本原则:系统软件开发的基本原则: 1) 支持多种主流的计算平台,包括Windows、 UNIX等; 2) 采用面向对象技术,具有封装性、多态性、继承性,使对象模块 化、即插即用; 3) 采用软件组件技术与开放式结构。基于组件技术可为设计者提供 很大程度的柔性,这也为系统的开放性奠定良好的基础; 4) 支持混合维造型线框模型、曲面模型、实体模型,在数据结 构层采用统一的精确边界表示,支持流形与非流形拓扑; 5)支持约束驱动的参数化特征造型等用户化的功能; 6) 支持知识融合与知

15、识重用,实现知识驱动的设计,提高系统智能化 程度; 7)支持装配、零件及工程图统一建模,并实现全关联设计; 8)提供良好的图形交互、显示及渲染; 9)提供产品数据管理等功能,即提供了一个集造型、可视化、交互、 数据管理为一体的集成化开发环境。 第13讲三维CAD系统架构及系统开 发技术简介 2)基于商业几何引擎ACIS的开发技术介绍 目前市场上较为成熟的商用三维CAD几何引擎主要有ACIS、 Parasolid等。其中: 1)基于Parasolid开发的CAD系统UG、Solidworks、 Solidedges等获得了广泛的应用; 2)基于ACIS开发的CAD系统Inventor凭借Auto

16、CAD拥有的 市场优势得到迅速推广; 3)也有研究机构基于开源几何引擎( CAS.CADE)进行研究 开发。 ACIS是美国Spatial Technology公司的三维几何造型引擎,它 集线框、曲面和实体造型于一体,并允许这三种表示共存于统一的 数据结构中,为各种3D造型应用开发提供几何造型平台。 第13讲三维CAD系统架构及系统开 发技术简介 ACIS ACIS 核心模块库:核心模块库: ACIS产品由两部分构成:核心模块(ACIS 3D Toolkit)和多种可选模块。在核心 模块中提供了基本、通用功能,而在可选模块中提供了一些更为高级的和更专用 的功能。其主要功能包括:构造曲面技术 、

17、求交与布尔运算、过渡曲面、模型分 析、显示与交互、模型管理等。 第13讲三维CAD系统架构及系统开 发技术简介 基于ACIS的开发接口有3种:API函数、C+类和DI函数。下图中AMFC (ACIS Microsoft Foundation Class Component)是专门为Microsoft Windows平台提供的与MFC的接口。 API函数:提供了应用与ACIS间的主要接口,应用通过调用API函数建立、 修改或恢复数据,无论ACIS底层的数据结构或函数如何修改,这些函数 在各版本中均保持不变。 C类:ACIS以C+类的形式提供的接口,用于定义模型的几何、拓 扑以及实现其它功能,开发

18、者可根据需要从ACIS类派生出自己的类,类 接口在各版本中可能变化。 DI函数:提供不依赖于API而对ACIS造型功能可直接访问的接口,与API 不同的是,这些函数在各版本中可能有变 。 ACISACIS接口方式接口方式 第13讲三维CAD系统架构及系统开 发技术简介 ACISACIS数据结构数据结构 如下图所示:图中的黑虚线框中是几何信息, 蓝虚线框中是拓扑信息。 几何(Geometry)、拓扑(Topology)和属 性(Attribute)构成了ACIS模型,三者统一由 最基础的抽象类ENTITY所派生。ENTITY本 身不代表任何对象,但在ENTITY中定义了 所有子类应具有的数据和方

19、法(如存储、恢 复、回溯等)。 ACIS采用CSGBREP混合数据结构,其中拓 扑信息包括 BODY(体)、LUMP(块)、 SHELL(壳)、SUBSHELL(子壳)、FACE (面)、LOOP(环)、WIRE(线框)、 COEDGE(共边)、EDGE(边)和VERTEX (顶点)。 ACIS把线框(WIREFRAME)、曲面 (SURFACE)和实体(SOLID)模型存储在 统一数据结构中,这种机制使ACIS支持混合 维模型和各种非闭合模型的统一建模。 几何信息几何信息拓扑信息拓扑信息 第13讲三维CAD系统架构及系统开 发技术简介 拓扑信息:拓扑信息: BODY:是ACIS模型中最高层次

20、的实体; LUMP:一个有边界、连通的区域,一个BODY可有多个LUMP; SHELL:完全相连的面或线的集合; SUBSHELL:是为了内部计算加速需要增加的一个结构层次; WIRE:一组互连的边框的集合; FACE:是形体边界表面的一部分,一个面只有一个外环,可有 0 n个内环;所对应的几何信息为SURFACE。 LOOP:是面的封闭边界的有向边(COEDGE)的集合,环有内环 和外环之分; COEDGE:形体边(EDGE)在一个面上构成环的有向边界情况, 所对应的几何信息为PCURVE。 EDGE:形体棱边的表达,多为形体表面交线;一条边与多条 COEDGE关联;所对应的几何信息为CUR

21、VE。 VERTEX:是面的角点,边的端点,对应的几何信息为APOINT。 几何信息:几何信息: TRABNSFORM:实现体的模型变换; SURFACE:一个面(FACE)的数学定义(如B样条曲面); CURVE:交线边(EDGE)的数学定义(3维B样条曲线); PCURVE:面的有向边(COEDGE)的方程定义(2维B样条); APOINT:顶点的位置坐标定义(3维空间坐标) 。 u t u2u1 t2 t1 PS2 S1 S2 w v w2 w1 v2 v1 PS1 第13讲三维CAD系统架构及系统开 发技术简介 ACISACIS的拓扑及几何类成员访问关系的拓扑及几何类成员访问关系 第1

22、3讲三维CAD系统架构及系统开 发技术简介 近年来,Spatial公司推出AGM框架,该 框架建立在ACIS、HOOPS和InterOp基础 之上的应用程序框架,右图所示为AGM 的架构图。AGM中提供了对底层 Spaital3D组件的访问接口,3D应用程序 可使用AGM中提供的接口访问底层的3D 组件,也可直接访问底层3D组件。 AGM可选模块中提供了面向行业的应用,如创新的2D草绘模块、CAE前后处理模 块、机构运动和仿真模块以及和解释性语言Scheme进行集成等,用户可在商品化 软件中直接使用这些模块,大大简化这些行业用户的开发。 目前,AGM 已经提供了对VC6.0和C+.NET平台的

23、支持,而且AGM的内部是采用 标准C+实现的,因此用户可以很容易移植到其它平台。另外,用户可以参考 AGM中提供的实例增加更加丰富的造型、可视化和数据交换等功能。 AGM包括基本模块和可选模块。 AGM基本模块中实现了ACIS模型和HOOPS显示对 象之间的映射、模型建立和可视化范例、视图操作、检取高亮、历史回退管理以及 显示对象保存等功能,用户可非常方便地进行建模和可视化操作。 ACISACIS的的AGMAGM框架:框架: 第13讲三维CAD系统架构及系统开 发技术简介 13.3 CAD系统二次开发技术 13.3.1 基于通用CAD平台的开发(选学) 1)基于CATIA的二次开发 CATIA

24、 V5是达索公司推出的CAD软件,该软件能在Unix及Windows 等平 台上运行,是目前市场影响最大的CAD软件。CATIA V5开放了大部分接 口,并提供了很好的二次开发平台。其二次开发主要有两种方法,采用 CAA C+技术,或采用Automation技术。 CAA方法(Component Application Architecture) CAA是CATIA的一套C+函数库。具有强大的交互、集成和用户特征定义 功能,并有自己的体系架构。该函数库在CATIA运行时加载,用户可通过 RADE模块在VC+编程环境下编写程序,与CATIA进行通信。 基于CAA方法可进行最有效率的程序开发,可以

25、进行从简单到复杂的二 次开发工作,而且和原系统的结合非常紧密,但入门困难。第13讲三维CAD系统架构及系统开 发技术简介 Automation API 使用自动化接口 的宏,采用交互方式定制,允许 用户获取CATIA的数据模型。 该方法提供交互的方式,让用户 记录操作过程,通过VB Script ( 或 Java Script )来录制宏,从 而自动生成代码。 Automation技术是建立在COM基础之上(如下图),提供了约360个接 口对象。Automation技术并不直接处理数据,而是间接利用对象方法和属 性来获取及处理数据,允许一个应用程序操作另一个应用程序。 CATIA与应用程序之间

26、传递消息用接口对象来与外部进行通信,接口对象 就是API。使用Automation技术。 Automation API具备了与任何OLE所兼容的平台进行通讯的能力。 Automation方法 第13讲三维CAD系统架构及系统开 发技术简介 使用VB语言开发相对容易些(VC较困难 些)。一般先用宏录制过程,然后将vB与 catia链接,其流程如右图: 例:用VB开发 要对CATIA进行操纵,首先是要连接到他的COM接口,主要有GetObject 和CreateObject两种方法。先用GetObject方法连接,即: Dim CATIA As Object On Error Resume Nex

27、t CATIA的基本操作主要是通过几个 API(Application Programming Interface)对 CATIA进行文件操作,视图操作等。零件 操作主要是进行CATIA实体建模,如草绘、 约束、实体等操作。 VB应用与CATIA通讯 第13讲三维CAD系统架构及系统开 发技术简介 如果CATIA启动,用GetObject连接到CATIA Set CATIA = GetObject(, CATIA.Application) 如果CATIA没有运行,则先用Create Object启动CATIA If Err.Number 0 Then Set CATIA = CreateObj

28、ect(CATIA.Application) CATIA.Visible = True End If On Error GoTo 0 通过这段代码,程序即可访问到CATIA,如果CATIA没有启动,则程序先 启动CATIA,再对CATIA进行访问。 Dim Doc as Document Set Doc = CATIA.Documents.Add(“Part”) Dim Doc as Document Set Doc=CATIA.Documents.Open(“E:PartsDocumentToOpen.CATPart”) 第13讲三维CAD系统架构及系统开 发技术简介 操纵零件文档的一般步骤

29、如图所示 : 文档零件形体的创建 当创建一个零件文件时,系统会自动创建一个默认的零件体,可以获得并 使用它: Set MyBody = MyDocument.Part.Bodies.Item(PartBody) 也可以创建一个新的零件体并使用: Set MyNewBody = MyDocument.Part.Bodies.Add() 第13讲三维CAD系统架构及系统开 发技术简介 创建凸轮轴主要程序段示例: 创建凸轮组创建凸轮组 Sub CreateCamSet(dAngle As Double, dRefDis As Double) CreateBearing dCamSetDis, dRe

30、fDis CreateCam dAngle, dCamSetDis - 3 * dCamThickness + dRefDis CreateCam dAngle, dCamSetDis - dCamThickness + dRefDis End Sub 创建驱动轮创建驱动轮 Sub CreateDriveWheel(dRefDis As Double) CreateBearing dCamSetDis, dRefDis End Sub 第13讲三维CAD系统架构及系统开 发技术简介 2)基于UG的二次开发简介 UG是一个优秀的机械CAD/CAE/CAM一体化高端软件,它基于完全的三维实体复 合

31、造型、特征建模、装配建模技术,能设汁出任意复杂的产品模型。作为通用CAD 软件,UG功能非常强大,但缺乏专业化应用功能。为此,UG软件提供了一些先进 的编程工具集,以满足用户二次开发的需要 。 UG/Open为UG软件的二次开发工具集模块,利用该模块可对UG系统进行用户化剪 裁和定制开发。UG/Open包括以下几个部分: UG/Open Menuscript、 UG/Open UIStyle、 UG/Open API、 UG/Open GRIP等开发工具。 UG/Open UIStyle开发工具,是一个开发UG对话框的可视化编辑器,用于创建类似 UG的交互界面,生成的对话框能与UG集成。利用该

32、工具,让用户更方便与UG进行 交互操作,可为UG/Open应用程序开发独立于硬件平台的交互界面,避免复杂的 GUI的编程,直接将对话框中的基本控件组合生成功能不同的对话框。 UG/Open Menuscript开发工具,支持UG主菜单和弹出式菜单的设计和修改,改变 UG菜单布局,对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进 行编辑重组或在UG软件中集成用户自己开发的软件功能。添加新的菜单项以执行用 户GRIP、API二次开发程序、User Tools文件及操作系统命令等。 第13讲三维CAD系统架构及系统开 发技术简介 UG/Open API开发工具,提供UG软件直接编程接口

33、,支持C、C+、Fortran和 Java等主要高级语言,是一个允许程序访问并改变UG对象模型的程序集。 UG/OpenAPI封装了近2000个操作函数,可在C程序和C+程序中以库函数的形式 调用,几乎所有能在UG界面上的操作都可以用API函数实现,API程序根据编译连 接的情况可以运行在两种不同的环境中,即Internal与External模式。 由于采用API调用函数,程序的出错率较低,但对初学者掌握UG/Open API函数的 运用比较困难,要特别注意参数的类型和传递形式。 UG/Open GRIP开发工具,是一种类似APT的UG内部的专用图形交互编程语言,利 用该工具用户可生成NC自动

34、化或自动建模等用户的特殊应用。开发者可以用GRIP 编程的方法自动实现在UG下进行的绝大部分操作。 GRIP命令很像英语单词,语法与BASIC和FORTRAN相似,有某些情况下对于一些 高级操作,用GRIP编程的方法比用UG交互的方法更有效,在UG交互环境下可以实 现的功能用GRIP几乎全都可以实现。 UG提供了一个名叫UG/Open GRIP的GRIP语言编辑器,用这个工具可以编辑、修改、 编译、连接程序。GRIP语言与一般的通用语言一样,有其自身的语法结构、程序结 构、内部函数,以及与其他通用语言程序相互调用的接口。 第13讲三维CAD系统架构及系统开 发技术简介 3)基于AutoCAD的

35、二次开发简介 AutoCAD是通用二维计算机辅助设计及绘图软件,具有强大的图形编辑和处理功能、 开放性体系结构及良好的性能价格比,已广泛应用于机械、电子、建筑、服装等领 域,深受国内外工程设计人员的喜爱。到目前为止,Autodesk公司已相继推出四代 二次开发工具,主要包括:AutoLISP,Visual LISP,ADS,VBA,ObjectARX和Dot NET,其中ObjectARX和Dot NET是全新的的开发手段,是AutoCAD二次开发的方 向,表1是6种工具之比较。 基于基于Auto LISP / Visual LISPAuto LISP / Visual LISP的开发技术的开

36、发技术 AutoLISP语言是一种嵌在AutoCAD内部的LISP编程语言,既具有一般高级语言的基 本结构和功能,又具AutoCAD所特有的图形处理功能。利用AutoLISP可以直接增加、 修改和调用AutoCAD命令,并能结合各类标准建立大量的参数图形库,还能够对当 前图形数据库直接访问和修改等。 第13讲三维CAD系统架构及系统开 发技术简介 Visual LISP是一个可视化的LISP语言开发环境, AutoCAD从R14版开始支持Visual LISP 开发工具,它是AutoLISP语言的扩展。Visual LISP具有以下特性: 1)在可视化的开发环境下编写、调试; 2)经编译后,提

37、高了运行性能和保密性; 3)LISP代码通过AutoCAD 的Object ARX接口,提高运行速度; 4)本质上是一个被建立并装载的ObjectARX应用程序,因而可在AutoCAD外部 装载和更新。 基于基于 ADS ADS 的开发技术的开发技术 ADS(AutoCAD Development System)是AutoCAD的C语言开发系统,是继AutoLISP 后的第二代开发工具,从AutoCAD R14开始引入,它包括了C语言的全部功能,可 以用C语言编写AutoCAD应用程序的头文件和目标库,可直接利用各种C语言编译 器,将应用程序编译成可执行的文件在AutoCAD环境下运行。 基于

38、基于 VBA VBA 的开发技术的开发技术 自AutoCAD R14.01版开始,内置了VBA开发工具,它是一种嵌入AutoCAD内部基于 对象的集成编程环境,并被集成到AutoCAD2000以后所有版本中,为开发者提供了 一种新的选择。VBA和AutoCAD中的ActiveX自动化对象模型的结合,具有强大的开 发能力,代表了一种新型定制AutoCAD的模式架构。 第13讲三维CAD系统架构及系统开 发技术简介 VBA可提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面;可建立 功能强大的模块级宏指令;提供类模块创建功能,利于组件重用;具备完善的数据 访问与管理能力。 基于基于 Obj

39、eceARX ObjeceARX 的开发技术的开发技术 ObjectARX(AutoCAD Run-Time Extension)是基于AutoCAD R14的一种新的编程环 境,它提供了以C+为基础的面向对象的开发环境及应用程序接口,能真正快速地 访问AutoCAD图形数据库。ObjectARX程序本质上是Windows动态链接库(DLL)程 序,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在 运行期间实时扩展AutoCAD的功能。 ObjectARX的核心是两组关键的API,即AcDb(AutoCAD数据库)和AcE (AutoCAD编译器)。另外还有其它的一些

40、重要库组件,如AcRX(AutoCAD实时 扩展)、AcGi(AutoCAD图形接口)、AeGe(AutoCAD几何库)、ADSRx (AutoCAD开发系统实时扩展)。与前几种技术相比,该技术拥有对AutoCAD最深 入的控制能力。能够实现很多原来开发环境难以实现的功能,提高开发效率,它是 AutoCAD新一代开发技术。但对软件专业知识要求较高,开发周期长。 第13讲三维CAD系统架构及系统开 发技术简介 新一代基于新一代基于Dot NETDot NET的开发技术的开发技术 Dot NET是基于Mircosoft.NET架构直接进行AutoCAD二次开发的一种新技术。目前 能支持Dot NE

41、T开发方法的软件版本为AutoCAD2005之后的版本,事实上能完全支 持Dot NET开发方法的软件为AutoCAD2006之后的版本。 在新推出的支持Dot NET开发的AutoCAD版本中,Autodesk公司专门为其开发增加 了.NET API,并提供了一系列托管的外包类(Man-aged Wrapper Class),使开发 人员可在.NET框架下,使用任何支持.NET的语言,如VB .NET、C、 C+等对 AutoCAD进行二次开发。其优点是完全面向对象,在拥有与C+相匹配的强大功能 的同时,具有方便易用的特点,是较理想的AutoCAD二次开发工具。 小结小结 目前,第一代的Au

42、toLISP基本上能够被第三代的Visual LISP完全替代,第三代和第四 代开发工具将成为今后AutoCAD二次开发的必然选择。其中主要的四种开发技术 Visual LISP,VBA,ObjectARX,Dot NET分别利用当前比较流行的编辑语言LISP, Visual Basic,Visual C+及Visual C#。而ObjectARX着眼于应用程序开发的自动化、 智能化,为适应未来发展的需要。Dot NET在具有ObjectARX强大功能的同时,也具 有VBA使用方便易用的优点,同时具有C+的强大功能,是最新的较为理想的开发工 具,与ObjectARX一起代表了AutoCAD二次

43、开发技术的未来发展方向。 第13讲三维CAD系统架构及系统开 发技术简介 13.3.2 工程数据处理组件 在机械设计过程中,往往需要从有关的工程手册或设计规范中查 找各种系数或数据 传统方法:设计人员手工查取,费时、繁琐 现代设计方法:计算机处理 中心问题在:如何将这种人工查找转变成在CAD进程中的高效、 快速处理,这是CAD二次开发必须解决的问题。 1)概述)概述 第13讲三维CAD系统架构及系统开 发技术简介 在CAD二次开发中,典型的两种处理方法: 程序化程序化 在应用程序内部对这些数表数表及线图线图进行查表、处理或计算。处理方法有两种: 第一种将数表中的数据或线图经离散化后存入一维、二

44、维或三维数组, 用查表、插值等方法检索所需数据; 第二种将数表或线图拟合成公式,编入程序计算出所需数据 数据库存储数据库存储 将数表及线图(经离散化)中的数据按数据库的规定进行文件结构化,存放在 数据库中。 (如确定字段名、字段类型、字段宽度等) 数据独立于应用程序,又能为所有应用程序提供服务,这是大规模工程数据 的主要处理方法。 (需借助专业的数据库管理系统) 第13讲三维CAD系统架构及系统开 发技术简介 例:程序化方法例:程序化方法 第13讲三维CAD系统架构及系统开 发技术简介 2)工程数据的拟合插值方法)工程数据的拟合插值方法 A、一元列表函数插值 插值方法很多,在此主要介绍线性插值

45、和二次插值(抛物插值)等方法。 a) 线性插值方法 2 12 1 1 21 2 12 12 1 1 )( )( y xx xx y xx xx xg xx yy xx yxg 21 2 1 )( xx xx xA 12 1 2 )( xx xx xA 2211 )()()(yxAyxAxg 算法步骤: 1 )从一维列表中选取两个邻近的自变量x1和x2,并满足x1 x x2 2)用过A、B两点的直线g(x)代替原有函数f(x),则由解析几何可写出对称式 直线方程的表达式为: 令: 整理得:第13讲三维CAD系统架构及系统开 发技术简介 b)抛物线插值方法 )( )( )( )( )( )( )(

46、 )( )( )()()()( 2313 21 3 3212 31 2 3121 32 1 332211 xxxx xxxx xA xxxx xxxx xA xxxx xxxx xA yxAyxAyxAxg 几何解释:通过三点插值得抛物线g(x)来近似 (或逼近)原有函数f(x)。 三点选取原则:三个插值点与待求得插值点临近(就近原则) 21 11 1 1 ; ,)2( :)1 ( ii diiddiid idi ii xx xxxxxxxx xxx xx 否则,第三点取则第三点取 的值,若和比较 ,并满足下列条件和从一维表中选取两点 211iidii xxxxx 第13讲三维CAD系统架构及

47、系统开 发技术简介 例:下表为一组应力集中系数数据,用二次抛物插值计算轴间比为1.4时的应力 集中系数。 轴间比6030151211105102 系数149146144142139138134 解: 选点:由于1.4在 1.5, 1.2 之间,且更接近1.5,选择 3.0, 1.5, 1.2 三点计算 插值:根据抛物插值公式有: 42. 1 )5 . 12 . 1)(0 . 32 . 1( )5 . 14 . 1)(0 . 34 . 1( 44. 1 )2 . 15 . 1)(0 . 35 . 1( )2 . 14 . 1)(0 . 34 . 1( 46. 1 )2 . 10 . 3)(5 .

48、 10 . 3( )2 . 14 . 1)(5 . 14 . 1( 2 )12)(02( )1)(0( 1 )21)(01( )2)(0( 0 )20)(10( )2)(1( y xxxx xxxx y xxxx xxxx y xxxx xxxx y 0.011+1.024+0.512 = 1.52513 第13讲三维CAD系统架构及系统开 发技术简介 B、二元列表函数插值 a)直线直线插值(即双线性插值) (1)找出对应于a,b,c,d的A,B,C,D, 过A、B用线性插值求得点E,再过C、 D用线性插值求得F点。 (2)过E、F再用线性插值求得K点, 此即为所求。 注意:双线性插值计算的顺

49、序并不影响计算结果 算法步骤: D/d r/d d c b a e f A B C D E F K 第13讲三维CAD系统架构及系统开 发技术简介 例:阶梯轴轴肩圆角过渡处的有效应力集中系数Ka与B及r/d等有关。根据下表, 按双线性插值计算求B630MPa,r/d0.04时Ka的值。 16115515001 173169164005 176171167003 800 700 600 B Ka r/d 解: 1) k1 = (630-700)/(600-700)*1.67 + (630-600)/(700-600)*1.71 = 1.682 2) k2 = (630-700)/(600-700

50、)*1.64 + (630-600)/(700-600)*1.69 = 1.655 3) ka = (0.04-0.05)/(0.03-0.05)*k1 + (0.04-0.03)/(0.05-0.03)*k2 = 1.6685 r dD 第13讲三维CAD系统架构及系统开 发技术简介 例:三角形的双线性插值处理(多边形填充颜色插值) (提示:三角形先变换到投影面,r、g、b要分别计算) 方法方法1方法方法2 方法方法 2 比方法比方法 1 少计算少计算 1 次次 第13讲三维CAD系统架构及系统开 发技术简介 b)抛物线性插值 算法步骤:算法步骤: 根据k点的(xk,yk)找出周围四个点a,

51、b,c,d,并根据抛物线插值中 的取点方法增加2个点,如图增加e、f二个点,这样共得六个点 找出对应上述六个点的A,B,C,D,E,F,过A、B、E用抛物线插值求 得点U,再过C、D、F用抛物线插值求得V点。 过U、V再用线性插值求得K点,此即为所求。 第13讲三维CAD系统架构及系统开 发技术简介 c)抛物抛物插值(即双抛物插值) 算法步骤: 第13讲三维CAD系统架构及系统开 发技术简介 3)工程数据的公式化处理)工程数据的公式化处理 A)线图公式化 a)直齿圆柱齿轮b)斜齿圆柱齿轮 )/(100/ 1 smvz)/(100/ 1 smvz 精度 等级 10 987 6 5 4 3 6 5

52、 4 3 98710 024681012140246810 1.0 1.1 1.4 1.5 1.2 1.3 1.0 1.1 1.4 1.5 1.2 1.3 v K v K 1100/047.0 1 vzK v 1047. 0 xy 12 12 1 1 xx yy xx yy 第13讲三维CAD系统架构及系统开 发技术简介 B)最小二乘法逼近 m j i j m m xaxaxaay 0 10 2 2 210 2 11 2 i n inii m i ii m i i yxaxaxaayxfe n aaaF, 10 第13讲三维CAD系统架构及系统开 发技术简介 0 0 0 1 0 m a Q a

53、 Q a Q 得各个系数值因此解此方程组,可求 个,个,方程也是共方程组中待求的系数 可写成如下方程组 ) 1() 1(, 210 11 2 1 2 1 1 1 0 1 1 2 1 2 2 1 4 1 1 3 0 1 2 1 1 1 1 2 1 3 1 1 2 0 1 1 1 0 1 2 1 2 1 1 1 0 1 0 nnaaaa yxaxaxaxax yxaxaxaxax yxaxaxaxax yxaxaxaxax n i m i n in m i nn i m i n i m i n i m i n i i m i in m i n i m i i m i i m i i i m i i

54、n m i n i m i i m i i m i i j m i in m i n i m i i m i i m i i 用最小二乘法求多项式各个系数时,应注意:用最小二乘法求多项式各个系数时,应注意: (1)开始可用较低幂次数拟合,如求出的值误差太大时,再提高幂次数 (一般小于7)拟合; (2)如结果还是不够理想可分段进行拟合。 第13讲三维CAD系统架构及系统开 发技术简介 13.3.3 专业化应用组件开发(选学) 对工程设计人员来说,通用CAD设计软件(如CATIA、UG、Pro/E、Solidworks等) 系统虽然功能齐全,并能提供装配、零件及工程图的集成建模环境,但是这些通用

55、功能本质上是图形建模(3D)或绘图(2D)工具,只可能考虑一般或普遍的设计 要求,解决产品的几何表示问题,它不可能考虑各类专业产品的特殊设计要求,更 不能把设计计算及设计员的经验包括进去。 因此,必须根据各专业的设计需要,利用通用CAD系统平台提供的二次开发工具或 数据接口,将各类专业设计技术开发成专业化的设计工具和知识处理工具,从而使 工程设计能按照专业化的设计方式进行。 基于通用平台开发专业化CAD系统,开发人员不必过多考虑CAD底层的三维建模及 图形显示功能如何实现,从而缩短软件开发周期。但是,专业化开发一定要处理好 知识产权问题,避免不必要的产权纠纷。 在进行专业化CAD系统开发时,重

56、点应考虑以下一些问题: 1)用户需求分析,包括使用功能、应用范围、用户对象等; 2)系统架构、软件技术、开发工具、进度控制、软件文档、维护服务等; 3)工程数据的搜集,专业设计知识的归纳抽象,设计理论及方法总结等; 4)专业化的设计标准、技术文档、设计流程整理等。 第13讲三维CAD系统架构及系统开 发技术简介 第13讲三维CAD系统架构及系统开 发技术简介 1)专业设计知识处理 在进行专业化CAD系统开发时,也会涉及到大量的工程设计知识需要处理,主要 包括设计知识的表达、知识推理及重用、知识管理及更新维护等几个方面。 对于具有知识处理能力的CAD软件系统(如 UG、CATIA等),在进行设计

57、知识归纳抽 象时,应按照该软件系统所能支持的知识表 达规范进行知识描述,以便于软件系统进行 知识推理并驱动设计参数。如UG通过知识 融合模块实现设计知识与几何模型的融合, 构建设计实例,从而实现智能化及自动化的 产品设计过程。 对于缺乏知识处理能力的CAD软件系统必须开发自己的知识处理模块。该模块需具 有知识表达(如谓词逻辑、规则、表达式、方程及脚本等)、知识推理求解、知识 库管理等功能,并与约束推理相结合,从而为用户提供基于知识的设计方法。 通常,用户只需利用这些知识处理工具,对不同的专业知识进行分类、归纳和抽象, 并将这些知识应用到具体的设计对象(零件或部件)中,构建不同的基于知识驱动 的

58、设计实例库,以便今后设计实例模型的派生重用及变更修改。 第13讲三维CAD系统架构及系统开 发技术简介 2)专业化计算分析工具 在实际工程中,设计人员进行专业设计时,往往也会涉及到大量的工程分析计算, 为了提高设计效率,必须开发面向不同专业的计算分析工具,并形成计算分析组件 工具集供用户调用。 例如,以齿轮减速箱设计为例,我们可开发: 齿轮强度(弯曲强度、疲劳强度等)校核计算; 齿轮轴强度、刚度校核计算; 轴承载荷校核计算; 减速箱温度及热变形计算; 减速箱关键参数的优化计算等。 因此,对于不同的专业设计,开发不同的设计计算工具将可大大提高设计效率。 但是,需要注意的是,某些复杂的工程分析计算

59、无法通过简单的公式组合计算达到 目标,有时往往需要借助商业化的分析软件进行辅助分析计算,如结构分析计算用 Nastran、Ansys等,机械系统动力学分析用Adams、DAS等。这时必须针对这些商 用软件进行接口开发,通过参数传递到这些商用化的软件中进行分析计算,然后再 将计算结果返回到所开发的专业化CAD系统中。 第13讲三维CAD系统架构及系统开 发技术简介 3)专业化设计工具集(组件)开发 在实际工程中,不同的行业其产品的结构不同,复杂度也不相同,设计人 员进行专业设计时希望系统提供方便的特征建模工具来提高设计效率。 但是,商业化通用CAD系统提供的特征建模工具非常有限,且对各种行业 通

60、用,如拉伸、回转、拔模、抽壳、切角、过渡等特征,这些特征使用, 但建模效率较低。因此应开发面向行业的专业化设计工具集可大大提高设 计效率。 以建筑设计为例,我们可开发不同类型的窗 户特征、楼梯特征、吊顶特征,以及其它常 用典型建筑结构特征与外部景观特征等多种 特征设计工具,显然这种专业化的特征工具 可大大提高建筑设计人员的设计效率。 通常利用CAD系统提供的二次开发接口,将 这些特征工具添加到通用CAD系统的菜单、 工具条及对话框中,从而形成面向专业化的 设计系统。 第13讲三维CAD系统架构及系统开 发技术简介 4)设计过程的模板化处理 模板是从一组相似的事物中抽象出一种框架型的模式,由开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论