CAD与EXCEL二次开发在管线探测数据处理中的应用研究

(整期优先)网络出版时间:2023-06-13
/ 2

CAD与EXCEL二次开发在管线探测数据处理中的应用研究

徐培虎1,石东兵2

(1.中石化地球物理公司江汉分公司,湖北潜江 433100;2. 中石化地球物理公司江汉分公司, 湖北潜江 433100)

摘要:CAD与EXCEL二次开发在管线探测数据处理中的应用研究,目前在单位进行的管线探测中得到了基本应用。对于管线探测数据处理,利用常见的EXCEL VBA和CAD LISP进行二次开发,EXCEL开发用于数据处理、生成成图文件,LISP开发成图命令,两者有机结合,相辅相成的实现数据和成图处理;达到降低操作者的使用门槛,提高数据处理效率和正确率的目的,整个项目的开发过程紧紧围绕以上目的,有针对性的实现各项功能,从最初的原始成果检查、成图、属性数据的录入、数据合并、成果以及成图资料的提交等各个环节实施多样化的检查功能,从而保证整个探测数据处理无误和高效。

1引言

目前市面上,管线探测数据的处理方法繁多,通常实现的方式大致有两种:一是使用流行的GIS软件,如ArcGisMapinfoMapGis等;二是国内专业的测绘公司自主开发的数据处理软件。前者对使用者知识水平要求较高,而且对于管线探测的数据处理针对性不强,不适合非专业人士;后者直接面向行业需求,故成熟度较高、操作相对简便、实用,但是必须授权和付费使用。结合以上情况,寻求开发一套适合本单位应用的管线探测数据处理方法,对于提升单位的核心竞争力也是非常迫切和必要的,以下从功能上讲述实现的过程。

2技术方法选择

首先根据业主的需求,确定最终需要提交的资料包括:mdb库文件、EXCEL工作簿文件、以及CAD图。整个数据处理的过程要实现:一是可以提交以上业主要求的成果成图资料;二是要保证所提交成果资料的正确性;三是提高数据处理的效率。最终选择采用EXCEL VBACAD LISP联合二次开发,构建数据处理的框架,优化设计了四个层级来满足以上需求,以四个工作表为底层,采用功能窗体的方式实现各功能。

3技术方法实现

根据数据处理的框架及流程设计,由上至下分别实现各个层级的功能,每个层级对应着一个工作表,对每个工作表根据需求的不同、分别开发设计。

1 数据处理框架的四个层级

3.1 设置

这个层级主要是进入工区后,根据业主需求和现场情况进行必要的设置,主要包括三项设置:一是常规设置(包括中央子午线、业主单位、施工单位、业主代码等);二是限差设置(主要用于检查,包括高程、高差、管线长度、埋深等设置);三是绘图设置(包括绘图字体的大小、颜色,管线的颜色、宽度等)。

通常新工区一次设置完成后,无需再变动。

3.2成果数据检查

数据的处理第一步,必须保证坐标成果的正确性,方可进行后续数据处理。成果的检查采用二次开发的功能窗体实现,从开始设计的5项检查,扩展到目前的9项检查,以保证成果正确无误。

3.3当天数据处理

这一层级主要实现当天小组数据的成图、属性录入、检查、生成分表、汇总等功能。

成图目前有四种实现方式:三维线图、二维线图、三维线段图、二维线段图,多种成图方式,相互配合可实现检查(比如线段的相交检查、同点同名的检查等,在图上颜色加粗高亮显示这些错误的图元),在当天数据量不大的情况下,效果显著。CAD图中各图元附加了扩展属性,在发现不合理的情况下,很容易发现错误。

属性录入直接在工作表中进行,对于相同的属性,很容易实现局部批量录入,再配合检查功能,方便发现多填、漏填、错填等。

生成分表是将准确无误的线表,根据业主需求,生成各分表,同样配合检查来保证分表数据的正确性。

数据汇总是将当天的小组数据与以前完成的处理数据整合,形成小组数据的汇总,同样的方式,也可以实现各小组数据的合并,各分区数据的合并。因为所有的操作都是在EXCEL中完成,或通过EXCEL VBA二次开发实现,所以可以方便使用EXCEL自带的筛选、排序、分类汇总等功能。

检查功能是开发这套数据处理方法的重点。就目前我们正在进行的项目,汇总后各个分表的最终检查,每1个探测点将近有20万检查项,因此通过将检查细化到每一步、每一天、每一个小组、每一个区块,从而保证最终提交数据的正确性。检查方式也实现了多样性,主要包括颜色标注、生成检查表、CAD图上的颜色标注,多种方式交叉检查,避免检查疲劳、提高检查效率和正确率。检查算法的优化,根据限差检查,拓扑关系进行逻辑检查等,极大提高了检查环节的广度和深度。

2 当天数据处理的功能窗体

3.4汇总数据处理

汇总数据的处理,同样实现了成图,检查,生成各分表,但最主要的功能是自动生成业主需要提交的成果资料,生成之前也是先进行检查,无误后才可以生成上交成果资料。

3 汇总数据处理的功能窗体

3.5 CAD LISP二次开发

根据业主要求和自我需求,二次开发CAD命令16项,可以通过窗体和快捷命令实现所需功能,主要包括成图(多种方式)、检查、统计等,根据需求可以自主开发新的功能。通过与

EXCEL VBA二次开发相结合,将成果资料处理与成图操作无缝连接,便于实现需求。

4 CAD开发的功能窗体

4结束语

本文只是针对本单位目前的管线探测项目,实现后端数据处理的方法,开发过程贴合生产需求,故实用性和针对性较强,通过部分代码的修改,可实现其它管线探测数据的处理,达到了易操作、实用性、自主性、可移植的初衷。由于探测数据量庞大,各项检查就显得尤为重要,但是认真、仔细负责的工作态度仍是无误数据最根本的保证。虽然目前应用研究已用于生产,也达到了提高效率和正确率的初衷,但是仍有不足之处,大数量的处理时速度明显降低,图形和数据的耦合性是单向的,前端数据的录入等,这些是下一步研发的方向。由于本人经验有限,将管线探测数据处理的开发心得和理解,在这里抛砖引玉,请各位前辈、同行指正。

参考文献:

[1] 吴永进,林美樱. AutoLisp & DCL 基础篇[M].中国铁道出版社,2003.