范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

基于AutoCAD。NET的桥涵布孔程序开发

  张俊英 贾舒阳 邢世根内蒙古交通设计研究院有限责任公司 内蒙古高等级公路建设开发有限责任公司
  摘 要: 针对桥涵设计中孔跨精确布置难以实现的问题,采用C#语言,基于Auto CAD.NET进行程序开发。从开发平台、计算流程、计算原理、程序结构、应用实例进行介绍,对关键技术——已知坐标求桩号的算法进行详细阐述,并通过程序验证了算法的准确性。
  关键词: 公路桥梁;布孔程序;算法研究;桩号计算;AutoCAD. NET;   1 引言
  对于城市桥梁,里程较长,而又受地下交通的干扰较大,布孔较复杂,常常花费设计人员较大的精力;对于公路改扩建项目,新建构造物要与原有构造物对齐拼接,需要设计人员精确确定新构造物的桩号;对于位于灌溉渠发达的平原区道路,也需要精确确定构造物的桩号。然而,当道路线形复杂,构造物位于缓和曲线上时,如不借助程序,手工是无法精确布孔的。布孔的本质就是要避开或跨过既有干扰,所以经常要求任意一点的对应桩号,数学模型就是已知坐标求桩号;其次布孔就是要把任意桩号处的径向线绘制出来,数学模型就是已知桩号求坐标。这两个功能是布孔过程中经常遇到的,有必要编写成独立程序,辅助设计工作。   2 开发平台及语言
  桥涵布孔工作一般在Auto CAD软件中进行,把布孔程序嵌入到Auto CAD软件中,定义成一些命令,使用起来是最方便的,因此程序采用Auto CAD支持的二次开发平台编写。
  Auto CAD提供了多种方法进行二次开发,包括LISP、VBA、Object ARX、.NET API等。Lisp与VBA较为简单,易上手,主要用于简单程序的开发。Object ARX是Autodesk公司推出的基于C++的二次开发软件包,软件包提供了大量访问Auto CAD软件底层的接口,能直接调用Auto CAD的函数,能快速访问Auto CAD图形数据库,开发功能非常强大。从Auto CAD2006开始,Autodesk公司又推出.NET API,它提供了一系列托管的外包类,封装了绝大部分Object ARX软件包里的函数,目前已经拥有了与Object ARX相似的强大功能。可以看出.NET API与传统Object ARX的区别主要在于.NET环境下开发应用程序与在VC环境下开发应用程序的区别。
  使用.NET开发程序具有以下优势:(1)可以利用.NET框架下丰富的类库,(2)内存自动管理,(3)采用统一的异常处理,(4)支持多种语言,如VB.Net,C#,托管C++等。这些特点让开发程序变得容易、高效。相比掌握VC++和Object ARX来说,掌握.NET API更容易,故本文选用.NET API工具开发此程序,采用C#语言基于Visual Studio 2010和Auto CAD2012平台开发。   3 计算流程
  为了实现布孔功能,首先需要输入路线平曲线数据,这些数据是最基本的数据,是必须要输入的。数据格式如下:
  线元个数,起始桩号,起点X坐标,起点Y坐标,起点方位角;
  第一条线元长度(右偏为正,左偏为负),线元起点半径,线元终点半径;
  第二条线元长度(右偏为正,左偏为负),线元起点半径,线元终点半径;
  ……
  第N条线元长度(右偏为正,左偏为负),线元起点半径,线元终点半径。
  平曲线数据读入后,需要将路线数字化。路线上任一点由三个参数唯一确定,即坐标X、坐标Y和方位角。因此需要设计一组程序,能够计算路线上任意桩号对应的坐标和方位角。这样就相当于把路线存储到程序中了。
  用户输入布孔线信息,包括桥梁起点桩号(或中心桩号)、跨径、斜交角,程序计算各布孔线处的坐标和方位角,形成布孔线的直线方程,然后编写操作Auto CAD数据库的块表和块表记录程序,绘制布孔线。流程图如图1所示。
  图1 布孔线绘制流程 下载原图
  用户在图中点取了要求桩号的点,程序拾取坐标后,通过编写的程序计算,判断点所对应的桩号,并计算点到路线的距离,通过CAD命令行输出。流程图如图2所示。
  图2 计算坐标对应桩号流程 下载原图   4 计算原理4.1 坐标及方位角计算
  公路平曲线包含直线、圆曲线和缓和曲线,每一段曲线称为一个线元,线元的计算理论成熟,可参照文献[1]和[2]进行。程序中求解上述模型可分为下述三个步骤:
  (1)判断桩号位于哪一个线元
  根据路线的起始桩号以及每一个线元的长度,很容易计算出每一个线元的起终点桩号,再通过比较运算就可得到已知桩号所在的线元。
  (2)判断线元的类型
  设线元起点半径为R1,终点半径为R2,当R1=R2=∞时,线元为直线;当R1=R2≠∞时,线元为圆曲线;当R1=∞,R2≠∞或R1≠∞,R2=∞时,线元为完整缓和曲线;当R1≠R2≠∞,线元为不完整缓和曲线。
  (3)依据线元类型,选择相应计算方法。每一种计算方法可编写为一个函数。针对缓和曲线的级数展开项,取前4项即可满足精度要求。   4.2 桩号计算
  桩号计算是最关键的,也较为复杂,特别是角度取值等细节容易出错,有必要详细推导。
  如图3所示,求某一点P所对应的桩号,实际上就是寻找该点距路线最近的Q点。计算分二步:
  第一步,确定Q点所在的大致范围,通过循环计算每一线元起点到P点的距离,当距离比较小的线元,就是接近Q点所在的线元,这样限定一个Q点的范围;
  图3 计算桩号示意 下载原图
  第二步,精细确定Q点所在的线元,文献[3]介绍了理论方法,本文详细介绍编程算法,及角度象限问题。程序首先要判断所P是不是位于线元的起点或终点,可以通过坐标比较判断,当P点不在线元的起终点上,按下式(1)计算BP和EP的方位角:
  上式中,坐标为工程坐标,方位角0度方向为X轴正向方向,方位角的取值范围为[0,2π]。
  αBP的计算结果如式(2)所示,P点和B点的位置关系的不同,导致方向角所在的象限不同,故方位角需要加π或2π。且方位角与坐标轴平行的情况,也需要单独分类,否则容易出错。
  PB与方位角TB的夹角βB,及PE与方位角TE的夹角βE计算如式3所示:
  当满足0°≤βB≤90°,或270°≤βB≤360°和90°≤βE≤270°两条件时,P点就在该线元上。
  第三步:当确定了Q点所在的线元,就可以确定具体的桩号了。线元主要有三种类型,分别为直线、圆曲线和缓和曲线,针对直线和圆曲线,可以列出具体的方程,确定Q点位置,而对于缓和曲线列方程比较复杂,可采用二分法的迭代试算寻找Q点,经程序验证,收敛很快。
  实践过程中,对于互通立交中的小半径匝道和低等公路中的回头曲线,用上述方法求取桩号容易出错,可以通过在程序中允许用户输入一个所求桩号附近的桩号,这样可以辅助程序精确确定桩号。   5 程序结构
  为了后期程序的扩展和维护方便,程序采用面向对象的技术,将各功能函数封装在不同类中。主要定义有Model类,将线元参数定义为字段,传递方便;辅助类,定义一些辅助函数,如读写文本文件,角度与弧度转化程序等;坐标方位角计算类,直线、圆曲线、完整和不完整缓和曲线坐标和方位角计算函数;桩号计算类,专门定义桩号计算函数;主程序类继承Auto CAD接口,定义各种命令从CAD中读取和写入数据。   6 应用实例
  因路线平曲线数据较为繁琐,如果按第2节提到的格式人工整理数据,显然较费时间,可以通过读取路线软件的项目文件的方法获取平曲线数据。如纬地道路项目中,后缀名为.pm的文件就是包含平曲线信息的项目文件。.NET API提供了打开文件对话框的类Prompt Open File Option,通过实例化该类,实现打开文件的功能,运行效果如图4所示,
  文件读取成功后,程序从CAD命令行或图形界面上取获取布孔信息或坐标,计算后在图形界面上绘制布孔线或命令行输出所求桩号,运行效果如图5所示,程序布孔的布孔命令为"BK",求任意一点的桩号,命令为"QZH"。该程序成功应用于部分高速公路和市政公路的设计,为设计人员节省了时间、提高了设计质量。
  图4 文件浏览窗口示意 下载原图
  图5 程序应用实例 下载原图   7 结语
  桥涵布孔是设计中一个重要的环节,然而不借助于程序,精准布孔难以实现,故有必要结合路线软件,开发适合于自己设计院的小程序,这样可以提高工作效率和设计质量。Auto CAD.NET提供了良好的平台,使软件开发变得容易,降低了对编程知识的要求,路桥设计人员可根据需要开发自己的程序。   参考文献
  [1]  张雨化,等.道路勘测设计.北京:人民交通出版社,1997.
  [2]  闻道秋.复合曲线坐标计算及程序设计.工程勘察,1997(2):57-60.
  [3]  闻道秋.任意点到路线中线最短距离的计算.工程勘察,1997(2):57-60.
  [4]  张玲玲,张志伟.公路卵形曲线任意点坐标和切线方位角的计算方法.兰州交通大学学报(自然科学版),2007,26(1):86-88.
  [5]  单德山,张俊英,黄振兴,等.基于ASP.NET的大跨度斜拉桥管养系统.桥梁建设,2012,42(3):31-36.
  [6]  曾洪飞,等.AutoCAD VBA&VB.NET开发基础与实例教程(第二版).北京:中国电力出版社,2015.
  [7]  JTG D20-2017,公路路线设计规范.
  声明: 我们尊重原创,也注重分享。有部分内容来自互联网,版权归原作者所有,仅供学习参考之用,禁止用于商业用途,如无意中侵犯了哪个媒体、公司、企业或个人等的知识产权,请联系删除,另本头条号推送内容仅代表作者观点,与头条号运营方无关,内容真伪请读者自行鉴别,本头条号不承担任何责任。

