(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf_第1页
(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf_第2页
(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf_第3页
(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf_第4页
(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(道路与铁道工程专业论文)道路改造纵断面计算机自动设计技术研究.pdf.pdf 免费下载

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

文档简介

摘要 公路路线在平面位置确定之后,决定路线优劣的重要因素是道路纵断面设计,纵断厦设计的合 理性在很大程度上影响着线性总体的顺畅程度、工程数量的大小,它宣影响着路基土石方、防护、 排水等多项工程项目。在纵断面设计过程中,需要满足众多的相互矛盾着的因素的要求,使设计经 济合理。 本文在对影响道路改造纵断面设计诸因素进行分析的基础上,利用最小二乘曲线拟舍原理,对 路线纵断面地面线作平顺处理,然后利用最小二乘拟合曲线的三阶导数为零处的值找出宏观地形凸 凹变化点,进行分段一元线性回归,确定纵断面变坡点并配置纵坡线和竖曲线,根据公路路线设 计规范要求对坡长、纵坡度和半径进行约束处理,生成满足路线纵面设计要求的纵断面线和竖曲 线要素计算表。 程序利用m f c 与o b j e c t a r x 工具库相结合的编程方式实现了对a u t o c a d 的二次开发。使用 m f c 的对话框技术进行道路改造纵断面自动设计的参数化设计。利用该程序为几条路段进行了试算 与分析,其结果较为理想,并且与手工拉坡的结果作了分析对比。 最后,本文提出了研究的不足之处以及对今后研究的展望。 关键词:公路、纵断面、c a d 、设计、竖曲线、约束处理、参数化 a b s t r a c t a f t e re s t a b l i s h i n gt h el o c a t i o no ft h eh o r i z o n t a l a l i g n m e n t ,t h ep r o f i l ed e s i g ni s a n i m p o r t a n tf a c t o ro ft h er o u t eo ft h er o a d ,t h er a t i o n a l i t yo ft h ep r o f i l ed e s i g na f f e c t st h e d e g r e eo ft h es m o o t h n e s sa n dt h em a g n i t u d eo ft h ee n g i n e e r i n ga m o u n tm o s t l y ,a l s oa f f e c t st h e c u t f i l lo ft h es u b g r a d e ,t h ef e n c ea n dt h e d r a i n a g ee t c i n t h ec o u r s eo ft h ep r o f i l e d e s i g n a l w a y st r yt os a t i s f yt h el a r g en u m b e ro ft h er e q u e s t so ft h ef a c t o r sw h i c hc o n f l i c t o n ea n o t h e r s oa st om a k et h ed e s i g ne c o n o m i c a la n dr e a s o n a b l e b a s e do nt h ea n a l y s i so ft h ef a c t o r sw h i c hi n f e c tt h ep r o f i l ed e s i g no ft h et h eo l dr o a d r e b u i l d i n g ,t h i sa r t i c a lu s e st h ep r i n c i p l eo fl e a s ts q u a r e sm o d e l l i n g ,p r o c e s s e st h et e r r a i n 1 i n no fp r o f i l e ,t h e nf i n d st h et r a n s f o r m a t i o np o i n t so ft h em a c r o s c o p i c a lt e r r a i n ,p r o c e s s e s t h eu n i t a r yl i n e a r i t yr e g r e s s i o ns oa st oc o n f i r mt h et u r n i n gp o i n t so ft h ep r o f i l ea n d c o l l o c a t e st h ea l i g u m e n to ft h el o n g i t u d i n a lg r a d i e n ta n dt h ev e r t i c a lc u r v e ,t h e nf o r m sa v e r t i c a lp r o f i l et h a tm e e t sd e s i g nd e m a n d s a tl a s t ,t h ec o n s t r a i n tb o u n d a r i e st h a tr e s t r a i n e d t h ef o r m i n go fv e r t i c a lp r o f i l ei sd i d c u s s e d u s i n gt h et e c h n i q u e so f 肝ca n do b j e c t a p o a n dt h ep a r a m e t r i cd e s i g nb a s e do nt h em f cd i a l o g t e c h n i q u e ,t h ea u t h o rc o m p l e t e st h ed e v e l o p m e n to fa u t o m a t i c a ld e s i g no fp r o f i l ef o rr o a d i m p r o v e m e n tp r o j e c t b yr u n n i n gt h ep r o g r a m m ei nc o m p u t e r ,t h e c a l c u l a t i o ni sm a d ef o rs e v e r a lr o a d s ,a n da n a l y s e s t h er e s u l t ,t h e ya r ef a i r l ys a t i s f a c t o r y i nt h ee n d ,s o m es u g g e s t i o n sa n dv i e w sa r ep r e s e n t e df o rt h ef u r t h e rs t u d y k e yw o r d s :h i g h w a y ,p r o f i l e ,c a d ,d e s i g n ,v e r t i c a lc u r v e ,c o n s t r a i n t sp r o c e s s i n g , p a r a m e t e r i z a t i o n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:l 查:! ! 出e t 期:坦生生 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名:2 i ! ! 监导师签名: 日期: 蔓= 童堑堕 1 1 概述 第一章绪论 自1 9 6 3 年美国麻省理工学院的i e 萨瑟兰德在其博士论文中提出了交互式图形生成技术的概念以 来,c a d 技术( c o m p u t e ra i d e dd e s i g n 。计算机辅助设计) 伴随着计算机技术和计算机图形学技术的 发展而迅速地成长起来,成为- - f 实用的技术,在机械、电子、建筑、化工、能源、交通土建等工程设 计领域得到了广泛的应用。它把人从许多重复繁重的体力、脑力劳动中解放出来,大大提高了工作效率。 c a d 技术在公路勘测设计中的应用,使得传统的公路设计手段、设计方法甚至设计理论都产生了重大变 革,极大地促进了交通土建行业的技术进步,成为道路勘测设计现代化的主要标志之一“。 1 1 1 国内外公路c a d 技术现状 公路计算机辅助设计是工业发达国家计算机技术应用的重要领域之一。6 0 年代,c a d 技术初步应用 在公路设计中,主要是解决单纯的计算问题。7 0 年代,随着计算机绘图功能的逐步开发以及办公室系 统的出现,工程设计中大量设计图纸的绘制与设计文件的编制工作逐步由计算机完成,数字地面模型系 统开始进入实用阶段。8 0 年代,公路c a d 系统逐步走向系统化、集成化、商品化。很多国家已建立了 由航测设备、计算机和专用公路设计软件包形成的集成系统,进入9 0 年代,伴随着高交互性能的真三 维图形支撑系统及面向对象的语言编译系统的相继推出,公路c a d 系统以更新、更先进的面貌出现,并 向着公路的自动化设计进行过渡。 一、国外公路c a d 技术现状 国外公路c a d 技术经过3 0 多年的发展,至今已发展成集数据采集与处理、设计、分析、优化与 一体的集成化、系统化技术,其软件的适应性大大增强。国际上比较典型的道路c a d 系统有:突出公 路几何设计与排水设计的德国c a r d i 系统( c o m p u t e r a i d e d r o a d d e s i g n ) ,以及体现了计算机硬件与 公路设计软件的完美结合的美国b e n t l e y 公司的g e o p a kr o a d 软件。 c a r d 1 系统实用性强,对硬件要求低。界面友好,操作简易,具有先进图像处理、交互设计技术。 c a r d i 的道路模块十几年来一直在不断地完善,用它可完成不同等级道路不同阶段的设计。由于 c a r d i 是一个高度集成的系统,道路设计所需的资料直接可以从测绘模块所建立的数据库中提取,地 形图不再只提供平面信息,它可为道路设计提供广泛的信息。路线的平、纵、横设计可一气呵成,并可 很快计算出工程量,路线多方案的比选已不再是难事,该模块中还包含视距检测和平纵配合动态透视检 查功能等。 美国b e n t l e y 公司的g e o p a kr o a d 软件是为各类道路工程项目的设计、施工以及交通规划而提供 的一套全面的解决方案。这套灵活的软件可满足道路及铁路交通从方案设计阶段到施工阶段的各种需 要。g e o p a kr o a d 向用户提供了对整个工作流程进行控制的技术。g e o p a kr o a d 还是一种可视化的、 允许进行动态编辑修改的设计工具。通过其数字地面模型不仅能够迅速的完成各种数量的统计,而且还 能有效将雨水排水系统与其它专业设计进行集成。它可完成基本元素、定线元素和区域等坐标几何系统 元素的计算和分析,能够自动完成横断面详图的绘制,而且绘制横断面时对车道数及与其连接的构造物 的数目不作限制。 二、国内公路c a d 技术现状 我国公路c a d 的研究始于7 0 年代中期,虽然起步较晚,但发展迅速。自1 9 7 9 年起,c a d 技术初 步应用于公路的平、纵断面优化投空间线形优化之中。8 0 年代以来,随着我国公路建设的高速发展, 一些技术力量较强的大专院校、设计科研单位也自行组织开发了许多道路计算机辅助设计软件。9 0 年 东南大学硕士学位论文 代至今随着国家“七五”重点科技攻关项目的支持,国内道路c a d 的应用逐渐开始普及。同时,c a d 系统的功能覆盖面也越来越广,涉及数字地面模型的建立与应用、地形数据的采集与处理、道路路线及 互通式立交的平纵横设计、路面结构设计、路基排水系统设计、构造物设计、道路管理与养护、工程造 价、设备管理、地理信息系统的应用、交通量分析及公路网规划、公路噪音分析等。 1 1 2 纵断面计算机辅助设计现状与发展 一、c a r d 1 系统纵断面设计特色 在c a r d 1 系统中,路线纵断面设计是以图形交互的方式进行的,设计方法是多种多样的。如设 计线通过控制点,利用最d 、- - - - - 乘法回归等等。设计中,程序可提供多种信息供用户参考使用,如曲率图、 土方累计曲线、任意点的设计高、地面高、填挖值和纵坡等等。还可显示竖曲线的晟低点及最高点以检 查排水设计等。对于相邻的设计轴线,c a r d 1 纵断面设计模块以图形方式进行纵断面设计。工程师可 以用纵断面设计模块进行各种不同情况的纵断面计算、设计和加工,所有的数据输入、修改和计算都能 立即在屏幕上显示,具有完善的交互功能。c a r d 1 纵断面设计模块具有下列功能: ( 1 ) 通过变坡点或纵坡线进行图形交互式纵坡设计; ( 2 ) 通过地面或控制点的输入数据用图形方式定义桩号和高程; ( 3 ) 通过两点、点,坡度或用地面平均坡度线选配纵坡线: ( 4 ) 利用输入数据或图形编辑法通过控制点、切线长或规范最小值选定竖曲线半径; ( 5 ) 按照各种不同的控制情况移动变坡点位置; ( 6 ) 将单报纵坡线或一个纵坡线作纵向或横向平行移动: ( 7 ) 规定一个任意的超高系数用于图形显示; ( 8 ) 按照规范或自行选定的凸形与凹形竖曲线半径容许值进行检验; ( 9 ) 超过容许值时提出警告; ( 1 0 ) 显示任意桩号的高程、纵坡与高差; ( 1 1 ) 可同时绘出9 9 个纵坡线和地面线: ( 1 2 ) 定义约束点,标出控制距离和说明: ( 1 3 ) 图形交互式采集、处理和评价约束点; ( 1 4 ) 显示当前设计线的曲率图和铁路外距超高图; ( 1 5 ) 由纵坡线和地面线求得土方累计曲线的增减趋势及显示: ( 1 6 ) 借助曲率图和路缘超高值图调整竖曲线; ( 1 7 ) 考虑铁路与道路的各种不同的构成形式和精度要求; ( 1 8 ) 打印任意桩号的高程、坡度和地面的高差,包括凸凹变坡处的昂高点和最低点及曲线起 终点嘲。 c a r d i 在纵断面设计上功能强大但是也有缺陷,其缺陷为:不能进行纵断面坡线回归( 旧路改造 时常用) ,不能进行两轴线之间的纵断面转换和传递( 疆道端部,分离式路基分岔处,比较线起终点处 常用) 。 国外软件虽然功能强大齐全、效率商,但设计习惯与中国有一定的差距,且价格高,在国内普及难 度较大。 二、e i c a d 纵断面设计特点 国内一些高校与专业软件开发部门的研究人员通过多年的努力,开发了一些适合中国设计习惯的道 路c a d 软件,如:东南大学李方教授主持开发的e i c a d 系列软件。西安海德公司的h e a d 系列软件等。 e i c a d 在路线纵断面设计方面具有以下显著特点: ( 1 ) 采用动态交互方式完成设计。用户通过鼠标点取的修改对象( 变坡点、坡度线、竖曲线等) , 随着鼠标的移动,屏幕上动态地显示路线修改方案和相应的设计参数( 桩号、高程、坡度、坡长、竖曲 线半径、切线长、外距等) 的变化通过拖动步长( 桩号步长、坡度步长) 、拖动比例和拖动方式( 人 - 2 - 一一 兰二至塑堡 工指定变坡点桩号、高程、前坡、后坡等十余种方式) 的调整,可以在毫米级的精度上,使设计很快达 到用户的要求,从而大大地提高设计效率。 ( 2 ) 具有强大的管理能力。用户能够在同一个图形文件中,在同一时间内随意地在进行任意多条 道路的纵昕面设计。软件的这一强大管理功能,对于立交设计或同一条道路多个设计方案的比较,是极 其有利盼。不论这些道路有无桩号断链,软件都能灵活地加以识别和处理。每条道路的桩号断链数可多 达1 0 0 个,纵断面的变坡点数可多达1 0 0 0 个,地面线中桩数可多达1 0 0 0 0 个,足以满足用户的各种需 要。 ( 3 ) 灵活的高程控制功能。用户在设计时可采用动态交互方式插入、移动和删除高程控制点,修 改设计时屏幕上可动态显示各高程控制点处设计高程与控制高程的高差,从而使设计极易达到控制高 程的要求。每条道路的高程控制点数可多达1 0 0 0 个。 ( 4 ) 方便的参数化设计功能。为适应用户的不同需要,该软件具备了完善的参数化设计功能,例 如,对于变坡点的位置,可以通过键盘输入桩号、高程、前坡度、后坡度四个要素中的任意两项得到, 极大地方便了设计者。 ( 5 ) 友好的用户界面。软件采用汉化界面,所有数据的输入等人机对话均在对话框中进行。这些 对话框随时检查输入数据的合法性和合理性,并有完善的出错提示功能和帮助功能。在动态交互设计过 程中,软件随时检查修改设计方案的合理性,如果出现相邻竖曲线“穿袖”或变坡角为零时,将自动舍去 不合理的方案,并通过报警,动态地提示信息。对所有变坡点和控制点,软件均在屏幕上给予编号当 用户插入、移动和删除上述点时,这些编号会自动按顺序进行调整,使用户感到非常直观。在动态交互 设计过程中,程序随时提供在线帮助服务。 ( 6 ) 强大的修改设计功能。修改后的设计可以图形文件的形式保存,以后再修改时,可直接将图 形文件调入,不必每次用数据文件来绘制图形,给用户带来很大方便。当用户对自己所作的修改设计不 满意时。可非常方便地逐步撤消前一次修改,可撤消修改的步数不受限制,直到撤消完每步修改设计 后为止。 ( 7 ) 丰富的设计查询功能。用户可在屏幕上随时查询任一条道路的信息,如查询设计线要素、查 询控制点,查询桩号断链、进行技术指标分析,估算土石方数量,绘土石方累计曲线等。此外,软件还 具有动态查询指定道路的功能,即随鼠标的移动,屏幕上动态地显示桩号、设计高程、地面高程、填挖 高度、坡度、坡长、竖曲线半径、切线长、累计填方和累计挖方等各种技术参数。 ( 8 ) 适应性极强的设计图表绘制功能。用户可在对话框中极其方便地任意定义设计图表的格式, 例如,路线纵断面图图框大小,图内标注栏的栏数,各标注栏的内容、顺序和标注精度,标注栏的高度 和字体大小、宽度系数、倾斜角度、网格线水平和垂直间距、断链间距等绘图内容的选择,并可以把这 些定义用工作文件的形式保存起来便于日后应用。总之,软件把可供选择的方式尽可能地在对话框中列 出,以最大限度地满足不同用户的需要。 国产道路设计软件的特点是:工程解决问题的针对性强,完全按照国内工程设计习惯开发,价格比 较适中,但总体功能相对国外同类软件,比较单一,通用性不强,其主要功能大多还是停留在计算与绘 制图表这一水平,与真正意义上的计算机辅助设计还有一定差距。 三、国内纵断面计算机自动设计现状 在纵断面计算机自动设计方面,国内一些高校与专业软件开发部门的研究人员也取得了一定的成 绩,如北京工业大学土木工程学系刘朝阳、任福田以及重庆交通学院道路工程系吴国雄所开发的纵断面 自动生成程序。 北京工业大学土木工程学系刘朝阳和任福田利用计算机进行自动定坡的设计法是:利用高程加权法 对路线地面线进行拟合,形成一条“准纵断面线”,根据平顺范围不同,形成的“准纵断面线”形状亦不同 的原理,将两条准纵断线交点视为“节点”,进而生成“节点定位线”,最后利用真线拟合方法对“节点定 位线”加以处理,并转化成习用纵面线形,同时处理约束条件【6 j 。这一方法,能够很好处理地面线,但 3 - 东南大学硕士学位论文 平面范围自喃定主观性很大,同时将“准断面线”转化成习用纵面线形,其过程显得复杂。 重庆交通学院道路工程系吴国雄采用的方法是:利用二次b 样条拟合原理,首先对路线的地面线 进行平顺处理,生成一条新的平顺地面线,对平顺地面线进行拟合,然后选定拟合曲线上直线段的高程 点,曲线段的高程极值点及起终点作为下一次b 样条拟合的角点,再作一次拟合,如此反复进行,直 到被认为拟合曲线的整体轮廓基本接近将来纵断面设计线为止,称此时的拟合线为“准纵断面线”,然后 计算准纵断面线的曲率,并生成曲率图,利用直线和圆弧单位对曲率圈进行拟合,联立准纵面线方程, 求得纵断面线设计所需要的一切信息,最终生成纵断面线,并处理约束条件 7 1 。这一方法生成的纵断面 设计的工程数量较小,但是在应用过程中为了减少重复拟合次数,需灵活运用二次b 样条拟合的边界 条件对原地面线进行平顺处理,故主观性较大,不宜掌握。 1 2 本课题的立题背景和意义 1 2 1 本课题的立题背景 随着国民经济的持续、高速发展,交通运输越来越显示出其在国民经济中的地位。现有的公路交通 状况远远不能满足现有交通流量及其迅速增长的需要现有的道路交通网络亟待改善,许多低等级道路 急需提高质量。旧路改建就是在原路基础上进行技术改造,以改善其行驶质量、通行能力、使之适应不 断增长的交通需求。 相对新路建设,旧路改造的特点是除道路几何设计各类指标的限制外,设计成果受地形、地貌即沿 线设施,如道路两侧建筑物。道路固有桥涵、隧道等结构物的约束更为严格。这是旧路改造的重点,同 时也是难点。 旧路纵断面设计的传统方法是将道路中心沿线各桩号所对应的地面高程数据及相关平面线形数据 读入程序对这些数据进行校核处理之后,绘制纵断面地面线图形,设计人员在综台考虑道路沿线地形、 地质状况、道路几何设计要素( 坡长、坡度、竖曲线半径、曲线长度) 、路线平纵组合、路线交叉、沿 线构造物( 如大桥,隧道) 等约束条件的基础上,以人机对话方式增加、删除或移动变坡点,配置合适 半径的竖曲线半径,然后依据以上设计成果进行试算与绘图,并根据设计经验对此方案进行检查、修改, 直至满意,最终绘制路线纵断面设计图。 传统的手工拉坡进行纵断面设计带有很大的主观性和局限性,对设计人员的设计水平、实践能力和 分析判断能力要求比较高,即使是经验丰富的设计人员,对于较长的道路纵断面设计也要耗费大量的时 间和精力在单调、枯燥、频繁的拉坡工作中,工作效率低下,往往还难以取得理想的设计成果。 1 2 2 本课题的立题意义 计算机最适合的工作恰恰是大量的、单调的、频繁往复的工作。现代计算机技术的飞速发展使之本 身日益广泛地进入其他各个领域。道路设计的传统方法也不可避免地受到计算机应用技术的冲击。计算 机涉足道路设计无疑能大大提高生产效益,而更重要的是为提高设计质量,为设计的优化提供了极大的 可能性。 随着计算机技术的发展及普及,使公路设计人员利用计算机自动来产生纵断面设计线的愿望成为可 能,以此满足日益增长的工作效率的要求。 纵断面计算机自动设计可以利用计算机信息存储量大、计算速度快、成图快而美观的特点,提高设 计质量和工作效率,因此使用计算机自动设计纵断面代替手工拉坡是完全可行的,也是发展的必然趋势。 4 - 第一章绪论 1 3 课题研究的主要内容 本文根据我国现行的道路设计规范、路线设计特点,结合具体的工程示例对纵断面计算机自动设计 技术进行研究和开发,寻找适台于道路纵断面自动设计的数学方法,并利用基于v i s u a lc + + 6 0 平台的 a u t o c a d 二次开发工具o b j e e t a g x ,采用m f c 与o b j e e t a g x 混合编程的方法编制应用于a u t o c a d 2 0 0 0 2 0 0 2 的纵断面计算机自动设计程序,并对其进行功能检验与评估。 1 3 1 研究内容 本文研究的内容主要包括: ( 一) 调查、分析、归纳纵断面设计流程及设计方法, 则及设计时应考虑的基本要素。 ( 二) 对纵断面自动设计的内容、方法进行需求分析, 并且学习、研究、总结纵断面设计的基本原 即明确纵断面自动设计的业务流程、操作步 骤、功能层次以及数据流程,对程序进行详细设计。 ( 三) 研究纵断面计算机自动设计可以采用数学模型,并对各种数学模型的实用性进行比较。 ( 四) 探索使用o b j e e t a r x a u t o c a d 进行二次开发的技术,以及m f c 与o b j e c t a r x 混合编程 的方法,并编制应用程序。 ( 五) 结合具体的工程项目进行检验和工程评估。 1 3 2 系统开发手段 a u t o d e s k 公司的a u t o c a d 系列产品是目前国内应用最广的辅助设计软件,其中a t l t o c a ) 2 0 0 0 已经 代替r 1 4 成为当前的主流且a u t o d e s k 公司最新推出的a u t o c a d2 0 0 2 同样支持以2 0 0 0 作为平台开发 的程序,因此,选择a u t o c a d2 0 0 0 作为图形开发平台是理想的。所以,在进行道路改造纵断面自动设 计技术的开发时,采用了a u t o c a d2 0 0 0 的二次开发工具o b j e c t a r x2 0 0 0 以及v i s u a lc + + 6 0 语言编程 环境。本系统支持w i n d o w s9 8 2 0 0 0 n t x p 操作系统a - 5 - 东南大学硕士学位论文 第二章设计流程分析 设计流程分析是将设计方法、步骤模型化的过程,即对纷繁的反映现行的设计方法进行分析、 综合、归纳,最后抽象出新设计方法的模型建立过程。设计流程分析的步骤如下: ( 一)归纳现有设计方法的业务流程,并将其结果绘制成业务流程图; ( 二) 总结计算机所应执行的事件的前后联系,并将其结果绘制成处理模型图; ( 三) 分析计算机处理事件各步骤应完成的任务。并将其结果绘制成功能层次图; ( 四) 确定各步骤输入、输出的数据及其结构,并将其结果绘制成数据流程图。 2 1 传统方法的设计流程 2 1 1 业务流程图 图2 1 纵断面设计流程图 6 第二章设计流程分析 2 1 2 处理模型图 2 1 3 功能层次图 图2 2 传统设计方法的处理模型图 图2 3 传统设计方法的功能层次图 7 东南大学硕士学位论文 2 + 1 4 数据流程图 图2 4 传统设计方法的数据流程图 8 第二章设计流程分析 2 2 自动设计的流程 2 2 1 业务流程图 图2 5 自动设计的业务流程图 9 东南大学硕士学位论文 2 2 2 处理模型图 2 2 3 功能层次图 图2 6 自动设计的处理模型图 图2 ,7 自动设计的功能层次图 一1 0 - 苎三兰堡笪亟墨坌堑 2 2 4 数据流程图 图2 8 自动设计的数据流程图 l l 东南大学硕士学位论文 第三章o b j e c t a r x 开发技术研究 3 i a u t o c a d 开发系统概述 a u o t o c a d 是p c 平台上的主流c a d 系统,不但具有强大的功能,而且提供非常开放的二次开发环境。 通过对a u t o c a d 进行二次开发,可以利用a a t o c a d 内部的各种功能,为各种行业的用户开发专用的c a d 设计环境,极大的提高设计生产的效率。 使用a u t o c a d 的开发系统,则可将计算和绘图过程通过高级语言编制相应的程序,在需要设计时, 只需一个命令即可运行该程序,使得计算和绘图自动完成。显而易见,这不仅大大提高了设计效率,而 且,通过开发系统可定制出某些专业化的模块,甚至大型设计软件。 a u t o c a d 开发系统”,有时称作a u t o c a d 开发工具,或是称作a u t o c a d a p i ( 应用程序接口) ,它的 主要开发工具有o b j e c t a r x 、a u t o l i s p 、a d s 、j a v a 和v i s u a lb a s i c 等,它们各具特点,本文主要分析 前三种语言,以进行比选。 3 1 1 a u t o l i s p l i s p ( l i s tp r o c e s s i n gl a n g u a g e ) 是一种计算机表处理语言“,它具有很强的表处理功能,是 人工智能程序设计的有力工具之一。l i s p 语言的种类很多,如m a c l i s p s c h e m e ,p cs c h e m e 和c o m m o n l i s p 等。而a u t o l i s p 是一种嵌入在a u t o c a d 内部l i s p 语言,它一方面支持c o m o n l i s p 的语法与结构,同 时又具有与a u t o c a d 系统相关的特殊数据类型和函数。通过这些函数,可以访问c a d 内部所有的命令、 选择项、实体、图形数据库和系统的输入输出等,可以说a u t o l i s p 是用户对a u t o c a d 系统进行二次开 发的有力工具。 a u t o l i s p 程序的结构为: 注释部分) 全局变量初始赋值) 子函数定义局部注释 ( 子函数定义 f 主函数定义 图形的绘制和数据的处理在多个子函数中完成。子函数在主函数中定义并合成为一个新的a u t o c a d 命令。 a u t o l i s p 语言结构清晰,层次分明,是一门更接近于数学语言的语言。与其它各种计算机程序设 计语言相比较,有它自己的独特之处,具体表现在如下几个方面: ( 1 ) a u t o l i s p 语言中的表达式是一种前缀表达式,其程序的基本形式是一系列函数定义; ( 2 ) a u t o l i s p 语言是一种表处理语言,递归是其主要控制结构,这是它的显著特点: ( 3 ) a u t o l i s p 语言具有丰富的数据类型,它所提供的有关符号的特征值和特征表的相应操作,使 得它可方便地实现各种搜索。 a u t o l i s p 语言也有它自身不足的一面,主要表现在以下几个方面: ( 1 ) 它的语言开发环境没有集成性,使得程序的编辑与调试不很方便; ( 2 ) 在菜单设计方面比较逊色; ( 3 ) a u t o l i s p 语言对文件的操作,没有象c 语言那样提供打开文件后既能读又能写的过程,它在 文件输出和修改方面的功能显得比较弱; - 1 2 - 第三章o b j e c t a r x 开发技术研究 ( 4 ) 由于常规计算机体系结构与l i s p 特点不相适应,因此a u t o l i s p 语言在常规机上运行效率低、 性能差。 a u t o l i s p 语言是l i s p 语言和a u t o c a d 有机结合的产物。a u t o l i s p 继承了l i s p 语言的编程规则, 在程序代码中有繁多的括号,编程中很容易出现括号不匹配的错误。程序文件以文本形式进行存储,不 经过编译,保密性差。它以解释方式运行,不适合于编写大型程序,运行速度较慢。 3 1 2 a d s a d s ( a u t o c a dd e v e l o p m e n ts y s t e m ) 是a u t o c a dr 1 1 所提供的一种c 语言编程环境,它除了可以 使用标准c 的函数以外,又增加了一组专用于对a u t o c a d 进行操作的函数。用c 语言编写的a d s 应用程 序不能脱离a u t o c a d 环境独立使用,它们需要通过特定的编译器和连接器进行编译、连接,形成可执行 文件。a d s 应用程序与a u t o l i s p 应用程序相比,功能更加强大,它不仅包括了c 语言的全部资源,而 且几乎具备了a u t o l i s p 调用a u t o c a d 资源的所有功能。 a d s 应用程序的结构为: 头文件 宏定义 全局变量定义 ( 外部函数声明 ( 主函数m a i n 0 定义j a d s 应用程序的工作流程: ( 1 ) 利用a d s _ i n i t ( ) 初始化与a u t o l i s p 的通讯接口; ( 2 ) 利用a d s l i n k ( ) 向a u t o l i s p 返回一个a d s 程序的结果码,并接受和处理来自a u t o l i s p 的请 求: ( 3 ) 根据a d s _ l i n k 0 的返回码,a d s 通过a d s _ d e f u n o 将每一个用户子函数都定义为外部函数, 并由用户决定执行哪一个外部函数。 比较于a u t o l i s p ,a d s 还有一些优点: ( 1 ) 经过编译连接生成可执行文件,因而速度更快,具有保密性; ( 2 ) 利用了c 语言的数据类型和结构,程序比较简洁; ( 3 ) 可以有效地利用内存、0 s 和硬件等资源; ( 4 ) 适用于编写大型程序和计算机硬件环境相互作用较多的场合。 尽管a d s 有着这样诸多优点,但它的内在结构不是面向对象的所以只能使用传统的c 语言编程, 即是说只能采用传统的结构化编程方法。而在当今,面向对象的编程技术已经成为软件开发的主流技术, a d s 在用代码来详尽的描述现实世界时显得力不从心了。 3 1 3 a r x a r x ( a u t o c a dr u n t i m ee x t e n s i o n ) 是在a d s 基础上发展起来的一种面向对象的c 语言编程环境。 由a d s 到a r x 的转变就如同由c 到c + + 的转变。它与老式的a d s 及a u t o l i s p 的最大差异在于它的应用 程序是动态链接库( d l l ) 程序,共享了a n t o c a d 的地址空间,井能直接访问a u t o c a d 的核心数据结构、 图形系统以及几何造型核心,能在运行期间实时的扩展已有类及其功能,创造能全面享受a n t o c a d 固有 命令特权的新命令。a r x 与a u t o c a d 之间的通讯是采用消息传递机制直接运行的。 a r x 的程序结构为: ( 头文件 宏定义) - 1 3 东南大学硕士学位论文 全局变量定义) 函数声明 动态链接库程序入口函数的定义 a r x 与a d s 程序文件结构的不同在于用动态链接库程序入f i 函数a c r x e n t r y p o i n t 0 来替代主函数 m a i n 0 。实质上。a r x 应用程序利用a c e d r e g c m d s - - a d d c o m m a n d ( ) 这一函数来注册新命令。 a r x 的应用程序相比较其它开发工具具有一些显著特点: ( i ) 它以c + + 为基本开发语言,具有面向对象编程方式的数据可封装性、可继承性及多态性等特 点: ( 2 ) 用其开发出的工程c a d 软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效 实用: ( 3 ) 代码可重用性强; ( 4 ) 支持m f c ( m i c r o s o f tf u n d a t i o nc l a s s ) ,能简洁并高效的实现许多复杂功能。 3 1 4 三种开发方法的比较 a u t o l i s p 是a u t o c a d 最早的解释型a p i ,它不是面向对象的语言,主要完成重复性任务,通过i p c ( i n t e r p r o c e s sc o m m u n i c a t i o n 、进程间通信) 与a u t o c a d 交互。 a d s 开发时需要c 语言编译环境,但其内在结构不是面向对象的,其外部函数通过a u t o l i s p 解释 器加载和调用。 a r x 应用程序则可直接进行a u t o c a d 的函数调用。 下面从程序的执行速度、稳定性、性能和技术难度上对这三种开发方法进行比较: ( 1 ) 速度:直接与a u t o c a d 通讯的a p i 比利用i p c 进行通讯的a p i 在速度方面要快。编译型的a p i 比解释型的速度要快。因此,a r x 速度最快,a u t o l i s p 速度最慢。 ( 2 ) 稳定性:运行稳定性反映出程序可能出现的严重错误所导致的危险。采用a u t o l i s p 开发的应 用程序一旦失败或崩溃,并不危害a u t o c a d 的自身进程,而由于a r x 共享了a u t o c a d 的地址空间,所以 一旦失败,其进程也随之崩溃。 ( 3 ) 性能:a r x 的应用程序能在运行期间实时扩展a u t o c a d ,共享其地址空间,因此性能非常的强 大,以至于许多a u t o c a d 自身的许多功能模块均是用a r x 制作。相反,对于解释型的a u t o l i s p ,甚至 老式的编译型的a d s ,也仅仅被限于使用静态的命令集合系统提供的结构化函数库。 ( 4 ) 技术难度:a u t o l i s p 是解释型语言,方便易学,开发周期短,许多程序员或非程序员均在使 用它们。相比之下,a r x 依赖于c + + 语言,它必须经过严格控制的编译、连接才能生成应用程序。 总之,a d s 在速度和内存使用方面效率较a u t o l i s p 高,且具有直接访问操作系统和硬件的能力, 经过编译,具有较好的保密性,但开发和维护的时问和费用较高。组成a d s 库的全部函数已包括在a r x 中,人为地将这些函数归并为单一的库,该库已被纳入到a u t o c a d 的总体结构中。 而a r x 同样具有了a d s 的所有优点,并直接面对a u t o c a d 的内部数据,可利用c + + 面向对象的强大 功能,执行速度、控制能力等都优于a u t o l i s p 和a d s ,在内存占用方面更加节省,可直接对操作系统 及硬件进行操作。此外,它采用面向对象技术进行编程,从数据的封装性来看。更加安全可靠。鉴于以 上种种原因,在c u l c a d 系统的开发中,作者选用了a r x ,虽然用它编程复杂些。 3 2o b j e c t a r x 概述 3 2 1o b j e c t a r x 的组成 o b j e c t a r x 环境主要包括以下五个类库:a c r x ,a c e d ,a c d b ,a c g i 和a c g e ,以及一个与原来的 】4 三篁塑望竺! ! 坠堑垄茎堑塞 a d s 相兼容的函数库。其核心是两组关键的a p i ,即a c d b 和a c e d 类库。 ( 1 ) a c r x 库 这个库提供了系统层次的类用于动态链接库的初始化,以及用于运行时刻类的注册和标识等,即提 供了a r k 和a u t o c a d 的接口。另外,它还提供了一组c + + 宏用于创建新的类。 a c r x d i c t i o n a r y 类是该库中一个重要的类。词典( d i c t i o n a r y ) 是从一个文本字符串到另一个对 象的映射a c r x 库把对象、类、服务词典放在一个全局实体词典中,该词典是a c r x d i c t i o n a r y 类的一 个实例,应用程序可以向该词典中增加对象以便其他程序能够存取。 ( 2 ) a c e d 库 该库提供了组类用于定义和注册新的a u t o c a d 命令,这些命令7 f a u t o c a d 内部命令作用方式相同。 a c e d 库中的一个重要类是a c e d i t o r r e a c t o r ,它监视a u t o c a d 编辑器的状态,并在发生特定的事件( 如 命令的开始、结束与取消) 时通知a r x 应用程序。 ( 3 ) a c d b 库 该库提供了一组类用于存取a u t o c a d 图形数据库的结构。该数据库保存着组成a u t o c a d 图形的所有 图形对象即实体,以及非图形对象( 如图层,线型,文本样式等) 的所有信息。应用程序可以使用该库 查询和操作已有的实体及对象的实例。也可以建立新的数据库对象的实例。 ( 4 ) a c g i 库 该库提供了绘制a u t o c a d 实体的图形界面。通过成员函数能够同时处理所有视口里的图形对 象。 ( 5 ) h c g e 库 该库提供了许多实用类( 如矢量、点、矩阵等) ,用于执行二维和三维几何操作。同时也提供了简 单的几何实体类,如点、曲线和面,包含了两个主要的子集,用于二维图形的类和用于三维图形的类。 最后需要说明的是,o b j e c t a r x 仍然提供了a d s 库函数,并且大多数函数已经更改为新的函数名, 当然,对应的新旧函数的功能是完全一样的。 3 2 2o b j e c t o r 的开发功能 从宏观上讲,利用o b j e c t a r x 可开发面向对象的应用程序,具体而言,使用它可以完成以下任务: ( 1 ) 直接访问a u t o c a d 图形数据库 a m o c a d 的图形数据库,实际上即是一个保存后的图形文件,它包含了各种对象,如图形实体、 符号表、词典等,o b j c c t a r x 提供了直接操作图形数据库的类,也可以通过类的派生,生成和添加自己 的图形对象。 ( 2 ) 与a u t o c a d 编辑器方便交互 o b j c c a r x 提供了可以与a u t o c a d 编辑器进行交互的类和成员豳数,用户的应用程序可以相应发 生在a u t o c a d 中的各种事件的通知。 ( 3 ) 利用强大的m f c 类库 a r x 应用程序可以与m f c 库进行动态链接或静态链接,以利用m f c 的功能。尤其是消息处理、 图形界面的功能。除此之外,o b j e a a r x 本身也提供了自己的对话框类,可以定制自身风格的对话框。 ( 4 ) 支持多文档( m d i ) 多文档是i w m d o w s 应用程序的一个非常重要的特点。使用o b j e c t a r x ,可以创建支持a u t o c a d 2

温馨提示

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

评论

0/150

提交评论