分类房屋面积自动统计的程序实现

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:jialin131466
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在新城建设或者旧城改造中,决策者往往想先了解征地拆迁工作量及成本,这样一来,房屋的建筑面积统计工作变得尤为重要,传统的手工计算既费时费力,又难以保证其准确性,文章应用VBA编制程序,实现了房屋分类面积的自动统计计算,使繁重的工作变得简单高效,并且能保证其准确与可靠性。
  关键词:房屋面积;分类统计;程序计算;VBA
  1引言
  随着社会经济的发展,人们对居住环境要求越来越高,新城建设和旧城改造项目进行的如火入茶;然而在项目的前期,决策者往往想先了解项目的征地拆迁工作量及成本,这样一来,房屋的建筑面积统计便成了该项工作的重中之重。传统的计算方法是逐间房屋分类手工计算,然后再汇总手工计算,这样既费时费力,也难以保证其准确性,笔者通过思考并结合实际项目,应用VB语言编制程序,实现了分类房屋面积的批量自动统计。
  2传统手工统计方法
  传统的手工处理方法一般是借助excel办公软件,将房屋预先编号,逐间房屋分类输入电子表格,然后计算,分类统计,这样一来,如果需要统计的房屋较多,工作量巨大,全部手工输入很难保证其正确性,对于大范围的城区改造,该种方法显然不可行。
  3计算机程序自动统计
  3.1开发工具介绍
  VBA是基于ActiveX技术的AutoCAD二次开发工具,可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。它基于Visual Basic版本,是面向对象体系结构的一种编程语言,有着与VB几乎相同的开发环境和语法。VBA依附于主应用程序AutoCAD,它与主程序的通信简单而高效,由于共享内存空间,使它有更快的执行速度,且其语法结构简洁,深受广大工程技术人员喜爱。
  3.2程序思路
  第一步,房屋分类归入不同图层,楼层数放入房屋中以备后续程序读取。
  第二步,程序对CAD图进行预处理,如删除房屋的多余节点,判断房屋内楼层数的唯一性,如果楼层数不等于1(有两个以上或者一个都没有),程序终止,将房屋换颜色显示,回手工处理阶段。
  第三步,程序按图层读取房屋面积及楼层数,按顺序将读取的房屋编号,将编号、面积、楼层数输出至EXCEL表格,将编号及面积写入相应房屋中心位置己备查询。
  第四步,程序自动统计所有房屋的总面积输出至EXCEL表格的汇总行,然后结束程序。
  3.3程序界面
  程序界面如图l所示。
  3.4部分源代码
  创造房屋选择集部分
  On Error Resume Next
  Call ThisDrawing.SelectionSets("MyssFw").Delete
  On Error Resume Next
  Set MySelectFw=ThisDrawing.SelectionSets.Add("MyssFw")
  If Err Then
  Err.Clear
  Set MySelect Fw = This Drawing.SeleetionSets("MyssFw")
  End If
  Dim gpCode(0.To 1)As Integer,dataValue(0.To 1)As Variant
  gpCode(0)=0:dataValue(0)="LWPolyline"
  gpCode(1)=8:dataValue(1)=layer99
  MySelectFw.SelectOnScreen gpCode,dataValue’选择JMD房屋
  MySelectFw.Select acSelectionSetAll,,,gpCode,dataValue
  N=MvSelectFw.Count
  MJZn=0
  For I=0 To N-1
  Set PL=MySelectFw.Item(I)
  M=(UBound(PL.Coordinates)+1)/2
  ReDim pointsArray(0 To 3*(M-1)+2)AsDouble
  ReDim x(0 To M-1)As Double
  ReDim y(0 To M-1)As Double
  创建文字选择集部分
  0n Error Resume Next
  Call ThisDrawing.SelectionSets("MyssTx").Delete
  On Error Resume Next
  Set MyselectTx=ThisDrawing.SelectionSets.Add("MyssTx")
  If Err Then
  Err.Clear
  Set MyselectTx =This Drawing.SelectionSets("MyssTx")
  End If
  输出至Excel表格部分
  mySheet.Ceils(I+3,1).Value="合计"
  mySheet.Cells(I+3,2).Value="一层面积(砖混)"
  mySheet.Cells(I+3,3).Value="二层面积(砖混)"
  mySheet.Cells(I+3,4).Value="三层面积(砖混)"
  mySheet.Cells(I+3,5).Value="四层以上面积(砖混)"   mySheet.Cells(I+3,6).Value="房屋总面积(砖混)"
  mySheet.Cells(I+3,11).Value="一层面积(砖木)"
  mySheet.Cells(I+3,12).Value="二层面积(砖木)"
  mySheet.Cells(I+3,13).Value="三层面积(砖木)"
  mySheet.Cells(I+3,14).Value="四层以上面积(砖木)"
  mySheet.Cells(I+3,15).Value="房屋总面积(砖木)"
  mySheet.Cells(I+3,21).Value="一层面积(简易)"
  mySheet.Cells(I+3,22).Value="二层面积(简易)"
  mySheet.Cells(I+3,23).Value="三层面积(简易)"
  mySheet.Cells(I+3,24).Value="四层以上面积(简易)"
  mySheet.Cells(I+3,25).Value="房屋总面积(简易)"
  mySheet.Cells(I+4,1).Value=N
  mySheet.Ceils(I+4,2).Value=ZHI
  mySheet.Cells(I+4,3).Value=ZH2
  mySheet.Cells(I+4,4).Value=ZH3
  mySheet.Ceils(I+4,5).Value=ZH4
  mySheet.Cells(I+4,6).Value=ZHZ
  mySheet.Ceils(I+4,11).Value=ZM1
  mySheet.Cells(I+4,12).Value=ZM2
  mySheet.Cells(I+4,13).Value=ZM3
  mySheet.Ceils(I+4,14).Value=ZM4
  mySheet.Cells(I+4,15).Value=ZMZ
  mySheet.Cells(I+4,21).Value=JY1
  mySheet.Cells(I+4,22).Value=Jf2
  mySheet.Cells(I+4,23).Value=JY3
  mySheet.Cells(I+4,24).Value=JY4
  mySheet.Cells(I+4,25).Value=UYZ
  3.5程序运行前CAD截图
  程序运行前CAD截图如图2所示。
  3.6程序运行后生成的Excel表格
  程序运行后生成的Excel表格如图3所示。
  4结语
  分类房屋面积统计程序基本实现了房屋面积的自动统计累加,前期仅需少量的人工干预(仅将不同结构或用途的房屋归入不同的图层即可),后续程序自动读取房屋面积与层数,并自动分算至各个楼层,方便快捷,省时省力。特别对于大面积的房屋面积统计尤能显示其优越性,譬如几千甚至上万个房屋,程序运行仅几秒钟即可统计完毕,并且保证准确可靠。由于笔者本身的学识和实践经验受限,程序在自动纠错和速度方面仍有许多可以改进提高的地方,笔者在今后的学习和工作中不断将其完善。
其他文献
针对氦气在光管及波节管中的传热特性及阻力特性进行了Reynolds Stress Model(RSM)数值模拟研究。对比了不同结构波节管努塞尔特数Nu和摩擦阻力系数f的变化规律,为了深入研究强
大量统计资料显示双胎的发生率约在10‰,随着辅助生殖技术的发展和促排卵药物的广泛应用,双胎妊娠发生率有明显升高的趋势。双胎和单胎不同,整个孕期和分娩时有许多特殊问题。其
运用Materials Studio软件对半导体材料Ca2Si的电子结构进行了计算,结果表明,Ca2Si材料为直接带隙类型材料,计算值比实验测量值小.Ca2Si的价带由Ca的4s、4p、3d态和Si的3p态构成;C
个体人化的需要及当时中国社会现实的需要构成了邓小平理论社会化的前提;大众媒介、教育、邓小平理论宪法化及广泛的人际交往是邓小平理论社会化的重要途径。
本文对钢筋混凝土桥柔性桥面铺装的早期病害及其原因进行了分析与研究,在总结当前国内桥面铺装结构分析主要方法的基础上,通过理论分析,提出了用有限元进行结构分析时,需要重点研