教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

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

来源:网络收集 时间:2026-09-28
导读: 基于VBA的AutoCAD图块属性提取与Excel输出 第23卷第3期(总第102期)机械管理开发 Vol.23No.3(SUMNo.102)MECHANICALMANAGEMENTANDDEVELOPMENT 2008年6月Jun.2008 基于VBA的A

基于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

2.3运行结果

运行上述代码后,将在“文件夹下生成一“属E:\”

文件,见图2。第一行标题的文字不是块属性,性表.xls”

而是文本对象,所以在“属性表.xls”文件中的第1行为空。在多数情况下,作为标题的明细表行是固定的,所以标题行的块属性往往被设成固定不变(Constant)类

图1

创建具有属性块供电主接线图

型。在ActiveX中的Attribute和AttributeRef对象,都有一个Constant属性,用来判断某个块或块引用中的属性值类型,它是一个布尔类型的值,其值若为True,表示块属性值为Constant类型。

3结论

应用AutoCAD的VBA二次开发功能,编制了属性块的属性提取程序,运行程序后,自动提取属性块的有关参数,方便进行图纸相关信息管理。对设计信息管理系统(MIS)具有参考价值,在企业信息化管理建设中具有重要意义。

图2

…… 此处隐藏:1510字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于VBA的AutoCAD图块属性提取与Excel输出.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/281390.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)