对DWG文件解析的研究报告教程.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对DWG文件解析的研究报告教程

关于DWG文件解析的研究报告(初稿) (张玄德) 经过对DWG文件的资料整理和对华天软件周云鹏经理的咨询,Autodesk公司一直没有公开DWG文件的存储格式,去年华天软件也开始着手解析该文件,以前一直采用第三方的组件实现。他们采用的是通过ODA数据交换平台对DWG的文件格式进行解析(见图1)。 图1 通过对比分析,目前主流的对DWG文件解析的手段有6种。分别是: 采用AutoLisp和Visual Lisp进行二次开发。这种方式有点是集成性好,缺点是无法摆脱CAD运行环境。 采用ADS/ObjectARX实现DWG文件的解析。 ADS/ObjectARX是一个用C语言访问的DWG文件的开发工具,ObjectARX是一个基于C++的类库,而且AutoCAD本身也是ObjectARX创建的CAD软件系统,因此可以采用ObjectARX对DWG文件进行完全访问,但是ObjectARX只能运行在Auto CAD内核环境中。 通过DXF文件解析DWG文件。DXF文件是DWG文件的一种文本形式的等价表示。但是后期通过DXF文件很难完全访问DWG文件的内在信息。 通过COM/ActiveX方式实现对DWG文件的解析。该种方式的进程透明性和位置透明性为不同应用程序进程之间通过网络进行数据通信提供了一种良好的机制,实现双接口的组件既能保证强类型语言应用程序的高效率。这种方式的缺点是应用程序作为客户端无法独立于AutoCAD这个ActiveX服务器单独运行。 采用ObjectDBX方式实现。由于AutoCAD所提供的四种访问DWG文件的方法都无法脱离CAD运行平台独立运行。ObjectDBX是一套基于C++的类库。与ObjectARX不同的是ObjectDBX不在依赖AutoCAD平台。只限制于Windows平台和VisioC++开发工具。 采用OpenDwg Toolkit实现对DWG文件的解析。由于ObjectDBX应用程序只能在Windows平台上采用Visual C++来开发,而网络应用开发环境要比AutoCAD单个软件运行的环境要复杂的多。OpenDwg Toolkit简称ODT。除了其跨平台优势外,对开发者而言ODT不仅是免费的,不需要OpenDBX比较昂贵的授权费用。 AutoCAD软件是我国目前最流行的微机软件包之一,DWG文件为Auto Desk公司推出的图形格式文件,可以理解成由点、线、面等构成的图形数据库。其复杂性主要来自由对象的多样性及属性的复杂性。比如图形、线形、样式的关联。一个DWG图纸文件由图纸信息和各种图元对象组成。分为无图形表示类和有图形表示类。有图形表示类对象以块表方式存放;无图形表示类包括图层、线形。DWG文件内容可以分为四个部分:(一)索引部;(二)标题部;(三)实体部;(四)名表部。 索引部 索引部主要是由Auto CAD的版本信息及各部的首地址、各分表的首地址、长度及个数等信息构成,从DWG文件中的#0000-#0050H。 #00-#13 Char*20 AutoCAD版本信息 #14-#17 int *4 实体部首址 #18-#1F int *4 名表部首址 #1C-#1F int *4 图块定义首址 #20-#23 int *4 图块定义长度 #24-#27 int *4 文件总长度 #28-#2B int *4 常数 图块描述段: #2C-#2D int *2 图块名长度(25H) #2E-#2F int *2 图块个数 #30-#31 int *2 标识数 #32-#35 int *2 图块名表首址 层描述段: #36-#37 int *2 层名长度(25H) #38-#39 int *2 层的个数 #3A-#3B int *2 标识数 #3C-#3F int *2 层名表首址 字型描述段: #40-#41 int *2 字型名长度(C2H) #42-#43 int *2 字型个数 #44-#45 int *2 标识数 #46-#49 int *2 字型名表首址 线形描述段: #4A-#4B int *2 线型名长度(BBH) #4C-#4D int *2 线型个数 #4E-#4F int *2 标识数 #50-#53 int *4 线型名表首址 视图描述段: #54-#55 int *2 视图名长度(5BH) #56-#57 int *2 视图个数 #58-#59 int *2 标识数 #5A-#5D int *4 视图名表首址 各个地址间的关系: 实体部首址=索引部长度+标题部长

文档评论(0)

shuwkb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档