APP下载

基于VLISP开发生成平面辅助图的实现

2012-09-22李灶强汤丽珍

城市勘测 2012年6期
关键词:内业层数二次开发

李灶强,汤丽珍

(增城市国土资源和房屋管理局地籍测量队,广东增城 511300)

1 引言

在城市经济建设的快速发展下,城市不断地更新扩大。对广东省城市的更新而言,自然会联系到“三旧”改造项目。“三旧”改造是国土资源部给予广东省的特殊政策。“三旧”改造的实施意见对现行的国土资源政策有六大突破:一是简化了补办征收手续;二是允许按现状完善历史用地手续;三是允许采用协议出让供地;四是土地纯收益允许返拨支持用地者开展改造;五是农村集体建设用地改为国有建设用地,可简化手续;六是边角地、插花地、夹心地的处理有优惠。由于经济市场化的影响,新政策新规范,“三旧”改造带来了许多新工程项目。在房屋详查方面,绘图和面积统计等变得更细节,更规范。

为适应经济市场化的发展,高效、精确地完成绘图和数据统计等工作,必须先制定好工程项目作业中特定可简化的和自动化的工作步骤。本文旨在结合工作实践,在AutoCAD软件平台上,利用Visual LISP进行二次开发,对房屋详查绘图、数据统计操作等方面进行精化和自动化,从而进一步提高内业工作效率,保证绘图质量。

2 房屋详查作业流程

一般测绘队伍分为内外作业,外业包括地形、地籍、房屋结构测量和相关资料调查,内业负责绘图、数据统计、资料归档等等的相关资料整理。总的来说,外业和内业是相辅相成的,详细准确的外业测量调查能给内业提供完整而准确的数据,而内业数据整理的准确度和难易程度更能体现出外业作业方式的可操作性。如图1为作业队伍对房屋详查的一般作业流程。

图1 “三旧”改造项目中房屋详查作业流程图

目前,通过工作实践发现,地形测量,房屋结构测量和相关资料调查等外业工作并不繁琐,更不是重复性较高的操作。而内业作业中,就有较多繁琐的操作,例如房屋照片成果表、房产图和汇总表等。由于房产图绘制最为复杂、操作重复性高而且其绘制过程可实现自动化程度高,于是笔者根据绘制要求对AutoCAD进行了二次开发来实现其操作简化的目的。

3 作业流程简化与实现

3.1 编程语言和开发工具的选取

AutoCAD提供了三种主要的开发工具,分别是:使用C/C++的ObjectARX,VB/VBA的ActiveX开发,以及AutoLISP/VisualLISP开发工具。其中,AutoLISP兼备快速开发工具的特点和COBOL语言的灵活性,很多开发者选择LISP的主要原因是它让人们感到很顺手,对很多人来说,这是他们第一次开发AutoCAD所使用的语言,并且能很快使用该语言进行开发。另一个使用这种开发工具的原因是,我们的工作中可能已经在使用很多LISP程序。学习LISP比VBA难,却又比C和C++简单。直到AutoCAD 2000,VBA还不能很好地在AutoCAD内部执行,并且留下很多开发者希望解决的问题。LISP是快速编写应用程序的最初的开发工具,有大量的LISP程序库存在,在短时间内用VBA重写这些程序,也不容易。基于这种情况,那么在AutoCAD中LISP就是最有效最直接的开发工具。

3.2 程序设计

考虑到绘图的复杂性和个人对开发语言的熟练程度,再加上实际的工作情况要求,如下实例中选取了VLISP语言来进行程序编辑。

(1)程序设计流程

根据绘制房产辅助图的操作需要,模仿绘图步骤,总结出图2所示的处理流程。

图2 程序设计流程

(2)部分程序

①子函数xylist利用cons来获取闭合线中节点的X、Y坐标。

②子函数xymn是找出X、Y坐标的最大最小值。

在程序运行过程中先用子函数xylist来获取线形节点X、Y坐标,再用子函数xymn来获取闭合或不闭合的线性节点X、Y坐标的最大最小值,从而计算闭合线的中心点,好让其居中并同时计算出其调用的图幅大小和比例尺大小等重要成果。

除此之外,面积用(command"area""o"1e)(getvar"area")等LISP程序指令来获取,然后对面积进行统计,仅仅是这指令就为面积统计节省了不少工作时间。

3.3 二次开发成果测试及其输出房产图成果

(1)测试检验在工程项目中的意义

随着软件规模的不断扩大,软件设计的复杂程度不断提高,软件二次开发中出现错误或缺陷的机会越来越多。同时,市场对软件质量重要性的认识逐渐增强。测试软件在项目实施过程中的重要性日益突出。但是,现实情况是,与软件编程比较,软件测试的地位和作用,还没有真正受到重视,对于很多人(甚至是软件项目组的技术人员)还存在对软件测试的认识误区,这进一步影响了测试活动的开展和真正提高测试质量。