内马尔受伤倒下!两任女友加油打气,世界杯竞争太过残酷世界杯小组赛G组第一轮,夺冠热门巴西队出场了,凭借理查利森漂亮的双响,巴西队以20战胜塞尔维亚。此役,理查利森发挥极为出色,他先是在第62分钟时补射进球,接着又在第73分钟时上演了世界杯再现默契球?夺冠大热门迷失,球迷怒骂丑陋的比赛世界杯小组赛第二轮迎来了一场焦点大战,夺冠大热门英格兰队与美国队狭路相遇。最终两队闷战90分钟,以00握手言和,各自收获1分。而这场比赛的结果,也引发了无数球迷的炮轰,不少人认为,世界杯,诸神黄昏!阿根廷必须夺冠世界杯假期中,在看诸神黄昏之战的同时,阿根廷在第一场就陨落人间。不过我认为阿根廷在输给沙特以后,在玄学方面,基本锁定了本届世界杯的冠军。首先之前的比赛结果,都是强弱分明,尤其是伊朗威尔士球迷想要体验世界杯,所以他们组团去了西班牙据媒体报道,本周,数千名威尔士球迷抵达西班牙的特内里费岛,希望能够按照他们的需求和预算,沐浴着阳光,享受一直向往的世界杯庆祝活动。威尔士队备战训练。图据ICphoto50岁的李张伯浅聊一下我对NBA篮球和足球世界杯以及WWE的一些看法我是个伪球迷,无论是NBA还是CBA,无论是足球还是世界杯,不过是听说过一些球员的名字,比如乔丹科比詹姆斯,梅西C罗马拉多纳,要是稍微有点不出名的明星,可能只听说过名字,但是认都认我的退休生活你目前的退休生活是什么状态从今年5月份退休到现在,已经过去半年多了。刚从单位岗位退下来,觉得每一天都像在放假,想着再也不用每天签到坚持坐7个小时了,不用值夜班半夜经常被病人叫醒挂号60后70后80后90后2000后,到底有什么不同70后之前的人们,童年在先贫穷再文革中度过的,他们恐惧受穷,害怕失去,担心重蹈复辙。只要形势稍稍好转,他们会知足,更容易感到幸福。在他们年轻的时候,正是一个百废待兴却突然开放的时代朋友圈图文愿你此生三餐四季,温暖有趣头条创作挑战赛只愿细水长流是你,柴米油盐是你,白头到老也是你。想用余生为你暖一盏茶,晚风微扬时勿忘回家。有生之年,只诉温暖不言殇。愿所有的后会有期,都是它日的别来无恙。冬日暖阳,好远离烦恼,戒在一个争字远离烦恼,戒在一个争字。不值得与那些修养不足只为了搽脂抹粉的人计较,内心只有争逐的欲利。我们的教育体制培养的大都是把争字融入骨髓和灵魂的蝇营狗苟者,甚可恨还有些人企图亵渎玩弄圣贤为你怎么看图源于网络,侵删有时不能按常识推理有时不能按常识推理。推理不符合常识,方能证明你才识过人。不要过高的评价从不反对你的人。他们不反对你并不一定就是对你表示厚爱,而是表明他们爱自己,明如何接受自己不被爱?缺爱在社交网络的语境里,似乎成了许多人的心结。好像生而为人,不被爱就成了一种罪过。既然没人爱是一种罪过,那承认自己不被爱无异于当众裸奔。但,事实真的如此吗?1人都是复杂多面的,也很
按摩三穴位,帮你赶走宅家坏情绪来源大河健康报新医三附院闫喜凤娄政驰突如其来的疫情,不少人被封控在家,正常的生活工作节奏被打破,不少人因此出现暴躁焦虑抑郁等坏情绪。从中医讲,一个人的情绪好坏,和肝有很大的关系。肝冬天手脚冰凉?千古名方3味药,暖心温肾,整个冬天都是阳气满满每次起床手脚都是冰凉的,好不容易活动活动,暖和了一些,伸手吃饭的功夫,瞬间又是手脚冰凉。西医会告诉你这很正常,吃完饭后,全身的血液大都流向脾胃,以助消化,离脾胃越远体温越低,所以出比肾虚更可怕的是肝郁!送你5个中成药,疏肝解郁,清泻肝火大家好,我是赵医生。为什么说比肾虚更可怕的是肝郁呢?现在人们生活压力很大,经常感觉心情郁闷,无处发泄。而中医上说,肝喜条达,恶抑郁。如果经常心情不好,就容易影响到肝的功能,而肝主全早餐不能喝大米粥吗?医生这5物或许也不适合当早餐俗话说人是铁,饭是钢,一顿不吃饿得慌,意思是说人的生命是是靠饭食维持的,一顿不吃饭也不行。早餐是人一天当中最重要的一餐,早餐吃的丰富,营养越好,越有利于身体健康。一顿营养丰富的早餐吃核桃,能养生?每天坚持吃核桃,身体会有什么变化?吃多少刚好老头子,你去超市买菜的时候顺便买些核桃回来,我最近总是丢三落四,得吃点核桃补补脑。周大爷在门口穿鞋,准备一会去超市买点菜,临走时老伴叮嘱道。吃核桃有用吗?你还不如学我多看看报纸,别冬季养生要如何睡出好身体五条黄金法则让你睡得更好冬季养生主要指通过饮食睡眠运动药物等手段,达到保养精气强身健体延年益寿的目的。很多人都会问,睡觉不就是眼睛一闭的事吗,怎么还有那么多讲究,确实是如此,良好的睡眠有助于身体健康,因为20的人死亡是因为不会吃饭?若存在这4种行为,提醒你最好改了正所谓民以食为天。很多人往往认为只需要三餐都吃饱就好了,至于吃什么其实并不重要。要是有人跟你说有20的死亡是因为不吃饭,你还会继续认为吃啥不重要吗?20的人死亡,竟是因为不会吃饭?骨质疏松的人,不能吃豆腐?这3种食物才是骨脆推手,得少碰虽然现在的生活条件越来越好,但是人们的身体状况并没有得到有效的改善,大小毛病不断找上门,人人惧怕的骨质疏松症仍然普遍存在。之前人们总说骨质疏松症是老年病,年龄越大的人,患上骨质疏松泰国尚未购买2022卡塔尔世界杯足球赛转播权或因等待降价11月2日,泰媒报道称,泰国副总理兼泰国奥委会主席巴逸,就2022年卡塔尔世界杯足球赛实时转播进展事宜接受媒体采访,称他一定会让每个泰国民众都能看到比赛,这是他的责任。同时,他还表勇士109116不敌热火,3胜5负,勇士到底怎么了,这赛季还有救吗北京时间11月2日,勇士109116再负热火,目前勇士3胜5负,跌至西部倒数,勇士到底怎么了,这赛季还能好起来吗?团队指挥官斯蒂芬库里,231313的豪华三双,却输球!有点脾气吧,PK德国!亚洲第2放话要夺世界杯冠军!中国日本球迷2种评论进入11月份,基本正式宣告男子足球世界杯拉开序幕,分组赛将于11月21日东道主卡塔尔对阵厄瓜多尔揭幕,对中国球迷而言,遗憾的是国足未能从预选赛突围,无缘本届世界杯正赛。8个分组赛中