APP下载

基于AutoCAD二次开发技术道路断面图绘制技术探索

2016-11-14

山西建筑 2016年27期
关键词:程序开发断面图二次开发

梁 昭 阳

(福建船政交通职业学院,福建 福州 350000)



·计算机技术及应用·

基于AutoCAD二次开发技术道路断面图绘制技术探索

梁 昭 阳

(福建船政交通职业学院,福建 福州 350000)

介绍了CAD常见的二次开发手段与几种常用的开发模式,并结合实践,阐述了道路断面图绘制程序开发的工具选择方法及技术要点,为类似问题的研究奠定了基础。

AutoCAD,二次开发,道路勘测,纵横断面

0 引言

AutoCAD是Autodesk公司研发的一款计算机辅助设计软件,具有强大的图形编辑绘制功能。测绘行业应用主要以该平台下的CASS软件为代表,它是基于AutoCAD的二次开发的挂接软件,因其是在CAD平台下运行,而CAD又是设计人员的必备工具,所以被测绘行业广泛采用。纵横断面图作为勘测阶段提交的主要成果,其成果的准确性和时效性将直接影响设计进度,因此如何保证高效又准确的完成断面图绘制对勘测工作一直是一个挑战。本文通过对CAD二次开发技术几种形式进行阐述,分别介绍了利用CAD的二次开发功能,在道路断面图绘制方面的几种应用。

1 CAD常见的二次开发手段

CAD软件二次开发是指在现有的软件基础上,各用户为提高软件的使用效率,让软件更加贴合用户的实际需求,而进行功能定制化的开发工作。其主要目的是为让CAD软件的功能最大化利用起来,实现用户的个性化需求。CAD软件为用户提供的常见二次开发手段有以下几种:

1)函数库形式,主要是利用CAD提供的编程环境和基于函数库的API接口,用户通过编写程序来实现对AutoCAD开发的方法,可实现在无CAD环境下运行,但该法具有一定的局限性,无法充分发挥CAD的系统性能。另外,可以实现界面定制,扩充CAD功能,但只能在CAD系统内运行。

2)ActiveX Automation形式,它是建立在COM基础之上,由OLE Automation发展而来的,其核心技术是允许一个应用程序操作另一个应用程序,是一种比较成熟方便且实用的技术,在实际开发中得到了广泛的运用。

2 CAD开发模式

AutoCAD公司为了满足广大用户对软件功能的定制功能要求,针对各类客户的需求提供了多种形式的二次开发工具,如Auto LISP,VBA,Object ARX等开发工具。用户可根据自己的实际情况选择合适的开发工具进行二次开发,以满足设计生产的需要,实现图形绘制的快速化提高工作效率。针对道路勘测阶段对设计的重要性,确保断面图绘制的快速和高效十分必要。下面介绍几种常用的二次开发模式,并结合测绘行业的需求特点进行总结。

1)VBA(Visual Basic for Applications)开发模式,它被集成到AutoCAD 2000中,打通了用户访问CAD中丰富技术框架的全新通道。VBA可用通过ActiveX接口实现与CAD的通信,并能够访问和控制CAD所有图形对象和非图形对象,包括这些对象的方法和属性等。由于VBA是由VB发展而来,都是面向对象编程,与其他程序语言相比,具有更简单,更易学等特点。因此,在测绘行业内运用较为广泛,二次开发的测绘案例较多。但VBA开发具有交互性差,不能直接编译等缺点。

2)Object ARX 开发模式,Object ARX是Autodesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。 与以往的 AutoCAD 二次开发工具 Auto LISP 和ADS不同,Object ARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用。所以使用ARX编程的函数的执行速度得以大大提高。ARX 类库采用了标准的C++类库的封装形式,这也大大提高了程序员编程的可靠度和效率。通过ARX定义的外部命令,可以像CAD内部命令一样执行, LISP所调用,具有可封装性、可继承性、多态性等特点。因此,广泛被专业软件开发公司用于模块定制与升级等商业开发。但只有具备了相关专业软件开发知识和系统的学习才能掌握这一开发技术,对于普通测绘工作者来讲具有相当大的难度[2]。

3)Auto LISP开发模式,LISP语言是一种针对扩充及自订AutoCAD函数机能而产生的,它擅于处理串行文字,于20世纪50年代末期出现。随着Autodesk公司不断改进,推出了新的版本Visual LISP(VLISP),它是Auto LISP的换代版本,与老式LISP语言相比,具有更加快速便捷的优点。本身提供了一个完整的开发环境,拥有一个交互式的编译平台,使用户在编写程序时更加便捷高效。作为通用LISP语言小子集,它为用户提供了众多的功能函数,用户只需直接调用函数即可实现大部分的CAD图形绘制功能,编写时按照其语法惯例和规则,即可实现灵活的程序开发。另外,VLISP还提供了用于发布独立应用程序的工具,保障了程序的安全性和密封性。基于VLISP开发出的应用程序具有相对独立性的特点,与Object ARX应用程序共享CAD地址空间不同,当程序运行一旦出现错误或失败等问题,不会对CAD自身进程造成影响。加之具有开发周期短,语言简单易学,十分受广大测绘工作者的欢迎,尤其是程序开发的初学者。

3 道路断面绘制程序开发

