公路CAD软件开发技术综述.docx

上传人:b****6 文档编号:4374345 上传时间:2022-12-01 格式:DOCX 页数:15 大小:119.14KB
下载 相关 举报
公路CAD软件开发技术综述.docx_第1页
第1页 / 共15页
公路CAD软件开发技术综述.docx_第2页
第2页 / 共15页
公路CAD软件开发技术综述.docx_第3页
第3页 / 共15页
公路CAD软件开发技术综述.docx_第4页
第4页 / 共15页
公路CAD软件开发技术综述.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

公路CAD软件开发技术综述.docx

《公路CAD软件开发技术综述.docx》由会员分享,可在线阅读,更多相关《公路CAD软件开发技术综述.docx(15页珍藏版)》请在冰豆网上搜索。

公路CAD软件开发技术综述.docx

公路CAD软件开发技术综述

公路CAD软件开发技术综述

袁功青

(华南理工大学土木与交通学院,广东广州510640)

第一节CAD基本概念

CAD是计算机辅助设计(ComputerAidedDesign)的简称。

它是指以计算机为主要工具和手段进行产品或工程设计。

它特别适用于承担设计过程中机械、繁重的事务,使设计人员将更多的精力用于设计方案的比选和决策上,提高设计质量和设计效率,使劳动密集型产业逐步被技术密集型产业所代替。

CAD技术是研究计算机在设计领域中应用的综合技术,它作为20世纪公认的重大技术成果之一,正在深刻地影响着当今工业界的各个行业和各个工程领域。

它涉及到计算机科学、计算数学、计算几何、计算机图形学、数据结构、数据库、软件工程、仿真技术、人工智能等专业应用的多学科多领域的新兴学科。

CAD技术具有高智力、知识密集、更新速度快、综合性强、投入高和效益大等特点,是国际上科技领域的前沿课题。

CAD技术在发达国家已广泛应用于机械、电子、航空、汽车、船舶和土木工程等各个领域,成为改善产品质量与工程应用水平、降低成本、缩短工程建设周期和解放生产力的重要手段。

迄今为止,CAD技术已成为一个推动行业技术进步的、能够创造大量财富的、具有相当规模的新兴产业部门——软件产业,CAD技术的开发与应用水平正逐步成为衡量一个国家科技现代化与工业现代化程度的重要标志之一。

CAD系统由软件系统和硬件系统组成。

一个理想的CAD软件系统应包括科学计算、图形系统和数据库三个方面。

科学计算包括通用数学库、系统数学库以及设计过程中占有很大比例的常规设计、优化设计等,它是实现相应专业的工程设计、计算分析及绘图等具体专用功能的程序系统,是CAD技术应用于工程实践的保证。

图形系统包括集合建模、绘制工程设计图、绘制各种函数曲线、绘制各种数据表格、在图形显示器上进行图形变换以及分析和模拟等系统。

图形系统是实现人和计算机进行信息交换的桥梁,也是CAD技术的基础。

数据库是一个通用的、综合性的以及减少数据重复存储的“数据集合”。

它按照信息的自然联系来构成数据,即把数据本身和实体之间的描述都存入数据库,用各种方法来对数据进行各种组合,以满足各种需要,使设计所需要的数据便于提取,新的数据易于补充。

它的内容包括设计原始资料、设计标准、规范、中间结果、图表和文件等。

在一个完整的CAD系统中,需要对大量的数据资源进行组织和管理,从某中意义上讲,数据库在CAD系统中是基础。

第二节公路CAD软件开发技术

当今计算机技术及相应支撑软件系统的发展日新月异、更新迅速,大大促进了CAD技术的发展。

公路CAD技术在软件、系统方面的发展集中在可视化、集成化、智能化与网络化技术方面。

其具体内容包括:

图形仿真、多维空间显示模型、多媒体技术、CAD虚拟环境、图形支撑系统、(CAD、CAM和CAE)一体化信息集成、工程数据库、专家系统、遗传算法、人工神经网络模型和网络技术等。