本次二次开发后的检验工作较为特殊,由于应用需求比较迫切,检验工作只能重点放在使用期间,更确切地说就是检验和使用期并行,所以后来的改进和完善工作都是在使用过程中实现的。

(2)房产图成果

一般为了操作简便,都会比较统一地以简要的拼音来命名命令。在AutoCAD平台上输入fct(房产图)命令后,会弹出输入房产图基本资料窗口,如图3所示。

图3 房产图基本资料窗口

图4为最终输出的房产图成果,其图上记录有房产图基本资料、房屋图层结构和程序计算统计出来的比例尺统计面积等等。

4 作业简化程度

4.1 绘图操作简化对比

绘图简化前概况 表1

总次数Tn1=X+7+N+M,总时间Tm1=7+N×0.4,其中N、M都随房屋层数和房屋复杂程度成正比。

图4 房产成果图

绘图简化后概况 表2

总次数Tn2=X+M,总时间Tm2=2(实际小于2),同样M都随房屋层数和房屋复杂程度成正比。

表1与表2作比较得,总次数差Tn2-Tn1=7+N,总时间差Tm2-Tm1=5+N×0.4,同时N都随房屋层数和房屋复杂程度成正比,N越大则总次数差和总时间差就越大。

4.2 时间简化程度

用上述实例数据N为3(详查房屋层数)代入数据可得:

则说明绘图过程中,运用了此简化功能后,每宗房屋绘图速度比原来快了约6 min多,是原来处理速度的4倍多。

4.3 简化后对项目的影响

(1)从项目整体来看,每宗房屋详查项目中包括十几栋房屋甚至上一两百栋房屋,每栋房屋都要作详细的房产图,在绘图过程中此过程重复性最大,操作起来既繁琐又复杂,简化后绘图时间节省了不少。

(2)表1中记录数据已是较为熟练人员的操作成果,而表2记录数据则一般熟练人员也能达到,并且键入命令、字符总次数Tm2比Tm1少得多,简化后的操作简单得多。

(3)从面积统计上看,未简化绘图过程中统计难度随房屋层数N越大而增大,而简化后的绘图操作难度为零,因为程序中面积统计的算法已得实践证明非常可靠,出错几率几乎为零,说明简化后的房产绘图质量非常可靠。

4.4 房产绘图自动化的实用性

从上面数据可知,虽然是三层较为简单房屋,但自动化后,绘图操作时间提高了4倍多。然而当房屋较为复杂时,例如房屋每多一层或者阳台飘台每层多好几个时,自动化之前面积统计就要至少算多几个甚至十几个面,而自动化之后,面积统计也交给了计算机自动计算,无论再多几层或几十个阳台飘台都不会给绘图人员带来不便。又如当出图的图纸尺寸限制时,往往比例尺计算都会给绘图人员增加不少困难,房屋每多一层都会给比例尺计算增加成倍的难度。总的来说,在自动化面积和比例尺统计之后,基于VLISP开发的命令操作不但给绘图人员减轻了不少重复而又繁琐的操作,而且提高了绘图统计数据的准确性和可靠性,在以后的实际工作运用中其实用性相当强。

5 总结

AutoCAD作为绘图的一个常用的软件平台,虽然开发者经常对它升级而且社会上也有更专业的二次开发专业软件(如南方CASS、WELTOP SV300),但仍不能满足我们对成图专业化、自动化和标注化以及数据管理方面的要求,因此对软件进行二次开发来满足需求十分必要。

鉴于今后对数据成果要求的高效、严密、严格性来看,建立更完善的数据成图功能非常必要,从而很多绘图软件都有针对性的扩展功能。由于测绘行业也是一种服务性行业,客户要求会随市场的发展而变化的,而规范也会更新,新的规范也会不断出现,这就要求我们要很好地利用二次开发功能,从而把我们的生产效率和产品质量提高到更新的层面,让我们的服务更加完善。

[1]李学志.计算机辅助设计与绘图[M].北京:清华大学出版社,2002.

[2]张晋西.Visual Basic与AutoCAD二次开发[M].北京:清华大学出版社,2002.

[3]李长勋.AutoCAD ObjectARX程序开发技术[M].北京:国防工业出版社,2005.

[4]李学志.Visual LISP程序设计(AutoCAD 2006)[M].北京:清华大学出版社,2006.

[5]张正绿.工程测量学[M].武汉:武汉大学出版社,2002.

[6]GB/T18316-2001.数字测绘产品检查验收规定和质量评定[S].

猜你喜欢

内业层数二次开发
公路施工项目内业资料管理探讨
填筑层数对土石坝应力变形的影响研究
上海发布药品包装物减量指南
浅谈基于Revit平台的二次开发
公路工程内业资料管理的不足及处理措施
MoS2薄膜电子性质随层数变化的理论研究
高速公路机电系统内业资料管理思考
浅谈Mastercam后处理器的二次开发
建筑工程内业资料管理探讨
西门子Easy Screen对倒棱机床界面二次开发