摘 要

AutoCAD的DWG格式文件是其它图形软件的主要数据源,常常需要将其转换成其它格式。本文在讨论了DWG文件访问方法的基础上,重点介绍了基于ObjectARX的DWG文件的访问步骤与读取方法,并给出了关

键代码。    关键词 ObjectARX;DWG;文件访问

   Autodesk 公司出品的 AutoCAD是目前市场上用户群体最大的一个图形处理软件包,其图形数据文件往往是其它图形软件(含GIS软件)的主要图形数据源。因此,如何可靠读取或操作 DWG

格式的图形数据并存储成其它格式的文件,便成为应用系统建立时不可忽视的问题,同时,这也是一直困扰软件技术人员的难题。

1 DWG文件的访问方法    DWG格式图形文件的访问方法主要有三种。

1.1

直接读写二进制加密格式的 DWG 文件  

AutoCAD系列产品版本不断升级,图形数据结构也随之变化,自行编写读写代码,必须分析各版本图形文件结构,针对不同版本编写读写代码。这种工作量很大,短期内无法实现。购买第三方应用程序接口软件(如 OpenDWG 和 DrDWG 等),也可读写二进制加密格式的 DWG 文件,但需要较大的资金投入。

1.2 通过 AutoCAD 软件的 OLE/ActiveX 自动化接口实现读写    程序员只需熟悉 VC 编程、了解

DWG 文件基本知识,很快就能开展工作。这种方法开发周期短,开发费用低,对程序员的知识储备要求低,是经济实用的开发手段。但缺点是运行速度慢,运行时必须安装有 AutoCAD的相应产品。

1.3在AutoCAD环境下编程读写

   通过 Autodesk 公司提供的ObjectARX/ADS、VBA或Visual Lisp在 AutoCAD 内部操作 DWG文件,这种方法极为可靠,但是有开发难度大、对初学者很难上手、程序调试复杂等特点。在高版本的开发中,由于地址共享及代码编写不当,还可能造成AutoCAD系统崩溃,但也是目前使用人数最多的一种方法。   ObjectARX应用程序是一个动态链接库(DLL),它共享AutoCAD的地址空间并直接调用AutoCAD的函数。可以向ObjectARX程序环境添加新类,并将其输出以供其他程序使用,也可以通过向既有的AutoCAD类添加函数来扩充ObjectARX协议。

2 基于ObjectARX的DWG文件读取方法

   2.1 AutoCAD数据库概述  

AutoCAD数据库是按一定结构组织的各有相关数据的集合。它可以用来存储组成AutoCAD图的对象和实体。Dwg图是一个储存在数据库中的对象集合。基本的数据库对象是实体,符号表和词典。图1中列出了组成AutoCAD数据库的主要部件