何鑫星,王小娟,李 卓
(1.四川省测绘产品质量监督检验站,成都 610041)
在对AutoCAD 平台的DWG 数据进行编辑时,经常需要人机交互式使用选择集对数据进行过滤搜索处理,但人机交互使用选择集过滤器的方法无法将图元之间的几何关系也作为过滤条件对数据进行精准搜索。基于此,本文基于AutoCAD 选择集的二次开发技术更宽泛地重新定义过滤搜索条件,从而实现基于图元几何关系及属性信息组合的图元自动化搜索。这种对图元过滤搜索的方法,扩展了用户对DWG 数据自动化处理的能力。
VBA 编程技术是Visual Basic 的一种宏语言,主要能用来扩展Windows 的应用程序功能,特别是Microsoft Office 软件。ActiveX 是微软推出的一个基于COM 的技术规范[1]。它是在OLE 基础上发展的新技术,其宗旨是在Windows 系统的统一管理下协调不同的应用程序。Autodesk 公司采纳了微软的这一技术规范,最早在AutoCAD R14.0 版推出了基于ActiveX Automation 技术的开发方式,随后就有AutoCAD R14.01 版,该版本内嵌了AutoCAD VBA。到AutoCAD 2000/2002(属R15 版)、AutoCAD 2004/2005/2006(属R16 版)和AutoCAD 2007(属R17 版),这种新型的开发方式得到了进一步的改进及完善。将AutoCAD、ActiveX Automation 和VBA 相结合编程有3 个基本要素[1]。第一个要素是AutoCAD 本身,它提供了全面的对象,包括AutoCAD 图元、数据和命令,要有效地使用VBA,必须熟悉 AutoCAD 的编程特性,例如一些基于对象的方法;第二个要素是AutoCAD ActiveX Automation 接口,是它与AutoCAD对象进行信息传递;第三个要素是VBA 本身,它有自己的一套对象、关键字和常量等的集合,用于提供程序流、控制、调试和执行。
在AutoCAD 中通过菜单或命令的方式使用选择集,实现对DWG 数据中目标图元对象的过滤选择操作,但选择集过滤参数是人工给定的,即需要交互式地给出图元的线型、颜色、所在层等参数。……