基于AUTOCAD二次开发的交叉口交通组织设计

基于AUTOCAD二次开发的交叉口交通组织设计

ID:74822025

大小:1.43 MB

页数:71页

时间:2024-01-08

上传者:笑似︶ㄣ無奈
基于AUTOCAD二次开发的交叉口交通组织设计_第1页
基于AUTOCAD二次开发的交叉口交通组织设计_第2页
基于AUTOCAD二次开发的交叉口交通组织设计_第3页
基于AUTOCAD二次开发的交叉口交通组织设计_第4页
基于AUTOCAD二次开发的交叉口交通组织设计_第5页
基于AUTOCAD二次开发的交叉口交通组织设计_第6页
基于AUTOCAD二次开发的交叉口交通组织设计_第7页
基于AUTOCAD二次开发的交叉口交通组织设计_第8页
基于AUTOCAD二次开发的交叉口交通组织设计_第9页
基于AUTOCAD二次开发的交叉口交通组织设计_第10页
资源描述:

《基于AUTOCAD二次开发的交叉口交通组织设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

太原理工大学硕士学位论文论文题目基于AUTOCAD二次开发的交叉口交通组织设计英文并列题目TRAFFICENGINEERINGDESIGNOFTHEINTERSECTIONBASEDONTHESECONDARYDEVELOPMENTOFAUTOCAD作者姓名:王璠学号:S20060248学科(专业):机械设计及理论研究方向:计算机图形学指导教师:杨胜强职称:教授所在学院:机械工程学院提交日期:2009/5学位授予单位:太原理工大学 基于AUTOCAD二次开发的交叉口交通组织设计摘要交叉口交通组织设计是道路设计中的一个重要组成部分。传统的交叉口设计方法主要采用手工设计,设计周期较长,而且主要依据设计人员的经验。这就极大地降低了设计效率,并增加设计错误出现的可能性。一方面城市道路在日新月异的高速发展,而具有实际经验的交通组织设计、管理人员则将大量的时间和精力投入到简单重复性的基础数据录入、更新之中,导致交通管理设计领域成本与成果比例失衡。当今,各设计行业已经普遍采用计算机辅助设计。所以,急需开发专业的交叉口交通组织设计软件来解决上述问题。课题以交通需求管理理论和相关法律、法规为依据,在对当前交通组织设计理论、方法与实践过程进行总结和分析的基础上,针对传统交通组织设计过程中存在的问题,结合计算机图形技术发展成果,以VisualC++为编程工具,AutoCAD2000为图形平台,使用ObjectARX二次开发工具,编制了交叉口自动设计系统。系统能自动设计和绘制交叉口几何轮廓、板型、人行横道等内容。并且通过对数据库和程序的分别设计,使系统具有开放式的体系结构,便于用户对程序的定制和扩充,也易于对数据的管理。使用本系统,在有效提高交通设计人员的日常设计工作效率,降低交通管理人员工作难度的同时,也提升了交通组织中重点设计环节的准确性、科学性与时效性,同时极大地缩短了设计周期。 关键词:交叉口,AutoCAD,二次开发,ObjectARX TRAFFICENGINEERINGDESIGNOFTHEINTERSECTIONBASEDONTHESECONDARYDEVELOPMENTOFAUTOCADABSTRACTTheroadintersectiondesignoftrafficengineeringisanimportantcomponentofroaddesign.Traditionalroadintersectiondesignismanualdesignmainly.Inthedesignindustry,computer-aideddesignhasbeenwidelyused.Ifthedesignwithouttheassistantofcomputer,theefficiencyofdesignwouldbegreatlyreducedandtheappearanceprobabilityofdesignerrorswouldincreased.Thedevelopmentofurbanroadisatahigh-speed,butalotoftimeofthetraffic-engineeringdesignersandmanagementstaffwhichofpracticalexperienceisusedontheentry,theupdatingofsimplerepetitivedata.Hence,thedesigncostandthedesignoutcomeisinastateofimbalanceintraffic-managementdesignarea.Therefore,itisurgentlytodevelopprofessionaltrafficengineeringdesignsoftwaretoaddresstheseissues.Accordingtothetrafficdemandmanagementtheory、relatedlawsandregulations,onthesummaryandanalysisofthecurrenttrafficengineeringinthedesigntheory、methodsandpractice,thisdissertationaimsatthetraditionaltrafficengineeringdesignproblemsandcombinesthecomputergraphics technology,developstheautomaticallyintersectiondesignsystemusedtheVisualC++programmingtools,AutoCAD2000graphicsplatformandthesecondarydevelopmenttoolsObjectARX.Theoutline,templateandthepedestriancrosswalkoftheintersectioncanbedesigned.Andtheadvantageofadoptingdatabasetechniqueliesinmakingthedatabaseandapplicationprogramseparatedsothatitisconvenienttomanagetherelatingdata.Theintersectiondesignsystemimprovesthedesignefficiencyofdesigners,reducesthedifficultyoftrafficmanagementwork,andenhancestheaccuracy、scientificnatureandtimeeffectivenessoftheimportantdesignaspectsintrafficengineering,greatlyshortenedthedesigncycleatthesametime.KEYWORDS:Intersection,AutoCAD,secondarydevelopment,ObjectARX 目录第一章绪论..............................................................................................................................11.1计算机辅助设计技术概述..............................................................................................11.2计算机图形学技术..........................................................................................................11.2.1计算机图形学的诞生及发展历程...........................................................................21.2.2计算机图形学相关理论与技术的应用...................................................................31.3国内外交通组织CAD软件简介...................................................................................91.4我国交通组织交叉口设计CAD的现状.....................................................................101.5本课题的意义和主要工作.............................................................................................111.5.1课题的研究意义......................................................................................................111.5.2课题的研究内容.....................................................................................................12第二章交通组织设计实践过程解析及开发工具选择.......................................................132.1城市道路的特征与内涵................................................................................................132.1.1交通组织设计内容及基本要求.............................................................................132.1.2城市道路的定义及几何基本依据.........................................................................152.1.3城市道路的功能与特点.........................................................................................182.2交叉口设计系统开发工具选择....................................................................................222.2.1AutoCAD二次开发的特点....................................................................................222.2.2AutoCAD二次开发工具简介................................................................................232.2.3交叉口设计系统二次开发工具的确定.................................................................25第三章交叉口设计系统.......................................................................................................273.1系统的构成及其功能...................................................................................................273.2各模块的功能及所绘制图形的几何特征...................................................................273.2.1图层控制模块.........................................................................................................273.2.2道路物理中线与道路几何线形绘制模块.............................................................283.2.3道路几何轮廓与道路板型绘制模块.....................................................................293.2.4交通标线绘制模块.................................................................................................31 3.2.5交通标志绘制模块.................................................................................................343.2.6交通管理设施绘制模块.........................................................................................363.2.7信息标注模块.........................................................................................................38第四章交叉口交通组织设计的实践....................................................................................404.1软件的准备....................................................................................................................404.1.1软件环境与程序的调用.........................................................................................404.1.2典型交叉口几何轮廓的自动设计.........................................................................404.1.3车道功能的定义.....................................................................................................424.1.4常用标注信息的载入.............................................................................................444.2交叉口自动设计实例....................................................................................................464.2.1交叉口实例的选择................................................................................................464.2.2根据设计需要确定系统所需的参数并实地考察测取数据.................................464.2.3输入参数系统自动生成初步设计方案并根据实际管理情况修改.....................474.2.4小结.........................................................................................................................48第五章总结与展望................................................................................................................495.1总结................................................................................................................................495.2展望................................................................................................................................49参考文献..................................................................................................................................50附录..........................................................................................................................................53攻读硕士期间发表论文..........................................................................................................63致谢..........................................................................................................................................64 第一章绪论1.1计算机辅助设计技术概述计算机辅助设计(ComputerAidedDesign,简称CAD)技术,是利用计算机强有力的计算功能和高效的图形处理能力,辅助工作人员进行工程和产品的设计与[1]分析,以达到理想的目的或取得创新成果的一种技术。作为电子信息技术的一个重要组成部分,是促进科研成果的开发和转化,促进传统产业和学科的更新和改造,实现设计自动化,增强企业及其产品在市场上的竞争能力,加强国民经济发展和国防现代化的一项关键性高技术。CAD技术的使用使产品和工程设计、制造的工作内容和方式发生了根本性的变革,这一技术成为工业发达国家制造业保持竞争优势、开拓市场的重要手段。1990年美国国家工程科学院将CAD技术[2]评为当代十项最杰出的工程技术成就之一。目前,CAD技术日趋成熟、应用日益广泛,有力地促进了全球高新技术的发展和新产品的迅速更新换代。现在,随着计算机性能成数量级的提高,其价格成倍地下降;随着“网络通讯的普及化”、“信息处理的智能化”、“多媒体技术的实用化”,随着CAD技术的普及应用越来越广泛,越来越深入;CAD技术正向着开放、并行、集成、智能和标准化的方向发展。1.2计算机图形学技术计算机辅助设计实现与计算机图形学技术的发展是密不可分的,计算机图形学技术为计算机辅助设计的实现提供了技术的保障。计算机图形学一个主要的目的就是要利用计算机及其显示设备产生令人赏心悦目的真实感图形。为此,它需要研究以下几方面的内容:1三维景物的表示,这是计算机图形显示的前提和基础;包括曲线曲面的造型技术,实体造型技术,以及纹理、云彩、波浪等等自然景物的造型和模拟;2三维场景的显示,包括光栅图形生成算法、线框图形和真实感图形的理论1 和算法;3基于图象和图形的的混合绘制技术;4自然景物仿真;5图形用户接口;6虚拟现实7动画技术;8可视化技术;9几何和图形数据的存储,包括数据压缩和解压缩;10图形硬件、图形标准、图形交互技术等。1.2.1计算机图形学的诞生及发展历程1.硬件的发展1950年,美国麻省理工学院(MIT)诞生了旋风I号(WhirlwindI)计算机及其显示器。该显示器用一个类似于示波器的阴极射线管(CRT)来显示一些简单的图形。五十年代中期,美国战术防空系统SAGE(SemiAutomaticGroundEnvironment)则是第一个使用具有命令和控制功能的CRT显示控制台的系统;在显示器上,操作员可以用光笔在屏幕上指出被确定的目标。1958年美国Calcomp公司由联机的数字记录仪发展成滚筒式绘图仪,GerBer公司把数控机床发展成为平板式绘图仪。在整个50年代,只有电子管计算机,用机器语言编程,主要应用于科学计算,为这些计算机配置的图形设备仅具有输出功能。计算机图形学处于准备和酝酿时期。与此同时,类似的技术在设计和生产过程中也陆续得到了应用,它预示着交互式计算机图形学的诞生。2.算法的发展1950年代初到1960年代中,MIT开始计算机辅助设计/计算机辅助制造(CAD/CAM)的研究。1964年MIT的教授StevenA.Coons提出了插值四条任意的边界曲线的Coons曲面,后来发展成系统的超限插值曲面造型技术,用小块2 曲面片组合自由曲面。1966年,法国雷诺汽车公司的工程师PierreBézier发展了一套自由曲线和曲面的方法,成功地用于几何外形设计,并开发了用于汽车外形设计的UNISURF系统。Coons方法和Bézier方法是计算机辅助几何设计(CAGD)早期的开创性工作。1975年Versprille提出有理B样条的理论,后来出现了非均匀有理B样条(NURBS)曲线和曲面。1978年,Catmull-Clark提出了任意拓扑的细分曲面,1995年以来,这一造型技术得到突飞猛进地发展。3.计算机图形标准由于计算机图形和软件技术的发展,对图形系统之间的数据交换和接口提出了越来越高的要求,图形软件系统功能的标准化问题被提了出来。1974年,美国国家标准化局(ANSI)在ACMSIGGRAPH的一个与"与机器无关的图形技术"的工作会议上,提出了制定有关标准的基本规则。此后ACM专门成立了一个图形标准化委员会,开始制定有关标准。该委员会于1977、1979年先后制定和修改了"核心图形系统"(CoreGraphicsSystem)。ISO随后又发布了计算机图形接口CGI(ComputerGraphicsInterface)、计算机图形元文件标准CGM(ComputerGraphicsMetafile)、计算机图形核心系统GKS(GraphicsKernelsystem)、面向程序员的层次交互图形标准PHIGS(Programmer'sHierarchicalInteractiveGraphicsStandard)等。1983年,美国国家标准局发布了初始图形交换规范IGES(InitialGraphicsExchangeSpecification)。1992年,美国SGI(SiliconGraphics,Inc.)推出了OpenGL,这是目前在工作站和PC上都被广泛应用的一个图形应用编程接口(API)。这些标准的制定,使图形应用系统与计算机硬件无关,提高了程序的可移植性,为计算机图形学的推广、应用、资源信息共享,起到了极其重要的作用。1.2.2计算机图形学相关理论与技术的应用计算机图形学是随着计算机及其外围设备而产生和发展起来的,作为计算机科学与技术学科的一个独立分支已经历了近40年的发展历程。一方面作为一个学科计算机图形学在图形基础算法、图形软件与图形硬件三方面取得了长足的进步,成为当代几乎所有科学和工程技术领域用来加强信息理解和传递的技术和工具。另一方面计算机图形学的硬件和软件本身已发展成为一个巨大的产业。3 1.分形理论及应用分形理论是当今世界十分活跃的新理论。作为前沿学科的分形理论认为,大自然是分形构成的。大千世界,对称、均衡的对象和状态是少数和暂时的,而不对称、不均衡的对象和状态才是多数和长期的,分形几何是描述大自然的几何学。作为人类探索复杂事物的新的认知方法,分形对于一切涉及组织结构和形态发生的领域,均有实际应用意义,并在石油勘探、地震预测、城市建设、癌症研究、经济分析等方面取得了不少突破性的进展。2.分形的特点和理论贡献数学上的分形具有无限精细的结构、比例自相似性、分数维大于拓扑维数、以及可以由非常简单的方法定义,并由递归和迭代产生等特点:分形理论发展了维数的概念。在发现分数维以前,人们习惯于将点定义为零维,直线为一维,平面为二维,空间为三维,爱因斯坦在相对论中引入时间维,就形成四维时空。对某一问题给予多方面的考虑,可建立高维空间,但都是整数维。从理论上讲,它是数学思想的新发展。同时它又与现实的物理世界紧密相连,成为研究混沌(Chaos)现象的重要工具。众所周知,对混沌现象的研究正是现代理论物理学的前沿和热点之一。由于分形的研究,人们对于随机性和确定性的辩证关系有了进一步的理解。同样对于过程和状态的联系,对于宏观和微观的联系,对于层次之间的转化,对于无限性的丰富多采,也都产生了有益的影响。分形理论还是非线性科学的前沿和重要分支,作为一种方法论和认识论,其启示是多方面的:一是分形整体与局部形态的相似,启发人们通过认识局部来认识整体,从有限中认识无限;二是分形揭示了介于整体与部分、有序与无序、复杂与简单之间的新形态和秩序;三是分形从特定层面揭示了世界普遍联系和统一的图景。分形学的应用领域除了理论上的意义之外,在实际应用中,分形也显示了巨大的潜力,它已经在许多领域中得到有效的应用,其应用范围之广、效益之明显远远超过了十几年前的任何预测。目前大量分形方法的应用案例层出不穷。这些4 案例涉及的领域包括:生命过程进化,生态系统,数字编码和解码,数论,动力系统,理论物理(如流体力学和湍流)等方面,此外,还有人利用分形学做城市规则和地震预报。进入1990年代以来,人们开始越来越多地利用这一理论研究经济领域的一些问题,主要集中在对金融市场(如股票市场、外汇市场等)的研究。操纵者可以通过在若干时间点上的操纵使股价在微观尺度上发生所希望的变化。3.曲面造型技术。曲面造型技术是计算机图形学和计算机辅助几何设计(ComputerAidedGeometricDesign)的一项重要内容,主要研究在计算机图象系统的环境下对曲面的表示、设计、显示和分析。经三十多年发展,现在它已经形成了以Bezier和B样条方法为代表的参数化特征设计和隐式代数曲面表示这两类方法为主体,以插值(Interpolation)、拟合(Fitting)、逼近(Approximation)这三种手段为骨架的几何理论体系。(1)理论研究层次的进步从研究领域来看,曲面造型技术已从传统的研究曲面表示、曲面求交和曲面拼接,扩充到曲面变形、曲面重建、曲面简化、曲面转换和曲面位差。曲面变形(DeformationorShapeBlending):传统的非均匀有理B样条(NURBS)曲面模型,仅允许调整控制顶点或权因子来局部改变曲面形状,至多利用层次细化模型在曲面特定点进行直接操作;一些简单的基于参数曲线的曲面设计方法,如扫掠法(Sweeping),蒙皮法(Skinning),旋转法和拉伸法,也仅允许调整生成曲线来改变曲面形状。计算机动画业和实体造型业迫切需要发展与曲面表示方式无关的变形方法或形状调配方法,于是产生了自由变形(FFD)法,基于弹性变形或热弹性力学等物理模型(原理)的变形法,基于求解约束的变形法,基于几何约束的变形法等曲面变形技术和基于多面体对应关系或基于图象形态学中Minkowski和操作的曲面形状调配技术。曲面重建(Reconstruction):从曲面上的部分采样信息来恢复原始曲面的几何模型,称为曲面重建。采样工具为:激光测距扫描器,医学成象仪,接触探测数5 字转换器,雷达或地震勘探仪器等。根据重建曲面的形式,它可分为函数型曲面重建和离散型曲面重建这两类。曲面简化(Simplification):与曲面重建一样,这一研究领域目前也是国际热点之一。其基本思想在于从三维重建后的离散曲面或造型软件的输出结果(主要是三角网格)中去除冗余信息而又保证模型的准确度,以利于图形显示的实时性、数据存储的经济性和数据传输的快速性。对于多分辨率曲面模型而言,这一技术还有利于建立曲面的层次逼近模型,进行曲面的分层显示,分层传输和分层编辑。具体的曲面简化方法有:网格顶点剔除法,网格边界删除法,网格优化法,最大平面逼近多边形法以及参数化重新采样法。曲面转换(Conversion):同一张曲面可以表为不同的数学形式,这一思想不仅具有理论意义,而且具有工业应用的现实意义。近几年来,国际图形界对曲面转换的研究主要集中在NURBS曲面用多项式曲面来逼近的算法及收敛性,Bezier曲线曲面的隐式化及其反问题,CONSURF飞机设计系统的Ball曲线向高维的各种推广形式的比较及互化,有理Bezier曲线曲面的降阶逼近算法及误差估计,NURBS曲面在三角域上与矩形域上的互相快速转化等。曲面位差(Offset):也称为曲面等距性,它在计算机图形及加工中有广泛应用,因而成为这几年的热门课题之一。例如,数控机床的刀具路径设计就要研究曲线的等距性。但从数学表达式容易看出,一般而言,一条平面参数曲线的等距曲线不再是有理曲线,这就越出了通用的NURBS系统的使用范围,造成了软件设计的复杂性和数值计算的不稳定。(2)实践方法的创新从表示方法来看,以网格细分(Subdivision)为特征的离散造型与传统的连续造型相比,大有后来居上的创新之势。而且,这种曲面造型方法在生动逼真的特征动画和雕塑曲面的设计加工中如鱼得水,得到了高度的运用。单一的NURBS曲面,如其他参数曲面一样,限于表示在拓扑上等价于一张纸,一个圆柱面或一个圆环面的曲面,不能表示任意拓扑结构的曲面。为了表达特征动画中更复杂的形状,如人的头,人的手或人的服饰,我们面临着一场技术6 挑战。当然,我们可以用最普通的复杂光滑曲面的造型方法,例如对NURBS的修剪(Trimming)来对付。从一个称之为控制网格(网格多半可用激光从手工模型上输入)的多面体开始,递归地计算新网格上的每个顶点,这些顶点都是原网格上某几个顶点的加权平均。如果多面体的一个面有n条边,细分一次后,这个面就会变成n个四边形。随着细分的不断进行,控制网格就被逐渐磨光,其极限状态就是一张自由曲面。它是无缝的,因而是平滑的,即使模型是活动的。这种方法显著地压缩了设计和建立一个原始模型的时间。更重要的,允许原始模型局部地精制化。这就是它优于连续曲面造型方法之处.C-C细分是基于四边形的,而Loop曲面(1987年),蝶形曲面(1990年)是基于三角形的。它们都一样受到当今图形工作者的重用。4.计算机辅助设计与制造(CAD/CAM)。这是一个最广泛,最活跃的应用领域。计算机辅助设计(ComputerAidedDesign,CAD)是利用计算机强有力的计算功能和高效率的图形处理能力,辅助知识劳动者进行工程和产品的设计与分析,以达到理想的目地或取得创新成果的一种技术。它是综合了计算机科学与工程设计方法的最新发展而形成的一门新兴学科。计算机辅助设计技术的发展是与计算机软件、硬件技术的发展和完善,与工程设计方法的革新紧密相关的。采用计算机辅助设计已是现代工程设计的迫切需要。CAD技术目前已广泛应用于国民经济的各个方面,其主要的应用领域有以下几个方面。(1)制造业中的应用CAD技术已在制造业中广泛应用,其中以机床、汽车、飞机、船舶、航天器等制造业应用最为广泛、深入。众所周知,一个产品的设计过程要经过概念设计、详细设计、结构分析和优化、仿真模拟等几个主要阶段。同时,现代设计技术将并行工程的概念引入到整个设计过程中,在设计阶段就对产品整个生命周期进行综合考虑。当前先进的CAD应用系统已经将设计、绘图、分析、仿真、加工等一系列功能集成于一个系统内。现在较常用的软件有UGII、I-DEAS、CATIA、PRO/E、Euclid等CAD应用系统,这些系统主要运行在图形工作站平台上。在PC平台上运行的CAD应用软件主要有Cimatron、7 Solidwork、MDT、SolidEdge等。由于各种因素,目前在二维CAD系统中Autodesk公司的AutoCAD占据了相当的市场。(2)工程设计中的应用CAD技术在工程领域中的应用有以下几个方面:建筑设计——包括方案设计、三维造型、建筑渲染图设计、平面布景、建筑构造设计、小区规划、日照分析、室内装潢等各类CAD应用软件。结构设计——包括有限元分析、结构平面设计、框/排架结构计算和分析、高层结构分析、地基及基础设计、钢结构设计与加工等。设备设计——包括水、电、暖各种设备及管道设计。城市规划、城市交通设计——如城市道路、高架、轻轨、地铁等市政工程设计。市政管线设计——如自来水、污水排放、煤气、电力、暖气、通信(包括电话、有线电视、数据通信等)各类市政管道线路设计。交通工程设计——如公路、桥梁、铁路、航空、机场、港口、码头等。水利工程设计——如大坝、水渠、河海工程等。其他工程设计和管理——如房地产开发及物业管理、工程概预算、施工过程控制与管理、旅游景点设计与布置、智能大厦设计等。5.电气和电子电路方面的应用CAD技术最早曾用于电路原理图和布线图的设计工作。目前,CAD技术已扩展到印刷电路板的设计(布线及元器件布局),并在集成电路、大规模集成电路和超大规模集成电路的设计制造中大显身手,并由此大大推动了微电子技术和计算及技术的发展。6.仿真模拟和动画制作应用CAD技术可以真实地模拟机械零件的加工处理过程、飞机起降、船舶进出港口、物体受力破坏分析、飞行训练环境、作战方针系统、事故现场重现等8 现象。在文化娱乐界已大量利用计算机造型仿真出逼真的现实世界中没有的原始动物、外星人以及各种场景等,并将动画和实际背景以及演员的表演天衣无缝地合在一起,在电影制作技术上大放异彩,拍制出一个个激动人心的巨片。7.其他应用CAD技术除了在上述领域中的应用外,在轻工、纺织、家电、服装、制鞋、医疗和医药乃至体育方面都会用到CAD技术CAD标准化体系进一步完善;系统智能化成为又一个技术热点;集成化成为CAD技术发展的一大趋势;科学计算可视化、虚拟设计、虚拟制造技术是20世纪90年代CAD技术发展的新趋向。1.3国内外交通组织CAD软件简介1.AutoCADAutoCAD是由Autodesk公司于20世纪80年代初为微型计算机上应用CAD技术而开发的绘图程序软件包,经过不断的发展,现已经成为国际上广为流行的绘图工具。2003年5月,Autodesk公司在北京正式推出其AutoCAD软件的划时代版本—AutoCAD2004简体中文版。在AutoCAD2004的基础上Autodesk公司还同时发布了针对建筑业、基础设施和机械制造业等10个行业应用解决方案。AutoCAD2004与它的前一版本AutoCAD2002相比,在速度、数据和软件共享方面有着显著的进步和提高。现最新版本为AutoCAD2009,在设计领域AutoCAD[3,4]是比较流行的绘图软件。2.MikcroStationMikcroStation不仅是适用于设计和工程项目地独立性综合平台,而且是BentleyV8软件的基础。MikcroStation更适合于三维建模、数据多样性、提高工作组效率以及应用程序开发,其功能优于市场上其它的设计平台。MikcroStation特定于行业设计的专用软件,扩展了产品自身的功能,其所拥有的各种功能强大的工具,可协助完成各种特殊任务。这样一来,不仅可以提高工作效率,而且可9 以使得设计工程数据更充实。与此同时,产品在整个项目地生命周期中也变得更[5]有价值。3.其他国内从20世纪80年代中期开始,有关高校、设计单位相继开发出实用型路线的CAD系统,各CAD在系统组成结构、系统功能目标上大同小异,都可以完成道路平、纵、横设计计算与石方计算及调配,完成纵、横断面图和路线透视图绘制、各种设计表格的自动打印输出等任务;但在线形优化、人机界面、图形编辑修改、工程数据库应用等方面,则显示出各自的特色。有代表性的,如国家“七五”重点科技攻关项目“高等级公路路线综合优化和CAD系统”,交通部二院RDSI程序系统,以及GLLXCADS、CKXRCAD、RICAD、ROAD1.0、HEAD、[6,7]MECAD、HYEICAD、DICADpro等系统。1.4我国交通组织交叉口设计CAD的现状近年来,国内经济快速增长,城市人口急剧增加,私人小汽车也日益增多,发达国家大城市的交通问题也在我国一些大城市显现出来。由于都市机动化进程发展过快,在面对我国特有的混合交通问题时,相关交通基础理论研究明显滞后,交通组织设计实践方法、工具,也难以满足当前交通参与者对解决交通问题的关注与期待。交通问题正逐渐成为扰乱人们日常生活秩序、环境污染以至阻碍经济发展和社会进步大局的重点社会问题。从理论与技术实现层面分析,交通组织学发展与技术进步,依赖于其它学科、技术的发展与进步,比如计算机图形学研究的发展与应用。交叉口是城市交通的重要节点。如果将道路看做纵横交错的江河,将行人、非机动车、机动车组成的交通需求视作河流中的水,那么无论各河流的流量、流向如何变化,沿线的交汇点的水文状况或设计难度均大于河道本身。因此,交叉[8-10]口的设计是城市道路交通组织设计的重点和难点课题。目前已有的交通组织CAD软件,主要功能体现在道路的设计中,没有专门的交叉口设计功能。所以在长期的城市建设和改造过程中,工程师们一直在采用一套比较传统的交叉口设计方法。该方法虽成熟但却有不可忽视的缺陷,主要表现如下:10 1.设计效率低下,设计周期过于冗长传统的交叉口设计方法主要采用手工设计,在各设计行业已经普遍采用计算机辅助设计的今天,无法将设计方法用计算机实现必然降低设计的效率,并增加设计错误出现的可能性。2.将空间设计、时间设计和结果评价三者分离传统的交叉口设计方法是先进行空间设计和信号相位方案设计,根据这两个设计的结果进行时间设计,其间缺乏必要的反馈。在传统的设计方法中,评价的结果不能为设计的修改提供建议或者指引方向,没有给出具体更改设计的建议,只能凭工程师的丰富经验来进行修改。3.设计路线不够清晰,主观经验影响较大在设计的几个关键判断环节,例如各相位最大设计流量比之和过大时,或者服务水平未达到要求时,传统方法没有给出如何更改设计,这就需要工程师的主观经验来判断,很容易花费过多的时间,并产生问题。对于经验并不丰富的设计人员来说更是如此。主观判断的加入,也不利于整个设计方法的计算机实现。4.道路基础信息数据化的门槛较高后,导致各交通子系统决策管理困难都市机动化进程导致的综合交通问题,既有鲜明的经济、人文、地理、社会发展的印记,还蕴含着多学科先进科技、技术成果综合应用的契机,以交通管理系统化为例,缺乏信息以及信息得不到实时更新的系统,无疑是现代计算机信息技术的梦魇,而相关信息专业性门槛的高低,决定了该专业信息透明度、服务水[11-13]平等行业综合管理水平以及公众满意度的高低。1.5本课题的意义和主要工作1.5.1课题的研究意义国内交通组织设计领域正面临着上述困境,一方面城市道路在日新月异的高速发展,而具有实际经验的交通组织设计、管理人员则将大量的时间和精力投入到简单重复性的基础数据录入、更新之中,导致交通管理设计领域成本与成果比例失衡。所以,急需开发专业的交叉口交通组织设计软件来解决上述问题。11 1.5.2课题的研究内容AutoCAD软件本身具有强大的绘图功能,同时它又是一种具有高度开放结构的CAD软件开发平台,提供一个很强大的二次开发环境,为编程技术人员提供了多种开发技术,以满足不同专业的需求。根据这个特点,本课题以AutoCAD2000为平台,开发出面向一线交通管理设计人员的外挂程序及交通信息数据库,该程序及数据库应实现如下研究目标:(1)交叉口几何轮廓的自动设计和绘制;(2)交叉口道路板型的自动设计和绘制;(3)交叉口内导向车道标线的自动设计和绘制;(4)人行横道的自动设计和绘制;(5)建立交通标志数据库,并初步实现交通标志的加载;(6)常用绘图标注信息的自动加载。本课题将以交通需求管理理论和相关法律、法规为依据,在对当前交通组织设计理论、方法与实践过程进行总结和分析的基础上,针对传统交通组织设计过程中存在的问题,结合计算机图形技术发展成果,通过对交通组织设计流程中主流图形软件工具进行的二次开发,在有效提高交通设计人员的日常设计工作效率,降低交通管理人员工作难度的同时,也提升了交通组织中重点设计环节的准确性、科学性与时效性。12 第二章交通组织设计实践过程解析及开发工具选择2.1城市道路的特征与内涵2.1.1交通组织设计内容及基本要求1.交通组织设计内容城市道路是一种带状的三维空间结构,包括路基、路面、桥涵、隧道、标志基础与支撑物、隔离护栏等工程实体,交通标志牌面和标线通常以二维平面的形[8]式存在。城市道路设计包括几何线形设计和结构构造设计两个方面。在结构设计方面,对上述路基、路面、桥涵、隧道、标志基础与支撑物、隔离护栏这些工程设计总的要求是:用最小的投资,尽可能少的外来材料以及合理的养护力量,是他们能在自然破坏力和汽车行驶所产生的各种力的作用下,在设计年限内保证使用质量。城市道路设计几何线形方面,属于本论文重点研究的范围。主要分析机动车行驶与道路各个几何元素的关系,以保证在设计速度、预计交通量以及地形和其它自然条件下,行驶安全、经济、舒适以及路容的美观。因此,实际上涉及的是人、车、路的相互关系。驾驶者的心理、汽车运行的轨迹、动力性能以及交通量特征和与城市道路的几何设计有着直接的关系,要做好交通组织设计也必须研究这些问题,由于受研究方向的限制,本论文中不涉及上述属于交通组织专业领域的问题,着重阐述针对城市道路几何设计特点的设计内容。对于三维空间的城市道路,立体设计效果是目地,平、纵、横设计是手段。从道路交通需求分析,到路网规划设计、道路横断面设计、道路平面及纵断面设计、城市快速路设计、平面交叉口设计、立体交叉设计、公共设施设计、景观与绿化设计、道路排水设计等方面的设计内容,无不以平、纵、横手段实现图形设计效果目标。2.交通组织设计的基本要求现代城市道路交通,涉及道路、交通、环境保护的综合与协调。交通组织设13 计不仅要满足城市交通畅通、安全、迅速、运输经济的要求,同时也应有益于使城市环境整洁、宁静和生动美观。其基本设计要素包括以下几个方面:(1)道路运输的经济性道路的经济性包括道路工程综合费用的经济和道路上交通运输费用、时间的节省。道路交通组织设计的目标之一,就是以最少的工程建设、维护费用,获取最大的服务效果与运输成本的节约。因此,在实践中要注意把道路、街坊建筑、公用设施有机地结合起来考虑,还要根据交通性质和流向、流量特点,结合地形、地貌合理布置线路及其断面,尽可能使交通量大、车速要求高的交通干线简洁、平顺,以减少干扰和中途停顿。对次要道路则不一定强调线形平顺,而要根据地形、现状交通需求,考虑集散性和互通性能力,以达到工程费用的节省。(2)交通流畅、安全迅速行车速度、通行能力是道路最重要的技术经济指标。车速的高低反应道路交通组织的技术水平和质量。根据城市规模、道路性质,恰当地规定路段计算行车速度,对保证交通安全、流畅有着重要的意义。各类车辆能够连续不断分流行驶是道路行车速度、通行能力达到较高水平的标志。因此,合理确定道路性质,适度放大交叉口间距,妥善组织平交道口交通,布置必要的立体交通,力求速度差异较大的快、慢车辆分流,人流与车辆分隔,以实践车辆、行人“各从其类,各行其道”,提高道路通行能力,达到交通流畅、安全的目地。(3)注意环境保护城市是人们集中生产和居住生活的地方。随着城市交通的发展,大量机动车辆在道路上快速行驶,必然产生大气污染和噪音污染。同时当前大多城市中存在较多古树、古建等自然、人文遗产。因此,在交通组织设计时,必须综合考虑环境保护的要求,注意结合道路性质、自然地形、交通分隔带的设置,妥善确定城市路网密度与交通流密度,以保持较好的城市居住性要求。(4)注意配合协调城市道路不仅是城市交通地带,而且它与沿街建筑群体,各种公用设施的有机协调配合,对体现城市面貌有着重要的作用。因此,在满足设计道路交通基本14 要求与性质前提下,要有一定的综合造型艺术要求。这里所谓的造型是指通过道路的柔顺、曲折起伏,两侧建筑的进退、高低错落和绿化配置,以及沿街公用设施与光影、照明安排等来协调道路立面、空间组合、色调等艺术形式,从而给城市居民整洁、舒适、美观、富有朝气的感受。2.1.2城市道路的定义及几何基本依据1.城市道路分类根据道路在城市道路网中的地位、交通功能以及对沿线建筑物服务功能,我[14]国《城市道路设计规范》(CJJ37—1990)将城市道路分为以下四类:(1)快速路快速路应为城市中大量、长距离快速交通服务。快速路对向车行道之间应该设中间分割带,其出入口应采用全部控制或部分控制。快速路两侧不应设置吸引大量车流、人流的公共建筑物的出入口。其主要为城市远距离交通服务,具有较高车速和大的通行能力。(2)主干路主干路应为连接城市各主要分区的干路,以交通功能为主。自行车交通量大时,宜采用机动车与非机动车分隔形式,如三幅路或四幅路。主干路两侧不应设置吸引大量车流、人流的公共建筑物的的进入口。主干路联系城市的主要工业区、住宅区、港口、车站等货运中心,承担城市的主要客货运交通,是城市内部的交通大动脉。主干路一般设6条车道,或4条机动车道加有分隔带的非机动车道。(3)次干路次干路因与主干路结合组成道路网,起集散交通的作用,兼有服务功能。次干路是城市中数量较多的一般的交通性道路。配合主干路组成城市干道网,起联系各部分和集散交通的作用。一般不设立立体交叉,部分交叉口可以扩大,一般可设4条车道,也可不设单独非机动车道。次干路兼有服务功能,允许两侧布置吸引人流的公共建筑,但应设停车场。(4)支路支路是次干路与街坊的连接线,用于解决局部地区交通,以服务功能为主。15 支路是一个地区内(如居住区内)的道路,是地区通向干道的道路。部分支路用以补充干道网的不足,可以设置公共交通路线,也可以作为自行车专用道。支路上不宜通行过境交通,只允许通行为地区服务的交通。2.城市道路的分级城市规模的大小是按城市人口规模划分的。我国按市区和近郊区(不包括所属县)的非农业人口总数,把城市的规模划分为四类:1、特大城市,人口在100万以上;2、大城市,人口为50万到100万人;3、中等城市,人口为20万到50万人;4、小城市,人口为20万以下。除快速路外,每类道路按照所在城市的规模、设计交通量、地形等分Ⅰ、Ⅱ、Ⅲ级。特大城市及大城市应采用各类道路中的1级标准;中等城市应采用Ⅱ级标准;小城市应采用Ⅲ级标准。有特殊情况需变更级别时,应作技术经济论证,报规划审批部门批准。《城市道路设计规范》(CJJ37—1990)规定各类各级城市道路的主要技术指标列于下表。当旧路改建有特殊困难,如商业街、文化街等,经技术经济比较认为必要时,可适当降低技术标准。表2-1我国城市道路主要技术指标Table2-1MaintechnicalparametersofurbanroadinChina设计车速双向机动机动车道宽度分隔带横断面采用类别级别(km/h)车道数/条/m设置形式快速路—80≥43.75~4必须设双、四幅路主干路Ⅰ50~60≥43.75应设单、双、三、四Ⅱ40~503~43.5~3.75应设单、双、三Ⅲ30~402~43.5~3.75可设单、双、三次干路Ⅰ40~402~43.5~3.75可设单、双、三Ⅱ30~302~43.5~3.75不设单幅路Ⅲ20~4023.5不设单幅路支路Ⅰ30~6023.5不设单幅路Ⅱ20~5023.25~3.5不设单幅路Ⅲ10~4023.0~3.5不设单幅路16 3.城市道路几何设计基础(1)设计车辆城市道路行驶的主要是机动车,机动车的物理特性对于城市道路几何设计具有决定性意义的控制因素,因此,统计设计道路上行驶车辆的类型,选择一般类型的组合,并确定供设计用的各种大小类型中有代表性的车辆,将其定义为设计(依据)车辆。机动车的种类有很多。作为城市道路设计的机动车为:小型机动车、载重汽车、半挂车、铰接车。大型拖挂车的车身较长(20米),不列入设计(依据)车辆。半挂车适用于大型集装箱运输。可作为快速路、主干道和有大型集装箱营运的城市道路的设计依据。其它城市道路必须保证小型机动车及铰接车的安全与顺适通过。机动车的最小转弯半径:小型机动车为6m,大型机动车(载重汽车和半挂车)为12m。影响路缘石或路岛的转弯设计,一般以半挂车的转弯半径作为控制。非机动车在城市居民密集地段数量较多。在设计时应充分考虑自行车的外廓尺寸:宽0.6m,长1.93m,载人后高度为2.25m。(2)设计车速机动车在气候正常,交通密度小,运行只受道路本身条件(几何要素、路面、附属设施等)的影像时,一般驾驶员能保持安全而舒适最大行驶的速度,称为设计速度,也称计算行车速度。设计速度是决定城市道路几何线形的基础依据。曲线半径、超高、视距等技术指标都直接与设计速度有关。其它如车道宽度、路缘带宽度等虽与设计车速无直接关系,但均影响行车速度,所以也可以将设计车速定义为:道路设计的机动车速度。城市道路具有功能多样、组成复杂、行人流量大、车辆多、种类杂、车速差异大、道路交叉口多等特点,平均行驶速度比公路有较大的降低。《城市道路设计规范》(GJJ37-1990)规定各类各级道路设计车速见下表:17 表2-2各类各级道路计算行车速度Table2-2Roadtrafficspeedofallkindsatalllevels道路类别快速路主干路次干路支路道路级别—ⅠⅡⅢⅠⅡⅢⅠⅡⅢ计算80,6060,5050,4040,3050,4040,3030,2040,3030,2020行车(3)交通量交通量是指单位时间通过道路某断面的车辆数量,即交通流量。正确评估与预测交通量,将影响设计的科学性和设计的经济合理性,也将直接影响道路的几何设计。(4)通行能力在普通道路交通条件下,在一定的时限间合理地期待通过一条车道或道路某一指定路段达到的最大车辆数,称为通行能力。它包含了道路特性和状态,交通组成和交通流类型之间的广泛关系,以及在特定范围内各种交通量所对应的拥挤程度。通行能力包括基本通行能力、可能通行能力、设计通行能力。(5)道路红线道路红线也称城市道路用地分界控制线,红线之间的宽度即道路用地范围,也可称为道路的总宽度或规划路幅。道路红线也是道路几何线形设计的重要依据之一。2.1.3城市道路的功能与特点城市道路是城市人们生活和物质运输必不可少的重要交通基础设施,同时也起到了保护环境,为市政工程设施提供、城市规划与建筑艺术场地、防灾救灾等方面的功能。在城市道路设计中,只有充分理解和把握城市道路的功能与特点,才可能做好城市道路的设计工作。1.城市道路的功能在城市里,道路交通是城市交通的主要形式。城市里各个不同功能分区,例如:政府办公区、商业区、学校、工业区、交通枢纽、大型仓储、公园、体育场等,都必须通过城市道路加以连接。城市的四大活动(工作、学习、生活、旅游)18 也都离不开城市道路交通。实践证明,没有良好的城市道路和完善的城市道路网,城市建设和经济建设都不可能得到很好的发展。所以在进行城市道路设计时,必须要妥善考虑道路网的布局。城市道路的首要功能就是为各种机动车、非机动车以及行人提供通行的廊道和场地。(1)城市道路的基本功能道路交通功能又可分为纯交通的交通功能和沿路地块利用的出入交通功能。纯交通功能是指城市道路提供长距离、快速、通畅的交通功能,纯交通功能也称过境交通功能;出入交通功能则是指城市道路为汽车、自行车、行人等提供的沿路的各处用地、建筑等出入(或称集散)的功能。一般来说,干线道路主要考虑过境功能,支线或次干线道路则主要考虑沿路地块利用的出入即集散功能。(2)环境保护功能城市用地紧凑,居民群集,建筑鳞次栉比,它即要求合理的空间组合,也要求有一定的空间距离,以保证良好的城市环境。街道绿化可以改善空气环境,调节城市的气温和湿度。另外,合理的道路间距及建筑宽度可以保证城市日照、空气流通的环境条件。城市道路既然是城市生产、生活、学习、旅游的必须交通设施,那么充分利用道路的空间作为公共卫生和防火安全的保证地带,可以说是最方便、最经济的。因此城市道路也就广泛地与城市的绿地结合起来,成为城市各个分区的区界和卫生与防护的空间。(3)为市政设施提供场地的功能城市道路除保障车辆、行人、非机动车通行之外,还为城市其他设施提供布设场地。城市道路一旦建成,就占据一定的城市用地,沿街建筑和地上、地下管线等有关的市政设施,也都随着城市道路的布局相应固定下来,有时可达数十年甚至上百年难以改变局面。(4)城市规划及建筑艺术功能城市道路路网规划,反映了一个城市的平面整体面貌与建筑布局风格。从城市的发展来看,城市是以干线道路为骨架,向四周延伸,通过各类道路的连接,构成一个统一的有机体,并配合道路来表现城市建筑各个方位的立面,以及建筑19 整体之间组合的艺术体。一般情况下,人在道路上的视点是移动的,并随道路的转向而视点方位,由此可以使人获得丰富而生动的环境影像。因此城市道路就成为反映城市面貌及建筑艺术的手段之一。从某种意义上说,城市道路网决定了城市面貌及城市结构。同时,城市道路网的规划也取决于城市规模、城市结构及城市功能布局,两者相互影响、相互作用。总之,城市道路是城市建设水平最集中的表现,在道路交通高度发达的现代城市中,交通和环境问题越来越重要,在城市道路的规划、设计、管理中,应把道路与交通车辆(机动车和非机动车)、人(行人和司机)与周围环境有机地联系起来一起研究,从而使道路交通达到安全、快速、经济、便利和舒适要求。(5)防灾救灾功能道路的防灾救灾功能主要表现在起避难场地作用、防火隔离带作用、消防和救援通道作用等。在出现地震、火灾等大的灾害时,人们需要避难场所。具有一定宽度的道路、广场可作为临时避难场地。此外,道路与具有一定耐火性的建筑物一起可形成有效的防火隔离带,以避免火石向相邻街区蔓延。2.城市道路的特点与公路相比,城市道路具有如下特点:(1)功能多样性城市道路除了用作城市交通功能外还用于布置市政设施、停车等静态交通、城市通风、环境保护、建筑艺术、城市文化等,因此,在规划和城市道路设计时,要兼顾到各方面功能的要求。(2)组成复杂性城市道路的组成比较复杂,包括车行道、人行道、绿化、照明、停车场位、地上杆线、地下管道等,有的还有高架道路、地下道路、人防工程等,在进行道路断面设计时,各各组成部分要综合考虑。(3)行人交通量大20 城市道路的行人比公路多得多,尤其地处商业区、车站、码头、大型公共娱乐场所周边的道路人流尤为集中,能否妥善设计和组织好行人交通,是交通设计中必须重点考虑的问题之一。(4)车辆多、类型杂、车速差异大城市道路交通运输的车辆类型较多,有客运和货运,有各种大小吨位的机动车,还有大量的非机动车,它们的交通量大,车速差异大,互相干扰大,在车市道路设计交通组织管理中要很好地解决这些问题。(5)交叉口多纵横交错的城市道路网形成许多交叉口。交叉口设计是否合理,是否发挥城市道路系统功能。直接影响着车速和道路的通行能力。叉口是道路交通的咽喉,在这里,道路各方向的机动车辆、非机动车辆、行人均有直行和转向的要求,这样势必会产生交通的相互干扰,是诱发城市交通拥堵和交通事故的节点。(6)交通分布不均衡由于城市道路分布在城市的各个角落,所以,全市的道路交通也相应分散在各条道路上。但各条道路所分布的交通量并不完全一样,有大有小,有主有次,在交通工程设计时,应充分的进行现场调查研究,分清人流、车流的主次方向和大小,以及不同等级道路的的匹配。(7)艺术性要求高干道网是城市的骨架,城市总平面布局是否美观、合理,在很大程度上首先体现在道路网,特别是干道网的布局;而城市环境景观的景观设建筑艺术,也必须通过道路才能反映出来。所以,不仅要求道路本身具有良好的景观,而且也要求与城市的建筑群体、名胜古迹、自然风光、城市文化等配合,取得良好的艺术效果。(8)影响因素多城市道路中人来车往,同时绿化、照明、通风防火和各种市政公共设施,大21 多设在道路用地上,这些影像因素在交通工程设计时都必须综合考虑。(9)政策性强在道路交通工程设计中,需经常性考虑城市发展规划、技术设计标准、土地用地性质、工程造价、近期与远期、需求与可能、局部与整体等问题,这些都涉及相关方针、政策、法规与标准。因此,城市道路交通工程设计工作,是一项政策性很强的工作,工作中必须认真贯彻执行有关的法规、方针和政策。2.2交叉口设计系统开发工具选择在城市道路交通组织设计中,交叉口作为道路的节点,相对路段而言具有流向复杂,多种交通形式交叉冲突、管理措施集中、设计难度大等诸多问题。因此,解决好交叉口的交通组织设计、制图作业,具有典型性、可推广型意义。笔者认为,应当在了解交通组织理论,跟踪交叉口交通组织设计步骤,通过对交叉口交通组织设计环节中有关图形应用要素分析,应用计算机软件工程设计理论,展开对交通组织设计行业主流计算机图形工具的二次开发,以此降低、交叉口设计人员制作基础图形的工作量,提高基础图形绘制速度,确保基础图形质量,在同步考虑图形与其它应用交通组织应用软件接口的条件下,进一步提升计[15,16]算机图形学在交通设计领域的服务水平。AutoCAD是美国推出的通用计算机辅助绘图和设计软件包,是目前在Windows环境下应用最广泛、使用人数最多的CAD支持软件,具有易于掌握、[17]使用方便等特点,尤其是具有开放性结构和易于用户定制的功能。AutoCAD是基于第三代面向对象结构的高度智能化的、具有很强的三维理能力和直观生动的交互界面的CAD平台软件产品,深受广大工程技术人员的喜爱。2.2.1AutoCAD二次开发的特点二次开发是增值开发商或最终用户在软件开发商所提供的开发环境与编程接口基础上,根据自身的技术要求,进行新功能开发或软件环境定制的过程。从22 [18]本质上讲,二次开发也是一个软件创新过程。二次开发是在已有软件上进行的,它不同于一般的软件开发,并非从底层开始,故其最大的特点就是继承性。二次开发后的软件其功能和性能在很大程度上取决于支撑软件本身及其开放程度,因此选择好支撑软件是二次开发的首要任务。支撑软件必须功能齐全,性能和编译环境优良,具有二次开发的功能和应用程序接口,同时还应考虑软件的性能价格比等因素。AutoCAD软件二次开发的[19]特点如下:(1)继承性。二次开发是在已有软件的基础上进行的开发,因此开发后的软件性能在很大程度上取决于支撑软件的性能和开放程度,以及开发者对支撑软件的理解;(2)专业性。二次开发是针对特定用户进行的,因此开发人员要既懂专业知识,又要具备软件开发能力;(3)实用性。二次开发是为了满足特定用户的特殊需要,因此成功的二次开发可以大幅度提高工作效率;(4)紧迫性。二次开发要解决的是实际工作中遇到的问题,直接影响工作的进度,因此在时间上有紧迫性;(5)复杂性。二次开发不仅涉及具体的应用,而且要求对支撑软件有深入的了解,因此工作量大,任务复杂。2.2.2AutoCAD二次开发工具简介AutoCAD软件是一种具有高度开放结构的CAD软件开发平台,提供一个很强大的二次开发环境,为编程技术人员提供了多种开发技术。(1)AutoLISP技术。AutoLISP的全名是LISPProcessingLanguage。它是一种嵌入AutoCAD内部的LISP语言,继承了LISP语言的语法、传统约定和基本函数与数据类型,并扩充了强大的图形处理功能。它优点是语言规则十分简单,易学易用,直接针对Aut0CAD,易于交互,解释执行.表达能力强、函数种类多、程序控制结构灵活,既能完成常用的科学计算和数据分析,又能调用几乎全部AutoCAD命令,具有强大的图形处理能力,它出现于1985年推出的Aut0CADR2.18版本中。由于AutoLISP是嵌入AutoCAD的解释型过程语言,运行速度23 较慢,程序规模小,保密性不强,不宜用于高强度的数据处理;功能单一,综合处理能力差;缺乏低层和系统支持,不能很好地反映现实世界和过程,跟人的思维方式也不一致,不能直接访问硬件设备、进行二进制文件的读写。结合[20-22]AutoCAD的特点,仅适合有能力的终端用户完成一些自己的开发任务。(2)ADS技术。ADS是AutoCADR11开始支持的一种基于C语言的灵活的开发环境。它可直接利用用户熟悉的C编译器,将应用程序编译成可执行文件后,在AutoCAD环境下运行,从而同时兼备AutoCAD环境的强大功能和C语言结构化编程、运行效率高的优势,是比AutoLISP更高级的开发技术。使用ADS可以开发独立的应用程序,也可以开发常用函数供AutoLISP程序调用。ADS由于其速度快,又采用结构化的编程体系,具备错综复杂的大型处理能力,因此很适合用于高强度的数据处理,如二次开发的机械设计CAD、工程分析、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。另外其还具备编译成机器代码后执行速度快、编译时可以检查出程序设计语言的逻辑错误、程序源代码的可读性好于AutoLISP等优点。然而,ADS也有不少缺点,首先ADS必须熟练掌握C语言和AutoCAD,而C语言比较深,较难于掌握和熟练应用;其次ADS程序的隐藏错误往往导致AutoCAD;乃至操作系统崩溃;三是它需要通过AutoLISP解释器加载,并非最低层的代码不易见到代码的效果;[23,24]四是同一功能,用ADS程序编写,代码比较长而复杂。(3)ARX(C++)技术。ARX(AutoCADRuntimeeXtension)是AutoCADR13之后推出的一个以c++语言为基础的面向对象的开发环境和应用程序接口。ARX程序本质上为windows动态链接库(DLL)程序,与AutoCAD共享地址空间,可直接调用AutoCAD的核心数据结构和代码,以便能够在运行期间扩展AutoCAD固有的类及其功能,创建能够全面享受AutoCAD固有命令特权的新命令。ARX程序与AutoCAD、windows之间均采用windows消息传递机制直接通讯。使用ARX编写的应用程序不要经过USP解释器加载,使它比AutoLISP、ADS得到更加快的运行速度,用ARX开发出来程序其应用速度是用ADS开发的快10倍左右。它向开发者提供一组功能强大的几何运算函数,几乎包括平常使用到的所有几何运算的数学式,结合MFC设计出更人性化的对话框接口,提高执行时的速率效能。它的开发语言是C++语言,因此对开发者的编程能力要求较高。现在这一技术已经升级到24 [25,26]ObjectARX,使得这一技术更加完善、功能更加强大、使用更加方便。(4)VisualLISP技术。VisualLISP是AutoLISP的换代产品。它与AutoLISP完全兼容,并提供它所有功能。VisualLISP对语言进行了扩展,可以用通过MicrosoftActiveXAutomation接口与对象交互。VisualLISP已经被完整集成到AutoCAD2002中,一改过去在AutoCAD中内嵌AutoLISP运行引擎的机制,为开发者提供了崭新的增强的集成开发环境。其特点是:用它开发AutoLISP程序的时间被大大地缩短,原始代码被保密,能帮助使用Active对象及其事件。新增了[27]一些函数,如能够对操作系统文件进行操作的函数。[28,29](5)VBA(VisualBasicforApplication)技术。从AutoCAD2000版本开始,VBA被集成到AutoCAD软件中,VBA和AutoCAD中强大的ActiveX自动化对象模型相结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA可以操作AutoCAD,控制ActiveX和其他一些应用程序,使之发生交互活动。ActiveXAutomation是一套微软标准,它允许通过外显的对象由一个windows应用程序控制另外一个windows应用程序,这是面向对象编程技术的精髓所在。ActiveXAutomation服务器应用程序是通过自身对象的属性、方法和事件实现其功能。对象是服务器应用程序简单而抽象的代表。Autodesk公司对AutoCAD本身加入了Activex自动化服务功能(ActiveXAutomationServerCapabilities),AutoCADActiveXAutomation技术将AutoCAD各种功能封装在AutoCADActiveX对象中,供编程使用。通过基于Activex的自动化对象,为其他应用程序提供了访问AutoCAD内部功能的方法,使得许多面向对象编译语言和应用程序可以通过Activex与AutoCAD进行通信,并操纵AutoCAD许多功能。ActiveXAutomation技术的完全面向对象化编程的特点,使其开发环境具备了强大的开发能力和简单易[30]用的特点。2.2.3交叉口设计系统二次开发工具的确定鉴于当前基层管交通理部门计算机硬件设备还较为落后,计算机软件应用水平还较低,应用人员日常事务性工作繁忙。因此,为提高软件工具的实用性,本论文特别选择AutoCAD2000做为二次开发的平台,并定制以下图形软件二次开发的基本原则:25 (1)不改变AutoCAD2000原有功能,CAD运行时自动加载外挂软件与数据库;(2)以基层单位实际应用为前提,选择制图作业过程中有关初步设计中“交叉口”这一关键环节,将预设功能以按钮的方式加以集成,减少制图作业步骤,降低操作难度。(3)研究专用交通标志、标注图形数据库结构,方便使用者实时调用有关图集。考虑到交通组织交叉口设计的复杂性及上述二次开发的基本原则本课题采[31]用的二次开发工具为ObjectARX技术,其编写语言为MicrosoftVisualC++。26 第三章交叉口设计系统3.1系统的构成及其功能交叉口设计系统由图层控制模块、道路物理中线与道路几何线形绘制模块、道路几何轮廓与道路板型绘制模块、交通标线绘制模块、交通标志绘制模块、交[32]通管理设施绘制模块、信息标注模块以及数据库管理模块组成。系统工作时,各模块逻辑关系如图3-1所示。交叉口设计系统道路物理中线与道路几何轮廓交通标线交通标志交通管理设信息标注道路几何线形制与道路板型制绘制模块绘制模块施绘模块模块输入参数数据处理数据库图层控制模块输出图形图3-1模块逻辑关系图Fig.3-1ThelogicRelationshipbetweenmodules3.2各模块的功能及所绘制图形的几何特征3.2.1图层控制模块图层是AutoCAD图形管理的基本要素,将不同的点、线、块根据绘制或设计重点,分别定义为不同的图层,通过图层的控制与管理打开或关闭图层,以满足不同的应用层面对图形的实际需求。27 3.2.2道路物理中线与道路几何线形绘制模块1.道路物理中线道路的物理中线通一般情况下是道路红线之间的中心线,特殊条件下道路的物理中线是机动车道路缘间实际宽度的中心线。道路的物理中线的线形,不同道路的中心线相交状况,以及相交的角度,决定道路的几何线形形态。路段与交叉口是道路构成的要素,路段与交叉口(立体交通)的形状(线形)有诸多型式(角度)变化,下图以几种道路常见的形状,说明物理中线的性质和线形变化对道路几何形态的影响。图3-2道路物理中线与道路几何形态Fig.3-2Physicalcenterlineandgeometryofroad2.道路几何基础就上述道路中线的变化而言,道路交通设计可简化为平行与交叉两种基本交通流类型。这就意味着无论多少条道路以同一个交汇点形成复杂的多线形交叉;异或一条与N条道路平行或离散,还可以将道路依人为主观行条件设置为负杂的立体交通,即交通不交叉状况。即使是当今最复杂的道路或立体交通系统,也可逐点分解简化为交叉或不交叉交通。28 以上论点构成了道路交通组织设计基础与计算机图形学的交集点,即如将道路简化为道路物理中线角度来看,在计算机图形学或绘图软件中,道路成为1条或N条平行或相交的线。3.2.3道路几何轮廓与道路板型绘制模块道路交通的解析型式基础就是平交十字(交叉)和路段(不交叉亦称合流)。以下将就道路的路段与平交十字交叉口为例,逐步展开AutoCAD绘图实践过程。1.城市道路基本几何轮廓设:(1)三条长300米、红线间距离为24米的平行道路,与一条差长度为200米、红线间距离为24米的道路等距正交;路缘线相交角度从左至右,依次为:。。。25、35、45;(2)四条道路均为一快板道路;(3)步道均为5米。则AutoCAD绘图过程为:图3-3绘制道路物理中线Fig.3-3Drawingoftheroadphysicalcenterline29 图3-4绘制道路红线Fig.3-4Drawingoftheroadredlines图3-5绘制路缘线与相交路缘线夹角Fig.3-5Drawingoftheanglebetweenthecurblineandtheintersectioncurbline道路红线与路缘线之间(5米)为步道,至此,预设道路几何轮廓绘制完成。如前所述,道路相交形式多样,宽度各异;但在AutoCAD绘图实践过程中,只要每个点与每条线的距离、角度确有依据,那么无论道路形态多么复杂多样,只要绘制出道路的物理中线,并以所绘中线为依托,均可逐次完成道路几何轮廓的绘制。2.道路板型构成30 前面所绘道路为单幅路面(一块板道路),因交通秩序、通行能力、交通安全、城市绿化等需求的客观存在,平交道路板型通常有一块板、二块板、三块板、四块板之分,城市快速路有主路、辅路、定向匝道、桥下交叉口之分。以下依然以前述一块板道路为原型,解析不同道路板型产生的交通特性和绘图过程。设:(1)道路A为四块板道路;(2)道路B为一块板道路,且属人、非(机动车)共板;(3)道路C为二块板道路;(4)道路D为三块板道路;图3-6道路板型变化特点Fig.3-6Changesinthecharacteristicsoftheroadplate至此,道路的几何特征绘制完成。3.2.4交通标线绘制模块1.交通标线的基本情况(1)交通标线的分类交通标线分路段与交叉口标线2个系列,其中:路段交通标线包括:车行道中心线、车行道分界线、车种专用车道线、人行横道线、网状线、车行道边缘线、停车位标线、字符标记、出入口标线、减速标线、港湾式停靠站标线、潮汐式可变车道线。交叉口交通标线包括:人行横道线、停止线、让行线、禁止变换车道线、导31 向箭头、左弯待转区线、非机动车禁驶区标线、导向线、中心圈、近铁路平交道口标线、导流带标线。(2)常用线形样式常用交通标线以多种标线、标记型式存在,如导流带,机动车导向箭头、人行横道线、非机动车车道标记、公交车道标线和标记等。交通标线及标记的基本颜色是黄、白二色,线形有虚、实线之分,所不同的是诸如标线的疏密、长短、宽窄、角度、分合等线的形态构成交通渠化的规则,以规范交通参与者的交通行为。下图列举了部分常用交通标线样式与形态,以供参考。图3-7常用交通标线Fig.3-7Commontrafficmarking2.道路标线的绘制路段及交叉口的几何特徵绘制完成后,将进入道路交通渠化阶段。该阶段重点在于将渠化设计方案中的具体参数,以图形方式予以准确描述。绘制内容包括:(1)路段与交叉口空间车道分配;(2)定义交叉口导向车道的行驶方向;(3)定制行人、机动车、非机动车让行起点和通行路径;(4)以左弯待驶区、停止线等型式保障交叉口安全、秩序与畅通;32 (5)预留其它交通管理系统、设施设计、定位空间。以下列举交叉口、路段与道路三种渠化型式阐述渠化绘制成果与交通渠化的功能。图3-8交叉口交通标线渠化Fig.3-8TheCanalizationsofthetrafficmarkingatroadintersection图3-9道路交通标线渠化Fig.3-9TheCanalizationsofthetrafficmarkingoftheroad33 3.2.5交通标志绘制模块交通标志在其分类中名称中业已说明了其实用功能,如:警告、禁令、指示、指路、辅助功能。交通标志设计内容与设置位置要求简洁、准确、细致、清晰。交通标志还以其政策性强,对流量、流向的疏导控制功能,以及地标、指路等功能,对提高道路通行能力、改善车流行驶条件、减少交通事故、保护人身和车辆的安全起到积极的作用。因此,道路交通标志的设计与设置,是交通组织设计中十分重要的关键性环节。(1)警告标志图3-10警告标志汇总Fig.3-10Summaryofwarningsigns(2)禁令标志34 图3-11禁令标志汇总Fig.3-11Summaryofthebanonsigns(3)指示标志图3-12指示标志汇总Fig.3-12Summaryofthesignage(4)指路标志35 图3-13指路标志汇总Fig.3-13Summaryofguidingsigns(5)辅助标志的设置辅助标志为前述标志需特别说明时的附属性标志,通常为矩形,内容多为时间、距离等补充性描述,因绘制简单,这里就不再单独图示。交通标志的设计与设置,实际上是对交通流的流量与流向的疏导和限制;在展开设计时,必须全面考虑城市路网的实际需求、探寻目标道路(节点)的实际交通状况、配合交通组织设计思想和措施,有针对性地量身定制微观交通原则和控管措施,结合相关法律法规与国家、地方标准,以最小的成本换取最大的安全保障、确保交通秩序,以及优化道路设计通行能力。同时还必须综合考虑城市道路交通管理措施的系统性、透明度、路网整体通行能力与多数交通受体的个人感受与习惯养成。应该说,交通标志的设计与设置是诸多交通组织设计环节中难度最大,考虑因素最多,也是受相关法律法规、国家和地方标准约束最集中的设计环节之一。3.2.6交通管理设施绘制模块在完成道路几何形状、交通标线渠化、交通标志设计与设置之后;应当完成其它交通管理系统与科技设施的需求设计,以及前述设施的配置需求、基础定位工作。36 当前,国内外交通组织设计中,对于交通管理系统、设施重点设计和考虑的内容包括:(1)信号系统相位、放行顺序、灯具基础、管线、检查井;(2)交通监控系统需求与设备基础的初步定位;(3)交通检测设备的需求与定位。图3-14交通设施标注样本Fig.3-14Markedsamplesoftransportfacilities37 图3-15交通设施设计标注实例Fig.3-15Exampleofthedesignmarkoftransportfacilities3.2.7信息标注模块相关信息标注是交通组织设计制图环节中,最后的关键性环节。现状、设计图的内容与图形包含的柔性设计思维,均需要通过信息标注进行必要的解释。信息标注的主要内容包括:(1)图形测量单位标注;(2)图形比例标注;(3)道路、节点、交通集散源、设备等的名称标注;(4)必要的尺寸标注;(5)设计日期、设计单位、图形编号、设计责任人、审核责任人标注;(6)图框、图例标注;(7)简要文字说明;(8)相关施工材料的统计标注;(9)版本与修改标注。38 图3-16交通信息设计标注Fig.3-16Thedesignmarkoftravelinformation39 第四章交叉口交通组织设计的实践4.1软件的准备4.1.1软件环境与程序的调用1.软件的应用环境该软件定名为“交叉口”程序,可运行于WindowsXP操作系统下安装的AutoCAD2000中/英文环境。软件由ObjectARX及MicrosoftVisualC++为基础开发了程序部分,以及基于Access平台开发的数据库部分,经反复测试,该程序加载后对WindowsXP操作系统及AutoCAD2000的正常运行和操作均不构成不良影响。2.数据库的加载为方便使用,在第一次运行交叉口软件前,应分别在WindowsXP与AutoCAD2000中加载程序和数据库,当程序加载后,只要运行AutoCAD2000,该程序及数据库即可自动运行,不用反复加载。4.1.2典型交叉口几何轮廓的自动设计1.交叉口几何轮廓设计关键因素分析交叉口的几何轮廓是城市道路的核心构成要件,交叉口的几何轮廓可以视为目标道路的边界。其参数的调整意味着道路交通条件与道路基本功能的变化,在对关键参数调整之前,通过计算机图形技术模拟、必选、乃至优化设计方案,是现代交通组织设计不可或缺的重要手段。交叉口几何轮廓包含路段与交叉口二个基本表现形态。相较沿线路段的设计而言,交叉口(交叉口)以其多交通流交叉冲突,成为道路通行能力的瓶颈,加之交通安全等因素,交叉口也是交通组织设计中的重点内容之一。交叉口轮廓的主要参数包括:(1)岔口长度,通常指交叉口某一方向的距离;40 (2)道路相交的角度,通常指岔口间相交时产生的角度;(3)交叉口转弯半径,指2岔口间相交时考虑动机车速度与转弯平顺性的参数标定;(4)道路的板型,指行人、非机动车、机动车物理隔离型式。完成的道路几何轮廓设计如下图所示:图4-1道路几何轮廓示意图Fig.4-1Schematicoutlineoftheroadgeometry2.交叉口几何轮廓自动设计实现通过应用程序与数据库的加载,当打开AutoCAD2000后,程序将自动运行。为方便不熟悉AutoCAD应用的交通管理人员,特意将程序的主要功能集成为按钮,按钮分3组置于AutoCAD工具栏上,基础功能工具条中的绘制交叉口(OUTLINE)按钮,可以方便的定义交叉口轮廓(含名称、宽度、角度)。通过修正岔口数量、岔口方向以及偏离中心的距离的数值,可以十分方便地得到预期的道路轮廓图形。如图4-2所示。41 图4-2按实际需求定制交叉口轮廓图Fig.4-2Intersectioncontourmapaccordingtotheactualdemand4.1.3车道功能的定义1.车道功能重点内容分析车道功能是交叉口设计的重点内容之一,通常以“导向车道箭头”和“交通标志”为设计重点。交通标志的设置集中体现交通组织设计的管理功能。道路交通标志以其种类繁多,生产成本高,一旦实地设置即产生影响,因此,道路交通标志的设计的多方案类比评价就显得尤为重要。常用交通标志依用途可分7类,约186个样式,其中:警告标志42个,禁令标志42个,指示标志30个,指路标志24个,旅游区标志17个,道路施工标志25个,辅助标志16个。2.自动设计实现42 交通标志设计工具栏中交通标志(MARK)按钮,插入交通标志;直左(SLFT)按钮,设置车道导向箭头——直左;专左(LFT)按钮,设置车道导向箭头——专左;直行(LDER)按钮,设置车道导向箭头——直行;专右(RT)按钮,设置车道导向箭头——专右;直右(SRT)按钮,设置车道导向箭头——直左。(1)导向箭头的设计在交通标志标线设计工具栏中,可以分车道地设计和定义岔口导向车道属性,即机动车道的行驶方向性规定。如图4-3所示。图4-3交叉口导向车道设计Fig.4-3Lane-orienteddesignatintersection(2)交通标志的设计交通标志是交通组织的重要构成部分,通过(交通标志MARK)按钮,即可调用交通标志数据库,可以方便地为交叉口设计交通标志。如图4-4所示。43 图4-4交通标志数据库界面示例Fig.4-4Interfaceexampleoftrafficsignsdatabase添加交通标志后的交叉口如图4-5所示。图4-5交通标志的载入Fig.4-5Theloadingoftrafficsigns4.1.4常用标注信息的载入1.其它必须标注信息分析在交通组织设计制图作业中,还有多个标注信息是不可或缺的,如:方向地名、说明、图例等。44 2.基本功能模块常用CAD功能工具栏插入图形(BLACK)按钮,植入预定图形;偏移调整(OFFSET)按钮,调用偏移命令;图形属性(CH)按钮,选定目标特性调整;弧状倒角(FILLET)按钮,调用弧状倒角命令;文字标注MULTILINETEXT,调用文字标注命令。3.功能实现(1)通过(文字标注MULTILINETEXT)按钮调用文字标注命令。可录入或修改交叉口名称等文字标注信息。如图4-5所示图4-6添加文字标注Fig.4-6Addatextlabel(2)点击(插入图形BLACK)按钮,植入预定图形,如图框、图例、设计说明、图形方向等信息。45 最后完成的交叉口交通组织设计图,如图4-7所示图4-7自动设计交叉口图Fig.4-7TheAutomaticdesignoftheintersectiongraph4.2交叉口自动设计实例4.2.1交叉口实例的选择根据系统功能和实际交通及道路情况选择交叉口。目前系统对比较整齐的十字路口设计偏差较小,且在标线的配置和标志的设立方面易于实现匹配。因此我们选择新晋祠路长风西街交叉口作为实验设计的实例。4.2.2根据设计需要确定系统所需的参数并实地考察测取数据(1)根据系统的要求,选取道路几何线性绘制模块、道路几何轮廓与道路板型绘制模块、交通标线绘制模块、交通标志绘制模块、交通管理设施绘制模块、信息标注模块等的目标参数。(2)根据需要的目标参数,依据管理实际需要和具体情况实地测量取得数46 据。具体参数为:岔口数量:4各岔口宽度:40、20、60、80M各岔口相互角度:0、90、180、270各岔口转角尺寸:(30、30、15),(30、30、15),(25、25、12.5),(30、30、15)道路板型:三、一、四、三交叉口交通设施设置:岔口1、2加中心隔离设施各岔口进出口车道数:(5、3),(2、2),(5、4),(5、3)车道宽度:3M--3.25M各车道流向:进口道有左直或右、出口道为全直停止线位置,人行横道位置及宽度(A=0、B=5M、C=1.5M)等。4.2.3输入参数系统自动生成初步设计方案并根据实际管理情况修改(1)输入参数系统自动生成初步设计方案将实际测得的数据和根据实际管理需要确定的数据逐一输入系统,即自动生成初步设计方案。但自动生成的方案与实际情况及管理需要的组织仍有很多差距。(2)根据实际管理情况修改方案在此初步设计方案基础上,再做部分细节的修改后得出下面的图4-8交叉口自动设计实例设计方案图。如图4-8交叉口自动设计实例设计方案图所示,系统实现了路口几何形状、四个岔口的宽度、角度和交通管理设施的绘制,经简单调整基本准确的反映了道路的实际情况。并初步绘制出车道标线、导向标线、停止线和人行横道线和部分交通标志,实现了交叉口交通组织设计的基本要素。47 图4-8交叉口自动设计实例设计方案图Fig.4-8Theprogrammedesignedbysystem4.2.4小结通过实际路口的设计实践,该交叉口自动设计系统能基本完成路口几何形状和轮廓绘制、道路板型和交通管理设施绘制、交通标线和标志绘制等任务。但是具体的交叉口交通组织工作是非常复杂的一项系统工程,其影响因素非常多,很多的设计内容本系统依然不能很好解决。48 第五章总结与展望5.1总结本文主要研究了在AutoCAD2000平台上,应用ObjectARX二次开发工具进行交叉口交通组织设计软件的开发。本文主要做了以下工作:(1)研究我国交通组织CAD系统交叉口设计的现状;(2)编制了交叉口设计软件;(3)对软件进行了应用实践,论证了设计方案的可行性。通过以上的工作,本文取得了一定的成果,一定程度上缓解了长期以来困扰着从事交通组织设计人员的难题,表现在以下几点:(1)提高了设计速度,缩短了设计周期;(2)设计系统实现了参数化,减少了设计者“经验主义”的干扰;(3)提高了道路基础信息数据化的程度。5.2展望鉴于此次研究的时间较为仓促,软件二次开发的系统性与研究深度尚有欠缺,同时还有部分开发思路尚未付诸实现,笔者准备结合日后的日常工作,认真总结研究经验,进一步领会与应用先进计算机图形理论和方法,进一步完善程序中尚未完成的有关环节,提高程序与AutoCAD2000外高版本的兼容性,以期更好的服务于交通组织管理工作,更好的服务于广大交通参与者。49 参考文献[1]龚云波,机械CAD技术的应用状况及发展趋势[J],机械制造,2007,45(5190:32~34.[2]KalamejaAJ,AutoCAD20003DModeling,AVisualApproach[M],北京:清华大学出版社,1999.[3]李小青,CAD软件二次开发方法及应用[J],机械研究与应用,2004年6月第17卷第2期,64~65.[4]云建军,工程制图及计算机绘图[M],北京:电子工业出版社,2001.[5]唐荣锡,现代图形技术[M],北京:航空工业出版社,2001.[6]朱照宏,道路路线CAD[M],上海:同济大学出版社,1998.[7]符锌砂,公路计算机辅助设计[M],北京:人民交通出版社,1998.[8]任福田,交通组织总论[M],北京:人民交通出版社,2002.[9]杜平安,面向对象的参数化CAD二次开发方法研究[J],电子科技大学学报,2004年10月第33卷第5期,597~599.[10]沈刚,CAD软件二次开发方法的分析与探讨[J],电脑知识与技术,2006年2月,201~203.[11]陈敬英,平面环形交叉口计算机辅助设计[D],西安:西安公路交通大学硕土学位论文,1998.[12]赵一飞,公路平面交叉口CAD系统的研究与开发[D],西安:长安大学硕土学位论文,2002.[13]周荣沽,城市道路设计[M],北京:人民交通出版社,1988.[14]北京市市政设计研究院,城市道路设计规范(CJJ37—1990)[M],北京:中国建筑工业出版社,1991.[15]许金良张雨化,公路CAD技术[M],北京:人民交通出版社,1999.[16]王永辉胡青泥李红彩,AutoCAD二次开发方法地研究[J],计算机系统应用,2007(3):94~96.[17]CharlesPetzold,ProgrammingWindows(FifthEdition),北京:清华大学出版50 社,2007.[18]沈刚,CAD软件二次开发方法的分析与探讨[J],电脑知识与技术,2006,2:201~203.[19]二代龙震工作室,AutoCAD计算机辅助图形学基础[M],北京:机械工业出版社,2002.[20]J.EHao,Y.L.YuandQ.Xue,AmaintainabilityanalysisvisualizationsystemanditsdevelopmentundertheAutoCADenvironment[J],JournalofMaterialsProcessingTechnology,Volume129,Issues1-3,11October2002:277~282.[21]张世华,关于Cad软件二次开发的研究[J],计算机辅助设计与制造,1997:102~104.[22]张润生,何广湘,基于AutoCAD二次开发方法的探讨[J],计算机应用研究,1999,56~59.[23]官章全唐小卫,Visualc++6.0编程实例详解[M],北京:电子工业出版社,1999.[24]高成慧李燕,关于AutoCAD二次开发工具的探讨[J],现代计算机:下半月版,2002,54~58.[25]赵仕健,VisualC十+6.0编程与实例解析[M],北京:科学出版社,2000[26]闻涛,赵良臣,用ObjectARX进行AutoCAD二次开发的研究[J],浙江工程学院学报,2003.[27]高峰,基于ActiveXAutomation技术的AutoCAD二次开发[J],科技经济市场,2006,7,32.[28]WilliamE,Anautocadbasedmaintenancemanagementsystemformanufacturing[J],Computers&IndustrialEngineering,Volume29,Issues1~4,September1995,Pages285~289.[29]CharlesMcAuley,AutoCAD2000ObjectARX编程指南[M],北京:机械工业出版社,2000,7.[30]王保国,ObjectARX编程在VC++中的处理[M],北京:科学出版社,2004[31]高峰,基于ActiveXAutomation技术的AutoCAD二次开发[J],科技经济市场,2006,7,32.51 [32]胡震天莫文通,ObjectARX编程实现VirtuoZo测图数据格式到AutoCAD格式的自动转换[J],城市勘测,2008,2:78~8052 附录程序代码:///////////////////////////////////////////////ObjectARXdefinedcommands#include"StdAfx.h"#include"StdArx.h"#include"share.h"#include"corner.h"#include"cordlg.h"#include"WayDlg.h"#include"InterTbl.h"#include"DepartDlg.h"#include"startdlg.h"#definePI3.141592653589793#definePATH"D:\dai\项目相关\管理\程序\图片\标志"#include"InterSectionDlg.h"#include"lanedlg.h"#include"MarkDlg.h"#include"customApplication.h"//Thisiscommand'OUTLINE'voidlizecrossoutline(){//CInterSectionDlgdlg;CStartDlgdlg;dlg.DoModal();}//Thisiscommand'DRIVEWAY'voidlizecrossdriveway(){CWayDlgdlg;intstat=dlg.DoModal();while(stat==100){stat=dlg.DoModal();}}53 //Thisiscommand'MOVELINE'voidlizecrossmoveline(){//TODO:Implementthecommand//调整中央分隔线,增加局部的左转路口形状如下://______________////////__________/}//Thisiscommand'MOVEINTER'voidlizecrossmoveinter(){//TODO:Implementthecommand//移动整个路口//要实现整个路口的平移}//Thisiscommand'DIRWAY'voidlizecrossdirway(){//TODO:Implementthecommand//Drawtheleadlineofthecar//这个函数的基本核心功能已经实现,目前比较还要进一步加强各种情况的判断//尤其是选择的不同情况下的容错处理ads_namelines,thisline;longNum;acutPrintf("第一条线 ");acedSSGet(NULL,NULL,NULL,NULL,lines);ads_sslength(lines,&Num);intInterNumber;AcGePoint3dArrayfitArray;AcGePoint3dpt;AcDbObjectIdentityId;ads_ssname(lines,0,thisline);acdbGetObjectId(entityId,thisline);InterNumber=GetNumberFrom("InterNumber",entityId);pt=GetPointFrom("DriveStart",entityId);54 fitArray.append(pt);//得到岔口的编号//打开数据库,得到岔口的方向charname_tmp[50];CInterTbl*pInter=newCInterTbl(&DocVars.docData().InterDBase);pInter->m_strFilter="Crossing_No=";sprintf(name_tmp,"%d",DocVars.docData().nCurrent_Crossing);pInter->m_strFilter+=name_tmp;pInter->m_strFilter+="ANDInterSection_Num=";sprintf(name_tmp,"%d",InterNumber);pInter->m_strFilter+=name_tmp;pInter->Open();if(pInter->IsBOF()){return;//当前的数据库中没有这个岔口的数据,返回}doubledir1;dir1=pInter->m_InterSection_Direction;dir1=dir1/180*PI;acutPrintf("第二条线 ");acedSSGet(NULL,NULL,NULL,NULL,lines);ads_sslength(lines,&Num);ads_ssname(lines,0,thisline);acdbGetObjectId(entityId,thisline);InterNumber=GetNumberFrom("InterNumber",entityId);pt=GetPointFrom("DriveStart",entityId);fitArray.append(pt);pInter->m_strFilter="Crossing_No=";sprintf(name_tmp,"%d",DocVars.docData().nCurrent_Crossing);pInter->m_strFilter+=name_tmp;pInter->m_strFilter+="ANDInterSection_Num=";sprintf(name_tmp,"%d",InterNumber);pInter->m_strFilter+=name_tmp;pInter->Requery();if(pInter->IsBOF()){return;//当前的数据库中没有这个岔口的数据,返回}doubledir2;55 dir2=pInter->m_InterSection_Direction;dir2=dir2/180*PI;AcGeVector3dendTangent(cos(dir2),sin(dir2),0),startTangent(-cos(dir1),-sin(dir1),0);intorder=4;doublefitTolerance=0.0;AcDbSpline*pline=newAcDbSpline(fitArray,startTangent,endTangent);AcDbBlockTable*pBlockTable;acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable,AcDb::kForRead);AcDbBlockTableRecord*pBlockTableRecord;pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTableRecord,AcDb::kForWrite);pBlockTable->close();AcDbObjectIdLineId;pBlockTableRecord->appendAcDbEntity(LineId,pline);pline->close();pBlockTableRecord->close();acedSSFree(lines);pInter->Close();}//Thisiscommand'DEPARTLINE'voidlizecrossdepartline(){//TODO:ImplementthecommandCDepartDlgdlg;dlg.DoModal();}//Thisiscommand'LANE'voidlizecrosslane(){//TODO:Implementthecommand//首先选择路口的边缘线ads_namelines,thisline;acedSSGet(NULL,NULL,NULL,NULL,lines);longi,Num;ads_sslength(lines,&Num);while(Num<2){56 acutPrintf("请至少选择两条线 ");acedSSGet(NULL,NULL,NULL,NULL,lines);ads_sslength(lines,&Num);}intold[20];for(i=0;i=Num){flag=3;//相同的边缘线,退出}}if(flag!=3){ads_ssfree(lines);acutPrintf("没有选择同一个岔口的边缘线,或者选择过多 ");return;//要给出警告!}ads_ssfree(lines);charname[20];sprintf(name,"%d号岔口",old[0]);CLaneDlgdlg;dlg.CrossID=DocVars.docData().nCurrent_Crossing;dlg.IntersectionID=old[0];dlg.m_report.Format("%s",name);dlg.DoModal();}//Thisiscommand'CROSSWALK'voidlizecrosscrosswalk(){57 //TODO:ImplementthecommandAcGePoint3dpt1,pt2;acedGetPoint(NULL," 第一个点 ",asDblArray(pt1));acedGetPoint(NULL," 第二个点 ",asDblArray(pt2));doublewidth;acedGetReal(" 人行横道的宽度 ",&width);AcGePoint3dv1,v2;acedGetPoint(NULL," 方向起始点 ",asDblArray(v1));acedGetPoint(NULL," 方向终结点 ",asDblArray(v2));AcGeVector2dvec(v2.x-v1.x,v2.y-v1.y);doubleangle;angle=vec.angle();DrawCrossWalk(pt1,pt2,width,angle);}//Thisiscommand'BREAKAT'voidlizelizecrossbreakat(){//TODO:Implementthecommand//首先选择路口的边缘线ads_namelines,thisline;acedSSGet(NULL,NULL,NULL,NULL,lines);longi,Num;ads_sslength(lines,&Num);ads_namebreakline;acedSSGet(NULL,NULL,NULL,NULL,breakline);AcDbObjectIdlineId;//if>=2出错ads_ssname(breakline,0,thisline);acdbGetObjectId(lineId,thisline);AcDbEntity*pEnt1;acdbOpenAcDbEntity(pEnt1,lineId,AcDb::kForWrite);AcDbLine*pline1=(AcDbLine*)pEnt1;AcGePoint3dArraypts;for(i=0;iintersectWith(pline1,AcDb::kOnBothOperands,pts);BreakLineAt(entityId,pts[0]);pEnt->close();pline->close();}pEnt1->close();pline1->close();}//Thisiscommand'LDER'voidlizecrosslder(){//TODO:Implementthecommand//直行的箭头AcGePoint3dpt;acedGetPoint(NULL," 位置 ",asDblArray(pt));AcGePoint3dpt1,pt2;acedGetPoint(NULL," 方向 ",asDblArray(pt1));acedGetPoint(NULL," 方向 ",asDblArray(pt2));AcGeVector2dvec(pt2.x-pt1.x,pt2.y-pt1.y);doubleangle;angle=vec.angle();DrawStraight(pt,angle);}//Thisiscommand'SLFT'voidlizecrossslft(){//TODO:Implementthecommand//直行左转的箭头AcGePoint3dpt;acedGetPoint(NULL," 位置 ",asDblArray(pt));AcGePoint3dpt1,pt2;acedGetPoint(NULL," 方向 ",asDblArray(pt1));acedGetPoint(NULL," 方向 ",asDblArray(pt2));AcGeVector2dvec(pt2.x-pt1.x,pt2.y-pt1.y);doubleangle;angle=vec.angle();DrawStraightLeft(pt,angle);}//Thisiscommand'SRT'voidlizecrosssrt(){59 //TODO:Implementthecommand//直行右转AcGePoint3dpt;acedGetPoint(NULL," 位置 ",asDblArray(pt));AcGePoint3dpt1,pt2;acedGetPoint(NULL," 方向 ",asDblArray(pt1));acedGetPoint(NULL," 方向 ",asDblArray(pt2));AcGeVector2dvec(pt2.x-pt1.x,pt2.y-pt1.y);doubleangle;angle=vec.angle();DrawStraightRight(pt,angle);}//Thisiscommand'RT'voidlizecrossrt(){//TODO:Implementthecommand//右转AcGePoint3dpt;acedGetPoint(NULL," 位置 ",asDblArray(pt));AcGePoint3dpt1,pt2;acedGetPoint(NULL," 方向 ",asDblArray(pt1));acedGetPoint(NULL," 方向 ",asDblArray(pt2));AcGeVector2dvec(pt2.x-pt1.x,pt2.y-pt1.y);doubleangle;angle=vec.angle();DrawRight(pt,angle);}//Thisiscommand'LFT'voidlizecrosslft(){//TODO:Implementthecommand//左转AcGePoint3dpt;acedGetPoint(NULL," 位置 ",asDblArray(pt));AcGePoint3dpt1,pt2;acedGetPoint(NULL," 方向 ",asDblArray(pt1));acedGetPoint(NULL," 方向 ",asDblArray(pt2));AcGeVector2dvec(pt2.x-pt1.x,pt2.y-pt1.y);doubleangle;angle=vec.angle();DrawLeft(pt,angle);}60 //Thisiscommand'MARK'voidlizecrossmark(){doublelength=5;//TODO:ImplementthecommandCMarkDlgdlg;CStringPath;CStringImgName;ImgName.Format("Picture");intstates=dlg.DoModal();AcDbObjectIdEntityID;if(states==100){//插图AcGePoint3dstart,end;//图片由dlg的两个变量传过来,一个是:ImgName,另外一个是:TypeacedGetPoint(NULL," 设立标志的位置 ",asDblArray(start));acedGetPoint(NULL," 引出位置 ",asDblArray(end));//NewLine(start,end);for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