利用AUTOCADVBA二次开发解决深圳市水利基金项目排水管线成图问题.docVIP

  • 1
  • 0
  • 约3.46千字
  • 约 4页
  • 2019-08-01 发布于山西
  • 举报

利用AUTOCADVBA二次开发解决深圳市水利基金项目排水管线成图问题.doc

利用AutoCADVBA二次开发解决深圳市水利基金项目排水管线成图问题 赖东杰深圳市水务规划设计院,广东,深圳518000 【摘要】:AutoCADVBA是AutoCAD和VisualBasic的结合技术,利用它可以完成AutoCAD的二次开发工作,本文重点讲述的是利用VBA二次开发,将管线基本信息写入块属性中,实现在AutoCAD图上就能直观显示管线的基本参数,方便管线图使用,提高工作效率。 【关键词】:AutoCAD;VisualBasic;VBA;DAO;管线图;块属性。 ApplicationofAutoCADVBASecondaryDevelopmentinPipelineDrawings LaiDongjieShenzhenWaterPlanningandDesignInstitute,518000,Shenzhen,Guangdong,China Abstract: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模块中,通过引用对象、集合打开数据,方法如下: DimdbDataNameAsDatabase DimdbRecordLineAsRecordset SetdbDataName=_OpenDatabase(FileNameStr) ′打开数据库文件FileNameStr SetdbRecordLine=_dbDataName.OpenRecordset(Select*From管线数据) ′打开数据记录:管线数据 四块属性写入 要使用块属性,首先需

文档评论(0)

1亿VIP精品文档

相关文档