可视化(VisualizationinScientificComputing,简称VISC)技术是国际上于80年代末期提出并发展起来的一门新技术,它是将科学计算过程中及计算结果的数据和结论转换为图象信息或几何图形,在计算机的图形显示器上显示出来,并进行交互处理。

集成化(Integration)技术主要是实现对系统中各应用程序所需要的信息及所产生的信息进行统一的管理。

达到软件资源和信息的高度共享和交换,避免不必要的重复和冗余,充分提高计算机资源的利用率。

智能化CAD系统是把人工智能的思想、方法和技术引进CAD领域而产生的。

现有的传统CAD系统基本上都是采用基于算法的技术,这种方法比较简单,处理的费用比较低,但处理能力局限性较大,特别是缺乏综合和选择、判断的能力,系统在使用时常常需要较高专业知识和较丰富实践经验的设计人员,通过人机交互手段才能完成设计。

智能化CAD系统是具有某种程度人工智能的CAD系统,它是基于知识的技术,目前主要通过在CAD系统中运用专家系统、人工神经网络等人工智能技术来实现。

网络化技术从公路CAD系统对设计的支持来看,主要是向实现设计全过程的整体自动化方向发展。

采用先进的测设方法、设计理论,与CAD技术融为遗体,从有效的数据自动采集,到设计、分析计算与优化直至最终输出设计成果,形成覆盖设计全过程的自动化设计系统是公路CAD系统的主要发展方向。

在应用范围方面,除了传统道路路线、互通立交等方面继续发展外,还将在以下各方面有较大的发展空间:

如道路三维造型和动画技术、计算机局域网建设和应用、数据和信息采集新技术和GPS与GIS的应用、道路工程库和道路信息系统的建立,包括开发由高速公路安全、监控、通讯、计费等子系统组成的交通工程CAD系统、工程项目管理系统和计算机在道路施工管理与营运等方面的应用等等。

在道路CAD软件开发方面,应继续贯彻自力更生为主,努力吸取国外先进经验,提高开发软件的水平和能力。

2.1面向对象公路CAD系统

2.1.1面向对象思想概述

面向对象(object-oriented,O-0)技术是目前流行的系统设计开发技术,它包括面向对象分析和面向对象程序设计。

面向对象程序设计技术的提出,主要是为了解决传统程序设计方法—结构化程序设计所不能解决的代码重用问题。

结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。

由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。

这样开发出来的模块可重用性不高。

面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务(功能)为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

面向对象程序设计的三个基本概念是对象、类和消息(object,ClassandMessage),基本特征是抽象、继承、封装和多态性(AbatraCtion,Inheritance,EnCapsulationandPolymorphjsm);是一种围绕真实世界的概念来组织模型的程序设计方法,它采用对象来描述问题空间的实体。

关于对象这一概念,目前还没有统一的定义。

一般的认为,是包含现实世界物体特征的抽象实体,反映了系统为它保存信息和与它交互的能力。

它是一些属性及服务的一个封装体,在程序设计领域,可以用“对象二数据十作用于这些数据上的操作”这一公式来表达。

类是具有相同操作功能和相同的数据格式(属性)的对象的集合。

类可以看作抽象数据类型的具体实现。

抽象数据类型是数据类型抽象的表示形式。

数据类型是指数据的集合和作用于其上的操作的集合,而抽象数据类型不关心操作实现的细节。

从外部看,类型的行为可以用新定义的操作加以规定。

类为对象集合的抽象,它规定了这些对象的公共属性和方法:

对象为类的一个实例。

苹果是一个类,而放在桌上的那个苹果则是一个对象。

对象和类的关系相当于一般的程序设计语言中变量和变量类型的关系。

消息是向某对象请求服务的一种表达方式。

对象内有方法和数据用户或对象对该对象提出的服务请求,可以称为向该对象发送消息。

面向对象设计(object-orientedDesign,OOD)是认识论在软件设计实现上的应用,是把人类认识世界的方法应用到软件设计方面的实现。

而面向对象程序编程(object-orientedProgramming,OOP),实际上是OOD过程的一个反向工作,两者是面对对象软件工程中的两个必不可少的过程。

这两个过程可以用图2.l图2.2来表示:

图2.1OOD实现过程

图2.2OOP实现过程

面向对象程序设计具有以下优点:

1)、开发时间短,效率高,可靠性高,所开发的程序更强壮。

由于面向对象编程的可重用性,可以在应用程序中大量采用成熟的类库,从而缩短了开发时间。

2)、应用程序更易于维护、更新和升级。

继承和封装使得应用程序的修改带来的影响更加局部化。

2.1.2面向对象的CAD模型思想

基于OOD与OOP思想,我们将软件中具有独立功能部分列为类,对其进行封装,基于类抽象、继承、封装和多态性的基本特征,通过出发消息访问类的对象,实现系统功能,同时具备系统功能,同时具备便捷、安全的特性,解决了代码重用的问题。

目前,以工程数据库为中心构造,公路CAD系统是公认的合理模式,即以工程数据库为核心,以交互式图形系统为手段,以通用的设计方法为工具的一体化设计。

在设计过程中,CAD系统将公路线形的基本参数以及其他相关参数信息都存放在工程数据库中,通过改变图形参

数对公路线形加以控制。

达到对线形设计符合规范以及协调性的目的,并由此得到计的合理的道路线形设计。

基于面向对象思想的CAD系统结构如图2.3所示。

图2.3面向对象的CAD系统结构

2.1.3面向对象的CAD系统开发方法

面向对象的系统的开发方法是与面向对象方法(简称0-0方法)分不开的,因而面向对象的CAD系统的开发过程主要可以分为三个阶段,即面向对象的系统分析(0-0A)阶段;面向对象的系统设计(0-0D)阶段和面向对象的程序设计(0-0P)阶段。

面向对象的系统分析是对CAD系统所要涉及的问题进行理解和分析,通常包括如下四个步骤:

(1)确定对象。

0-0A方法的对象实质上是数据及对数据操作的抽象和封装,是保持完整信息并能与外界事物进行交互作用的基本单元。

在开发面向对象的CAD系统时,应将那些具有属性和需要服务的事物、特别是具有共同的、一个以上的属性和共同服务的事物作为对象。

(2)定义属性。

属性是用于描述对象之实例的数据元素。

在开发面向对象的CAD系统时,应对有关数据元素进行分析,看它是否可用于描述真实世界对象的性质,若是就定义为属性。

(3)定义服务。

服务是依据接收到的信息所执行的加工处理。

在开发面向对象的CAD系统时,要对类(或对象)所提供的服务和所需要的服务进行描述,其常见的服务有“选择”“决策”“计算”以及“评价”等。

(4)确定类结构。

结构往往表示较为复杂的问题空间。

在开发面向对象的CAD系统时,用分类结构来表示概括与分类细化的关系,而用装配结构来表示整体与局部的关系。

面向对象的系统设计是面向对象的系统分析的扩充。

从概念上看,0-0A是对现实世界中的问题空间建模,其分析侧重于总体;而0-0D则要求对特定的实现空间建模。

开发面向对象的CAD系统时,通常将0-0D划分为概要的0-0D和详细的0-0D两个阶段。

概要的0-0D的主要工作是:

(1)对象行为和对象间交互作用的进一步细化,并加入必要的新对象。

(2)对类进一步认定,以得到解空间的结构形式,为实现提供支持。

(3)类认定以后,组成类库,用以支持重用。

详细的0-0D是紧随概要的0-0D之后进行的,其主要工作是对概要0-0D阶段所给出的对象描述进一步细化,为实现编程做好准备。

面向对象的程序设计的过程就是利用已有的类构造新的类、构造目标软件的过程。

