• 3.31 MB
  • 2023-01-04 08:30:22 发布

基于autocad+vba的建筑给排水系统定制与开发论文

  • 83页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
1053610单口代Ⅺ:—地!§!学大0fTechno警Iogy硕士学位论文MASTERDISSERTATIoN③论文题目:基于AutoCADVBA的建筑给排水学位类别:学科专业:(工程领域作者姓名导师姓名:系统定制与开发学历硕士市政工程江海权王军教授完成时间:2007年5月工嘶肥№一仑一\n基于AutoCADVBA的建筑给排水系统定制与开发摘要近年来,在建筑给排水工程设计领域,CAD出图率几乎达到100%,作者在AutoCAD平台下自主定制和开发了一套建筑给排水CAD系统,并在实际工程设计中进行了试用。论文对建筑给排水CAD设计的现状及建筑给排水CAD软件在国内外的发展进行了分析,提出了基于AutoCAD平台的建筑给排水CAD辅助设计的改进方案,并取得初步成果如下:1、针对建筑给排水设计人员的习惯,对系统重新进行定制,建立了新的线型。实现了用一、二个字母代替原CAD系统中的长单词命令,同时还编写了一些简单实用的工具程序。2、根据国家给排水制图的标准,将设计中经常用到的仪器、设备、器具、附件等做成图块,建立幻灯菜单,调用方便、快捷,并有利于单位内部绘图的统一。3、开发了针对建筑给排水设计用户的辅助设计系统,AutoCAD系统不具备给排水设计专业的计算功能。本系统为设计人员提供了给水、排水、消火栓、自动喷淋、热水等系统的水力计算。程序同时兼顾图形的绘制,能绘制系统图,并能自动进行管段编号、数据采集和各种数据的标注等。4、开发了适于建筑给排水设计用户的CAD界面,设计人员使用本系统时,能通过简单的人机对话界面进行工作,极大的方便了用户。在导师和同学的帮助下,作者完成了以上应用程序的设计和编写工作,并投入实际工程中试运行,取得了较好的应用效果。关键词:建筑给排水;辅助设计;幻灯菜单;用户界面\nCustomanddevelopmentofWaterandWastewaterSystemofArchitectureonAutoCADVBAAbstraetNowadays,theratioofEngineering-Map-DrawingbyCADinthedesignmentofWaterandWasteWaterSystemonArchitecturewasalready100%.TheuathordesignedthisprogramofComputerAidedDesignofWaterandWasteWaterSystemofArchitectureonAutoCAD.anduseditintherealworks.Theassayanalyzedthedevelopmentoftheprofessionalsoftwareinandabroad.andtalkedabouttheactual.ityofthedesign,thensuppliedthewaysofhowtoimproveCADsystemwiththisspecialty.Theassayobtainedtheresultsinaspectsbelow:1、costomingthesystemfordesigners,buildingnewstyleoflines,andreplacetheoriginalAutoCADsysteminstructionwithsimplifiedoneswhichismadeupofoneortwolettersinthealphabet,andwritingsomesimplebutusefulprogramsfortherealneedsofdesign.2、accordingtothedrawingstandardofWaterandWasteWaterSystem,mak-ingequipments,instruments,accessorieswhichwereoftenusedtobeablock,thenbuildingmagiclanternmenuwhichcanbeeasilyused.3、settingupaAidedSystemofcalculatingwhichremediedthelackofcalcu-LationfunctionofAutoCAD.Thesystemsuppliedthecalculatingprogramofwatersupply,drainage,firefighting,sprinklersystem,hotwatersystem.Theprogramalsothoughtabouttheprotractofdrawing,itcannumberlines,selectdataandlabeldata.4、astheprogrammingoffriendlyCADinterfacethatissuitablefortheusersof,designersofWaterSupplyandWasteWaterprofessionareabletoworkthoughtthisinterface,whichgreatlymakestheusersconvenientwhileusingthissoftware.Thanksforthehelpoftutorandschoolmates,theauthorfinishedthesystemontime,andthesystemgotagoodeffectwhenbeusedinrealproject.Keywords:WaterandWasteWaterSystemonArchitecture;ComputerAidedDesign;magiclanternmenu;interface\n图2-1图3一l图4一l图4—2图4—3图4—4图4—5图4—6图4—7图4—8图4—9图4—10图4—11图4—12图4—13图4—14图4—15图5一l图5—2图5—3图5—4图5—5图5—6图5—7图5—8图5—9图5—10图5一ll图5一12图5—13图5一14图5—15图5一16图5—17插图清单建筑给捧水CAD二次开发思路图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5带方向的管线⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯11自定义工具栏⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.19绘图环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21卫生设备图库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯21阈门图库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.22给排水设备图库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯22给排水仪表图库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯22消火栓计算草图对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.23系统主菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..24图块插入⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.25工具命令⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25给水系统菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25排水系统菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..25消防系统菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25热水系统菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯25自动喷淋灭火系统菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯26屋顶水箱选型对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯27市政供水绘图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一28市政供水管网草图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..29管径标注程序快捷菜单⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.29自动喷淋喷头平面布置图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~30自动喷淋喷头布置系统图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..30Excel接口输出形式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.31管段及节点编号⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.33给水管网计算参数对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.36给水管水力计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.37预设最大流速法确定管径⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯37水箱选型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.38排水横干支管水力计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41非满流管截面计算示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..42排水立管水力计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯42化粪池选型计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..45消火栓计算绘图一体化程序流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.46\n图5—18图5一19图5—20图5—2l图5—22图5—23图5—24图5—25图5—26图5—27图5—28图5—29图5—30图5—31图5—32图5—33图5—34图5—35图6—1图6—2图6—3图6—4图6—5图6—6图6—7图6—8图6—9图6一10图6一儿消火栓水力计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..47消火栓计算结果文本⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.47正方形喷头布置图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..48矩方形喷头布置图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.48菱形喷头布置图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一49喷头布置对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..49任意喷头布置对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯49喷头布置平面图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~50喷头布置轴测图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一50喷头类型选择对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..50根据喷头确定管径⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..50自动喷淋水力计算对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5l热水量及耗热量计算器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯53参数说明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..54热水管网计算程序流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯54热水管网循环流量计算结果输出格式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯55纠错程序流程图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯56管段信息提示框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..59上区热水量计算对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯61管网计算管段编号⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯62自动喷淋平面布置水力计算图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯65确定管径对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.65自动喷淋水力计算结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.65自动喷淋水压计算结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一65自动喷淋屋顶水箱⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..67排水横支管水力计算对话框⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.68排水水力计算草图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..68消火栓系统计算草图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯69消火栓水压计算⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯69\n表3-1表3—2表4—1表6—1表6—2表6—3表6—4表6—5表6—6表6—7表格清单简化命令对照表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯9工具命令功能说明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯13菜单标签⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.23热水管网水力计算表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯63热水管网水力计算结果修改表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯63热水给水管网水力计算表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.64自动喷淋高区水力计算结果表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.66低区给水水力计算表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.67排水横支管水力计算表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯68消防管网水力计算表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯69\n独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果.据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得金aB王些太堂或其他教育机构的学位或证书而使用过的材料·与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意.学位论文作者签字:江诌沫殳签字日期:研年莎月5日学位论文版权使用授权书本学位论文作者完全了解金胆王些太堂有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权金8垦王些太:L可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。(保密的学位论文在解密后适用本授权书)学位论文者签名;谚涵教导师签名:签字日期:a加7年6月‘日签字日期:≥t唧年二月7日学位论文作者毕业后去向:歹了Z工作单位:飧扁吼斑黼研为眈电话:侈9∥吁多“70通讯地址:4瀚舀夸建歹薹l晚邮编:二;矿护。7\n致谢值此论文完成之际,谨向我的导师合肥工业大学土建学院王军教授表示最诚挚的感谢!感谢导师在学业上和生活上给予我的极大关怀和帮助!在三年的硕士研究生课程学习和撰写学位论文的过程中,自始至终得到了王军老师的悉心指导,无论课程学习、论文选题,还是收集资料、论文成稿,都倾注了王军老师的心血。王军老师深厚的学术修养、严谨求实的治学态度和豁达乐观的生活态度,是我学习的楷模。他那广博的学识、严谨的治学作风、诲人不倦的教育情怀和对事业的忠诚,必将使我终身受益。此外王军老师还教导我要虚心请教,甘于吃苦,甘于吃亏、不断求进。这使我得以顺利完成小论文的发表和我的硕士学位论文。在此,再次向他表示最诚挚的感谢!同时还要感谢我的同门师姐孙抗菌,孙师姐对我的论文的书写也给予很大的指导和帮助,并不断地给我以鼓舞,在此,向她表示诚挚地谢意!感谢土建学院的全体老师,他们的教诲为本文的研究提供了理论基础,并创造了许多必要条件和学习机会。感谢同学张潮、倪晋、张明、蒋兴林等,他们在生活和学习上给与了我极大的帮助,使我度过了许多美好的时光,在此,向他们表示感谢l江海权2007年5月\n第一章绪论1.1建筑行业施工图设计中的工作现状以及软件开发背景计算机的出现是人类智力解放之路的里程碑,它的应用非常广泛,已经运用到社会各个学科中去。计算机在数值计算、数值模拟、信息管理等多方面具有强大的功能,给生活生产、科学研究带来了很大的方便。1992年来,我国建筑行业引入了CAD辅助设计技术,设计师可以通过计算机来设计和绘图,图面质量和工作效率都大大提高了,图纸的修改也变得容易。目前,建筑设计行业几乎都在使用美国AutoDesk公司的AutoCAD绘图系统,该系统基本上可以代替手工绘图,满足建筑工程各专业设计的需求。AutoCAD系统不仅为用户提供了强大的矢量图形绘制和编辑功能,还为用户预留了多种二次开发接口,如AutoLisp(LISP智能语言的子集)接口、VBA(VisualBasicApplication)接口、ARX(AutoCADRuntimeExtension)接口等等。通过这些接口,软件开发者可以以AutoCAD为平台编制一些应用程序,以方便绘图和提高工作效率。如果没有AutoCAD,高层建筑和复杂的工程设计是非常困难,甚至是不可能的u1。AutoCAD作为应用广泛的计算机辅助设计软件,具有优异的二维图形和一定的三维图像绘制功能。AutoCAD是作为一个通用的绘图系统而设计,但给水排水有自身的行业和专业标准,许多单位也有自己的技术规格和经常用到的图形元素。在给水排水专业进行CAD二次开发,提高自动化程度,提高计算的精度与速度,避免数据的重复输入,提高设计效率,对于建筑给水排水设计而言具有极为重要的现实意义和应用价值。1.2建筑给捧水CAD软件在国内外的发展概况建筑给排水专业在CAD应用上落后于建筑结构专业,长期以来建筑给水排水专业的设计人员一直找不到一个合适的专业制图软件。但近两年来,随着计算机硬件的不断更新,建筑给排水应用软件的开发和应用发展很快。另外,建筑给排水计算机应用普及率远远大于给排水的其他分支,由于建筑给排水应用软件适用性增强,赢得了国内众多用户,反之国内巨大的用户市场也必将推动着软件开发部门不断登上新的台阶。建筑给捧水的计算机辅助设计发展到今天,水平是比较高的。从AutoCAD的使用来看,国内外几乎是同步的,差距并不大,今后还有更加广阔的发展前景【射。目前国外已经投入应用的给排水工程CAD专业软件0,4】:(1)美国康涅狄格州的HAESTADMETHODS公司开发的①给水管网设计软件(Cybernet软件);②城市暴雨管理及调节池设计软件包;\n⑧雨水管道设计软件包(StormCADforWindows):④污水管道设计软件包(SeverCADforWindows)。(2)加拿大的Hydromantis,Inc公司推出的两套污水处理厂CAD软件包:①GPS-X软件。该软件是一个污水处理厂及给水厂多用途动态模拟及模型化软件包,它可用于污水处理场和给水厂的设计、运行管理及污水厂和给水厂的软件开发。②SimWorks软件。该软件是一个基于对象的系统,可用于水与废水厂的模拟、分析和检验。国内建筑给水排水的专业软件也已不少,这些软件的开发思路、深度不同,功能已适用范围及侧重点又有不同,可以说是各具特点。以下摘录几个软件的简单介绍:(1)北京华远软件工程有限公司开发的HOUSE-W95软件,内容包括建筑及室外给水排水设计及计算,经过不断的完善、升级,无论从设计的理念还是使用的方便程度上都有独到之处。(2)中国建筑科学研究院电子计算中心开发的三维给水排水软件ABD—WV2.0,该系统集建筑、给排水、电气、空调、采暖和概预算软件为一体,功能全面,简明易用。(3)总参工程兵第四设计研究院的建筑给排水设计软件WAT—V2.0软件,该软件根据国家有关规范及设计手册编制,包括了给水、排水、雨水等系统的计算和绘图。由于软件的独特知识库结构和充分符合设计者思维习惯的编程方法,实用性强,自动化及智能化程度高。(4)洛阳鸿业科技开发公司的GPSV4.2软件。该软件无论在专业广度上和深度上都是一个质的飞跃。它解决了大平面与局部详图的内在衔接问题。根据需要可做管网系统整体或局部的水力计算,更适用于高层给排水设计。(5)北京天正工程软件有限公司开发的天正给排水TWTII软件。该软件是目前国内使用最为广泛的建筑给排水专业软件。它的优点在于绘制平面图时,记录下管线的参数,但不影响设计的连贯性。这些参数为系统图的生成和材料统计,奠定了坚实的基础。引入工具集概念,使得图形的修改更方便、更简捷。平面图直接生成系统图时,采用多视窗技术,使整个过程一目了然.即可生成大样系统图,也可生成完整的系统图或高层立管图(展开图),同时也提供直接绘制系统图的功能。图库提供更强的开放性,给用户以更大的自由。最新版的给排水将使用户在AutoCADR14平台及AutoCAD2000及以上平台上的转换极为方便。.L3课题的来源以及论文的主要工作1.3.1课题的来源给排水行业中比较著名的专业建筑给排水软件有天正给排水TWT和鸿业给2\n排水GPS系列,它们均采用面向系统的设计思想,将本专业的常用图库和水力计算等做成模块镶嵌在CAD内部,可以直接调用,从而大大提高了设计效率。但是由于其过分注重细节,在实际使用中仍存在以下问题:一是大部分的图形编辑命令与AutoCAD的原始命令相同,并没有按照专业的角度进行组合和简化,不仅占用了空间,也失去了其存在的意义,如阀门在插入时不能自动参照基线的信息旋转和断线,文字的删除不能根据设定自动完成;二是计算模块与查询模块不相互独立,查询模块只有在其他任务完成、焦点处于本模块时才能调用,使用具有局限性;三是计算与绘图仍然是相互独立的,并没有形成一体化,计算所需的基础数据如管长、角度等不能在绘图时自动获得,也不能自动进行管段和节点的编号,同样计算的结果也不能自动进行标注;四是不能进行方案比较。由于系统在强大的计算功能和庞大的数据库支持下完成单位工程设计的时间大大减少,设计者应当能建立更多的工程方案进行经济评价,以确定最优管网规划方案;五是软件价格过高,并且作为商业软件,购买者并没有真正获得管理和对内部结构进行个人自定义的权利,如数据库中不能添加新型水泵和增加其他的设备类别,亦即设计人员并没有摆脱被动地位,仍然是有什么才能用什么,系统怎么样设定就怎么用。所以,由于上述种种的原因,很多设计人员最后还是放弃了它们,转而重新回到原始的AutoCAD环境中。所以,本课题针对当前给排水设计中广泛采用建筑专业CAD设计系统或直接使用AutoCAD系统带来的繁琐、不方便、低效率等影响给排水设计工作的问题,在AutoCAD平台下自主开发一套符合专业实际需要和设计者习惯,集计算、绘图、查询为一体的专用程序。1.3.2论文的主要工作本论文对给排水CAD设计现状进行了分析,提出了基AutoCAD系统的建筑给排水设计CAD改进方案。并在以下方面取得了初步成效:(1)针对建筑给排水用户,开发了基于AutoCAD绘图系统功能命令的简化和扩展,使得不需输入或只需输入很少的参数就能自动完成多步的绘图和修改。这些命令被定制成下拉菜单或自定义工具栏,便于直观操作。通过对AutoCAD进行定制,建立了适合于给捧水专业的作图环境,系统界面更加专业化、用户化。根据本专业的特点,又新增了几十种线型,以满足实际需求。(2)开发了针对给排水设计人员的辅助设计系统。系统将安全数组设置为全局变量,从而在多个子程序和窗体间调用,以达到程序的连贯性,同时也解决了其他给排水软件中计算、绘图相互独立的缺陷,真正实现了计算绘图的一体化。(3)为了直观了解设计管网的信息,系统建立了相应的管段信息库。作为管网的基本元素,管段的信息包括管段号、管长、管径、起止点、管材、流量等,数据的来源一部分来自用户的原始输入、一部分来自程序的计算结果。程\n序的实现即只需单击相应的管段,即可通过管段信息窗体查看所需的数据。(4)开发了适于建筑给捧水设计用户的CAD友好界面。建筑给排水设计人员使用本系统时,能通过友好的人机界面工作,极大地方便了用户。经实际工程设计验证,该系统能快速、准确完成多层、高层建筑的给水、排水、消防、自动喷淋、热水系统的水力计算和出图,比直接用AutoCAD进行设计节省大量时间p】。用AutoCADVBA进行编程,程序易懂且透明度高,既易于其他设计人员根据个人习惯对参数修改,又方便同行之间相互交流,对于促进给排水工程专业软件的开发十分有利。这些程序投入实际工作中试运行,取得较好的应用效果。4\n第二章建筑给排水CAD定制与二次开发系统概述2.1建筑给捧水CAD定制与二次开发的主要思路二次开发的主要思想是根据建筑给排水系统设计的任务,利用AutoCADVBA交叉完成计算和绘图,实现计算绘图一体化【6,71。设计过程中,在独立的数据库系统支持下,可以在任何时问方便地进行各设计参数的查询和修改;另外,将需要解决的问题做成子模块,嵌入系统菜单中,可以大大提高程序的实用性和灵活性。具体的思路图见图2—1。IH”“㈣jIlI·爰兢初始化‰棚V队,·新蛀型定义。。∞藿『”“一,.掌...—L—-藁簟文件定捌(∽·t-·珥,·觞譬燕艾阵'懈t¨nP口)-土·.||r嗡ⅧetⅢ化I-雷懿剿哺水泵抗l同麟剿陆厂H岖苔同I督—匪圈重h哥—臣盔臣邕固卜_.I剽—暖田}k面{面鳖型塑幽匝窗圃图2-l建筑给排水CAD二次开发思路图2.2建筑给排水CAD定制与二次开发系统的功能2.2.1绘图环境定制功能由于专业或项目的需要,AutoCAD的某些功能可能很少用到,另一些功能可能频繁地被使用。调整或修改现有的用户界面,添加一些符合给排水专业的用户界面使其专业化、用户化。AutoCAD提供了线型、图案、字体及符号库,尽管这些库的内容比较丰富,但仍然不能覆盖某些用户的某些产品。只有建立自己的线型、图案及符号库,定制具有便捷、专用、全中文环境的菜单和对话框的用户界面,才能提高工作效率【s】。本系统完成的具体定制任务有:①合理地设置系统变量,建立符合本专业的初始绘图环境;②借助于程序参数文件为ACAD命令建立简短易记的别名;\n③通过线型文件定义符合专业需要的线型;④建立适合自己工作的菜单和工具栏。2.2.2计算绘图功能建筑给排水工程所涉及的计算内容包括;给水管网水力计算、捧水管网水力计算、自动喷淋灭火系统给水管网水力计算、热水管网水力及热损失计算、水箱及化粪池选型等,其计算理论已经非常成熟。编程要达到的目标就是在工程设计中需要进行哪一步计算操作,只需点击相应的菜单即可调出对应的计算子程序进行计算,计算结果可暂时保存在适当的文件中[91。通过把这些计算结果引入地理信息系统,可实现将管长、管径包括热水管网的节点温度等直接标注于设计图上。该系统同时还将工程经济融入了计算之中【I小,建立了AutoCADVBA与excel的接口程序f¨】,在水力计算完成之后,根据管线基础数据数组的值查询各种管质、口径的管材价格并计算(excel表中的管材价格可随时更新),从而对多个工程方案进行管网造价分析,以选择最合理的管网规划方案.本系统能完成的计算绘图功能包括:1、建筑给水系统给水流量和给水管水力计算;2、建筑污水横支管、立管及非满流圆管水力计算;3、室内消火栓以及自动喷淋灭火系统水力计算;4、热水量、热媒耗量计算,管网水力计算,热损失计算;5、各系统管网轴测图草图生成,计算结果局部修改,管网造价价计算,管径自动标注等;6、屋顶水箱、化粪池、消火栓选型。2.2.3管段信息查询功能为了直观了解设计管网的信息,对于建筑给排水的每个系统都应当建立相应的管段信息库,以便设计人员查询。管段的基本信息包括管段号、管长、管径、起止点、管材、流量等,数据的来源一部分来自用户的原始输入、一部分来自程序的计算结果。信息查询的建立主要通过AutoCAD中的图形词典和扩展数据函数完成。建立查询时,首先要设计窗体,使其包含需要知道的管网信息结构,例如管段流量、管材等,把其相应的数据作为各自管段的扩展数据,数据的触发和显示可以用用户输入函数来完成【I”。2.3二次开发语言2.3.1AutoCADVBAAutoCADVBA是由Microsoft创建的,用来自动执行任务的一个编程环境,它提供了一些用来创建图形用户界面(GUI)的可拖拉工具和用来与AutoCAD对象交换的编程语言【13】。自R14版本开始,便嵌套在AutoCAD之中,是根据微软公司的规则在每一个Windows下的应用软件都必须具有的功能。其优点是可6\n以很容易的使用Windows的资源,使AutoCAO能轻松地与其他Windows下的应用软件交互;同时AutoCADVBA对话框设计能力比DCL好得多。AutoCADVBA有以下几个比较明显优点:(1)AutoCADVBA可提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面,提供建立类模块,具备完善的数据访问与管理能力,可以使用SQL语句检索数据。(2)可视化环境编程;数据集成与共享,用VBA进行AutoCAD的开发,这些数据可以与其他的VBA应用程序,如MicrosoftOfficeXP直接共享;扩展了AutoCAD的集成用户化工具的能力;可与其他Windows的应用软件方便地进行交换。AutoCADVBA的几个缺憾:(1)AutoCADVBA不能像VLISP那样随心所欲的使用AutoCAD命令,只能像脚本文件的模式那样以字串方式向AutoCAD命令行发送一串响应,这个字串的内容也只好在自己的程序中生成和进行数据转换。(2)AutoCADVBA是以对象作为数据处理的基本单元,在VLISP中堪称特色的CAGD程序设计技术在VBA中无法实现例如无法使用对象双元表。(3)AutoCADVBA另外的问题是不能编译,源程序始终以相当容易接近的方式暴露在最终用户面前,很容易由于用户的误操作,使曾经正常的应用程序出错甚至崩溃。2.3.2AutoLlsP、Vi8uaILIsP编程语言LISP(ListProcessor)是人工智能(AI)领域中广泛采用的一种程序设计语言。主要用于人工智能、机器人、专家系统等领域。AutoLISP是人工智能语言CommonLISP的简化版本,作为通用LISP语言的一个小子集,AutoLISP严格遵循其语法和惯例,但又添加了许多针对hutoCAD的功能。hutodesk公司在AutoChD2.1版引入AutoLISP作为应用程序编程接口(API),用于扩展和自定义AutoCAD功能。借助AutoLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。从AutoCADR14开始,VisualLISP被引入到AutoCAO中,它增强并扩展了AutoLISP语言,可以通过MicrosoftActiveXAutomation[H】接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,VisualLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义kutoChD的效率。另外,VisualLISP提供了发布用AutoLISP编写的独立应用程序的工具。VisualLISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行VisualLISP。对使用AutoLISP进行二次开发的人员,VisualLISP既是LISP编辑器又是编译器,它提供一套简单的可视环境去开发和维护原有的AutoLISP源程序。它比其它的AutoCAD编程语言7\n(AutoLISP,ADS,VB,ARX)更灵活,更先进,更易于使用。但是由于AutoLISP是一种解释性语言,其保密性差、运行速度慢、程序设计思想、调试不便等缺点使得它不适合开发大型的计算密集型的系统。另外,表达式的表示法也不易让一般开发人员习惯和接受。2.3.3ObjectARXARX(AutoCADRuntimeExtension)是以C++为基础的面向对象开发环境及应用程序接口,具有面向对象编程方式的数据可封装性、可继承性及多太性等特点。由于ARX使用VisualC++作为基本程序设计语言,无论其效率、数据处理和软硬件的控制能力都是最好的,是唯一圆满地针对多图档环境的程序设计方法,也是从根本上扩展VLISP/VBA的程序设计方法【l51。但是,与AutoCAD命令交互和对象数据库访问能力功能,ARX与VBA并没有实质的区别,就是说,同样很难借用AutoCAD强大的CAGD功能和交互操作的技巧.另外,要想真正发挥这种开发模式的作用,对于程序设计者的要求也很高(计算机专业知识、软件专业知识等),而且程序运行风险较大。要求程序自己做好各种数据的测试,自己设计好各种条件下的出错处理和恢复,否则ARX程序的崩溃常常会连带AutoCAD,甚至操作系统一起崩溃。\n第三章建筑给排水CAD绘图功能的定制3.1绘图环境定制3.1.1绘图环境初始化第一次使用二次开发系统前,需要对系统进行初始化设置。初始化内容包括:设置图形的系统变量;设置系统标准线型、标准层和标准颜色i加载系统菜单等。绘图前,必须确定绘图比例和图幅,特别是绘图比例。文字大小、线型、线宽、尺寸标注、图签大小等都与比例有关.在命令行键入TK或者点击建筑给排水菜单一图框,即可根据提示创建各种规格的图框和系统比例。由于建筑给排水工程设计独特的规范性和相似性,在初始化时就可以完成各类型管网图层、线型、颜色的定义。在命令行键入reset或点菜单一建筑给排水一初始化,加载本系统所需的层、线型和颜色。完成这些操作后,还要加载建筑给排水系统菜单。3.I.2AutoCAD命令简化AutoCAD提供的基本绘图和编辑命令是最有用最基本的指令,给排水制图时常常要用到这些命令,这些命令可以在工具栏或快捷菜单中找到,但是有的设计人员习惯在命令行直接输入命令完成以上的工作,此时,记住完整的命令名称是一种既麻烦又不必要的行为。AutoCAD允许定义一个名为acad.PgP的参数文件(AutoCADProgramParametersPile),设计人员可以通过它查询CAD自身定义的命令别名,如果发现系统的定义与个人的习惯或想象的不同,可直接在acad.PgP文件中参照原先的格式进行修改。创建别名的格式:短命令名,毒现有的命令名。如在命令行中以。L”代替“Line”用于绘制直线,以“Cx”代替“COPY”用于复制实体,以“c”代替“CIRCLE”用于绘制圆等,修改后在命令行输入“reinit”命令初始化acad.PgP文件使修改后的命令生效。在建筑绘图中将大量用到上述这类命令,用一、两个字母来代替完整的命令名,无疑可以大大提高绘图速度。本系统在初始参数文件的基础上修改和定义的简化命令见下表3-I:表3一l简化命令对照表简化命令CAD完整命令功能A*ARC绘制弧线AR*ARRAY阵列AT*ATTDEF属性定义B*BLOCK块定义9\nBR*BREAK实体打断BH*BHATCH封闭实体填充CX*COPY复制C*CIRCLE绘制圆E*ERASE删除实体EX*EXTEND延伸F*FILLET直线倒角L*LINE绘制直线I●INSERT插入块T*TEXT单行文字M半MOVE实体移动MI*MIRROR实体镜像MT*MTEXT多行文字O*OFFSET实体偏移SC*SCALE实体缩放TR*TRIM实体剪切X*EXPLODE分解实体Z宰ZOOM视窗控制|c其它内部命令的别名请参见acad.PgP文件3.1.3定义线型【16,17l线型是由线型文件定义的。AutoCAD的线型是由扩展名为“.LIN”的线型文件定义的,在名字为ACAD.LIN和ACADISO.LIN的线型文件中存放着AutoCAD已定义好的几十个标准线型。然而,在进行建筑给排水系统平面布置时,各系统的管线是错综复杂、相互交叉的,仅仅依靠一系列用空白分割的点和划组成的线型只会让设计图更加繁琐和难以识别,因此需要自行定义带有特定标识文本和形文件的线型.这些线型定义好以后,可以像内部定义的线型一样方便地加载和使用。定义线型有两种方法:一种是用文本编辑程序编辑线型文件;另一种是用LINETYPE命令的Create选项,创建新的线型。后者不能修改线型,也不能创建复杂线型。简单线型的定义:一个线型文件可包含多个线型定义,每个线型有一个标题行和一个定义行。标题行格式:宰linetype—name[,description]其中,木是标题行的标记,它后面紧跟线型名及对该线型的注释。定义行的格式:IO\nalignment,patdesc一1,patdesc一2,⋯,[’string’,stylename,R=n,A=n,S=n,x--n,y=n],patdesc-i,⋯其中,alignment是对齐方式,目前只允许使用A;其后为图案描述,CAD绘制时,该线型代码表示的内容将循环绘制。对于复杂的线型,在线型定义中还会用到形文件。形的定义通常含有一个标题行和多个描述行。标题行格式:*shapenumber,defbytes,shapename其中,木是标题行的标记,其后依次为形编号、字节数量和形名称。定义行格式:specbytel,specbyte2,⋯,0其中,specbytei是描述形的字节,以代码的形式,只占一个字节,如012,010等。最后以0结束。建筑给排水系统中的管线包括冷水给水管、排水管、雨水管、热水给水管等,为了更易于区分管线,定义线型时可以加入不同的字母,如F代表废水管道,R代表热水给水管。然后,在文本编辑程序如notepad中编写好后,保存为Ⅵ自定义名称】.LIN”文件即可。加载过程与标准线型加载相同。在实际应用过程中定义了十几种线型,摘录如下:宰废水管道,Wasteline一一F⋯一F⋯一F~一F一一A,30.O,一3.0,[’F’,STANDARD,S=2.54,R=O.0,X=-O.85,Y=一1.27],一3.0乖热水给水管,Hotline一一R_--一R⋯一R~一R一一A。30.0,一3.0,[’R’,STANDARD,S=2.54,R=O.0,X=-2.1,Y=一1.27],一3.0此外,在某些管道如雨水、污水绘制时需要标注方向(如图3-1所示),而CAD内部并没有箭头此类形的定义,此时就可以编辑一个形文件自动生成箭头以供使用。Y———E一一Y一—E一图3-1带方向的管线首先,定义方向箭头如下:.180,5,RIGHT·080,08,(一4,1),0宰190,5,LEFT088,08,(4,1),0分别保存为RI.shp和LE.shp,在CAD命令行中输入Compile编译成文件RI.shx和LE.shx后存储在CAD能自动搜索的文件目录下,然后就可以插入线型定义中了。图3一l的线型定义分别为:\n*RAIN—LINEl,Rainliner~一Y~一Y~一Y⋯一Y⋯一Y一一A,20.0,-3.0,[。Y’,STANDARD,S=2.54,R=O.0,X=-O.85,Y=-I.27],-3.0,20.0,一3.0,[RIGHT,RI.shx],一lO.0*RAIN—LINE2,Rainlline1⋯一Y一一Y一一Y一一Y⋯一Y一一A,20.O,-3.0,[’Y”,STANDARD,S=2.54,R=O.0,X=-O.85,Y=一1.27],-3.0,20.0,-10.0,[LEFT。LE.shx],一3.03.2工具命令模块3.2.1AutoCAD绘图常用的功能Ii$-201AutoCAD软件的最基本用途是图形绘制,其产生的原理即是将手工绘图过程中常用到的图形如直线、圆、点等模块化,创建成可根据参数自动绘制的命令,可重复调用,精确绘图;同时,为了方便用户修改,它建立了众多的编辑命令,克服了手工作图绘制繁琐、修改不易等缺点。。AutoCAD除提供各种接口外,也提供了很多常用的绘图、编辑命令,这些命令可分为三类:一为绘图类;二为编辑类;三为系统操作类。l、绘图类AutoCAD的绘图类命令用于创建实体,它包括基本绘图命令和高级绘图命令两类。基本绘图命令,如绘制点(point),绘制直线(1ine),绘制圆(circle),绘制矩形(rectang)等;高级绘图命令,如绘制椭圆(ellipse),绘制多边形(polygon)、图案填充(bhatch)等,与简单绘图命令相比,它所需的参数更多。通过上述命令可以完成基本的CAD实体生成功能。2、编辑类编辑类命令能对已生成的实体进行修改和复制,使之符合设计人员的需要,例如复制(Copy)、阵列(Array)、镜像(Mirror)、移动(Move)、旋转(Rotate),缩放(Scale)、延长(Extend)、拉伸(Stretch),剪切(Trim)、打断(Break),倒角(Fillet)等操作。3、系统操作类系统操作命令多用于完成层(Layer)控制、系统参数设置、存盘(Save)、输出图型(Plot)等操作。通过上述三类操作命令,设计人员可以更加快速的绘制基础图形,同时借助于计算机本身的优越性能,可以快速保存和进行修改。避免了手工图纸容易破损、修改不便的缺点。近年来,在建筑给排水工程设计领域,CAD出图率已经达到100%。用AutoCAD进行建筑给排水设计,在绘图方面主要是条件图的复制,管线的布置,管径、标高信息的标注等,本专业中相似组合图形的重复绘制也较多,但此类图形只能一笔一划地绘制,CAD等同于纸和笔,自动化程度较低。并且,随着设计人员对CAD软件的了解越来越深,各专业设计人员越来越清楚地发现CAD使用时的不便性,这是因为,作为通用的图形软件,CAD自\n身很难兼顾到某一特定专业的具体需要。例如,建筑给排水系统作为建筑图的一部分,具有结构复杂、线条繁多、图形多次重复等特点.在实际绘制过程中,常常遇到非标准的线型或在不同工程图中绘制与以前相似的组合图形的情况,在没有采用定制技术的条件下,设计人员只能一笔一划地绘制,不仅加重了设计人员的负担,也大大降低了设计效率。所以,依照本专业的实际需要,对CAD的命令进行扩充和优化是十分必要的。3.2.2增加的绘图和编辑命令为了方便使用,建筑给排水CAD定制与二次开发系统增加了一些绘图和编辑命令,部分功能如下:表3-2工具命令功能说明命令功能说明命令功能说明tcI锁定实体所在图层cI实线改虚线tc2解锁实体所在图层c2虚线改实线tc3冻结实体所在图层c3多重拷贝tc4解冻实体所在图层c4画45度线tc5关闭实体所在图层c5修改线型比例tc6打开实体所在图层c6修改文字高度Si单管线改成双管线c7平行四边形s2立管编号c8菱形s3修改立管编号c9标高s4指定角度旋转光标s7将所选实体放入当前层s5强制删除所选实体s8删除所有文字s6线段等分s9改变多根线的宽度部分命令功能原理说明:l、由于实体属性的修改需通过特性对话框,切换十分不便,所以将线型比例、字高、线宽等做成内部命令,只需输入修改参数即可完成属性设置【2¨。如修改线宽程序代码如下:PublicSubTransformToPolyline0OnErrorResumeNextDimSSetAsAcadSelectionSetIfNotIsNull(ThisDrawing.SelectionSets.Item(’ExampIe’))ThenSetSSet=ThisDrawing.SelectionSets.Item(’Example”)SSet.DeleteEndIfSetSSet=ThisDrawing.SelectionSets.Add(’Example”)\nDimPilterType(0To6)AsIntegerFilterData(OTo6)AsVariantPiIterType(O)=一4FilterData(0)=’Kor’FilterType(1)=0Fi1terData(1)=’Arc’FilterType(2)=0FilterData(2)=’Circle’FilterType(3)=0PilterData(3)=’Line’FilterType(4)=0FiIterData(4)=’Polyline’FilterType(5)=0FilterData(5)=。LWPolyline。FiiterType(6)=一4Fi1terData(6)=’or>’ThisDrawing.Utility.Prompt’选择要改变线宽的对象(直线、圆、弧和多段线):’SSet.SelectOnScreenFilterType.FiiterDatawidthAsDoublewidth=ThisDrawing.Utility.GetReal(’输入对象的线宽:’)entAsAcadEntityobjPlineAsAcadLWPolylineptStart,ptCenter,ptEndradiusAsDoubleangleStAsDouble,angleEnAsDoubleForEachentInSSetSelectCaseent.ObjectNameCase’AcDbLine。ptStart=ent.StartPointptEnd=ent.EndPointAddLWPIineSegptStart,ptEnd,widthent.DeleteCase’AcDbArc。ptCenter。ent.Centerradius=ent.radius\nangleSt=ent.StartAngleangleEn=ent.EndAngleAddLWPIineAreptCenter,radius,angleSt,angleEn。widthent.DeleteCase’AcDbCircle。ptCenter=ent.Centerradius=ent.radiusAddLWPIineCircleptCenter,radius,widthent.DeleteCase’AcDb2dPolyline’,’AcDb3dPolyline’,.’AcDbPolyline’ent.COnstantWidth=widthent.UpdateEndSelectNextentSSet.DeleteEndSub该程序还有几个子程序用来创建轻量多段线、圆弧段以及圆,这里只给出主程序,使用时,只需在命令行输入新线宽即可完成多根线的宽度设置。如图直线和圆弧:命令行:19[。选择要改变线宽的对象(直线、圆、弧和多段线):’<输入对象的线宽:;.§么(厦始线宽瞳屋2改变了一条直线和一段圆弧的宽度。修改后:15\n2、由于专业的需要,建筑给排水设计中时常会对图形做一些本专业的定制和修改,如闸阀的插入,立管编号、交叉点断线等,这些命令本身并不复杂,将其编写成命令之后,在不同的工程中可以重复使用,使设计更加方便。3、CAD的某些命令完成的功能并不复杂,但是由于计算机逻辑的局限性,常常需要输入众多的指令才能按要求绘制和修改图形,大大降低了效率。针对这一问题,本系统根据建筑给排水的特点,对部分CAD命令进行了优化。如图层的管理、图层的名称、颜色、线型等都可以通过程序来设置,不再需要打开图层特性管理器。\n第四章二次开发系统中的工具栏和菜单定制4.1定义工具栏122,23j为了绘图的方便,AutoCAD将常用的一部分命令单独提取出来做成了工具栏,用户只需点击相应的图标,便可完成指定的操作,如标注工具栏、绘图工具栏、图层工具栏等,工具栏内的图标既形象,又便于操作。为此,本系统也将增加的部分命令做成了一个自定义工具栏。工具栏段的标签固定为“木**TOOLBARS”,段以下设若干工具栏。每个工具栏有一个标签,它相当于下拉或图像子菜单的标题,位于工具栏名字的下一行,格式为:TAG[Toolbar(“tbarname”,orient,visible,xval,yval,rows)]TAGs该项的名称标记。Toolbar:T具栏标签的关键字。tbarname:工具栏的名称,由字母、数字、连字符或下划线组成。Orient:指定方向的关键字。Visible:指定可见性的关键字。有效值为Show和Hide,不区分大小写。Xval:整数,按象素指定x坐标,即从屏幕左边到工具栏左端的距离。Yval:整数,按象素指定Y坐标,即从屏幕上边到工具栏上端的距离。Rows:整数,指定行数。用户定义的位图可用于代替按钮菜单项和弹出菜单项中的id—small和id—big图像资源名称。对于id—small参数,用户定义的位图必须是16像素宽、15像素高,并且必须位于库搜索路径中。对于id—big参数,如果指定的位图不是32×30,则AutoCAD自动缩放到该尺寸。可用文件名和.bmp扩展名指定用户定义的位图,如下所示:TAG[Button(“tbarname”,mycmdl6.bmp,mycmd32.bmp)]TAG:该项的名称标记。Button:工具栏按钮的关键字。tbarname:工具栏按钮的名称,由字母、数字、连字符或下划线组成。mycmdl6.bmp:字符串,用于命名小图像资源(16x15位图)的ID字符串。mycmd32.bmp:字符串,用于命名大图像资源(32x30位图)的ID字符串。本系统的自定义工具栏段定义如下:木$TB—ZDYID—MYTOOL[-Toolbar(’自定义工具栏’,一Floating,一show,0,0,1)]ID—RESET[-button(’绘图环境初始化,’,icon—z一16.bmp,icon—z一16.bmp)]⋯CCP(if(not(LOAD’reset.LSP’))(LOAD’reset.LSP’)):‘Preset17\n[-一】ID—TK[_Flyout(4绘制图框’,icon—z一21.bmp,icon—z一21.bmp,_OwnIcon,ACAD.TB—TIJK)][--]ID—DN[-button(’管径标注’,icon—z一17.blnp,icon—z一17.bmp)]’C‘C‘P(if(not(LOAD’reset.LSP’))(LOAD’reset.LSP’)):‘PdnID__MYTOOIA【_button(。单管线改成双管线’’,icon—z一1.bmp,icon—z—1.bmp)]‘C‘C‘P(if(not(LOAD’reset.LSP’))(LOAD’reset.LSP’)):‘PslID_MYT001.3[-button(’管线交叉点断线。,icon—z一2.bmp,icon—z一2.br.p)]‘C‘C‘P(if(not(LOAD’reset.LSP’))(LOAD’reset.LSP’)):‘Ps10●⋯●●[--]ID—MYI"OOL4[一button(’闸阀插入’,icon—z一4.bmp,icon—z一4.bmp)]‘C‘C‘P(if(not(LOAD’fm.LSP⋯))(LOAD。fm,LSP’)):‘PzfID—MYTOOL5[一button(’截止阀l插入’,icon—z一5.bmp,icon—z一5.brap)]‘C'C‘P(if(not(LOAD。fln.LSP’))(LOAD’fm.LSP’)):‘PjzflID—MYTOOL7[一button(’止回阀插入’,icon—z一7.bmp,icon—z一7.bmp)]‘C‘C‘P(if(not(LOAD8fm.LSP’))(LOAD’fm.LSP’));‘Pzhf[一]木$TBI"I.JKIDTKlIDTK2IDTK3IDTK4IDTK5IDTK6[_Toolbar(”绘制图框。,一FIoating,-Hide,100,350,1)][一button(。A0图框’。icon—z一22.bmp,icon—z一22.bmp)]‘C‘C-insert:AO横向:\\\[一button(’Al图框’,icon—z一23.bmp,icon—z一23.bmp)]‘C‘C-insert;A1横向:\\\[一button(’A2图框’,icon—z一24.bmp,icon—z一24.bmp)]4c4C—insert:A2横向:\\\[—button(’A3图框’,icon—z一25.brap,icon—z一25.bmp)】‘C‘C-insert:A3横向:\\\[一button(’A4图框’,icon—z一26.bmp,icon—z一26.bmp)]18\n‘C6C—insert:A4横向:\\\自定义工具栏为浮动工具栏,界面如图4-1所示:图4-1自定义工具栏4.2定义幻灯菜单4.2.1幻灯片文件幻灯片文件的扩展名为“.sld”,它是AutoCAD生成的独立于图形文件的目标文件。幻灯片是图形的快照,虽然它包含特定时刻的图形图片,但它并不是一个图形文件。用户既不能将幻灯文件输入到当前图形中,也不能编辑或打印幻灯片。而只能查看它。幻灯文件的作用:l、在AutoCAD中进行演示;2、在绘制图形时查看其他图形的快照;3、在对话框中创建图像控件菜单。幻灯片是通过以幻灯片格式保存当前视图来创建的。幻灯片不能进行编辑,只能更改原始图形,然后重新生成幻灯片。如果在创建幻灯文件时使用的是低分辨率图形显示器,则以后换用高分辨率显示器时,仍然可以查看幻灯片。AutoCAD将相应地调整图像;但幻灯片不能充分利用新显示器,除非从原始图形重新生成幻灯文件。在用户查看幻灯文件时,它暂时代替屏幕上的对象。用户可以在它上面绘图,但如果改变视图(通过重画、平移或缩放),幻灯文件就消失了,AutoCAD只重新显示所绘制的图形和先前存在的所有对象。4.2.2幻灯片制作用MSLIDE命令建立幻灯片时应遵循以下原则:图形应该尽量简单,但同时也应容易区分。当图像菜单被显示时,必须等到所有的图像都显示完毕后才能进行选择。建筑给排水设计中存在大量相同的、需要反复使用的图形符号,如各种卫生器具、阀门、小型构筑物等,它们的绘制必须严格按照相关的制图规范或给水排水制图标准的要求。由于CAD是通用软件,本身并不提供单个专业绘图的工具条,所以给排水设计人员常常需要在设计中重复地绘制一些相同的复杂图形,而大大降低了绘图的效率。因此开发和设计一套满足规范和本单位设计要求的图库是十分必要的。图形库的建立过程关键在于“块”的使用。根据给排水制图规范的要求,结合建筑给排水工程的实际需要,二次开发系统定制了一个名为标准图例的幻\n灯片图库,包括标准图框、卫生器具、阀门、小型给排水构筑物、给排水设备、给排水仪表、排水附件、水泵及附件、标高符号、其他附件等十个类别[24q们。图形库创建的具体步骤如下:(1)在CAD环境下绘制各种基本元素的图形,然后通过命令WBLOCK对每个图形进行块定义,接着定义一个容易识别的名称并将其保存到图形文件中,如闸阀.DWG。保存时,将这些文件放置到CAD能自动搜索的文件目录下,如DRV、SUPPORT子目录下,或者在CAD文件选项里自行添加搜索路径。(2)打开需要制作为幻灯片的图形文件,将图形放大到屏幕中央,键入MSLIDE命令,保存时幻灯片的名称与相应块的名称相同,如闸阀.sld,存储到与.DWG相同的子目录下。(3)打开acad.mnu文件,在***POPl2后添加如下语句:木木母POPl2**SUN功一ARCH【建筑给排水(&A)]IDJK[专业图框]$1=SUNl$I=}ID—BLKK[一>标准图例]ID—WEISHENG[卫生设备]$1=SUN2$I=·ID—FAMEN[阀门]$I=SUN3$I=}ID—GOUZHUWU[小型给排水构筑物]$I=SUN4$I--*ID—SHEBEI[给排水设备]$I=SUN5$I=·ID—YIBIAO[给排水仪表]$I=SUN6$I=牛功一PAISHUI[排水附件]$1=SUN7$I=木ID—SHUIBENG[水泵及附件]$I=SUN8$I=幸ID—BIAOGAO[标高符号]$1=SUN9$I=謇功一QITA[<一其他配件]$I=SUNIO$I=木[一]在***IMAGE中添加如下语句:**SUNI[专业图框][AO横向]‘C‘C-insert;AO横向;\\\[AI横向]‘C‘C—insert;;A1横向;\\\[A2横向]‘C‘C—insert;A2横向;\\\[A3横向]‘C‘C—insert;A3横向;\\\[A4横向]‘C‘C—insert;A4横向;\\\**SUN2\n[卫生设备][立式洗脸盆]‘C‘C—INSERT;立式洗脸盆;\\\[台式洗脸盆]‘C‘C—INSERT;台式洗脸盆;\\\[挂式洗脸盆]‘C‘C—INSERT;挂式洗脸盆;\\\[浴盆]‘C‘C—INSERTs浴盆;\\\**SUN3[阀门][闸阀]‘C‘C‘P(if(not(LOAD’fm.LSP’))(LOAD。fm.LSP’));“Pzf[蝶阀]‘C‘C‘P(if(not(LOAD’fm.LSP’))(LOAD’fm.LSP’));‘Pdf保存后必须在CAD命令行中键入Menu命令重新加载新的acad.innu文件,然后,可以看到界面如图4-2所示:圈}2绘图环境以卫生器具、阀门、给排水设备、给捧水仪表为例,各类别图库界面如下图4-3、4-4、4-5、4-6:图4—3卫生设备图库2l\n图4—4阀门图库图4-5给排水设备图库图4-6给捧水仪表图库此时点击图标或名称即可将标准图形插入图形文件中,而它的修改和编辑等功能与块的操作是相同的。在用AutoCADVBA进行编程时,经常要预览图片以选择符合设计人员要求的图块。因此,VBA中也有用于预览的控件AutoCADS1ideOLEControl。该控\n件的大小以及加载方式由用户决定,例如消火栓计算草图生成时要插入消火栓图块见图4—7。图}7消火栓计算草图对话框4.3定义菜单4.3.1菜单文件【271菜单文件是一种ASCII文本文件,其组成部分定义了用户界面各部分的功能。默认的菜单文件是acad.mnu。可以在support文件夹中找到该文件,并在记事本中打开该文件以查看完整菜单文件的外表特征。利用菜单文件可以定义用户专用的菜单,还可以扩充AutoCAD的功能,提高其自动化程度,因此菜单文件是开发AutoCAD的有效途径。菜单文件包括若干部分:第一部分始终是Menugroup部分,它为菜单文件指定唯一的菜单组名。菜单组名是一个最多可包含32个字母数字字符的字符串,不能包含空格和标点符号。后续部分定义了AutoCAD界面的特定区域,并包含通常由名称标记、标签和菜单宏组成的菜单项。菜单文件的各部分由使用格式***section—name的部分标签进行标识。多个按钮部分、辅助部分、弹出部分和数字化仪部分均被编号,例如***POP5表4—1菜单标签部分标签用户界面区域木术水MENUGROUP菜单组名半球jIcBUTTONSn定点设备按钮菜单***AUXn系统定点设备菜单***POPn下拉菜单和快捷菜单水木爿cTOOLBARS工具栏定义***IMAGE图像控件菜单***SCREEN屏幕菜单木木木TABLETn数字化仪菜单\nI***HELPSTRINGS当亮显下拉菜单或快捷菜单项时,或者当光标位于工具栏按钮上时,显示状态栏中的文字I***ACCELERATORS快捷键(或加速键)定义4.3.2下拉菜单、快捷菜单下拉菜单和快捷菜单都显示为级联菜单(也称为步进菜单或层次菜单)。快捷菜单有两种类型;它们都在光标所在位置显示。一种是上下文菜单,该菜单在单击右键时显示,用于提供与当前操作或屏幕上光标位置相对应的命令。另一种是对象捕捉菜单,该菜单在按下SHIFT键并单击右键时显示,用于提供对象捕捉和追踪选项。下拉菜单在***POPl到***POP499菜单部分中定义,快捷菜单在***POPO以及***POPS00到***POP999菜单部分中定义。下拉菜单最多可以包含999个菜单项。快捷菜单最多可以包含499个菜单项。这两个限制适用于层次结构中的所有菜单。如果菜单文件中的菜单项超过这些限制,AutoCAD将忽略多余项目。如果下拉菜单或快捷菜单比可用显示空间要长,则它会被截断以适应显示空间。快捷菜单通过SPO=*菜单命令来访问,该命令可以由其他菜单项(例如BUTTONSn菜单项)或AutoLISP或ObjectARX程序发出。当快捷菜单被激活时,菜单栏不可用。引用下拉菜单或快捷菜单有两种方法:相对弓l用和绝对引用。相对引用使用菜单组和名称标记;绝对引用使用菜单项在菜单结构中的绝对位置。建议使用相对引用方法,因为该方法的动态特性使得无论菜单的当前状态如何,该菜单都能正确地发挥其功能。4.3.3系统菜单二次开发系统将建筑给排水系统作为一个下拉菜单镶嵌在AutoCAD菜单区中,作为第12个菜单段,标签为***POPl2。系统主菜单如下:图4-8系统主菜单“建筑给排水”是建筑给排水CAD二次开发系统的根菜单,与其并列的是AutoCAD的原始菜单。“建筑给排水”由图库、工具程序、各子系统绘图、计\n算程序几部分组成。各部分子菜单如下:图4-9图块插入图4—10工具命令图4—11给水系统菜单图4—12捧水系统菜单图4-13消防系统菜单图4-14热水系统菜单\n图4-15自动喷淋灭火系统菜单\n第五章建筑给排水CAD的二次开发5.1部分V队功能5.1.1对话框对话框是一种深受用户欢迎的界面,它形象、直观、随意输入,随时修改,鼠标、键盘并用,操作方便。AutoCADVBA的对话框主要是引用了VisualBasic常用的窗体编辑器,窗体的属性决定了窗体的外观和操作。可以使用两种方法来设置窗体的属性125】:一是通过属性窗口设置,二是在窗体事件过程中通过程序代码设置。大部分属性既可以通过属性窗口设置,也可以通过程序代码设置,而有些属性只能用程序代码或属性窗口设置。对话框由若干带有属性定义的控件组成,每一种控件属于一种类型,每一个控件有多个属性。每个属性都有一个名字和值。控件的这些属性确定了它的外观形式和动作行为。某些控件是常用的打开VBA对话框编辑器即可使用他们,如textbox。lable等,但是很多控件不是常用的控件,用户需要用到时需要重新引用如AutoCADSlideOLEControl控件,用户在工具里点击引用便可看到各种不常用的控件。为了计算和绘图的参数选择更加直观简便,建筑给排水系统CAD--次开发系统中大量的用到了对话框。以图5-I屋顶水箱选型的对话框界面为例,说明如下:图5—1屋项水箱选型对话框该对话框用到多种控件,例如框架控件的使用使得各种信息更清楚,如水箱的用途、消防用水量、生活用水量等。此外还用到单选控件、标签、文本框、命令按钮等。计算过程由VisualBasic语言编写,计算的指令由命令按钮发出。在屋顶水箱选型计算时,加载了对话框后,在命令行输入SX便运行程序,选择水箱的用途,如消防水箱,这时生活用水计算便处于灰色不用的状态,输入消防用水量点击“计算容积”按钮便可算出水箱容积,并选好型号,同时可以输出计算结果。\n5.I.2自动绘图及标注程序建筑给排水设计中主要有两方面工作,一是在平面图上布置管线,二是根据设计的管网进行水力计算和校核.最后输出的设计成果也包括两部分,即计算说明书和各子系统的系统图。在初始的管线布置阶段,由于规范的要求、平面图的复杂性和与结构、电气、暖通等专业进行协调的需要,人为因素占控制地位,所以这部分需要设计人员手工完成。平面管线布置好后,如果计算草图、系统图也都由设计人员一笔一划绘制的话,不仅加重了设计人员的负担,也没有充分体现计算机的智能化和自动化优势。由于平面布置时,各系统管线的相关数据如管长、角度等基础信息均已知,所以二次开发系统中用程序实现计算草图、轴测图绘制只需要输入层数、各层层高等少数参数即可完成。绘图参数数值的获取有三种方式,一是从命令行输入,可以在计算过程中进行,如计算完成后计算管路管径的标注就是由程序自动对命令行发出指令完成的;二是从对话框获取,在计算前绘制,如给水管网、热水管网的绘制即采用此方法;三是通过快捷菜单获取,如非计算管段管径的标注就是预先定制了快捷菜单并以程序驱动的。以给水管网绘制为例,根据配水管网水平干管的位置不同,给水管网分为下行上给和上行下给两种供水方式,一般高层建筑采用竖向分区,上区由水箱供给,属上行下给方式,下区由市政管网供给,属下行上给方式。为了设计的方便,二次开发系统将这两种方式分别编制成独立的程序。绘制时,在命令行输入命令名gsl可激活市政供水绘图对话框,如图5-2所示。图5—2市政供水绘图在对话框中按提示输入参数即可由程序自动完成计算草图的绘制,同时,程序根据层高数据计算每一楼层和该楼层卫生器具安装的标高并依次标注于图上,该图经过局部修改后即可作为轴测图或系统图输出。例如上述对话框图5—2绘出的管网如下:28\n图5—3市政供水管网草图所有计算完成后,程序自动调用计算结果中的管径数组,与管段对应在管段中心标注。图中的标高是自动标注的,程序运行前把标高符号做成一个块,同时做一个幻灯片用来预览该块。把文字信息附着于块定义,使得引用块更方便快捷,该文字属性是从属于块的非图形信息,即块中的文本对象,它是块的一部分。VBA中使用GetAttributes方法返回附着到块的属性参照数组及其当前值,主要是通过计算程序把计算出来的每层层高或卫生器具安装高度返回附着到块的属性,这样便完成了标高的自动标注。程序运行结束后,部分计算管径已经完成管径标注,非计算管线的管径标注则通过管径标注工具程序完成,如某管段的管径为150,标注过程如下:命令行:g!垒£请设置与图形相协调的文字大小::墅旦£请选择管材种类(1塑料管;2钢管、铸铁管):土请拾取需标注管径的管道<回车退出>::!虑童选登2£拾取管道的同时按右键激活预先定义的快捷菜单,界面如下:■竹覆图5—4管径标注程序快捷菜单\n选择管径标注,如果管径超出定义的范围,则还可在命令行中直接输入管径标注。如500管径,命令行提示:请输入该管道管径<15>:鲤鱼£5.1.3VBA中的过滤选择功能在给排水管线布置过程中,平面图里的管线是多种多样的,既有给排水的管线又有建筑图线。有的时候只需选择其中的某一种管线,如果点选会比较费事,VBA提供了过滤选择功能,通过程序用户可以利用框选方法选择自己需要的管线。在使用选择集方法选择对象时,可以使用过滤器来限定选择的对象。例如,可以指定仅选择图层上的直线对象,也可以指定仅选择某一种颜色的圆或别的实体。在建筑给排水中,经常要画系统图,例如,自动喷淋系统,平面布置图画好后需要把喷头和管线转为系统图,平面布置如图5-5所示,系统图如图5-6所示。O————_卜————咱—————e——r——e———卅争—————卜————_e—————争——卜——争———叫图5-5自动喷淋喷头平面布置图图5-6自动喷淋喷头布置系统图程序使用到的部分代码如下:Dimftype(OTo9)AsIntegerDimfdata(0To9)AsVariantftype(0)=一4:fdata(0)=’’ftype(5)=一4:fdata(5)=’’ftype(9)=-4:fdata(9)=’or>’SetSSet=ThisDrawing.SelectionSets.Add(”集合l’)SSet.SelectOnScreenftype。fdata该程序实现了把自动喷淋平面布置向系统图的转换,实际布置时还会有一\n些别的图线,但是这里利用了VBA的过滤选择功能,只选择平面里在图层’EQUIP一喷头。里的圆和图层。PIPE-喷淋’的直线。5.1.4VBA与excel的接口程序VBA提供了可与其他启用VBA的应用程序集成的应用程序。这意味着AutoCAD通过使用其他应用程序对象库可用作其他应用程序(例如MicrosoftWord或Excel)的Automation控制程序。把VBA集成到AutoCAD为自定义AutoCAD提供了一种易于使用的可视化工具。例如,用户可以创建一个应用程序,用于自动提取属性信息,把结果直接插入Excel电子数据表并执行所需的任意数据转换。AutoCAD与Excel的接口有两种,一是从Excel表格中读取数据然后在AutoCAD里进行计算或绘图等,二是将AutoCAD里的数据输出到Excel表格包括直接选择的数据和程序计算出来的数据。在建立与Excel的接口时,可以通过VBAIDE引用对象库。在VBAIDE中的“工具”菜单下,有一个“引用”选项。选择此菜单选项后将显示一个对话框,列出VBA在系统中找到的所有对象库。要引用某个库,只需从列表中选择该库即可。对应复选框已被选中的库,表示已经在当前工程中引用。本系统把水力计算结果同时以文本文档和Excel形式输出,Excel输出格式如下:图5—7Excel接口输出形式在管径选择时存在以下问题:选择大一级的管径,能减小流速和水头损失;选择小一级的管径,则可节省管材,降低管网造价,从而使得一项工程会因为考虑问题的方向不同而生成几套方案[29,30】。为了选择最优的管网设计,就必须对各方案进行经济评价。本程序中,主要考虑进行管网造价计算。进行造价计算,首先就必须从数据文件中获取各种管质、口径的管材价格,为了与市场同步,建立的数据文件应当能随时更新。在进行管网造价计算时,把各种管材类型各种大小的管径的价格存在Excel表格了,然后通过接口程序计算出对应管段的造价,最后把结果输出。热水管网造价部分程序如下:\nPublicSubrszaojia()DimAppAsExcel.Application’定义EXCEL类DimBookAsExcel.Workbook’定义工作簿类DimSheetAsExcel.Worksheet’定义工作表类SetApp=createObject(’Excel.Application’)’创建EXCEL对象SetBook=App.Workbooks.Open(’D:\管材报价.xls’)’打开已经存在的EXCEL工件簿文件SetSheet=Book.Worksheets(1)’打开EXCEL工作表Dimaa(1To100)AsDoubleOnErrorGoToexclerrlApp.Visible=False’设置EXCEL对象可见(或不可见)ForJ=1TomFori=1To30IfSheet.Cells(i,1).Value=d(j)Thenaa(j)=Sheet.Cells(i,2).Value’获得对应管材的价格ExitForEndIfNextibaojia(J)=aa(J)木l(J)Nextjexclerrl:Book.Closezongjia=0OnErrorGoToexclerr2Open’D:\\热水管段价格参考表.txt’ForAppendAs#lPrint#1,。管段号一管长(哪)一管径(mm)~单价(元/m)一总价(元)’Forj=1TomPrint#1,j:’⋯一’:Format(1(j),’0’):’⋯一’:d(j):’⋯一’:aa(J):’一⋯’:Format(0.001宰baojia(J),’0.00’)zongjia=zongjia+baojia(j)NextJPrint#1,’所选材料为:钢管累计价钱为:。&Format(0.001}zongjia,。0.00”)&。元。exclerr2:Close#1EndSub\n5.'.5管段编号及数据采集功能集合对象是~种预定义的对象,包含相似对象的所有实例,比如所有管线.集合中的对象被称为成员。集合本身就是一个对象,集合具有自己的属性和方法。在AutoCADActive中,每个选择集(SelectionSet)都有唯一的名称,一个选择集对象可以选中许多图元(Entity)对象。在建筑给排水管网计算中,一般多为水力计算。由于管线很多,如果将全部管线一律加以计算,实际上并没有必要。设计人员通常确定一条最不利管线作为计算管路,进行水头损失计算和水压复核。在本文的设计中,把整个计算管路作为一个选择集来考虑。绘制复杂图形一般都使用多个图层。方便以后的查询和修改,本程序设计中也对管网图形进行较为细致的分层.管网图形分别以个子系统名定义,如给水层,污水层,管段标注定为标注图层,管段、节点编号则定为标号图层,这些都由程序在计算或绘图中自动完成,当然用户也可以自己定义。定义好图层后,以后要使用某个图层只要把其设为当前图层就可以了。论文中用到的数组大多使用安全数组来表示。管段的基本数据如管长、角度,计算的结果如管径、流量等储存在安全数组中,并将其设置为全局函数,从而可以在多个子程序间调用,达到了程序的连贯性。选择使用安全数组的另一原因是:安全数组是一种特殊的数组,它可以储存各种类型的数据,同时限制了不能在边界之外赋值,因此不会引起数据异常。使用安全数组的另一个优点是各数组中的相关数据如某一管段的管径、管长、管段温度等可以通过相同的索引号相互对应,方便调用。在管段编号时,程序按照管段在屏幕里被选择的先后进行编号,先进的先编号,管段长度是根据选择到的实体直线,依据直线的起点和终点坐标计算出来的,它的数值对应于相应的管段号。此时,依据直线的起点和终点坐标进行节点编号,相同的坐标值仅进行一次编号,例如图5-8自动编号后标注如图:岂4S图5—8管段及节点编号管段1和管段2是连接在一起的,那么管段l的起点或终点便可能是管段\n2的起点或终点,因此,把相同的值去掉一个,这样节点编号就不会重复了.节点编号的部分程序代码如下:SetblockObj(1)=ThisDrawing.ModelSpace.InsertBlock(pl,’标号1.dwg’,l,1,l,0)SetblockObj(2)=ThisDrawing.ModelSpace.InsertBlock(p2。’标号I.dwg’,1,1,1,0)b=blockObj(1).GetAttributesb(O).TextString=lb=blockObj(2).GetAttributesb(O).TextString=2PP(1)=pl:PP(2)=p2Fori=2Tomp3=pee(i):p4=pss(i)ml=Str(p3(O))’取得节点字符串m2=Str(p3(1))mlI=Str(PP(i)(0))m22:Str(PP(i)(1))zh=ml&m2zhl=m11&m22Ifzhl=zhThen’判断节点处是否插入了块pp(i+1)=p4Elsepp(i+1)=p3EndIfSetblockObj(i+1)=ThisDrawing.ModelSpace.InsertBlock(PP(i+1),”标号1.dwg’,l,1,l,0)b=blockObj(i+1).GetAttributesb(O).TextString=i+1Nexti5.2建筑给捧水系统开发建筑给排水设计中有很多计算,有些计算通过查手册上的数据,代入计算公式或经验公式完成;还有些复杂的水力计算要用到插入值、迭代等算法,这些算法是无法用手工完成的。设计人员在建筑给排水设计中,经常要翻阅厚厚的设计手册,查一些图表,复杂的计算有时只能凭设计人员的经验估算。另外,设计手册中的计算图表是供复杂计算用的,通过计算图表得到的计算结果不精确,查阅也不方便,难以满足移动办公的要求。因此,需要开发建筑给捧水的\n计算功能,包括设计手册中的部分常用的数据,同时,对部分建筑给排水设计中常用的图表实现数字化,使设计更方便快捷。5.2.1给水系统在完成给水管线布置,绘出管道轴测图后需要进行给水系统水力计算。计算的目的是确定给水管网各管段的管径和给水系统所需的压力,复核室外给水管网的水压是否满足室内给水系统所需压力的要求。设置升压、贮水设备的给水系统,还要选定升压、贮水设备和确定其设置高度‘31l【321。给水系统水力计算的步骤如下:l、根据轴测图选择配水最不利点,确定计算管路。2、以流量变化处为节点,从配水最不利点开始,进行节点编号,将计算管路划分成计算管段,并标出节点问计算管段的长度(由管网编号及自动标注程序完成)。3、根据建筑物的性质选用设计秒流量公式,计算各管段的设计秒流量。4、进行给水管网的水力计算。在确定各计算管段的管径后,对采用下行上给式布置的给水系统,应计算水表和计算管路的水头损失,求出给水系统所需压力H,并校核初定给水方式。采用设水箱上行下给式布置的给水系统,则还应校核水箱的安装高度。5、确定非计算管路各管段的管径。建筑内的生活用水量在1昼夜、1h里都是不均匀的,为保证用水,生活给水管道的设计流量应为建筑内,卫生器具按配水最不利情况组合出流时的最大瞬时流量又称设计秒流量。给水管道的设计秒流量不仅是确定各管段管径,也是计算管道水头损失,进而确定给水系统所需压力的主要依据。因此,设计流量的确定应符合建筑内部的用水规律。建筑内给水管道设计秒流量的确定方法归纳起来有三种:一是经验法,虽然简捷方便,但不够精确;二是平方根法,其计算结果偏小;三是概率法,该法理论方法正确,但需在合理地确定卫生器具设置定额,进行大量卫生器具使用频率实测工作的基础上,才能建立正确的计算公式。目前我国生活给水管网设计秒流量的计算方法,按建筑的用水特点分为两种‘33】【34J.一是用水时间长,用水设备使用不集中:qg=o.2口√以十纵式中:q广计算管段的给水设计秒流量,L/s)N.一计算管段的卫生器具给水当量总数;k、a一根据建筑用途而定的参数;二是用水时间集中,设备使用集中:qs=∑q。‰6式中:q广计算管段的给水设计秒流量,L/sq。一同一类型的1个卫生器具给水额定流量,L/s;\nn。一同类型卫生器具数;b--卫生器具的同时给水百分数;这里采用第一种情况进行程序的编写。其中参数d、k值由对话框选择不同的建筑物用途而定,另外考虑到管材的类型对管径、水头计算都有较大影响,所以也在该对话框中选择,对话框界面如图5-9。图5—9给水管网计算参数对话框设计最大流速可以在对话框里设定,当管段的流量确定后,流速的大小将直接影响到管道系统技术、经济的合理性,流速过大易产生水锤,引起噪声,损坏管道或附件,并将增大管道的水头损失,提高建筑内给水管道所需的压力.流速过小,又将造成管材的浪费。考虑以上因素,设计时给水管道流速应控制在正常范围内:生活或生产给水管道,不宜大于2.Om/s,当有防噪声要求,且管径小于或等于25mm时,生活给水管道内的水流速度,可采用0.8~1.Om/s。管径的计算公式如下:管径:式中:d=辱q。一计算管段的给水设计秒流量,L/s;d一计算管段的管径,m;v一管段中的流速,m/s该系统同时开发了两种方式以确定管径:一是传统的手动选择方式,设计人员逐一选择每一管段的管径,其它如流速、水头损失等的计算都在对话框中完成。计算结果中还列举了所选管径上一级和下一级的计算结果,供设计人员参考对照。该计算器界面如下:\n图5_10给水管水力计算器虽然这种方法选择的管径较为准确也便于进行流速复核,但是管线越多,设计人员需要选择的次数也就越多,十分麻烦。所以本系统还提供了另一种计算方式,即通过预定流速的方法确定管径,程序流程图如下:图5一11预设最大流速法确定管径这种方法不仅减少了数据输入的次数,并且保证管段流速在经济范围之内,整个计算过程与手动方式相比效率大大提高。管径确定后,管网水头损失的计算公式则会因管材的不同而不同:钢管和铸铁管的单位长度水头损失,应按下式计算:式中:Ⅲ.oo蚍芳(-+翱¨圳脚芳i--单位长度的沿程水头损失,kpa/m、r一管道中的平均水流速度,m/s;dj一管道计算内径;37\n塑料管的单位长度水头损失,应按下式计算:.10.67×qt胆。150‘852×d.4。7式中:q~计算管段的给水设计秒流量,L/s;dj一计算管段的管径,H1;为了提高计算的精确性,公式中的管径均采用内径。设有屋顶水箱的给水系统,还需要进行水箱设计与选型,主要是确定水箱有效容积,然后据此查阅《给水排水标准图集S1(上)》,得到其标准平面、立面、侧面及配筋图。计算有效容积时,因为手册查阅不便,所以本系统加入了水箱选型部分,设计人员通过一个计算窗口就可以不用查阅手册和标准图集,得到设计需要的数据。水箱选型的计算窗口如下:图5—12水箱选型水箱选型程序按水箱用途分为生活用水水箱、消防用水水箱以及生活消防合用水箱。图5-12中为生活用水水箱,各参数和计算结果见对话框。水箱的有效容积主要根据它在给水系统中的作用来确定。若仅作为水量调节之用,其有效容积即为调节容积;若兼有贮备消防和生产事故备用水量作用,其容积应以调节水量、消防和生产事故备用水量之和来确定p“。生活用水水箱的容积理论上应根据室外给水管网或水泵向水箱供水和水箱向建筑内给水系统输水的曲线,经分析后确定,但是以上曲线不易获得,因此,实际工程中可按水箱进水的情况由以下经验公式计算确定:1、室外给水管网直接供水:矿=QL瓦式中:V一水箱的有效容积,Ⅲ3;QL一由水箱供水的最大连续平均小时用水量,m3/h;T。一由水箱供水的最大连续小时,h;2、人工操作水泵进水:V=塑一瓦统%式中:V一水箱的有效容积,rfl3;\nQd一最高日用水量,m3/hin。一水泵每天启动次数;Tb_水泵启动一次的最短运行时间;Q。一水泵运行时间内建筑平均小时用水量,m3/hi3、水泵自动启动供水:y=c’耄毒式中:V一水箱的有效容积,m35qb一水泵出水量,m3/h;Kb一水泵l小时内最大启动次数,一般4’8次;C一安全系数,可在1.5’2.O内采用本系统设定按照水泵自动启动供水方式进行计算。计算时,选择生活用水,输入用水单位数,选择用水定额,通过确定按钮产生动作并回调函数,输出计算结果。编写程序时,已将标准水箱的型号、尺寸、公称容积作为表输入,计算完成后,通过计算容积与公称容积的对比,选择适宜的水箱型号,并可根据标准尺寸生成水箱立面图。水箱选型部分程序如下:PrivateSubCommandButtonl-click0IfFramel.Enabled=TrueThenm=TextBoxl.Valuekh=TextBox2.Valueqd=TextBox3.Valueql=m木qd宰kh/1000/24E1seql=0EndIfFrame2.Enabled=TrueThenqxh=TextBox4.Valueq2=qxhE1seq2=0EndIfvl=ql木2/24v2=q2母10唯60/1000v=v1+v2Fori=0To32Ifv木1.05O/2爿=0一口+siIl口cos口y2p=20一pyR=—(z—-10荔+s=in否g厂cosO)r41\nh<号时h>号时图5-15非满流管截面计算示意图排水立管则先计算立管的设计秒流量,然后按通气方式不同查表选择管径。其水力计算对话框如图:图5一16捧水立管水力计算器排水立管计算的部分VBA程序代码如下:PrivateSubCommandButtonl-click0Np=TextBoxl.ValueQpl=0.12牛a幸Sqr(Np)+qmaxQp2=0.33牛NpIfQpl<,’‘V’/。\//\一I一图5—21正方形喷头布置图喷头间距按下式计算:X=B=2R.cos45。X一喷头间距,m;R--喷头计算喷水半径,m;喷头与墙的距离不应超过B/2。2、矩形喷头布置如图5—22:图5—22矩方形喷头布置|!EI喷头间距按下式计算:√丽≤2RA一长边间距,gl;B一短边间距,m;R一喷头计算喷水半径,m;48\n式中下:喷头与墙的距离不应超过B/2。3、菱形喷头布置如图5—23厂一Y.Y一、\l冬淤肿li蓝l#婶弘l1El\1人7人l/lJ{图5—23菱形喷头布置图喷头间距按下式计算:』=4R.cos30‘.sin304B=2R.cos304*COS30。R一喷头计算喷水半径,in;喷头与墙的距离不应超过B/2.本开发系统把以上几种情况的布置方法均放在同一对话框里,具体界面如图5—24喷头布置对话框图5—25任意喷头布置对话框图5—24中喷头的布置形式在接管方式里选择,图中选了菱形布置喷头的形式,用户根据已知行列数或最大间距来布置喷头,同时可以确定喷头半径等参数。此外,本开发系统还给出任意喷头布置的对话框如图5—25所示,根据此对话框可以布置单个喷头或一条直线上的喷头。根据以上的程序可以满足用户需要的各种喷头布置情况,但是以上程序画出的图形不能作为最终的工程图,需要加一些辅助的程序来完成。自动喷淋喷头平面布置图一般还包括管长和管径的标注,管线也有~定的宽度,同时还要\n区分喷头是上喷还是下喷,此外还要画出喷头不置的轴测图。具体结果见图5—26和图5-27。图5—26喷头布置平面图图5—27喷头布置轴测图自动喷淋喷头的选择如图5—28,在该对话框里可以选择并预览已经定义好的喷头。自动喷水灭火系统管径的确定由管段连接的喷头数来初定,不同的危险等级相同管径能连接的最大喷头数不同。具体界面如图5—29。图5_28喷头类型选择对话框图5—29根据喷头确定管径自动喷水灭火系统水力计算的目的在于确定管网各管段管径、计算系统所需的供水压力、确定高位水箱的安装高度和选择消防水泵。目前我国关于自动喷水灭火系统管道水力计算方法有两种,即作用面积法和特定系数法。1、作用面积法:作用面积法是假定在作用面积内,每个喷头的喷水量均等于最不利点喷头的喷水量来简化计算的方法。首先选定最不利点的作用面积(以F表示)在管网中的位置,此作用面积宜采用正方形或矩形。当采用矩形布置50\n时,其长边应平行配水支管,边长(B)宜为作用面积平方根的1.2倍,即口=1.2√F.在计算系统流量时,假定作用面积内每只喷头的喷水量相等,均以最不利点喷头喷水量取值,仅作用面积内的喷头才计算喷水量。这种计算方法是考虑到实际火灾发生时,一般只开启一个或几个喷头,此时由于系统的出水量远未达到设计流量,系统水头损失较小,喷头处实际水压和流量必定超过设计值。2、特定系数法:特定系数法是从系统设计流量最不利点的喷头开始,沿程计算各喷头的压力、喷水量和管段的累积流量、水头损失,直到达设计流量为止。在此之后的管段,流量不再增加,仅计算沿程和局部水头损失。这种计算方法的特点是在系统中,除最不利点喷头外的任意一个喷头的喷水量或任意相邻四个喷头平均出水量,超过设计要求,所以系统计算偏于安全。本开发系统的水力计算程序采用作用面积法。计算界面如图5-30:图5—30自动喷淋水力计算对话框l、喷头的出流量计算公式:q=K圻-0-P式中q一喷头出流量,L/min;P一喷头工作压力,Upa;K一喷头流量系数,标准喷头K=80。2、系统的设计流量,应按最不利点处作用面积内喷头同时喷水的总流量确定:Q2击善gf式中蜴一系统设计流量,L/s;吼一最不利点处作用面积内各喷头节点的流量,L/min;n一最不利点处作用面积内的喷头数。系统的理论设计流量,应按设计喷水强度与作用面积的乘积确定:D,:!』一。60式中铣一系统理论计算流量,L/s;q,一设计喷水强度,Ll(min。m2);\nF--作用面积,m‘。3、沿程水头损失和局部水头损失每米管道的水头损失应按下式计算:川.oo⋯鲁式中i一每米管道的水头损失,MPa/m;V--管道内的平均流速,m/s:as一管道的计算内径,m,取值应按管道的内径减lmm确定。沿程水头损失应按下式计算:厅=il式中h一沿程水头损失,MPa;,一管道的长度,m。管道的局部水头损失宜采用当量长度法计算。5.2.5热水系统建筑热水供应系统按热水供应范围的大小,可分为集中热水供应系统和局部热水供应系统。与冷水给水系统一样,按照配水管网水平干管的位置不同,热水管网也分为下行上给和上行下给两种供水方式。选用何种供水方式应根据建筑物用途、热源的供给情况、热水用水量和卫生器具的布雷!情况进行技术和经济比较后确定【401。建筑内的热水系统主要由热媒系统、热水供应系统和附件三部分组成。热媒系统系统又称第一循环系统,由热源、水加热器和热媒管网组成。热水供水系统又称第二循环系统,由热水配水管网和回水管网组成。热水量,耗热量和热媒耗量是设计和计算热水供应系统中各种设施的主要依据。该部分计算公式简单,计算中多为经验参数的选择,所以可以通过简洁的对话框完成,具体界面如图5—31所示:\n图5—31热水量及耗热量计算器配水管网水力计算的且的主要是根据各配水管段的设计秒流量和允许流速值来确定配水管网的管径,并计算其水头损失值。配水管网中设计秒流量的计算方法同冷水系统,但由于水温和水质的差异,考虑到结垢和腐蚀等因素【4¨,在计算管径和水头损失时,与冷水系统有所不同,主要区别如下:1、水头损失的计算公式不同。热水管网的计算公式为水头损失(水温60。c):v≤o.44m/sR:0.000897芸f1+业1”口/\V/v≥0.44m/s删.oo蛳:4芳式中:v一管中流速,m/sodj一管段内径,inln。2、热水管道内的水流速度较小,一般采用0.8m/s~1.5m/s;当管径≤25mm时,宜采用0.6m/s~0.8m/s。对于标准较高,对噪声有严格要求的建筑物,其管道流速应取下限;反之,可取上限。3、热水管网的局部水头损失一般可按沿程水头损失的25%~30%进行估算,也可按局部水头损失的计算公式逐一计算后累加。4、热水管网的管径不宜小于20mm。第二循环管网由于流程长、管网较大,为保证供水安全,一般多采用机械循环方式。机械循环又分为全日制热水供应系统和定时热水供应系统两类。机械循环管网的计算是在确定了最不利循环管路即计算循环管路和循环管网中配水管和回水管的管径后进行的,其主要目的是选择循环水泵。本系统则以全日\n供应系统管网为编程基础。配水管网水力计算步骤同给水管网,回水管网的计算步骤如下:1、计算配水管网中的面积比温降6f=等,其中△r取10℃,F2∑删·2、计算各管段热损失,计算公式如下:管段热损失:铲:吃DLK0一文字一_式中:K一无保温时管道的传热系数,普通钢管约为11.6w/m2oc;L一计算管段长度,m;D一管道的外径,m;h一保温系数,无保温时为0,简单保温时为0.6,较好保温时为0.7“0.8;t。一计算管段的起点水温,。c;t。一终点水温,。c;t。一周围空气温度,。c3、计算整个配水管网的总热损失及总循环流量,吼=≠%,其中、一日‘mQ=∑吼,CB=4190J/kg‘℃。4、计算各管段的循环流量各参数说明如图5—32所示:g,gr而qslqs2图5—32参数说明整个热水管网计算程序流程图如下:u丁一,上l藏扦肆蕊翱静懒瓴,,ll接取1*.≈.列新最骨为IIl忤’t世足矗,f蜊“锋I|鬣魏擦怒麓淼菇羡嚣蹴‘Il;粕h删点格蝴荐释杼.臂耗鹤霹竹l二l建点瞳择燕.花孵聋矗出援i;划嗍件强计群符结,ll蕾叫_i龟甜谵#II;警霪慧豢鬣,;麓嚣姜菱嫠慧l。毒EI渊掰静柽箍均自旃对;÷婊镣矬罐}i婚控#计FI,罄^子带^的垡嗣戤唧lr—-l计茸嚣张-,t篷,十饿.醛睫蜡捍生‰嵌太II翰,n甜辫蠕餐.管毗竹丧mim铘阳I画—匆由图5—33热水管网计算程序流程图54\n配水管网水力计算结果输出格式与给水系统一样,不再赘述。管网热损失及循环流量在计算成果输出时,通过相同的索引号得到对应管段的所有数据并输出,格式如下:图5—34热水管网循环流量计算结果输出格式热水管网循环流量计算结果输出的VBA源程序代码如下:Open’D:\\热水水力计算.txt’ForAppendAs#1Print}}1,’空气温度预定为:’&TextBox3.Value&’度’Print#l。’管段号一保温系数一起点水温一起点水温一平均水温一温差一热损失(kj/h)’Fori=1TomPrint#1,i&’⋯’&Il(i)&4⋯’&Format(tc(i),’0.00’)&’⋯’&Format(tc(i),。0.00’)&’~’&Format(tp(i),”0.00”)&’⋯’&Format(ttj(i),’0.00’)&’一’&Format(Qsun(i),’0.000’)NextiPrint#l,’管段号一管长(mm)一管径(mm)一外径(m)一热损失(kj/h)一循环流量(1/s)’Fori=1TomPrint#1。i&’~’&Format(1(i),’O’)&’一-一’&d(i)&’一’&dl(i)&’一’&Format(Qsun(i),’0.0000’)&’⋯’&Format(qxl(i),’0.0000’)NextiClose#l5.3智能纠错系统建筑给排水设计时,需要与结构、暖通、电气等专业的设计人员协调,所以方案时常会发生变动,另外,设计人员在输入基础数据时也会出现手误的现\n象.为了避免因个别数据改动而将设计重新做过,二次开发系统中加入了智能纠错系统,主要应用于给水系统和热水系统的水力计算上。修改程序工作流程图如下:图5—35纠错程序流程图以热水系统计算为例,纠错程序部分VBA源程序代码如下:PublicSubxiugai0gh=ThisDrawing.Utility.GetString(False,’请输入需要修改参数的管号:’)nn=ThisDrawing.Utility.GetString(False,’请选择需修改的参数类型(a卫生器具当量b管长c管径)<’&nnO&’>:’)Ifnn=’a’Ornn=’’ThenThisDraving.Utility.Prompt(。管段’&gh&’的原始卫生器具当量总数为:’&nl(gh)&vbLf)nl(gh)=ThisDrawing.Utility.GetString(False,’请输入修改后的值:’)ql=0.2·nl(gh)q2=0.2·alfa·Sqr(nl(gh))+k宰nl(gh)IfqlvvThenv=4牛1000睾qs(gh)/pi/dlist(i一1)‘2ForEndIfNextivs(gh)=vd(gh)=dwai(i一1)loss(gh)=lossa(VS(gh),dlist(i一1))yeloss(gh)=loss(gh)牛l(gh)事0.001Elselfnn=’b’ThenThisDrawing.Utility.Prompt(’管段’&gh&’的原始管长为:’&1(gh)&vbLf)1(gh)=ThisDrawing.Utility.GetString(False,’请输入修改后的值:’)Fork=0To100Ifdwai(k)=d(gh)ThenForEndIfNextkloss(gh)=lossa(vs(gh),dlist(k))ycloss(gh)=loss(gh)幸l(gh)幸0.001E1selfnn=’c’ThenThisDrawing.Utility.Prompt(。请从列表中选择(10,15,20,25,32,40,50,70,80,100,125,150,175,200,250,300)’&vbLf)ThisDrawing.Utility.Prompt(’管段。&gh&’的原始管径为:’&d(gh))d(gh)=ThisDrawing.Utility.GetString(False,’请输入修改后的值:’)Fori=1To100Ifdwai(i一1)=d(gh)ThenForEndIfNextivs(gh)=4000宰qs(gh)loss(gh)=lossa(vs(gh),ycloss(gh)=loss(gh)卑EndIfyon=’Y’572^、,l一.1、,()ltlOSO.1一.10(宰/tS).1.1.nplgd(l\nyes=ThisDrawing.Utility.GetString(False,’是否继续修改?<。&yon&’>:’)Ifyes=’Y’Oryes=’’ThenGoToxiugaiElseIfyes2’N’Oryes=’n’ThenGoToendcalEndIfendcal:leiJiloss=0Open’D:\\热水水力计算.txt’ForAppendAs#1Print#1,’管段号一管长(mm)一当量一流量(L/s)~管径(眦)一流速(m/s)~单阻(m水柱/m)一水头损失(m水柱)’ForJ=lTomPrint#l,j:’⋯一。:Format(1(j),’0’):’⋯一”:nl(j):’一一’:Format(qs(j),’0.000。):’⋯一’:d(j):’⋯一’:Format(vs(j),’0.000’):’⋯一’:Format(10ss(j),’0.000’):’一一’:Format(ycloss(J),’0.000。)leijiloss=leijiloss+ycloss(j)NextJPrint#1,’累计水头损失:’&Format(1eijiloss,’0.000’)&一’m水柱即’&Format(1eijiloss宰9.8,’0.000”)&。kPa’C10se{}1EndSub5.4图形信息系统5.4.1图形信息[42,43】管网管理的对象包括管网图形和数据。利用计算机进行管理时,应将图形和数据结合起来,建立图形信息系统,使用户能够通过图形查找数据或通过数据访问图形,从而使管理更加直观、更加简单。图形信息使给水管网的管理建立在科学化和标准化的基础上,其优势主要表现在:(1)可克服传统档案资料管理的不足。利用计算机管理管网图纸,能使资料便于维护和长久储存,也能把管网的变动情况清楚、方便地反映在系统中,这在很大程度上能减低管理人员维护、管理资料的难度,提高效率。(2)系统支持的多种输入、转换、输出、查询方式,能使资料的收集、传输与输出、查询,更加快速、方便。(3)日常工作中能自动生成上报数据,简化上报过程,建立高效、稳定、快捷的信息传输通道,保证数据的及时性。能减少因管网分布、管理分散所带来\n的局限性,使分散的资料能及时汇集、整合后充分反映城市管网现实情况。图形信息系统是计算机的应用方向之一,其基本思想是:将图形数据与属性数据有机结合起来,以图形数据为主,把属性数据看成是图形的一部分。这改变了传统习惯中以数据为中心的思想。图形信息系统中图形与数据之间可双向访问,即通过图形可以查找其相应的数据,通过数据也可以找到相应图形,图形与数据可以显示于同一屏幕上,使查询等操作直观、方便。图形信息系统还应具有图形和数据的管理能力,能对图形和数据进行增,删、改等操作。管段是给水管网的基本元素,在城市给水管网中,管段的数量是庞大的,并且随着城市的发展,管网图形随时发生变化;既有新的管段不断补充,又有旧的管段陆续淘汰,所以要建立相应的管段信息库。管段信息库包含下面的内容:(1)管段号,是管段信息数据记录的主关键字,具有唯一性,即每条管段应具有唯一确定的管段号,不得重复,不得遗漏,对管段号的编排没有要求,可以不连续。(2)节点l和节点2,即管段的两端节点号,其顺序可以任意,并不一定代表水流方向。(3)管长、管径、管材、价格等信息(4)管段流量,可以根据管网的水力计算获得(5)管段单阻、水头损失,以及热水管中的循环流量、热损失等,根据管网的水力计算获得。5.4.2管段信息查询程序的实现根据管网建模的需要,包括管网的静态信息和动态信息,来设计对话框。本系统根据需要设计了管段信息对话框,热水管段信息界面如图:图5—36管段信息提示框图形信息一部分是从基本图形关系中获得,一部分是计算的结果,还有一部分是用户的输入。管段号,节点号,节点坐标等信息是在管网信息提取阶段以一定的数据结构存储在相应的常量中,使用了图形词典和扩展的图形数据库,\n把这些数据作为管段、节点实体的扩展数据:管材、管道单价等数据可以使用外部文本输入。载入文本把数据存储到表中去,再作为实体的扩展数据:管段流量、节点水压等信息可以在计算过程中得到,把所得的结果也作为各自实体的扩展数据。当运行程序后,用户用鼠标点击某条管段,就会出现某条管段的详细信息。60\n第六章工程实例安徽省华松物业有限公司拟建一幢办公营业的金融办公综合楼,建筑地下2层,地上24层,负二层为设备层,层高5.1米。负一层为金库层,层高4.2米,一层至四层为银行营业部分,层高为5.1、5.1、4.5、4.5米,五~二十四层为办公部分,五、六层层高均为4.2米,七至二十四层层高为3.9米。以热水系统和自动喷淋灭火系统为例,给水和排水系统简要说明,应用二次开发系统计算结果如下:1、热水系统室内采用集中式热水供应系统,由于层数较多,故将整幢楼分为三个区,热水分区与冷水一致,室内冷水系统的生活给水系统共分三个区:负二层~四层为一个区,称为低区,利用城市管网的水压直接供给;五层~十四层为一个供水区,称为中区,由屋顶水箱通过减压阀减压供给;十五层~二十四层为一个供水区,称为高区,由屋顶水箱直接供给。采用半容积式水加热器,集中设置在负二层,水加热器出水温度为75’C,由室内热水配水管网输送到各用水点。水加热器热媒采用130。C热水,来自蓄热站,凝结水采用余压回水系统流回水加热器。上、下区均采用下行上给给水方式,冷水计算温度以5。C计,各用水点温度以60。C计。(1)热水量根据GB50015—2003建筑给排水设计规范,该办公楼取每日供应热水时间8h,取计算用的热水供水温度为75。C,冷水温度为5‘C,取60‘C的热水用水定额为100L/h,使用水温为35.C,上区共有36个洗手盆,卫生器具同时出水的百分数取85%。计算晃面如图6.1所示:图6-1上区热水量计算对话框61\n由图可见上区最高日用水量为0.364L/s.热媒水耗量10377.5Kg/h.水加热器的传热面积:乃=老=———1.2x—104—953—.4币瓦观75m2’FKq0.7x1047×(130+75一生翌1⋯一最小贮水容积:矿:鱼!丝:—60x15x1—04953.4:322.3L以-tL)C(75—5)x4187根据所得的F。、v分别对照样本提供的参数,选择上区的水加热器BFGL600.0.5.6.0.0.6/S满足要求.(2)热水配水管网计算生成计算图如下:图6-2管网计算管段编号选择最不利管路,建立管段选择集并对管线进行编号,对照编号输入各管段当量得到设计秒流量、管径、单阻等计算结果如下:\n表6-1热水管网水力计算表管径流速单阻(m水水头损失管号管长(脚∞)当量流量∞,s)(咖)(m/s)柱/ra)0m水柱)l5000.750.150200.4660.0360.01821698O.75O.150200.4660.0360.062313851.50.300250.5650.0390.053439001.501300250.5650.0390.151539003.00.520250.9790.1160.452639004.50.636320.6710.0370.146739006.00.735320.7750.0500.194839007.50.82232O.8660.0620.243939009.00.900320.9490.0750.29110390010.50.972400.7740.0410.161ll390012.01.039400.8270.0470.184126960013.51.102400.8770.0533.70113155013.51.102400.8770.0530.082143502013.51.102400.8770.0531.86215150027.01.559500.7340.0260.04016280027.O1.55950o.7340.D260.074累计水头损失7.714m水柱即75.602k.Pa由表可以看出,初始设计时,l--3段管长不是实际管长,应该进行修改,把实际管长代入重新计算的结果如下:表6—2热水管网水力计算结果修改表管径流速单阻(m水水头损失管号管长(ram)当量流量(L/s)(mm)(m/s)柱/m1(m水柱)I210O.750.150200.4660.0360.0082750O.750.150200.4660.0360.02737501.5O.300250.5650.0390.029439001.50.300250.5650.0390.151539003.00.520250.9790.1160.452639004.50.636320.6710.0370.146739006,O0.735320.7750.0500.194839007.50.822320.866O.0620.243939009.00.900320.9490.0750.291103900lO.50.972400.7740.041O.16I1l390012.O1.039400.8270.0470.184126960013.51.102400.8770.0533.70113155013.51.102400.8770.0530.082143502013.51.102400.8770.0531.86215150027.01.559500.7340.0260.04016280027.O1.559500.7340.0260.074累计水头损失7.645in水柱即74.921kPa(3)热水回水管网的水力计算\n计算管网的总外表面积时,立管均按无保温层考虑,干管均按25ram保温层厚度取值。空气温度设置为20‘C。进行管网热损失及循环流量计算时,需要输入的参数仅有是否干管和节点处是否有支管,其他如管长、管径等均由程序调用前面计算结果的相应数组获得。上区计算结果如下;表6—3热水给水管网水力计算表节点管管长管径外径保温节点平均温差热损失循环流单价臂段号(m)(衄)(m)系数水温水沮(k.j/h)量(y/I价格(i/s))(元)l60.Ol2102026.75O60.040.0029.581o.142810.022l260.0l27502026.75060.0340.03105.706O.142810.027.52360.0437502533.5060.0740.07132.5080.142815.28n舶460.09439∞2533.5O60.2040.20691.3390.142815.2859.59560.3l539002533.5O60.4240.42695.1940.142815.2859.59660.54639003242.25060.6840.68882.2710.142824.5l95.59760.82739003242.25O60.9640.96888.4020.142824.5l95.59861.IO839003242.2506I.2441.24894.5340.142824.5I95.5996l_38939003242.25061.5241.52900.6650.142824.5l95.59IO61.67lO39004048061.8341.831030.6810.142838.35149.571161.99ll39004048062.1542.151038.5950.142838.35149.571262.3l19铂5.7812酗16004048O65.1745.170.142838.352669.231368.0413155040480.668.1748.17188,7020.142838.3559.401468.3014350204048O.671.2451.244535.5200.142838.351343.01574.19节点15处侧立管循环流量:n12771515005060O.674.3354.33257.458O.26”60.1390.191674.4716280050600.674.7454.74484.1780.265560.13168.361775.00管网造价:5151.92元\n2、自动喷淋灭火系统该建筑物危险等级为中危险级,用水量为261/s。系统分区,共分三个区,每个区设一个湿式报警阀。负一层~六层为一个区,称为低区,七层~十五层为一个区,称为中区,十六层~二十四层为一个区,称为高区。以高区为例,最高层喷头安装标高为97.70m(一层地坪标高为士0.OOm)。喷头流量系数为80,喷头处压力为0.IMPa,设计喷水强度为6L/(min·m2),作用面积为160矿,形状为长方形,长边取17.2m,短边9.3m。作用面积内喷头数共15个,布置形式见图6—3所示。按作用面积法进行管道水力计算。(依据GB50084--21自动喷水灭火系统设计规范9.1.2采用作用面积为矩形时,其长边应平行于配水支管,其长度不宜小于作用面积平方根的1.2倍。)二次开发系统根据管段连接的喷头数来初定各管段的管径,具体界面见图6—4,本建筑物为中危险等级。喷淋管段的管长由程序在平面里建立选择集自动标出。卜———羔o_—叫图6—3自动喷淋平面布置水力计算图图6—4确定管径对话框自动喷淋灭火系统水力计算的各参数见图6-5和图6—6中的对话框,图6-5自动喷淋水力计算结果图6—6自动喷淋水压计算结果由图中对话框可见,每个喷头的喷流量为:1.33L/s;作用面积内的设计秒\n流量为:19.95L/s:理论秒流量为:16.OOL/s;比较Q.与Q。,19.95/16.00=1.25(在1.15~1.30之间)符合规范要求;作用面积内的计算喷水强度为:7.50L/(min·m2),此值大于规范要求的6L/(min·m。);最不利点处4个喷头保护面积41.5m2其平均喷水强度为:7.71L/(min·m2)>6L/(min·n12);管段总水头损失为:262.70KPa:系统所需水压为1329.80KPa。根据以上计算结果自动喷淋系统高区所选水泵为:主泵型号为:XBDl5/30—125D/6(二台,一用一备)。Q=1081113/hH=150米N=75KW。自动喷淋计算结果如下:表6-4自动喷淋高区水力计算结果表管段号管长(咖)流量q拈)管径(mm)流速(m/s)单阻(kpa/m)水头损失(kpa)l34001.33252.5057.71926.244234002.66322.8056.63622.562317003.99324.20714.93l25.383430006.65503.13l4.89814.694530001313703.7725.11315.346360019.95804.0194.64716.7287360019.95804.0194.64716.7288320019.95804.0194.64714.8699360019.95804.0194.64716.72810360019.95】002-3041.0643.82911300019.95loo2.304l-0643.19112300019.951002.3041.0643.1911340019.95loo2.3041.0640.42514366019.951002.3041.0643.89315141419.951002.3041.0641.50416131519.951002.3041.0641.39917296l19.951251.5030.3431.01518390019.951501.0570.1350.52619390019.951501.0570.1350.52620390019.951501.057O.1350.5262l390019.951501.0570.1350.52622390019.951501.0570.1350.52623390019.951501.0570.1350.52624390019.951501.0570.1350.52625390019.951501.0570.1350.52626320019.951501.0570.1350.432276820019.951501.0570.1359.20728500019.951501.0570.1350.675系统所需水压1329.8kPa沿程水头损失202.25kPa总水头损失262.70kPa该建筑设置屋顶消防水箱,按火灾发生前10分钟用水量计,其计算对话框如下:\n图6-7自动喷淋屋顶水箱由图可知,选用水箱型号为17的水箱两个,容积为18m3。水箱标准平面、立面、侧面图及配筋图参见‘给水排水标准图集Sl(上)》3、建筑给水系统二次开发中建筑给水系统和热水系统大致相同,所不同的是水力计算公式有所变化,具体计算公式见5.2.1建筑给水系统。生活给水系统共分三个区:负二层~四层为一个区,称为低区,利用城市管网的水压直接供给;五层~十四层为一个供水区,称为中区,由屋顶水箱通过减压阀减压供给;十五层一二十四层为一个供水区,称为高区,由屋顶水箱直接供给。依据规范要求,办公楼生活给水设计秒流量按公式吼=o.2口√也计算,低区给水系统水力计算结果如下:表6—5低区给水水力计算表单龌细水水头损失管段号管长(mm)当量流量(L/s)管径(mm)流速(m/s)柱,In)(m水柱)l10060.735321.1130.0550.005289660.735321.1130.0550.0493916121.039401.0210.0360.0334290181.273401.2500.053O.0155372181.273401.2500.0530.0206150637.51.837501.1050.032O.0487190137.51.837501.1050.0320.0608119338.51.86l501.1200.0320.03994500401.897501.1420.033O.151105100802.683631.0160.0210.1051151001203.286631.2440.030O.1531266001603.795750.9860.0160.1031380001603.795750.9860.0160.125累计水头损失:O.906m水柱即8.876kPa中区和高区的给水水力计算与低区相同,屋顶水箱选择和消防水箱相同,不再赘述。4、建筑排水系统\n建筑内部排水管道的设计流量是确定各管段管径的依据,按规范要求住宅、办公楼、商场等建筑物,其设计秒流量计算公式为:g,=o.12口√瓦+‰。最高层排水横管计算由以下对话框确定:图6-8摊水横支管水力计算对话框8图6-9捧水水力计算草图表6—6排水横支管水力计算表管段号排水当量设计秒流量(L/s)管径(珊)坡度1—2lO.33500.0262—31O.33500.0263—42.50.615500.0264-58.52.0251100.0265—614.52.185llO0.0266-720.52.3151100.0267-820.52.315llO0.026排水立管和排水横干管均选用DNl50的塑料管。5、消火栓系统系统分区,分两个区负二层~十二层为一个区,称低区,十三层~二十四65\n层为一个区,称高区。根据平面布置图,绘出高区系统简化计算用图如下:图6-10消火栓系统计算草图室内消火栓系统的用水量为40L/s,每根立管最小流量15L/s,采用水泵和水箱联合供水的高压给水系统。每个消火栓口径65mm,水枪口径19mm,充实水柱高12mH:0,采用麻质水袋直径65mm,长25m。消火栓水压计算如下;图6-11消火栓水压计算管网水力计算结果如下:表6—7消防管网水力计算表单阻水头损失管段号管长(nun)流量(L/s)管径(f啪)流速(m/s)(KPa/m)(KPa)l39005.20701.470.783.052390011.121001.28O.331.293390017.491251.320.261.0343230017.491251.320.268.5l5700034.971501.370.412.9061700034.971501.850.4l7.057350034.971501.850.411.4585710034.971501.850.4l23.699429234.971501.850.411.78累计水头损失:50.76kPa\n计算流速在经济流速范围内,故管径选择合适。消火栓总用水量34.97L/s,设计用水量为40L/s满足要求。消火栓给水系统所需水压为:Hz2Hl+H嫱+Hw:(95.6X10+9.9X10)+218.07+50.76----1323.83K口a室内消火栓系统加压水泵的型号:XBDl6/40—150D/8(二台、一用一备)Q=150m3/hH=155H20N=llOkw。屋顶消防水箱容积按存贮lO分钟消防用水量计算,其计算用水量的对话框见图G--7,计算方法和自动喷淋相同,选用水箱容积为18m3。\n第七章总结与展望7.1总结开发出智能的CAD软件是AutoCAD二次开发努力的方向。在导师的指导,同学的关心帮助下,经过一年多的开发,这套‘建筑给排水CAD定制与二次开发系统》经历了由少到多、由简单到复杂,由零碎到系统、由单一技术操作到多功能、由小型模块到系统集成、由不完善到相对完善的发展过程。经过不断改进,目前已具备了一定的使用价值。与其它同类软件相比,本软件的优点在于,它不仅符合目前建筑给排水设计用户的工作性质和工作习惯,而且它最大限度地提高使用者的设计制图速度和工作效率。本文首先简单介绍了建筑行业施工图设计中的工作现状以及建筑给排水CAD软件在国内外的发展概况,指出了目前市场上的商业软件存在的不足之处。其次对二次开发的主要思路及工作进行了简单的说明,接着详细的介绍了各系统、模块定制的方法、内容及程序功能的实现、工具栏和菜单的定制等,包括绘图环境的优化、工具命令的增加、建筑给排水各子系统的水力计算、草图绘制、管径标注等。其中管网初始数据的提取是计算的基础,通过AutoCAD自身的图形数据库功能和一定的数据转换,得到计算过程中所要用到的管长、角度等数据,减少了数据的输入,减少了设计人员的工作量。为了方便设计人员对计算参数进行修正,还添加了智能纠错系统;计算的数据通过安全数组的调用自动完成标注,一定程度上实现了计算绘图的智能化。设计人员还可以通过管网信息查询框,掌握各管线的管长、管径、流量等数据。最后通过工程实例的检测来验证本论文的可行性。通过建筑给排水CAD的定制与二次开发系统的设计和编写,我对AutoCAD有了进一步的了解,对VBA程序设计水平也有了一定程度的提高,对以前学过的建筑给排水设计也有了更深刻的领悟。同时,在导师的指导下,我逐步摸索到了一套科学的思维和工作方法,这些必将使我终身受益。7.2展望虽然本文在建筑给排水CAD定制与二次开发方面取得一定的成果,但是,建筑给排水设计是一项复杂的工程,在很多方面还值得研究。建筑给捧水CAD定制与二次开发系统是一个可扩充的平台,将来在资料库、系统一体化、网络信息等方面还可以进行大量的补充,以使系统更加符合设计的实际需要。给排水设计中经常要在设计手册、设计规范和标准图手册中查找数据.大堆的书籍资料查找起来很不方便,本系统中仅加入了建筑给排水工程的部分资料,而在实际工作中,这是远远不够的,应该建立一个数据库包括管材和水泵资料、各种情况的冷水和热水用水定额等以方便用户查询,由于建筑中水、电、\n暖通及结构等部分是协调工作的,所以还应当加入其他相关专业的资料,以使系统更加完善并可被其他专业人员共享。二次开发系统所具有的计算和绘图功能,能基本满足目前设计深度的需要。但是,系统在工程经济上还有很大的研究空间。例如,进行输配水系统的优化设计时,以管线水力计算结果作为依据,加入管线造价进行综合分析,在首先达到设计要求、技术上可行的前提下,使用动态分析法中的年费用折算值法计算年费用折算值,择其最小为最经济方案。进行工程的可行性研究、初步设计等工作时,各单项工程预算完成后将其汇总,再计算二、三类工程费用,这可用EXCEL表的形式输出以简化计算过程,便于工程项目和使用者随时更改,而且计算数据还可传给财务评价、经济分析等其他予项。AutoCAD允许每个实体携带一些额外的数据信息,如本系统中的管段信息,并可以组建数据库。目前本系统尚不具备网络信息功能。如果增加网络信息功能,就可通过因特网,查询最新材料报价及材料贮备和供货信息,这些对管网的设计是很有用的。根据供货价格,如果管材供应价格增高,设计时系统自动调小管径,以节约初期投资,反之亦是。另外,如果某产品货源紧缺,设计时,系统自动选择可替代的产品。另一方面,通过网络功能,还可以实现各专业的设计人员在同一套图形文件上协同工作。如果未来的AutoCAD版本支持,随着网络速度的极大提高,本系统可以做成服务器模式,主程序安装在网络服务器上,这样更方便用户的使用和更新。总之,随着科技的发展和实际经验的增加,本人会在今后的工作中对二次开发系统作更加深入的研究,并通过与同行之间的交流,向更快、更方便、更人性化方面做更深入的研究。\n参考文献[1]姜湘山,周佳新,李巍.实用建筑给水排水工程设计与CAD[M].北京:机械工业出版社,2004,5.[23王小华.建筑给排水CAD软件的发展历程、现状及方向IJl.中国给水排水,2003,19(15):35~37.[3]AutoCADDevelopmentSystemProgrammer’sReference,AutoDesk,Inc.[4]ComputerNetworksandInternetsDouglasE.Comer[M].1998.[5]姜文源主编.建筑给水排水常用设计规范详解手册【M1.北京:中国建筑工业出版社,1996.[6]田育广.利用AutoLISP语言编程辅助计算机绘图【J1.计算机应用,2001,(3):4I~43.[7]罗照。李凯.VBA在AutoCAD2005二次开发中的应用IJl.软件工程,2005.5:44~46.【8】宋继良主编.实用计算机绘图程序设计及实例【M1.哈尔滨:哈尔滨工业大学出版杜,1996.[9]张自力,袁一星.给水工程微机辅助设计系统的二次开发fJ】.中国给水排水,2002,18(4):56~78.[10]周律.给水排水工程技术经济与造价管理【M】.北京:清华大学出版社,2003,8.[11]李长勋主编.AutoCADVBA程序开发技术[MI.北京:国防工业出版社,2004.[12]孙抗菌,俞英,王军.基于AutoLISP的热水系统计算绘图一体化川.中国给水排水,2006.22(10):54—56.[13]MarionCottingham著.AutoCADVBA从入门到精通【MI.北京:电子工业出版社。2001.[14]张旭.AutoCAD2000VisualLISPActiveX编程技术【J】.计算机应用研究,2000,(3):93~95.[15]李凤华主编.AutoCADVBA2000开发指南【MJ.北京:清华大学出版社,2001.[16]江雪松.AutoCAD2000二次开发指南【M1.北京:国防工业出版社,2000,9.[173郭朝勇.AutoCAD2002定制与开发【MI.北京:清华大学出版社,2002,6.[18]刘志虹,张芳.AutoCAD2000中文版教程【M1.北京:电子工业出版社,2001.[19】冯小平主编.AutoCAD2004中文版建筑绘图实例教程【M1.北京:机械工业出版社,2001.\n[20]胡鸣镝.建筑工程给捧水CAD辅助设计与绘图系统的开发及应用研究【叮万方数据资源系统:武汉理工大学控制工程,2003.[21]郑立楷,卢择临,王成煌.AutoCADVBA二次开发教程[M1.北京:清华大学出版社,2006.[22]李学志.AutoCAD定制与VisualLISP开发技术【Ml,北京:清华大学出版社,2001,5.[23]吴涛.建筑CAD二次开发技术【M】,北京:电子工业出版社,2002.[24]李金根主编.给水排水工程快速设计手册(给水排水设备)【M1.北京:中国建筑工业出版社,1996.[253肖正辉,高明远主编.建筑卫生技术设备IMJ.北京:中国建筑工业出版社,1990.[26]GB/T50106-2001,给水排水制图标准.[27]孙抗菌.建筑给排水CAD的定制与二次开发【D1.合肥工业大学硕士论文,2006.[28]曾强聪.VisualBasic程序设计与应用开发案例教程IMl.北京:清华大学出版社,2004.[29]Kreps,David.ACourseMicroeconomicTheory.PrincetonUniversityPress,1990.[303Parkin,Michael.Microeconomic.4thedition.Addison-WesleyPublishingCompany,Inc.,l998.[31]太原工业大学等编.建筑给水排水工程【M1.北京:中国建筑工业出版社,1993.[32]钱维生编.高层建筑给水排水工程【M】.上海:同济大学出版社,1989.[33]陈方肃主编.高层建筑给排水设计手册【M1.长沙:湖南科技出版社,1998.[34]刘文镔主编.给水排水工程快速设计手册(建筑给排水)【M1.北京:中国建筑工业出版社,1998.[35]王增长,曾雪华,孙慧修.建筑给水排水工程【MI.北京:中国建筑工业出版社,1998.[36]中华人民共和国国家标准.建筑给水排水设计规范GB50015--2003.北京:中国计划出版社,2003.[37]中华人民共和国国家标准.建筑设计防火规范GB316—87(2001年版).北京:中国计划出版社,2001.[38]中华人民共和国国家标准.高层民用建筑设计防火规范GB50045—95(2005年版).北京:中国计划出版社,2005.[39]中华人民共和国国家标准.自动喷淋灭火系统设计规范GB50084—2001(2005年版).北京:中国计划出版社,2005.[40]赵锂.住宅建筑热水系统的设计川.给水排水,2005,31(3):72~74.\n[41]鲍涛.室内热水系统供水方式及管材的选择【J】.给水排水,2000,54~55.[42]GeorgeOmura.MasteringAutoCAD2006andAutoCADLT20061M1.Publishi-ngHouseofElectronicsIndustrty,2006.[43]AutoCAD2004CustomizationManual.AutoDesk,Inc.