WCDMA噪声在线监测系统应用方案 生活的节奏随着新世纪的发展变的越来越快,在现代繁忙都市里,那些整天忙着工作的人们都希望下班能回到安静舒适的家放松一天的心情,由于现在城市的交通,娱乐,建筑等设施产生出的噪音却散布在城市的每个角落,而
摘 要: 以建筑AutoCAD矢量图电感厂家形文件为研究载体,以墙体为主要研究对象,设计了墙体数据深度优先探测提取算法。根据提取出的墙体数据集合,设计了基于凹点分割的墙体裁剪算法,该算法已在实践中进行了反复验证,高效可靠。在此基础上提出了以中轴线+属性形式代替墙体的设计思想,构建墙体抽象模型,为建筑工程量自动计算提供数据支持。
关键词: DXF;墙体识别;凹点判定;剪裁算法
近年来,随着计算机技术和信息技术的迅猛发展,建筑工程概预算领域中出现了大量的预算软件,但这些软件只是在人工读图并计算出工程量的基础上完成定额套用、调整、费用计算、报表编制等工作,工程量计算工作还停留在由预算师人工识别图纸的阶段。因此,如何实现工程量的自动计算是目前建筑工程概预算领域研究的主要热点之一,而建筑工程图的自动识别问题是制约工程量计算自动化水平提高的主要瓶颈。本文模仿人工识图的思路与方法,以建筑AutoCAD中墙体识别建模为例,设计出一套有效识别墙体、裁剪建模的算法,解决AutoCAD与工程量计算的接口问题,为实现建筑工程量计算的自动化提供参考。
1 AutoCAD矢量文件研究与墙体元素提取
AutoCAD采用矢量数据格式文件DXF存储图形信息[1]。DXF是一种被多数图形设计软件接受的文件存储格式,其实际上已经成为一种行业标准。随着AutoCAD的新版本不断推出,对DXF文件格式作了进一步调整,但基本框架保持不变。DXF文件按先后顺序分为7大段,其中实体段是研究的主要目标,在实体段中保存着所有离散的图形图元[1],这些实体有Point、Line、Circle、Arc、Trace、Solid、Polyline、Vertex和3Dface等图形图元。每段由键值对组成,键(通常称为组码)表明其后的值的类型,使用这些键值对可以将AutoCAD图形元素组织到由记录组成的区域中。
本文在对建筑墙体识别之前,首先将DXF格式文件转化为可读性更好、被软件普遍接受的XML格式文件[2-4]。DXF格式文件转换成XML格式文件后的数据格式如图1所示。从DXF文件中读取的信息还处于离散状态,之间没有任何联系,在进行墙体识别、裁剪、建模之前要对这些离散数据进行必要的预处理,使其满足识别需要。在房屋建筑制图统一标准[5]中,对建筑制图中的各种图形元素画法都作出了非常具体的规定,其中墙体具有以下特点。
(1)任何一段墙体都构成一个封闭的区域,并且构成墙体的线段数要大于或等于4;
(2)每段墙体之间通过门、窗等建筑构件相连接;
(3)通常按照建筑中墙体的外型,可以将墙体分为L型、T型、C型、+型、直线型和复杂的不规则类型等。建筑图中墙体的常见形状如图2所示。
构成墙体的主要图元就是线段,墙体是由若干条线段形成的一个封闭区域。对于墙体的数据提取,可以采用深度优先遍历方法[6-7],在已读出的大量线段中任意选取一条作为起始点,根据线段两端的坐标去匹配下一条线段,直到回到起点。
根据以上特点,设计用于在离散数据中识别提取墙体的算法1。
算法1:墙体识别提取算法
(1)?坌line?奂{linei|i≥1}。
(2)提取l1起点坐标S{x,y,z}。
(3)提取l1终点坐标P{x,y,z},与{linei|i≥1}中其他线段起点坐标匹配。
(4)匹配成功,得到l2,存储l1,l1=l2。
(5)LOOP重复步骤(3)~步骤(4),循环计数器count
IF P{x,y,z}==S{x,y,z},存储所有墙体线段;
IF count>i,放弃所有线段,重新探测。
经过算法1处理后,从众多离散线段中识别、提取出墙体集合{walli|i≥1}{linei|i≥1}。
2 墙体图形裁剪算法设计
在成功获取墙体集合后,采用提取墙体中轴线的方法建立墙体数学模型,但对于形一体成型贴片电感工厂式复杂的墙体造型,若直接提取中轴线会造成建筑工程量计算的重复,导致数据偏差,所以还要对墙体进行进一步的细分。本文提出了基于凹点多边形墙体裁剪算法[8-11],将复杂墙体分割成相对简单的墙体单元。
针对平面直角坐标系中墙体构造的多边形,判断凹点及采集算法如下。