APP下载

复杂征地图标注使用LISP 语言实现的方法

2015-05-23刘存桂

山西建筑 2015年21期
关键词:主程序单点中线

刘存桂 唐 勇

(安徽省交通规划设计研究总院股份有限公司,安徽合肥 230088)

1 使用纬地本身的标注方法的弊端

在使用纬地生成征地线的时候,随征地线同时生成的征地线点位标注仅能反映当前征地线的点位坐标,那么当征地线修改的时候,这个标注已经不能反映更改后的征地线的实际位置了。要修改更改后点的位置坐标,在纬地中通常先使用工具—>点到曲线的命令求出该点的桩号和距离,然后手动更改原来的标注值。当只有极少数点需重新标注时,这种方法也不算太过浪费时间。但是,现在的征地图通常需要从项目起点到项目终点全线微调,那就涉及成千上万的点位需要重新标注,再使用纬地自身的标注方法显然不太现实。

而且,现在业主一般要求每个点位要标注完整的桩号,而不是简化的桩号(例如K0+220要标注完整的K0+200,而不是纬地里简化的+200),这样也便于在实际征地放样中快速的找到所需的位置。而这个要求是纬地无能为力的。

2 本程序的由来和构思

基于纬地的弊端和业主的要求,我们考虑能不能使用LISP扩展程序一次性解决以上的问题,能不能使生成好的标注不需要进行再次的加工(譬如:更改字体,更改图层,更新标注内容等等),这就是本程序的由来。那么,有了编制这个程序的想法,就需要好好构思这个程序的组织结构使其能准确无误的实现目标要求。最终定下的实现方法为:1)把生成的道路中线连成一个整体的多段线。2)使用一个主程序,提供用户选择道路中线,要标注的征地线和输入路线起点桩号的接口。3)为了应付特殊情况,需要增加一个手动选点单桩标注的主程序。4)分解程序使之模块化,易于实现最终目标。

3 程序的具体实现

3.1 多点标注模式主程序

该主程序所要实现的功能如下:1)定义所需的主变量,记录各个系统变量状态,预先加载visual函数接口;2)调用所需的AutoCAD线型,定义标注所在的图层和字体样式;3)提供了用户点选和输入的接口;4)计算征地线上的点距,对符合点距要求的点分别计算垂足和桩号;5)调用标注分解确认子程序,标注征地线上的各点;6)程序运行结束后恢复各系统变量。

具体程序实现如下:

3.2 单点标注模式主程序

其实现的功能和调用的参数、函数基本同多点标注模式主程序。不同之处在于:1)用户接口仅需点选道路中线及输入道路中线对应的起点桩号;2)之后单点要标注的征地线上任意一点即可生成该点所要标注的各项参数。

具体程序实现如下:

3.3 标注分解确认子程序

该子程序所要实现的功能如下:1)接收主程序所确定的中线桩号、征地线标注点距中线距离、征地线标注点相对于中线的垂足与中线起点形成的弧度矢量、征地线标注点与中线起点形成的弧度矢量、征地线上的标注点的坐标、字符分割线的终点坐标。2)转换数字格式的中线桩号为标准形式的字符串格式,如:接收的数字格式桩号2856.5转换成K2+856.5的标准桩号标注格式字符串。3)取得标注分割线的上、下标注,生成标准的上、下标注形式,如:上标注形式为:“桩号 Y坐标值”,下标注形式为:“距离X坐标值”。4)依据接收的两个弧度矢量判断征地线上的点在道路中线的左侧或右侧。5)使用entmake函数在CAD中生成征地线上点的标准标注。

具体程序实现如下:

4 具体使用和总结

在多点标注模式下,使用本程序只需用户单选道路中线,单选所要标注的征地线,输入道路中线对应的道路起点桩号即可生成整条征地线的标准标注,在单点标注模式下,使用本程序只需用户单选道路中线,输入道路中线对应的道路起点桩号,然后单点所要标注的征地线上的点,即可生成该点对应的标准标注。这对于需要调整一次或数次的征地图来说,相比纬地程序的繁琐标注更改手段而言,无疑大大节省了劳动时间,使得用户可以把更多的精力放在如何满足土地规范和业主要求上面。也可以腾出大量的时间从事整个项目里其他的工作。

[1]郭秀娟,于全通,范小鸥.AutoLISP语言程序设计[M].北京:化学工业出版社,2008.

[2]郑益民.公路工程CAD[M].北京:清华大学出版社,2010.

[3]Autodesk公司.AutoCAD标准帮助文档:AutoCAD群码表[Z].

[4]周 明,董仁扬.Visual LISP程序设计及其应用教程[M].上海:上海科学技术文献出版社,2008.

[5]赵景亮.AutoCAD 2004与AutoLISP二次开发技术[M].北京:清华大学出版社,2004.

[6]蓝屹生.AutoLISP学习导引[M].北京:中国铁道出版社,2003.

[7]曾洪飞,张 帆,卢择临.AutoCAD VBA& VB.NET开发基础与实例教程[M].北京:中国电力出版社,2008.

[8]二代龙震工作室.AutoCAD LISP/VLISP函数库查询辞典[M].北京:中国铁道出版社,2003.

[9]施佩娟.道路CAD[M].北京:机械工业出版社,2013.

[10]符明娟.道路工程制图与CAD[M].北京:科学出版社,2004.

[11]王文波.AutoCAD2010二次开发实例教程[M].北京:机械工业出版社,2013.

猜你喜欢

主程序单点中线
历元间载波相位差分的GPS/BDS精密单点测速算法
浅谈数控铣削技术代码程序的嵌套方式研究
超薄异型坯连铸机非平衡单点浇铸实践与分析
电控冰箱软件模块化设计
课本内外
课本内外
——书写要点(三)
课本内外
时光倒流 换回PotPlayer老图标
数字电视地面传输用单频网与单点发射的效果比较
16吨单点悬挂平衡轴的优化设计