APP下载

勘探孔里程偏移量的快速读取法

2014-07-25余志江

铁道勘察 2014年6期
关键词:偏移量插件里程

余志江

(铁道第三勘察设计院集团有限公司, 天津 300142)

勘探孔里程偏移量的快速读取法

余志江

(铁道第三勘察设计院集团有限公司, 天津 300142)

介绍基于Civil 3D软件的里程偏移量读取法,重点研究基于Visual LISP语言的勘探点里程偏移量读取的实现要点,并在此基础上编制了相应插件,采用本插件进行勘探点里程偏移量读取时不仅速度快、准确性高,并且具有使用简单、成本低、对电脑配置要求低的特点。

里程偏移量 勘探孔 Visual LISP二次开发

根据《城市轨道交通岩土工程勘察规范》,地下车站和区间的勘探孔孔深需要根据结构底板高程确定,而勘探孔里程是获得结构底板高程的前提,所以地铁勘察在编制勘察大纲时就需要读取勘探孔的里程偏移量数据。

快速、准确地进行勘探孔里程偏移量的读取对岩土工程勘察具有非常重要的意义。首先介绍常规读取方法及其缺点,然后分别介绍基于Civil 3D和Visual LISP的两种快速读取方法。

1 常规读取方法介绍

目前,勘探孔的里程偏移量数据读取一般采用在CAD模型中人工逐孔量测读取。人工读取法存在如下不足。

(1)效率低下: 人工在CAD中量取一个勘探孔里程和偏移量数值的时间平均需要大约1 min。地铁行业勘探孔间距小、数量多,单个区间工点的勘探孔往往达几百个,整条线路的勘探孔数量可能达几千个。在设计过程中线路平面经常会优化调整,一旦线位发生变化又需要重新读取,人工读取往往会花费很大的时间和精力。

(2)误差较大:人工读取时一般采用CAD中的距离查询命令“DI”,距离查询命令查询两点之间的直线距离,所以在曲线段误差会比较大,读取的里程值往往偏小。

(3)错误率高:人工读取时,一般先在CAD中用“DI”命令量取得到里程和偏移量值,然后将查得的数据从命令框中抄下,当数据量较大时,转抄过程中很容易出错。

2 基于Civil 3D的里程读取

2.1 软件简介

Civil 3D软件是一款面向土木工程设计与文档编制的建筑信息模型(BIM)解决方案,其勘测和设计工具可以自动完成许多耗费时间的任务,有助于简化项目工作流程。通过研究,发现Civil 3D软件可以应用在勘探孔的里程和偏移量读取工作中。

2.2 读取步骤

勘探孔里程偏移量读取可以利用 Civil 3D软件Reports Manager工具箱中的Station Offset to Points 函数。Station Offset to Points 函数可以快速、自动输出CAD模型中批量点基于指定线路的里程和偏移量数据,读取过程包含如下几个步骤。

(1)建立路线模型

Civil 3D提供了多种建立线路模型的方法,勘探孔里程偏移量读取工作中可采用由多段线对象创建线路的方法。线路专业提供的线路中线是由许多不连接的多段线组成,在创建线路模型之前应将线路中线连接成整条多段线。

(2)插入断链

线路专业提供的线路平面图中往往存在许多断链,采用多段线对象直接建立的线路模型终点里程往往与设计不符,所以建立初步线路模型后需要在线路特性中添加桩号断链。线路编辑完成后应注意检查线路的里程标是否与设计提供的里程标重合,如果出现了少量的误差,还可以通过添加修正断链的方式及时进行修正。

(3)用批量导入点的方式导入勘探孔

Civil 3D中可以按照指定的数据格式从外部文件中批量导入点。为了后续数据处理方便,建议采用自定义数据格式,具体格式为:“点编号,点名称,E坐标,N坐标”,各数据之间采用逗号分隔。

勘探点导入后默认情况下在图中仅显示为小点,可根据个人的喜好设置勘探点的标示样式和名称。

