利用AutoCAD-VBA二次开发解决深圳市水利基金项目排水管线成图问题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

利用AutoCADVBA二次开发解决深圳市水利基金项目排水管线成图问题赖东杰深圳市水务规划设计院,广东,深圳518000【摘要】:AutoCADVBA是AutoCAD和VisualBasic的结合技术,利用它可以完成AutoCAD的二次开发工作,本文重点讲述的是利用VBA二次开发,将管线基本信息写入块属性中,实现在AutoCAD图上就能直观显示管线的基本参数,方便管线图使用,提高工作效率。【关键词】:AutoCAD;VisualBasic;VBA;DAO;管线图;块属性。ApplicationofAutoCADVBASecondaryDevelopmentinPipelineDrawingsLaiDongjieShenzhenWaterPlanningandDesignInstitute,518000,Shenzhen,Guangdong,ChinaAbstract:AutoCADVBAisacombinationofAutoCADsoftwareandVisualBasicprogramminglanguage,whichcanbeusedtocompleteAutoCADsecondarydevelopment.ThispaperfocusesonhowtowritethebasicinformationofpipelineintoblockpropertiesthroughAutoCADVBAprogramming.Afterthat,thebasicparametersofpipelinewouldbedirectlydisplayedonAutoCADdrawings,whichbenefitstheuseofpipelingdrawingsandimprovesworkefficiency.Keywords:AutoCAD;VisualBasic;MicrosoftVisualBasicforApplications;DataAccessObjects;PipelineDrawing;Blockproperty.一前言为加快水务建设步伐,提高防洪抗灾能力,缓解我市水资源供需矛盾,促进国民经济持续、快速、健康发展,为深圳建设一流的现代化国际性城市创造良好的水环境,广东省深圳市人民政府专门设立水利建设基金,从市收取的政府性基金中提取3%用于水务建设的专项资金。水利基金项目在AutoCADR14版本中,Autodesk公司首次包括了Microsoft的VisualBasicforApplications(VBA)新技术,将AutoCAD和VisualBasic的功能结合在一起,在R14以后的版本(AutoCAD2000、2002、2004、2008和2010等)中我们均可以利用VBA二次开发技术定制应用程序,实现一些在AutoCAD不能或不易实现的功能和效果。在管线图的使用过程中,会经常遇到这样的一个困扰,管线图上显示出来的信息往往不能够反映全部管线参数,很多管线参数需要到管线点成果表中查询才能够知道,这种图和数据两边不能够关联互通需要来回不停切换查询,使用起来非常不便,影响工作效率不说,还容易因此查错、对错数据也不在少数。为了解决这个难题,我在平时的工作中就不停探索,寻找解决问题的办法,后来终于找到一种解决办法,那就是利用AutoCAD的VBA二次开发功能进行编程,将管线基本信息(可以按自己需求进行增减)写入到块属性中,这样在CAD图上就可以直观看到管线的相关信息,使用起来就非常方便。二块属性块属性是一种可以与块对象相关联的文字对象,它在块对象中提供用户一种交互式的标识或者标签。块属性常常是与图形对象关联的一些信息,如可以关联管线成果中的点号、连接点号、管径(或断面尺寸)、埋深、材质、点特征、附属物、电压、压力、总孔数、已用孔数、电缆根数、管偏和权属单位等。块属性对于用户管理和使用图形信息非常有用,用户不但可以在图上直接显示块属性信息,还可以从图形中提取出属性参照的信息,然后在电子表格或数据库中使用这些信息。三数据库连接管线信息写入块属性首先在AutoCAD成图时要与管线数据库连接,连接方法如下:使用DAO编程,可以访问并操作数据库,在VBA模块中,通过引用对象、集合打开数据,方法如下:DimdbDataNameAsDatabaseDimdbRecordLineAsRecordsetSetdbDataName=_OpenDatabase(FileNameStr)′打开数据库文件FileNameStrSetdbRecordLine=_dbDataName.OpenRecordset(Select*From管线数据)′打开数据记录:管线数据四块属性写入要使用块属性,首先需要先定义属性,方法是使用AddAttribute来添加块属性,代码如下:′定义并插入块对象和写入块属性DimBlocksObjAsAcadBlockReferenceDimAttriObjAsAcadAttributeSetBlocksObj=_Thisdrawing.Blocks.Add(BlockInPoint,块名称)AttValue=dbRecordLine(点号)&dbRecordLine(连接点号)&_dbRecordLine(地面标高)&_dbRecordLine(埋深)&_dbRecordLine(管径)&_dbRecordLine(材质)&_......SetAttriObj=_BlocksObj.AddAttribute(AttHeight,AttMode,AttPrompt,AttInsPoint,AttTag,AttValue)其中AttHeight为文字高度,AttMode属性的类型,AttPrompt提示字符串,AttValue为块属性的属性值,即管线信息数据,可以将打开的管线记录中相应的内容赋值给它。写入到块属性中的管线信息在打开的AutoCAD图上就可以直接显示出来,如下图所示:放大图:由上图可知,利用VBA编程生成的综合地下管图,图中块是有属性的,当我们打开这类图形时,想要知道每个管线点的信息,可以在图上直接获取,而不需要在图和成果表中来回查找,方便使用,可以大大提高工作效率。五数据库关闭块属性写入完成以后,通过VB编程,需要将打开的数据记录和数据库文件关闭,否则影响数据库文件安全,关闭数据记录和数据库文件的代码如下:dbRecordLine.ClosedbDataName.Close六结束语随着计算机技术不断提升和程序开发设计方法的不断发展,VB程序开发将在更多的工作领域得到更加广泛的应用,除了文中提到的利用AutoCAD的VBA二次开发可以解决在管线图中显示管线信息以外,比如在测绘的其他专业(地形测量、航空摄影)、机械、模具等其他行业都可以把相关的信息写到图上的块属性中,不仅方便使用,还可以简化查询工序,提高生产力。【参考文献】⑴李凤华编著《AutoCAD2002/2000VBA开发指南》清华大学出版社;⑵[美]MarionCottingham著,孔祥丰等译《AutoCADVBA从入门到精通》电子工业出版社;⑶张晋西编著《VisualBasic与AutoCAD二次开发》清华大学出版社;⑷曾洪飞、张帆、卢择临编著《AutoCADVBA&VB.NET开发基础与实例教程》中国电力出版社;⑸安剑、孙秀梅编著的《VisualBasic数据库系统开发自学手册》人民邮电出版社;⑹赛奎春、李俊民编著的《VisualBasic函数参考大全》人民邮电出版社;⑺张宏林、孔艳王哲等编著的《VisualBasic6.0开发数据库》人民邮电出版社;⑻姚巍编著的《VisualBasic数据库开发从入门到精通》人民邮电出版社。作者简介:赖东杰,籍贯福建,1973年8月2日出生工作单位:深圳市水务规划设计院现职称:中级工程师从事的工作:主要从事地下管线探测和管道无损检测技术工作。联系方法:收件地址:深圳市龙岗布吉莲花山庄A座怡心苑602室邮政编码:518000联系电话:13923873761Email:Laidj999@126.comQQ号码:399628336

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功