AutoCAD与Excel二次开发及其在海洋工程中的应用技术研究

  • 格式:pdf
  • 大小:335.69 KB
  • 文档页数:3

科技信息 o IT论坛0 SCIENCE&TECHNOLOGY INFORMATION 2011年第25期 AutoCAD与Excel二次开发及其在 海洋工程中的应用技术研究 

王志祥王默熙郑炳祥王玉伟陈元元吴建章 (海洋石油工程股份有限公司 中国天津300452) 

【摘要】伴随着国家十二五规划出台,深海石油开采上升为国家核心战略。但在海洋工程实际工作中,图纸量大、信息量大、Excel数据处 理量大,图纸间、图纸与Excel数据传递若仍然采用人工方法,显然已经非常落后。为大幅度提高工作效率、降低劳动强度,笔者采用VB对 AutoCAD及Excel进行联合开发.设计了一套工程师辅助软件.在工程实际应用中取得了极其优异的效果。 【关键词】海洋工程;Excel;数据传递;优异效果 Further Development of AutoCAD and Excel and its Application in Ocean Engineering WANG Zhi—xiang WANG Me—xi ZHENG Bing-xiang WANG Yu-wei CHEN Yuan-yuan WU Jian-zhang (China Offshore Oil Engineering Company,Tianjin,300452,China) 【Abstract]As for the twelfth five—year plan Coming on,exploit 0il in deep sea becnme the main stratagem of China.There are many drawing、 information and data transfer in daily work of offshore engineering.It is very fall behind if we use statistical data by people.To improve work efficiency and reduce intensity of labour greatly,this paper makes a further development of AutoCAD and Excel using the VB programming language based on the Automation Protocols.A software toolkit has been designed and developed which has been used in engineering application and obtained an excellent emjct in the application. 【Key words]Offshore engineering;Excel;Data transfer;Exceptional effection 

0引言 日常工作中存在着很多重复、繁琐、耗时的工作,比如在AutoCAD 中制作材料表、将AutoCAD图中的材料表整理到Excel中、将多个 Excel表中的数据进行汇总处理、绘制不同尺寸标准部件等。 以上各项工作目前多采用人工方式.由于工程中图纸数量庞大. 这些工作不仅耗费了大量时间.延迟了工程的交付时间.而且劳动强 度大、工作效率低、很容易出错。 为了节省工作时间、提高工作效率、降低劳动强度,将工程师从这 些重复、繁琐、耗时的工作中解放出来,去完善和优化其他更为重要的 工作.笔者采用VB对AutoCAD及Excel进行了二次开发,设计与开 发了一套工程师辅助软件.在工程应用中取得了很好的应用效果。 

1技术原理 本文以AutoCAD2004和Excel2003为平台.以Visual Basic为编 程工具.成功应用Automation通信协议标准对AutoCAD和Excel进行 了二次开发及应用。AutoCAD,Visual Basic,Excel之间的通信示意图 如图1.1所示。 

A服u务toC AD Vis客ua户lB端as 1月 

图1.1 AutoCAD,VB,Excel通信示意图 1.1 Automatiou通信协议 Automati0n是基于Micresort公司Component Object MedelfCOM1 技术的通信协议标准.从OLE fObject Linking and Embeding)发展而 来。 利用该通信标准.可以将一个应用程序中的开放对象嵌入或链 接到其他应用程序中.从而实现不同应用程序间的数据通信和数据 共享『ll Automati0n通信协议以客户端/服务器方式工作。作为Aut0mation 服务器的应用程序能够为其他应用程序提供一定服务及开放对象:作 为Automation客户端的应用程序能够通过适当协议访问服务器应用 程序日。 本文中AutoCAD2004和Excel2003作为Automation服务器. Visual Basic作为Automation客户端。在Visual Basic中依据 Automation通信协议访问AutoCAD与Excel开放对象的属性及方法. 实现AutoCAD、Visual Basic与Excel三者间的数据通信.从而实现对 AutoCAD图形用户界面中图形对象的适当操作及对ExceJ数据的各 种访问 1.2 Aut0CAD中的开放对象 