面向对象的程序设计语言(如C++语言,Java、C#)提供了继承机制,继承性使用户不必修改旧的类就可以在旧类的基础上定义自己的新类。

因此,在0-0P中,对类库的应用是很重要的,而类库的设计也是一种程序开发的任务,凡是设计好并经过调试无误的对象类均可以放到类库中。

有了类库,程序员可通过定义派生类的办法,来满足用户特殊的需要。

2.2智能化CAD系统

人工智能(ArtificalInrelligence)是目前科学技术中的一门学科,它是在计算机科学、控制论、信息论、神经生理学、心理学、哲学、语言学等多种学科互相渗透的研究基础上而发展起来的一门综合性新学科。

在1956年的Dartmouth会议上,首次使用了人工智能(Al)这一术语,它被定义为“computerProcessesthatattempttoemulatethehumanthoughtProcessesthatareassoeiatedwithaetivitiesthat:

equiretheuseofintelligenee”。

简而言之,人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支,是智能机器所执行的与人类智能有关的各种功能,例如判断、推理、感知、识别、证明、理解、思考、

设计、规划、学习、决策和问题解决等一系列的思维过程。

智能化CAD系统(ICAD)可以表述为:

是一种由多个智能体(或专家系统)与CAD模块有机集成用于支持产品设计的复杂系统。

ICAD概念表现了如下思想:

1)、ICAD是传统CAD技术与专家系统技术的有机集成;

2)、在ICAD中一般包含多个专家系统,或称智能体,它们独立分布的,通过协同工作,解决设计领域的复杂设计问题;

3)、ICAD系统为产品的创新设计变异设计提供功能强大灵活可变的支持环境或工作平台;

4)、ICAD支持复杂产品设计的范围应包括产品需求分析、方案设计、装配结构设计、可装配性分析、可制造性分析、工程分析、优化设计、详细设计和运动仿真等环节。

ICAD这一发展阶段让人们看到了设计自动化的曙光,这一技术应用于公路CAD设计软件将为设计系统专家化的发展为迈向更高水平的设计自动化奠定了基础。

2.3三维可视化CAD系统

2.3.1可视化技术概述

可视化(VisualizationinScientificComputing,简称VISC)技术是国际上80年代末期提出并发展起来的一门新技术。

它是运用计算机图形图像处理技术将科学计算过程中及计算结果的数据和结论转化为图像信息(或几何图形),在计算机的图形显示器上显示出来,并

进行交互处理。

CAD虚拟现实(VirtualReality,简称VR)也称虚拟环境或人工现实,是一种由计算机生成的高级人机交互系统,即构成一个以视觉感受为主,也包括听觉、触觉、嗅觉的可感知环境,演练者通过专门的设备可在这个环境中实现观察、触摸、操练、检测等试验,有一种“身临其境”之感。

VR技术使设计者处在自己想象的设计空间,如同亲临现场对产品和工程进行设计和布置,这样能够充分发挥设计者的聪明才智使设计进行的尽善尽美。

因此将可视化设计思想运用到铁路设计中是行之有效的。

AutoCAD和3DStudio已经具备比较完备的三维对象设计和表现能力,但在AutoCAD和3DStudio中进行三维设计要求使用者具备专业计算机造型能力,生成的三维动画文件只能为用户被动播放,而不能为用户所控制观看。

现在的GIS已经能够利用普通的桌面型甚至膝上型微型计算机和标准的软件系统来完成各种逼真的图形显示和处理,且能集成和操纵实时三维图形。

近几年来,OpenGL等三维图形标准库函数的迅速发展,而且PC机和工作站的性能日趋接近,Microsoft公司已把OpenGL动态连接库挂到WindowsNT和Win-dows98中,并把OpenGL图形库封装在VisualC++6.0及以上版本中,使广大PC机用户用OpenGL快速开发高质量的三维图形成为可能。

2.3.2公路CAD三维可视化开发方法

(1)开发平台

目前,道路三维可视化开发方法国内外主要有两种方法(见表1)。

一种是从底层开发建立独立的图形系统和数据处理系统,这开发方法需要一定的技术实力和资金,开发周期长,费用高,但一旦开发成功,由于具有自己的完整体系,便于使用和维护,运行速度快,软件市场占有率高。

另外一种是以某种图形软件作为支撑,大多数为AutoCAD,此种方法一般是利用支撑软件提供封装好的图形操作函数接口进行二次开发,具体方法见表2。

表1 公路路线三维可视化开发方法

表2 AutoCAD常用的开发方法

由于软件开发平台的不同,因此在三维建模时,也存在两种方法。