(4)里程偏移量数据的导出及整理

在工具箱面板下选择Reports Manager功能中的Station Offset to Points 函数,选择线路后(图中可能建立了多个线路模型,如左线和右线),即可输出勘探点的里程和偏移量。

Station Offset to Points 函数输出的结果格式为“点编号、里程、偏移量、高程”,不包含点名称。在结果整理时首先将查询结果和第(3)步中的数据文件一并导入Excel中,然后分别按照点编号进行排序,利用点编号将勘探点名称和里程偏移量结果对应。

2.3 优缺点分析

采用Civil 3D软件进行勘探点的里程偏移量读取非常简单快捷,并且在读取速度和数据准确性上与常规手工量取相比均有质的提高。

Civil 3D作为一款成熟的大型商业软件,虽然其功能十分强大,成果的可靠性有保证,但也存在一些不足:

程序对电脑的硬件配置要求较高,如希望流畅的运行Civil 3D软件,往往需要对电脑硬件进行升级。

3 基于Visual LISP插件的里程读取

3.1 Visual LISP简介

Visual LISP可以显著地提高自定义AutoCAD的效率,可以进行各种工程的分析计算,自动绘制复杂的图形,驱动对话框、控制菜单,定义新的命令,为AutoCAD扩充智能化、参数化的功能,将繁琐的绘图、标注与复杂的分析计算由程序来完成,实现图形参数化、智能化、分析计算与绘图一体化。

3.2 里程偏移量读取的关键方法研究

如图1所示,模型中存在一条名为Curve-xianlu的多段线线路,线路的起点为O,某勘探孔的坐标为PntA,计算勘探孔基于线路Curve-xianlu的里程和偏移量值时可以自点PntA向线路Curve-xianlu作垂线,垂足为PntB。那么起点O与PntB在线路上的距离即为勘探孔里程,点PntB和PntA之间的距离即为勘探孔的偏移量绝对值,PntA位于线路右侧时取正值、左侧时取负值。

图1 里程偏移量示意

查询帮助文件可知,针对曲线对象Visual LISP提供了丰富的查询函数,实现勘探孔里程偏移量的读取主要用到如下一些函数。

(1)vlax-curve-getClosestPointTo

语法:(vlax-curve-getClosestPointTo curve-obj givenPnt [extend])

功能:返回世界坐标系中曲线上(curve-obj)离指定点(givenPnt)最近的点

(2)vlax-curve-getDistAtPoint

语法:(vlax-curve-getDistAtPoint curve-obj point)

功能:返回曲线(curve-obj)从开始点到指定点(point)的曲线段的长度

(3)vlax-curve-getParamAtPoint

语法:(vlax-curve-getParamAtPoint curve-obj point)

功能:返回曲线(curve-obj)在指定点(point)的参数

(4)vlax-curve-getFirstDeriv

语法:(vlax-curve-getFirstDeriv curve-obj param)

功能:返回曲线(curve-obj)在指定位置(param)的一阶导数(在WCS中)

3.3 插件的关键代码

程序关键部分主要包含如下五个步骤:

(1)采用(vlax-curve-getClosestPointTo)函数计算位于线路上距PntA最近的点PntB点的坐标,关键代码为:(setq PntB(vlax-curve-getClosestPointTo curve-xianlu PntA));

(2)采用(vlax-curve-getDistAtPoint)函数计算线路上从开始点O到指定点PntB的曲线段的长度(该长度即为勘探孔的里程),关键代码为:(setq Station(vlax-curve-getDistAtPoint curve-xianlu PntB) );

(3)采用distance函数计算PntB与PntA之间的距离,关键代码为:(setq Offiset(distance PntAPntB)),该值为偏移量的绝对值;

(4)采用(vlax-curve-getParamAtPoint)函数获得PntB对应的曲线参数ParamB,关键代码为:(setq ParamB(vlax-curve-getParamAtPoint curve-xianlu PntB) );

