纵横断面自动生成方法探究.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
纵横断面自动生成方法探究 摘要:目前对于AUTOCAD自动生成纵横断面的研 究,一直以来都从未间断过,可以说南方开思是首屈一指的。 它通过定义道路中线和横断面线属性可以完成数据的采集 和图形输出。 关键词:道路中线;横断面线属性;图形输出 Abstract: at present the research of AUTOCAD automatically genera ted profile and cross section, has been never interrupted, southern open thought is second to none, so to speak. It by defining the road centerline and transect line properties can complete data collection and graphics output? Key words: road center line; Cross-sectional line properties; Graphical output 中图分类号:0572.21+3文献标识码:A文章编号: 2095-2104 (2013) 虽然CASS的纵横断面生成已实现了自动化,而且能自 动生成断面文件。但由于其数据采集密度和采集方法的局 限。经常会出现:1.其断面图无法真实反映实际情况;2.其 生成的断面数据只有一种纵断面格式,无法生成横断面数据 或者说该数据无法提交给设计使用。 经过长期总结和对AUTOLISP的学习积累,我终于做出 了 一套AUTOCAD下纵横断面自动生成的程序。 下面按操作流程做个简单介绍。 绘制道路中线和横断面线 首先画出规划道路中线,必须是多段线,也就是命令 POLY画出的线,同一条道路多段线只能有一条,中间不能断 开,然后根据设计要求,用程序生成横断面线,这个比较简 单,不作详解。 高程加密 为了让生成的断面更加切合实际情况,要根据现有地形 图及测量数据沿道路中线和横断面线加密高程。 主要把握两个原则: 在地形变化点处加密高程,可采用内插法。 加密点要与中线或横断面线的距离小于设定的偏差距 离(与中线或横断面线的距离,用于定义高程的选择范围)。 生成横断面数据 获取单个横断面线的点表ptil、Pti2 生成高程数据集合 获取对于一条横断面线来说,可以向前和向后各偏移一 个偏差距离,根据其和中线的几何关系,可以计算出P1、P2、 P3、P4的坐标,按顺时针排列这四个点形成一个点表 pt_list,用选择集函数(ssget "_CP” pt_list),再用选 择集过滤器提取这个点表的选择范围的高程数据集合Ci,读 取集合内每个数据的属性,根据曲线测量函数 (vlax-curve-getClosestPointTo curve-obj givenPnt [extend])得到每个被选高程的垂足点,用函数distance求 得该点到中线的距离,用函数angle求得该点到中线的垂线 的方位角Bi,此处中线方位角Ai与Bi满足右手法则的话, 那么该高程点的矢量距离则为负值,否则为正值,即中线左 侧为负,右侧为正。可以得出一个数据表,该表第一个元素 为矢量距离,第二个元素为高程值,集合Ci中的每个高程 所形成的数据表,最终生成该断面的数据表Di。 数据表整理 用函数vl-sort以矢量距离从小到大的顺序对Di进行 排序,对特殊点位(断面线两端、距离为0或整数等),用 内插法或就近原则取得其高程值,并按矢量距离插入到数据 表Di中。 生成横断面数据 对每一条横断面线执行1-3步骤,并写入文本文件,格 式按设计要求来输出,如: K3+160 0. 00 5. 94 -71. 00 5.81 -35. 46 5. 81 -31. 36 4. 27 -12. 57 4. 27 -9. 17 5. 94 -0. 14 5. 94 54. 32 5. 98 71.00 5. 98 生成纵断面数据 对于纵断面数据的生成,类似于横断数据的生成,区别 在于: 过滤高程点 获取所有高程数据,并求每个高程点到中线的距离,用 预先设定的偏差距离排除范围之外的数据,遍历每个高程 点,求得到中线的垂足点Pj ,用函数 vlax-curve-getDistAtPoint (返回曲线从开始点到指定点 的曲线段的长度)求得里程。从而可以生成该高程点的里程、 高程数据表,最终形成总数据表Listlo 插入横断面数据 读取横断面数据,并提取每条横断面线的里程和距离为 0时的高程,得到里程、高程数据表List2,将List2插入 到List2中,并按距离从小到大排序,最终生成合成数据表 ListOo 生成纵断面数据 按设计要求

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档