图1.2 AutoCAD应用程序对象模型示意图 理解AutoCAD的对象模型是对其进行编程的基础.Aut0CAD的 对象模型结构示意图如图1.2所示 AutoCAD应用程序以层次结构组织对象.顶层是Applicati0n对 象。即AutoCAD应用程序本身.其他对象均继承自Application对象。 Applicati0n对象下一层是Preferences.DOCUment等对象.通过 Preferences对象可以对Aut0CAD Tools/Preferences菜单项中的各个选 项进行设置 Document对象是控制AutoCAD图形文件的直接对象.代表 AutoCAD图形文件 Document对象包含Model Space、Paper Space对 象及Blocks、Layers、Selectionsets、utility等一系列对象。Model Space是 当前图形文件中图形实体,如直线、圆、多义线等的集合,每个实体即 是一个对象.可通过属性和方法改变实体或生成新实体[31。 对非图形实体.如层(1ayer)、线形(1ine type)等的访问则通过访问 Document对象相应的集合类型子对象,如Layers、LineTypes等实现。 1.3 Excel中的开放对象 Excel应用程序的对象模型包含一些功能强大的数据对象.常用 对象包括:Application对象、Workbook对象、Worksheet对象和Range 对象等。 

图1.3 Excel 2003应用程序对象模型示意图 67 2011年第25期 SCIENCE&TECHNOLOGY INFORMATION O IT论坛0 科技信息 Application对象处于对象层级结构的最高层.代表了当前正在运 行的Excel应用程序本身,其他对象都是该对象的子对象 Workbook工作簿对象位于Applicati0n对象的下一层次 一个 Workbook对象代表一个Excel文件.包括Worksheet对象、Range对象 等。 Worksheet对象代表Excel工作簿中的工作表 通过该对象.可以 在程序中完成对工作表的操作 Range对象是一个单元格区域,该区域可以是一个单元格、某一 行、某一列或任意单元格区域[41 理解了AutoCAD与Excel应用程序对象模型.就可以在客户端应 用程序VB中.遵循Automation通信标准.编写程序以访问服务器端 应用程序AutoCAD、Excel开放对象适当的属性和方法.从而代替人工 快速高效地完成一些重复、繁琐、耗时的工作 2主要实现功能 本软件目前具有下述功能:将Excel表格导入AutoCAD图纸、将 AutoCAD图纸中的材料表导出至Excel、多个Excel表格数据汇总整 理、在AutoCAD图纸中绘制标准部件。 2.1将Exce1表格导人至Aut0CAD图纸 由于AutoCAD制表功能和文字处理功能不强. 图2.1 将Excel表格导入至AutoCAD图纸界面 圈2.2将Excel表格导入至AutoCAD程序流程图 工作中对AutoCAD图纸中材料表格式的要求比较严格.如宁岛、 线宽、对齐方式等,因此在AutoCAD中采用手工方式制作材料表是一 项繁琐、耗时的工作.占用了工程师很多宝贵的时间 本功能实现了将Excel表格自动导人AutoCAD图纸的指定位嚣. 实现了用Excel强大制表功能及文字处理功能对AutoCAD功能的补 充,简化了AutoCAD制作材料表的过程.大大提高了工作效率.提高 了材料表的质量 本功能具有字高、线宽、对齐方式、有无边框、表格排布 式町定 制等优点。由于采用“四点定位表格”方法.因此可以精确确定导入 AutoCAD表格的插入点位置 导入表格的宽度及高度.完全能够满足 实际工作的需求.具有很强的实用性 2.2将Aut0CAD图纸中的材料表导出至Excel 本功能实现了将AutoCAD材料表、各种文字信息自动导出到 Excel中,导出的表格格式及文字信息与原AutoCAD信息一致."且 操作简单、实用 本功能支持单个导出、批量导出功能,操作简学,只需在Aut c^J) 选择导出点.即可将导出点确定范嗣内的材料表白动排序并导出到 Excel中.导出材料表与AutoCAD原材料表格式保持~ 致 本软件支持容差处理功能.因为AutoCAD材料表的各行文字信 息没有严格对齐,~般都存在一定偏差.通过设置容差.可以增强软件 对不同图纸的适应能力 

图2.3将AutoCAD图纸中的材料表导出至Excel界面 图2.4将AutoCAD材料表导出至Excel程序流程图 2_3多个Excel表格自动汇总整理 在日常工作中经常需要使用Excel对数据进行处理,处理过程t} 往往存在着很多重复、繁琐、耗时的工作。本软件实现了在VB中操纵 Exce1.从而实现自动化办公,提高工作效率。 本功能用以将多个Excel表格中的数据进行汇总整理,能够将多 个E 。l表格中名称及规格等相同的散料汇总在一起,并能够实现对 汇总后的表格进行同类数量求和。 本功能支持多个关键字汇总整理,实现将多个关键字相同的散料 汇总到一起 软件具有批处理功能,可同时读取并处理多个Excel文 件.节省了工作时间、提高了工作效率。