(5)采用(vlax-curve-getFirstDeriv)函数计算获得曲线的切线方向,关键代码为:(setq qiexian-PntB(vlax-curve-getFirstDeriv curve-xianlu ParamB) ),结合(PntB,PntA)矢量判断勘探孔位于线路的左侧还是右侧,位于左侧时需要对第三步计算的Offiset值乘以-1。

3.4 插件成果介绍

插件主要包含线路平面图清理模块、勘探点导入与显示模块、里程偏移量的查询与输出模块,各模块的主要功能如下。

(1)线路平面图清理模块

线路专业提供的平面图往往图层非常多,图中许多线条和文字勘察专业并不需要。为了突出重点和图面美观,本模块自动删除多余的图层,仅保留线路多段线、断链、里程标示等关键信息图层,同时自动将大量多段线组成的线路连接成一个整体。

(2)勘探点导入与显示模块

勘探孔的位置将采用带属性的图块来标示,勘探孔的名称存入块的属性中。运行本模块前需事先准备好勘探孔信息数据文本,数据格式为“勘探孔编号,E坐标,N坐标”。模块启动后首先预定义属性块,然后批量插入属性块,块的坐标和属性(勘探点名称)从数据文本文件中读取。

(3)里程偏移量的查询与输出模块

用户根据提示指定线路后,插件将多段线对象赋值给关键代码中的变量curve-xianlu。完成线路赋值后插件将遍历图中所有代表勘探孔的属性块,获取属性块的坐标和属性,将属性块坐标值赋值给变量PntA,即可计算出勘探孔的里程和偏移量值。输出成果时按照“块属性文本(勘探孔名称),坐标,里程,偏移量”的格式输出至txt文本中。

本插件相对于Civil 3D而言使用更加简便,读取的结果不需要重新整理。

4 结论

勘探孔里程偏移量的快速自动读取对于提高勘察工作的效率具有积极的意义,分别介绍了基于Civil 3D和自编插件的两种快速读取方法,并得出如下结论:

(1)基于Civil 3D的里程偏移量读取法具有操作较简单、读取速度快、数据准确性高的特点。

(2)基于Visual LISP编制的插件不仅具有读取简单、效率高和准确性高的特点,并且具有经济、对电脑硬件要求低等特点。

[1] 李学志.Visual LISP程序设计[M].北京:清华大学出版社,2010

[2] 陈宜金.Autodesk Civil3D 2006认证培训教程[M].北京:化学工业出版社,2006

[3] 张坤.基于VBA的钻孔投影里程程序初步探讨[J].铁道勘察,2012(5):51-54

[4] 铁道部第一勘察设计院.铁路工程地质手册[M].北京:化学工业出版社,2005

[5] 中华人民共和国住房和城乡建设部.GB 50307—2012城市轨道交通工程岩土工程勘察规范[S].北京:中国计划出版社,2012

[6] 陶军.沈阳地铁一号线地质综合勘察[J].铁道勘察,2013(4):54-57

[7] 董薇.铁路勘察设计BIM运用的信息化管理探讨[J].铁道勘察,2013(5):86-88

TheQuickReadingMethodofStationandOffsettoDrilling

YU Zhi-jiang

2014-09-05

余志江(1983—),男,2009年毕业于长沙理工大学岩土工程专业,工学硕士,工程师。

1672-7479(2014)06-0057-03

P628

: A

猜你喜欢

偏移量插件里程
纯电动汽车续驶里程影响因素
基于格网坐标转换法的矢量数据脱密方法研究
农村公路总里程突破435万公里
自编插件完善App Inventor与乐高机器人通信
基于AutoLISP的有轨起重机非圆轨道动态仿真
DEM辅助偏移量跟踪技术的山地冰川运动监测研究
搅拌针不同偏移量对6082-T6铝合金接头劳性能的影响
腾势400 用在上海市区的来回穿梭克服里程焦虑
十八届六中全会:开启全面从严治党新里程
基于jQUerY的自定义插件开发