独立底层开发方法的三维建模也必须从底层编制建模函数;同时,也提供了与其他众多流行CAD软件输入输出接口,基于支撑软件的开发方法的三维建模就可以利用支撑软件提供的现成图形等接口函数,省去了许多底层开发的工作,直接在支撑软件调用相关函数进行三维建模。

通过平、纵、横设计数据和对DTM内插整合后就能形成三维公路线框模型。

三维建模后,在效果图和动画制作时,也可以采用两种方法,一种利用CAD进行建模,输出成3dmax等三维动画软件接受的格式,用三维动画专业软件稍加加工,做成效果图或者利用照相机设定视点和行走路线制作动画。

另一种利用程序库如OpenGL,或更进一步封装的程序库如openinvento进行独立建模,并生成三维动画。

(2)三维场景的实时交互

从三维场景交互式来看,分为静态和动态过程。

早期的公路计算机辅助设计软件,一般只能在公路CAD中三维建模,然后输入到三位制作软件中渲染成动画。

它只能被动的播放,而且,制作费时,还要求掌握一种三维制作软件的使用,这就是所谓静态动画。

所谓动态交互式动画设计,就是设计和使用人员可以通过菜单和鼠标对动画进行操作和设定。

这样的设计方法能实现随时修改即时可见效果图或动画,而不象早期的动画制作流程,当需要修改设计时动画制作还得从头再来,费时费力。

2.4公路CAD系统的集成化

公路CAD技术发展到今天,其单项技术如路线CAD、挡墙CAD、涵洞CAD等,已相当成熟,在设计中得到了广泛应用。

但是,到目前为止,还没有能够支持公路设计全过程的CAD系统,系统的集成化程度较低,限制了CAD技术的进一步应用。

一些大专院校和设计单位相继开展了对集成化CAD系统的研究工作,成为当前CAD系统开发的主流。

但从相关的资料分析,这些研究工作普遍存在以下问题:

①缺乏对系统集成内容的整体分析,研究重点集中在系统的专业应用程序功能扩充和整合上,对支撑软件如何与系统集成研究的很少,而在集成化CAD系统的实现过程中,这两者是相互渗透和影响的,不能孤立地考虑;②缺乏对公路CAD系

统集成方法和集成方式的研究。

这是系统的集成框架,对集成化CAD系统的后续开发工作具有指导意义,如果没有一个良好的集成框架,系统的集成只能是纸上谈兵,无法付诸于实践。

针对上述问题,详细分析了各种集成方式的优缺点和适用性,提出了数据集成+控制集成双接口结构的系统集成框架和按照软件相关度确定系统集成方式的思路。

2.4.1集成原则

公路CAD系统集成是将最佳的软硬件的技术相结合,为用户提供完整的解决问题的办法,一切从用户出发,提供一种能覆盖公路设计全过程和各个专业设计的、更高效能的设计整体系统是系统集成的目的。

使一个计算机应用部门或行业的CAD应用软件,在软件总体规划的指导下,以工程数据库为核心,以图形系统为支撑,用现代化接口的方法,把CAD的应用软件连接成为一个有机的整体,使之互相支持,互相调用,信息共享,以发挥出单项应用软件无法达到的整体效益,这就是CAD系统集成的基本原则。

具体要求为:

(1)集成系统应能反映公路设计的全过程,覆盖公路设计的主要专业,保证各个专业分析计算、设计、制图工作、文档处理的正确性和协调性。

(2)集成系统应能把设计过程中用到的各种信息以统一的形式存放和管理,各子系统设计过程中的信息流动必须畅通无阻,相互间能达到数据共享和交换。

(3)系统集成不能是现有软件功能的简单堆积,而应是在软件系统的总体设计的指导下,按照系统工程的原理和软件工程的方法来进行优选、改造和集成,集成的系统要产生更大的功能和效益。

(4)集成系统在设计工程中要具有良好的图形交互处理能力,为设计者提供良好的图形工作环境,采用接近于设计者思维和工作习惯的简单方法,用户熟悉的操作方式,具有良好的人机界面,在交互设计过程中,集成系统应提供方便易用的辅助手段,实时显示设计结果。