测绘行业与设计行业的联系十分紧密,基于CAD在设计行业的广泛应用,CAD对于测绘行业人员来说十分重要。尤其是在勘测单位,地形图与道路断面数据是设计的基础性数据。道路的纵横断面图主要是由外业采集的地面线组成,各断面按照桩号的大小一一对应,断面形态直接反映现场道路走向的地形变化情况。为了能够准确反映出现场的地形状况,在断面采集时,除了对整数桩号(一般整20 m)的断面进行采集外,还需要对地形起伏较大的地段进行一定加桩,这样造成经过不同地形的断面数量差距往往很大。由于每个断面的数据都不一样,要完成一个道路勘测项目的断面绘制内业任务将十分繁重。

3.1 开发工具的选择

针对断面图绘制开发自动化绘制程序十分必要,根据上述CAD提供的几种开发模式优缺点,结合道路断面图绘制的特点,本文认为采用VLISP和VBA的开发工具进行二次开发具有优势。主要原因有两个:

1)根据测绘行业自身属于基础服务性的特点,尤其是在勘测领域,主要任务是提供基础数据,功能相对单一,这就决定了不需要大型的专业程序,在道路断面绘制程序上更是如此,要求程序具备按照规范要求能够自动化完成断面图绘制即可。2)测绘从业者大多没有接受过专业的软件开发培训,尤其是在一线的测量人员,Object ARX的开发模式往往需要更系统的软件开发知识储备,VBA和VLISP的开发工具更为简单,语言基础要求较低,通过自学即可掌握相关的开发技术。

3.2 技术要点分析

虽然根据工程性质的不同,对断面图绘制要求会有所不同,但在基本框架和整体要求上基本一致,原理性的东西并没有变,通常一个完整的断面图包括:坐标轴、断面线、基本坐标格网、辅助坐标格网、比例尺、工程信息等内容。按照规范规定,线路纵断面采用直角坐标法绘制,以里程为横坐标,以高程为纵坐标。里程比例尺常采用1∶2 000和1∶1 000,为突出地形起伏,高程比例尺通常为里程比例尺的10倍~20倍。横断面一般选在里程桩和线路横向地形变化明显处,在大中小桥头、隧道洞口等地适当加密,线路的纵横比例尺一般采用1∶100或1∶200。在CAD平台下绘制时首先是要建立相应的图层,分别用不同颜色和线型加以区分,以便于用户对断面线、格网线、图框线等信息判断。然后是建立相应的图框和格网,格网的作用是为了方便用户能够在图纸上直接量取断面的距离和高程信息。接着就是要将项目的基本信息进行录入,主要是项目的人员信息和单位信息。最后,要完成断面线的绘制,将地面特征点逐一展现在图上并连线,即绘出断面图[1](见图1)。

断面图绘制程序设计主要技术难点在于如何根据地面特征点高程的变化来确保合理容纳适量的断面线。因为,通常一张断面图只能容纳有限的断面线,要确保断面线既不超出图框范围又不造成空间浪费,需要采取合理的算法来进行约束。根据本文的研究和实验,可采用计算每个断面最大高差的形式来确定每条断面的占用空间,这样就可准确计算出各断面图容纳的断面梳理。

4 结语

道路断面图绘制是道路勘测的基本任务,目前对断面图绘制程序的开发案例也比较多,但多数只局限于单位的内部利用,各单位开发的绘图程序只针对本单位所涉及的业务种类,并不具有通用性,如何开发出具通用性的绘图程序将是日后的一个方向。作者也在积极做这方面的尝试,尝试用C# 语言和脚本技术结合的方法进行程序开发,使得程序功能更加完善,能够脱离CAD环境运行,已有初步成果,将在日后的论文中发表。

[1] 梁昭阳.EPS平台支持下的道路横断面数据采集模块开发与实现[J].测绘,2016(2):80-82.

[2] 方 毅.基于C#与AutoCAD的断面图绘制程序设计与应用[J].地理空间信息,2012(5):143-145.

[3] 邹进贵,田 径,刘卫平.基于AutoCAD二次开发的道路纵断面自动绘制[J].测绘通报,2013(sup):219-221.

[4] 赵奇平.CAD软件二次开发方法与技术探索[J].理工高教研究,2002(4):125-126.

[5] 李厚阵,王翠芹,刘学忠.Autocad实现横断面图自动绘制研究[J].山东水利,2009(4):59-60.

Exploration on road section drawing technology based on AutoCAD secondary development technology

Liang Zhaoyang

(FujianShippingPolicyCommunicationsCareerAcademy,Fuzhou350000,China)

This paper introduced CAD common secondary development tool and several common development model, and combining with the practice, elaborated the selection methods and technology key points of common development tools of road cross section drawing program, laid foundation for the research of similar problems.

AutoCAD, secondary development, road survey, vertical and horizontal section

1009-6825(2016)27-0254-03

2016-07-15

梁昭阳(1985- ),男,硕士,工程师

P207

A

猜你喜欢

程序开发断面图二次开发
浅析大学生在兼职小程序开发中遇到的问题
机械制图项目课程开发的实践与思考
浅谈基于Revit平台的二次开发
输电线路纸质断面图数字化方法研究及实现
APP应用程序开发模式探究
浅谈Mastercam后处理器的二次开发
西门子Easy Screen对倒棱机床界面二次开发
基于嵌入式系统Windows CE的应用程序开发
基于App inventor 2手机程序开发过程的学习与实——以“喵喵定时器”APP开发为例
《机械制图》教学中断面图的教学探讨