AutA结构化表单与Eel数据交换方法研究.docVIP

AutA结构化表单与Eel数据交换方法研究.doc

  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文档。上传文档
查看更多
AutA结构化表单与Eel数据交换方法研究.doc

AutoCAD结构化表单与Excel数据交换 方法研究 张向良 沈阳飞机集团)有限公司 Excel与AutoCAD表单是工作屮常见的两种工具,由于AutoCAD与Excel属于两 个不同的信息系统,传统的人工填写的工作方式已经使得AutoCAD与Excel之间 的信息交互越来越难以满足工作需求。文章将探讨在AutoCAD结构化表单与 Excel之间进行高效数据交换的方法,介绍OLE、Excel对象模型、AutoCAD图形 数据库结构等前置技术知识以及数据交换的具体实现方式,以期为相关的数据 采集工作提供高效的解决方案。 关键词: Excel; AutoCAD;结构化表单;OLE; ObjectARX;二次开发; 引言 Excel作为最为人所熟悉的数掘统计工具,被很多企业选择与使用,而Auto CAD 在工程中的应用同样极为广泛。很多吋候需要在这两个平台间传递数据,以 所在的航空制造业某部门为例,工作时就需要将保存于Auto CAD图表中的产品 信息录入到Excel服务器中,这些数据在后一平台上进行集中管理。木文将探讨 在Auto CAD与Excel两平台间自动交换数据的方法,以及如何在基于Object ARX (VC)开发的程序屮实现。该方法用程序代替人工操作,在为设计人员提供 方便的同时也保证了数据采集的可靠性。 1运行环境概述 Excel是Microsoft发布的一款广为人知的数据统计工具。本文讨论Excel与 Auto CAD图表的数据交换,未涉及Excel的其它定制功能.结构化Auto CAD表 单是在Auto CAD图形中加入带有附加信息的图元,如扩展数据、扩展记录、自 定义实体、块参照等。以带属性的块参照为例,由于属性是一种包含了标签、提 示和值的结构体,而不像普通的文字或多行文字那样只有一个值,这使得计算 机能够“理解”用户所输入的内容(而不是简单地将其视为一个字符串)。这为 后期的数据采集与分析提供丫极大的方便。 由于windows会为每个进程分配独立的地址空间(用户空间),进程不能够以任 何方式读写其他进程用户空间的数据XH。即使使用系统API,也无法确定所需 要读、写的数据的地址。所以需要使用一种能够跨越进程边界通信的方法,即 OLE技术。 2 OLE技术与Excel对象模型 基于COM的OLE2 (业内简称OLE)是一种Microsoft推出的一种windows下的对 象通信技术,经过多年的扩充和演化,现已变成了在桌面系统上进行程序通信 的一个技术总称[2]。使用OLE方式读写Excel,需要首先创建一个Excel对象 (或通过其它途径获得一个),然后通过Excel预留的接门调用它所提供的服务, 就像Excel本身在操作車元格一样。 为此需要了解Excel的程序结构,也就是对象模型。Microsoft在Excel 2007 开发人员参考中提供了 Excel对象模型参考,详细地描述了各种对象的属性和 方法。对于读写Excel而言需要用到其中的3对象:.Application、-Worksheet 和Rangeo _Application代表Excel应用程序,一个_Application对象屮包含 若干个I:作簿_Workbook,后者又包含多个I?作表_Worksheet,而Range则代表 一个区域,当然也可以是1个单元格,如图1。 首先需要获得.Application对象,进而使用其Attach Dispatch函数获得 JVorksheet对象、Range对象,然后便可使用Set Item和Get Ttem函数读写单 元格里的闪容。 图1 3 Auto CAD 形数据库 读写结构化的Auto CAD表单需要了解Auto CAD图形数据库的结构。每个承载表 单的dwg文件就是一个Auto CAD图形数据库Ac Db Database[3],其中也含了 块表Ac Db Block Table,块表中包含了模型空间ACDB_MODEL_SPACE,而用户所 绘制的图形、文字等实体就存在于模型空间中。 Object ARX (VC)提供了相关的类库与函数来访问上述对象。首先获得当前活动 图形数据库的块表,获得包含结构化数据的块定义,然后检索模型空间中的此 块定义的块参照Ac Db Block Reference。需要读取的数据,也就是属性Ac Db 八ttHbute的值,就包含在这些块参照中。 4数据结构的设计 至此已经拥有了外部读写Excel和读写结构化Auto CAD表单中数据的方法。只 需设计编写承载数据的载体,将上述三者连接起来封装成命令,便可以实现结 构化AutoCAD表单与Excel之间的一键式数据交换.命令通过以下步骤实现:(1) 使用OLE方式获得Excel实例。(2)读取结构化A

文档评论(0)

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

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

1亿VIP精品文档

相关文档