张凤瑞
(天津市津勘岩土工程股份有限公司,天津 300191)
基于AutoCAD的管线数据采集系统的研究
张凤瑞∗
(天津市津勘岩土工程股份有限公司,天津 300191)
为了建立天津市地下管线信息系统,实现地下管线工程信息动态管理,规范地下管线探查、测量、图件编绘和地下管线信息系统建设的要求,天津市地下空间规划管理信息中心发布了新测地下管线探测技术标准,本文从符号库建立、环境加载、管线绘制、属性查询、管线扯旗、数据库及报表导入导出等方面系统地介绍了管线数据采集系统的设计与实现。
AutoCAD;管线;采集系统
天津市为了建立城市地下管线信息系统,实现地下管线工程信息动态管理,规范地下管线探查、测量、图件编绘和信息系统建设的技术要求,及时、准确地为城市规划、设计、建设和管理提供各种地下管线现状资料,于2009年初实施了《天津市地下管线工程现状数据、竣工数据报验要求》。新老标准之间在数据结构上存在着很大的差别,原来的内业成图软件已经不能完全满足要求,各个管线作业部门面临着没有软件可用的局面。基于此,本文探讨了基于AutoCAD平台,开发满足新标准的管线数据采集软件。
系统设计从外业数据采集入手,包含绘制、编辑、检查、输出、入库等功能,如图1所示。
图1 系统流程图
3.1 配置绘图环境
系统的环境设置主要指管线图中图层信息的配置。
为了使系统具有更大的灵活性、可维护性,我们将一些常规的软件对照表信息及其他用户配置信息记录在INI文件中。因此,当系统的环境变化时,可以直接修改INI文件,而无需修改程序。
INI文件是Windows的系统配置文件,由若干部分(Section)组成,每个Section的名称用[]括起来,在一个Section中,可以有很多的Key,每个Key可以有一个值,格式为Key=value。
如,在“tc.ini”文件中存储每一类管线的图层信息的格式为:
其中“[给水]”表示一个Section,“SPPOINT”表示图层名称,“5”表示图层的颜色值。在程序中调用系统的 API函数 GetPrivateProfileString和 WritePrivateProfileString,就可以很方便的读写INI文件了。从INI文件中取得图层名称和颜色值后,在通过AutoCAD的layer命令就可以建立图层环境了。
3.2 数据采集、内业展点
外业采集的坐标及点号信息的格式应满足以下格式:
点号,测量X坐标,测量Y坐标,测量Z坐标,如:
程序逐行读取文本文件,从每一行中分析出点号和X、Y、Z坐标,然后在 AutoCAD中按坐标创建点(Point),同时为了让用户能够判读点名,还必须在点的附近位置生成文本点号(Text),如:。DX501。为了建立点与点号的关联关系,在点对象的扩展属性中保存点号信息。如点号“DX501”存储在扩展属性中的格式为:("GX_ZDHAPP"(1000."DX501"))))。为了方便用户绘管点符号时捕捉点位,在展点完成后,由程序控制打开AutoCAD的节点捕捉模式。
3.3 自定义快捷键
在基于AutoCAD开发应用程序的时候,在实现程序基本功能的同时,还要充分考虑到用户的作业习惯以及如何让使用者最大限度地提高作业效率。
一般的软件提供的常规命令调用方式有:通过菜单调用、通过工具条调用、通过命令调用等。从使用者的角度讲,数据采集程序不同于一般的程序,不是运行一个命令就可以马上得到结果了,而需要频繁的手工操作来完成数据要素的绘制。这时,我们就要想办法简化用户的操作。
AutoCAD本身提供了一个.pgp文件,它允许用户定义快捷命令。但我们认为这种方式使用起来仍然不太灵活。笔者研究一种更加适合采集软件的允许用户自定义快捷键的方法。
首先定义快捷命令与实际命令的映射文件“tools_ shortcut_key.ini”:
当然,这里“实际命令”必须是已经实现的功能。在lsp中实现快捷键设置的方法如下:
运行这段程序后,第一步中的快捷命令就生效了。那如何让用户能够很方便地定义快捷键呢,其实道理很简单,只要为用户提供个对话框,能方便地更改配置文件tools_shortcut_key.ini中的[TOOLS]部分就可以了,代码如下:
在AutoCAD命令行运行TOOLS_SHORTCUTKEY,结果如下图2所示,用户可以修改快捷键的设置。
图2 快捷键设置
3.4 建立符号库
(1)建立符号库
根据新的管线数据标准中规定的各种管线符号的尺寸样式,在AutoCAD 2004手工绘制符号,并按不同的管线类别进行存储,符号文件名称以“XGX”开头命名。
符号遮掩是管线图中非常重要的内容,以前老版本的管线程序中符号和遮掩框是分离的,当修改符号位置的时候,遮掩框就不起作用了,只能重新遮掩,同时也产生了很多废弃的遮掩框。
考虑到这种情况,我们的解决方法是:建立带有遮掩框的符号,即在绘制新管线符号时,同时加绘遮掩框,这样遮掩框和符号就成为一体了。建立遮掩框方式分几种情况,如图3所示。
图3 遮掩框方式分类
基本的加绘遮掩框的原则是:面状要素要以面边线为基准建立遮掩,当多个面有包含情况时,仅遮掩最大范围的面;线状要素不需要遮掩。
(2)建立幻灯片库
建立幻灯片库的方法主要是利用AutoCAD提供的slidelib.exe工具生成。线用MSLIDE命令为每个管线符号生成一个.sld格式的幻灯片文件,然后在Windows的命令行窗口中通过以下命令创建幻灯库:
符号库显示效果如图4所示。
图4 幻灯片库显示效果
3.5 属性录入编辑
在属性录入的过程中增加逻辑控制,尽可能从根源上避免各种可能的错误发生。
(1)多种绘制管点方式
在绘制管点时,AutoCAD命令行提示:
在屏幕上指定管线符号定位点或[输点号(I)]:
因为在设计这个功能时,考虑了用户的两种使用方式:一种是直接用鼠标拾取由展点功能生成的点,另一种是图面上的展点非常多时,用户可以直接输入点号,系统会自动找到它所处的点位,这种功能所起到的效果类似于前文提到过的实体定位技术,对用户来说将是非常有用的。
用户拾取点后,在弹出的属性框中物探点号已经读取进来了,这时存储在点里的扩展属性就派上用场了。
(2)点号匹配
在设计这个功能时,充分考虑了作业的实际情况,目的是让用户只在外业采集时记录物探简号,以后的所有涉及对点号的处理工作全部由程序自动解析。如经过匹配后就变成11位的标准点号了。在匹配规则定义框中,中间的内容是需要插入简号中的文本,两侧的是占位符,用户在编辑时必须确保所有位数之和为11位。管点属录入界面如图5所示。
(3)联动输入
在录入存在一定逻辑运算关系的属性项时,系统会自动实时解算相关属性项。如输入“井底埋深”时,“井底高程”框中会实时显示“地面高程”与“井底埋深”的差值。这样就减少了人为的运算错误。
图5 管点属性录入
(4)属性查询编辑
如图6所示,程序允许用户同时选择多条管线,选择后在列表框中列出所选管线的点号信息,用户选择每条记录,AutoCAD屏幕会自动定位到选中的管线。
图6 管线属性编辑
(5)管线检查
为了更好地保证管线数据成果质量,笔者将管线检查模块作为一个重要的环节加入到系统流程中,根据管线数据的监理规则对几十项内容进行检查,并对检查的结果提供错误定位列表,方便用户修改。如图7所示。
除了前文介绍的基本功能设计,系统还包括一些非常有用的辅助工具,如扯旗、图面整饰等。系统设计过程中始终坚持稳定、方便快捷、层层质量控制的原则。系统自2009年发行以来广泛应用于天津市的多家管线作业单位,在天津管线测绘领域取得了显著的经济效益和社会效益。
图7 管线错误定位
[1] 黄坚.基于测绘数据库的GIS在城市规划管理中的应用开发研究[J].城市勘测,1997(4):24~30
[2] 林广元.厦门市地下管线探测和信息化的设计与实践[J].测绘通报,2005
[3] 张正禄.地下管线探测和管网信息系统[M].北京,测绘出版社
[4] 潘庆林.AutoCAD环境下地形图符号库的建立[J].南京建筑工程学院学报.1996(4):48~53
[5] 江贻芳.地下管线动态更新管理体系的建立[J].工程勘察,2005(5)
[6] 毛蒋兴.GIS空间数据库在城市规划成图过程中的应用[J].天津理工大学学报,2006,22(1):85~88
The Research of the Pipeline Data Acquisition Systems Base on AutoCAD
Zhang Fengrui
(Tianjin JinKan Geotechnical Engineering Co.,Ltd.Tianjin 300191,China)
According to the new underground pipeline detection technology standards published by Tianjin Underground Space Planning Management Information Center.In order to establish tianjin underground pipeline information system,realize the dynamic management information of Underground Pipeline Engineering,make the standard requirements of the underground pipeline detection and measurement,maps Compilation,and underground pipeline information system construction.This text makes a systematic introduction to design and implement The Pipeline Data Acquisition System from many aspects such as symbol library establishing,environmental loading,Pipeline drawing,attribute query,pipeline marking,database and reports import and export and so on.
AutoCAD;pipeline
2011—08—17
张凤瑞(1962—),男,高级工程师,主要从事工程测量工作。
1672-8262(2011)06-71-04
P208.2
B