(5)集成系统要有完备的执行控制程序,对集成系统进行组织和控制,以保证各子系统有条不紊的工作。

(6)各子系统间的接口要尽可能统一,应有统一的用户界面和尽可能统一的数据模式。

2.4.2集成方式

系统集成方式经历了从数据交换(利用专用文件格式进行数据转换),到公共用户界面(在一致的界面下调用众多不同的工具),再到目前的信息中心库方式。

这是集成计算机辅助软件开发(Integr-atedComputer-AidedSoftwareEnginee-ring,ICASE)的主要集成方式。

它不仅提供数据集成和控制集成(实现工具间的调用),还提供了一组用户界面管理设施和一大批工具,如垂直工具集(支持软件生存期各阶段,保证生成信息的完备性和一致性)、水平工具集(用于不同的软件开发方法)以及开放工具槽。

2.4.3公路CAD集成方案

公路CAD系统的集成方法和框架为:

(1)、系统集成采用数据集成+控制集成的方式。

这种集成方式的特点是采用了两个接口结构,总线接口协调应用系统的连接、功能调用及数据交换,各个子系统运行所需的数据和运行产生的数据,通过它交给数据库管理,可以做到数据的共享和完整性。

API/COM接口可以做到应用软件和其它支撑软件的无缝链接。

(2)、对集成的应用软件组件按其相关度的大小,决定集成方式。

软件相关度指软件之间的依赖程度或数据关联程度。

假设需要集成的软件有N个,记为

软件Ai相关度为a(Ai)

显然,0≤a(A)<1,1≤i≤n。

相关度为零的所有应用软件,如路线CAD系统和路面CAD系统,相互间没有数据传递,则它们的相关度为零,应以控制集成方式进行集成;相关度不为零的所有软件按由大到小的顺序,采用基于数据库的数据集成方式进行集成。

(3)、软件组件之间的接口。

软构件在计算机中的存贮方式上应体现知识的层次关系,因此软件组件接口应包括内部接口和外部接口两种。

外部接口用来描述构件对象的规格说明及开发信息。

软件组件库的组织完全遵守内部接口协议。

软构件的内部接口可以采用以下描述格式:

“类名、组名、软构件名、软构件相关度”。

(4)、软件组件嵌入技术。

部件的嵌入方法有两种:

埋入(Embedding)和链接(linking)。

埋入实际上是将整个对象嵌入到文档之中的方法,用于数据较少和要求处理速度较慢的场合。

链接是通过指针参照的方法,当对象的实体在文档之外或在其它文档中时,以指针链接构件对象接口,用于数据量多的场合和通用数据的场合。

链接也提供对于对象移动保持链接的机构。

第三节cad二次开发

3.1cad二次开发技术概述

AutoCAD是美国Autodesk公司开发的通用型绘图软件,具有强大的图形编辑和处理功能、开放性结构以及良好的性能价格比,其版本从早期的1.0版到目前的2008版,在国内外都已得到广泛的应用。

AutoCAD作为Autodesk公司CAD工业的旗帜产品,伴随着近年来整个PC基础工业的突飞猛进,正在迅速而深刻地影响着人们从事设计和绘图的基本方式。

从始至今,AutoCAD是一种定位与全球各大领域和各类专业的通用微机CAD平台软件。

到目前为止,Autodesk公司已经相继推出了四代二次开发工具,主要包括六种二次开发技术:

AutoLISP、VisualLISP、ADS、VBA、ObjectARX和DotNET,其中ObjectARX和DotNET是全新的的开发手段,功能非常强大,是AutoCAD二次开发的方向。

表3为此六种开发技术的性能特点的比较。

表3AutoCAD开发技术的性能特点的比较

AutoCAD二次开发技术

开发语言

程序可读性

使用难易

系统特点

AutoLISP

AutoLISP

较差

容易

交互性

VisualLISP

VisualLISP

较差

容易

交互性

ADS

C语言

较好

较难

综合性

VB/VBA

VisualBasic

较易

易用性

ObjectARX

C++

较好

智能性

DotNET

VB.NET/C#

较难

易用智能

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1