基于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
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说公务员考试基于VBA的AutoCAD图块属性提取与Excel输出在线全文阅读。
相关推荐: