理论教育 数字测图技术-自动CAD地图3D开发环境

数字测图技术-自动CAD地图3D开发环境

时间:2023-10-09 理论教育 版权反馈
【摘要】:1)Visual LISP集成开发环境在AutoCAD map 3D中仍然保留了Visual LISP集成开发环境,使用户可以更方便地对其进行二次开发,其界面如图5-1所示。用户和开发者可以充分利用完全集成在AutoCAD内部的LISP开发环境。AutoCAD map 3D ObjectARX是基于AutoCADObjectARX,它提供了C++和.NET两种类型的API。FDO API解决AutoCAD map 3D和其他系统数据连接(通讯)问题。AutoCAD map 3D2008版本以后引入了地理空间平台API,用户可以使用它进行二次开发,编写相应的GIS应用程序来管理空间数据。

数字测图技术-自动CAD地图3D开发环境

AutoCAD map 3D的API(Application Programming Interface,应用程序编程接口)包括ActiveX、AutoLISP、ObjectARX、地理空间平台和FDO(Feature Data Objects)。ObjectARX和FDO提供了C++和.NET两种类型的API。地理空间平台只提供.NET类型的API。

1)Visual LISP集成开发环境

在AutoCAD map 3D中仍然保留了Visual LISP集成开发环境(IDE),使用户可以更方便地对其进行二次开发,其界面如图5-1所示。

图5-1 Visual LISP集成开发环境

AutoLISP是AutoCAD内嵌的一种解释语言。它是一种很好的交互式语言,很适用于CAD这类交互性很强的应用软件。LISP语言的特点是程序和数据都采用符号表达式的形式,即一个LISP程序可以把另一个LISP程序作为它的数据进行处理。因此使用LISP语言编程十分灵活,看起来,是一个一个的函数调用。利用AutoLISP开发AutoCAD的一个典型应用是实现参数化绘图的程序设计。利用参数化绘图方法可以在较短的时间里快速、高质量地完成多方案对比设计,也可建立各种零部件的图形库,给出一些必要的参数即可直接绘出图形,由此可见AutoLISP的强大功能之所在。

随着计算机技术的发展,AutoCAD编程更加复杂,代码越来越庞大,AutoLISP的缺点亦越来越明显。主要表现是:功能单一,综合处理能力差;解释执行、程序运行速度慢;缺乏很好的保护机制,软件质量不易保证。

Visual LISP是AutoLISP的换代产品,它与AutoLISP完全兼容,并提供它所有的功能,同时它能访问新的多文档设计环境、COM/ActiveX用户界面、事件响应器等。Visual LISP同时提供了新的编程环境。该环境提供括号匹配、跟踪调试、源代码和语法检查等工具,方便了创建和调试LISP程序。

用户和开发者可以充分利用完全集成在AutoCAD内部的LISP开发环境。作为一个完整的用户化开发环境,Visual LISP可以迅速而方便地建立自己的高效解决方案

2)VBA集成开发环境(ActiveX)

VBA(Microsoft Visual Basic for Applications)在集成开发环境中提供了高质量的用户化编程能力。它能够使得AutoCAD数据与其他VBA应用程序直接共享,如Microsoft word Office等软件。最重要的是VBA的加入,扩展了AutoCAD集成用户化工具的集成能力。它集成了AutoLISP、Visual LISP和ObjectARX API等工具。VBA开发技术具有编程环境简单易用、程序界面构造方便、程序执行速度快、工程独立或嵌套灵活等优点,在AutoCAD map 3D中仍然可以使用VBA集成开发环境,如图5-2所示。

3)ObjectARX开发技术(www.daowen.com)

ObjectARX是AutoCAD Runtime eXtension(AutoCAD实时运行扩展)的缩写,是AutoCAD R13之后推出的一个全新的面向对象的开发环境,也是AutoCAD第一次直接提供面向对象的二次开发工具。ARX程序可以监控和处理AutoCAD的各种事件,可以定义AutoCAD命令,包括可以透明执行的命令。ARX应用程序本身是AutoCAD的一部分,即被ACAD.EXE调用的动态链接库(DLL),拥有同AutoCAD一样的内存地址空间,直接访问AutoCAD的各种内存对象。而过去AutoLISP和ADS都是通过函数间接地访问Auto-CAD。实现了面向对象的编程。

AutoCAD map 3D ObjectARX是基于AutoCAD®ObjectARX,它提供了C++和.NET两种类型的API。

4)其他开发环境

AutoCAD map 3D还提供了地理空间平台、FDO(Feature Data Objects)和工作流API。

FDO API解决AutoCAD map 3D和其他系统数据连接(通讯)问题。

AutoCAD map 3D2008版本以后引入了地理空间平台API,用户可以使用它进行二次开发,编写相应的GIS应用程序来管理空间数据

图5-2 VBA开发环境

AutoCAD map 3D2010版本,添加了工作流(Workflow)这一新功能,它将大量繁琐重复性作业交给工作流来完成。

AutoCAD map 3D中的大部分组件也都可以由用户自己定义或定制,其方法和步骤与AutoCAD的用户自己定义或定制基本相同。本章下面主要介绍Visual LISP开发技术、VBA开发技术、ObjectARX开发技术及.NET开发技术进行二次开发的基本知识。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