基于VBA的AutoCAD图块属性提取与Excel输出

2021-09-24 13:01

基于VBA的AutoCAD图块属性提取与Excel输出

第23卷第3期(总第102期)机械管理开发

Vol.23No.3(SUMNo.102)MECHANICALMANAGEMENTANDDEVELOPMENT

2008年6月Jun.2008

基于VBA的AutoCAD图块属性

*

提取与Excel输出

何

【摘

兵,车林仙

泸州

(泸州职业技术学院,四川646005)

要】应用AutoCAD的VBA(VisualBasicforApplication)二次开发功能,编制了属性块的属性提取程序,并以应用实例说明了

AutoCAD图块属性提取与Excel输出,可以利用Excel强大的统计功能方便作出相关报表。

【关键词】AutoCAD;属性块;VBA;属性提取【中图分类号】TP317.3

【文献标识码】A

【文章编号】1003-773X(2008)03-0015-02

AutoCADDrawing-blockAttributeExtration

AndItsExcelOutputBasedOnVBA

HEBing,CHELin-xian

(LuzhouPolytechnicCollege,Luzhou646005,SichuanChina)

〔Abstract〕UsingtheexploitativefunctionofVBA(VisualBasicForApplication)basedonAutoCADsoftwareplatform,thispaperhas

madeaprogramforgettingattributesfromdrawing-blocksfromAutoCADanditsExceloutput,andmakingcorrespondingreportformsthroughExcelcomprehensivestatisticalfunction.

〔Keywords〕AutoCAD;Adrawing-blockwithattributess;VBA;Getattributes.

0引言

OnErrorResumeNext

SetExcelApp=GetObject(,"Excel.Application")IfErr<>0Then

SetExcelApp=CreateObject("Excel.Applicationn")EndIf

随着计算机软硬件技术的飞速发展,机械、建筑、电气领域中绝大多数企业采用AutoCAD绘制二维工程图。无论是交互式绘图,还是二次开发,对于标题栏、明细表及其它类似表格的处理,基本上都采用插入图块的方法,较为麻烦;而且做相关报表时,仍需作大量的人工抄录工作,不仅繁琐且易出错,不利于图纸上相关内容的信息管理;因而对构建设计的MIS(Management

InformationSystem)系统有相当的难度。基于此,我们采用AutoCAD中的VBA技术,对标题栏信息进行二次开发,可以方便地将图纸信息提取到Excel中,便于统

计、汇总,大大提高了工作效率。

2实例

2.1示例操作步骤[3]

定1)画出属性定义表格。2)定义属性,用“attdef”

义其属性,此例中每一图块共有6个属性,其中序号属

性设为不可见,其余可见,分别填写其属性。然后选择一行作为一个图块。3)重复步骤2,完成整个明细表的属性定义,保存,见图1。工具”4)在AutoCAD中,单击“宏”→“代码窗口”中创建→“VisualBasic编辑器”→“代码。5)在VisualBasic编辑器“工具”→“引用”中引用“项。6)调试,保MicrosoftExcel9.0ObjectLibrary”存代码→运行,结果见图2。

2.2创建过程及代码与调试并保存(部分核心原代码)[4][5]

Sub

BlkAttr_Extract()

DimExcelSheetAsObjectDimExcelWorkbook

AsObject

SetExcelWorkbook=Excel.Workbooks.AddDimExcelAsExcel.Application

1跨平台技术

在AutoCAD中创建Excel应用程序,其步骤如下:[1][2]

宏”→“1)打开AutoCAD的“VBA编辑器”。

工具”→“引用”项,在弹出的“引用”对话2)选择“

框的“可使用的引用”列表框内,选择“MicrosoftExcel

项。9.0ObjectLibrary”确定”按钮。3)单击“

4)在AutoCAD中创建Excel应用程序,语句如下:

DimExcelAppasExcel.Application'激活要与之通信的Excel应用程序

收稿日期:2007-10-10;修回日期:2008-02-29

基金项目:“四川省高等教育人才培养质量与教学改革项目”立项文章,编号:06-511-254

作者简介:何兵(1972-),男,四川泸州人,讲师,硕士。研究方向:CAD/CAM,机电控制技术。

15

基于VBA的AutoCAD图块属性提取与Excel输出

第23卷第3期(总第102期)机械管理开发

否有属性

2008年6月

If.HasAttributesThenArray1=.GetAttributes

填在第1行

'如果有属性

'提取块引用中的属性,如果有

'从第2行开始,填写其它的

RowNum=RowNum+1

表行内容

ForCount=LBound(Array1)ToUBound(Array1)ExcelSheet.Cells(RowNum,Count+1).Value_=Array1(Count).TextStringNextCountEndEndEnd

IfIfWith

'显示Excel工作表中的结果EndSub

NextblkElemExcel.Visible=True

基于VBA的AutoCAD图块属性提取与Excel输出.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:物业春节放假注意事项

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: