《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 建筑CAD墻體識別與剪裁算法設計
建筑CAD墻體識別與剪裁算法設計
2014年微型機與應用第13期
王志勃1,2,畢艷茹2
1.江蘇省電子產品裝備與制造中心,2.淮安信息職業技術學院,江蘇 淮安
摘要: 以建筑AutoCAD矢量圖形文件為研究載體,以墻體為主要研究對象,設計了墻體數據深度優先探測提取算法。根據提取出的墻體數據集合,設計了基于凹點分割的墻體裁剪算法,該算法已在實踐中進行了反復驗證,高效可靠。在此基礎上提出了以中軸線+屬性形式代替墻體的設計思想,構建墻體抽象模型,為建筑工程量自動計算提供數據支持。
Abstract:
Key words :

  摘  要: 以建筑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所示。

001.jpg

  構成墻體的主要圖元就是線段,墻體是由若干條線段形成的一個封閉區域。對于墻體的數據提取,可以采用深度優先遍歷方法[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],將復雜墻體分割成相對簡單的墻體單元。

  針對平面直角坐標系中墻體構造的多邊形,判斷凹點及采集算法如下。

  算法2:凹點判斷與墻體裁剪算法

  在建筑CAD中絕大多數墻體都是水平或鉛直的,同時存在有一定角度或弧形的墻體。對于水平和鉛直類墻體,可以使用比較法判斷凹點;對于有一定角度的墻體,拐點可以采用斜率法進行判斷;對于弧形墻體,將進行特殊處理,不在本文討論范圍內。

  (1)對于水平鉛直墻體的凹點判斷與裁剪算法。

  ①從墻體集合{walli|i≥1}中選取一組封閉墻體數據,以x分量最小的點作為起點。

  ②嚴格按照順時針方向遍歷墻體線段。

  定義:起始線段li(i=1),起點坐標s(xi,yi),終點坐標e(xi,yi),順時針鄰接線段為li+1,起點坐標s(xi+1,yi+1),終點坐標e(xi+1,yi+1),兩線段交點為P,即e(xi,yi)=s(xi+1,yi+1)。

  IF (e|yi>s|yi) and (e|xi+1>e|xi) THEN P為凸點;

  IF (e|yi>s|yi) and (e|xi+1<e|xi) THEN P為凹點;

  IF (e|yi<s|yi) and (e|xi+1<e|xi) THEN P為凸點;

  IF (e|yi<s|yi) and (e|xi+1>e|xi) THEN P為凹點;

  簡單來說,從起點開始,x、y坐標變化滿足下面規律就是最簡墻體;否則,若存在凹點,就延長線段交于墻體線段集合中的某條線段,并分離出一段墻體。

002.jpg

  裁剪算法過程演示如圖3所示。在圖3(a)中,選出A為遍歷起點。遍歷過程為:AB(Y↑)→BC(X↑)→CD(Y↓)→DE(X↓)→EF(Y↑)→FG(X↓),在EF-FG線段交點處出現凹點,記錄F點信息,向墻體集合中添加輔助線段FX,并將EF延長到X,即用EX代替DF,并將CD、DE、EX、XC從墻體集合中分離出來形成單獨集合。重復以上算法,對剩余墻體集合繼續遍歷,任何一段復雜的墻體集合通過該算法都能分解成為最簡墻體,即得到墻體的最簡形式。

  (2)使用斜率判定非水平鉛直墻體的凹點。

  定義:d為相鄰兩條線段的斜率差,由于墻體線段不在水平鉛直狀態,無需考慮分母為零的情況。

  IF(e|yi>s|yi)

  IF d>0 THEN P為凹點

  IF d<0 THEN P為凸點

  IF(e|yi>s|yi)

  IF d>0 THEN P為凸點

  IF d<0 THEN P為凹點

  3 墻體數據模型構建

  圖紙識別的最終目的是要建立起墻體的數學模型,并在此基礎上實現對建筑工程量的估算[12]。模型是全面反映墻體形狀和結構的基礎,并附加以必要的屬性。墻體的中軸線是確定墻體的核心數據,利用分解后的簡單墻體中平行的兩長邊端點信息,可以確定中軸線兩端點坐標,并將該段墻體的厚度等設計參數一并存入中軸線數據結構中,形成一個關于墻體中軸線鏈表。設墻體的兩條平行邊為l1和l2,起點為s,終點為e,則中軸線兩端點坐標為:

  _5PHX[TNP3@3BWN03%JS7[Y.jpg

  可以用鏈表構造其內部存儲結構,鏈表的節點定義如圖4所示。

003.jpg

  有了以上軸線抽象模型,可以方便、準確地計算墻體的長度,重構墻體輪廓,方便后期建筑工作量提取[13]。

  本文在對AutoCAD矢量數據文件大量研究的基礎上,以建筑工程中墻體為例,設計了墻體深度優先識別提取算法;針對提取的復雜墻體,設計了基于凹點分割的墻體裁剪算法,并以墻體中軸線模型加屬性的方式重構墻體,為工程量計算提供有效支持。在算法設計過程中注重與具體問題相結合,加入識別裁剪過程中的輔助因素,降低了通用算法的復雜度,使算法簡潔而高效。

  參考資料

  [1] Autodesk Inc. DXF Reference. http://www.autodesk.com/techpubs/autocad/acadr14/dxf/.

  [2] 王志勃.基于DXF文件格式的讀取與XML轉換[J].新學術,2007(6):240-243.

  [3] 劉傳亮,陸建德.AutoCAD DXF文件格式與二次開發圖形軟件編程[J].微機發展,2004(9):101-104.

  [4] 舒飛.中文版AutoCAD 2004二次開發標準教程[M].上海:上海科學普及出版社,2004.

  [5] GB/T 50001-2001. 房屋建筑制圖統一標準[S].

  [6] DOSCH P H, MASINI G. Reconstruction of the 3D structure of a building from the 2D Drawings of its Floors[J].  Proceedings of the 5th International Conference on Document Analysis and Recognition, Bangalore(India),1999:487-490.

  [7] Yu Yuhong, SAMAL A. A system for recognizing a large class of engineering drawings[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(8): 868-890.

  [8] 宋曉眉,程昌秀,周成虎.簡單多邊形頂點凹凸性判斷算法綜述[J].國土資源遙感,2011,90(3):25-30.

  [9] 陳炳發,錢志峰,廖文和.簡單多邊形凸凹性自識別算法[J].計算機輔助設計與圖形學學報,2002(3):214-218.

  [10] FEITO F, TORRES J C, URENA A. Orientation, simplicity, and inclusion test for planar polygons[J]. Computers & Graphics,1995,19(4):595-600.

  [11] DORI D, Liu Wenyin. Automated CAD conversion with the machine drawing under standing system:Concepts algorithm and performance[J]. IEEE Transaction on System, Man and Cybernetics, part A: System and Humans, 1999,29(4):411-416.

  [12] 孫靜波,侯秀萍,鄭虹.建筑圖數字化存貯與工程量計算模型的實現[J].計算機工程與應用,2003(10):222-225.

  [13] 陸再林,張樹有,譚建榮.基于圖形理解的預算工程量提取算法[J].計算機輔助設計與圖形學學報,2002(5):442-446.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美日韩精品在线| 亚洲欧美亚洲| 亚洲伊人伊色伊影伊综合网| 亚洲日本理论电影| 在线观看视频日韩| 精品成人一区二区| 精品999日本| 一区免费观看| 在线欧美福利| 在线日韩视频| 国产一区二区三区免费观看| 国产亚洲欧美激情| 国产在线视频欧美一区二区三区| 国产日本欧美视频| 国产一区成人| 极品尤物av久久免费看 | 91久久精品国产91性色tv| 亚洲成色777777在线观看影院| 黑人巨大精品欧美一区二区小视频| 国产一区二区三区高清在线观看 | 欧美日韩1080p| 欧美日韩免费一区二区三区| 欧美日韩精品二区| 欧美日韩中国免费专区在线看| 欧美日韩天堂| 国产精品毛片a∨一区二区三区|国 | 欧美在线视频全部完| 欧美在线在线| 久久一日本道色综合久久| 黄色一区二区三区四区| 国产视频丨精品|在线观看| 国产日韩亚洲| 亚洲成色www8888| 亚洲精品视频一区二区三区| 一区二区国产精品| 亚洲女同性videos| 亚洲第一精品福利| 一区二区三区四区精品| 在线视频精品| 欧美一区午夜精品| 亚洲人成网站777色婷婷| 制服丝袜亚洲播放| 欧美一区二区免费| 久久午夜av| 欧美精品一区三区| 国产精品亚洲一区| 影视先锋久久| 一区二区激情小说| 欧美专区18| 亚洲久久在线| 午夜欧美电影在线观看| 久久影视三级福利片| 欧美精品观看| 国产日产欧产精品推荐色 | 免费久久99精品国产| 欧美日韩亚洲综合在线| 国产日韩av一区二区| 亚洲国产mv| 亚洲一区二区三区精品在线| 久久精品国产清高在天天线| 在线一区日本视频| 久久久激情视频| 欧美日韩精品综合| 国内精品模特av私拍在线观看| 亚洲精品乱码久久久久久按摩观| 亚洲男人天堂2024| 亚洲免费黄色| 久久久久久高潮国产精品视| 欧美女同在线视频| 韩国av一区二区三区| 在线视频亚洲| 亚洲人成人99网站| 久久成人18免费网站| 欧美日韩国产综合视频在线观看中文 | 麻豆国产精品va在线观看不卡| 欧美日韩国产系列| 黄色精品一二区| 亚洲一区二区在线播放| 亚洲精品综合在线| 久久久久国产成人精品亚洲午夜| 欧美视频中文在线看| 亚洲电影自拍| 欧美一区二区三区四区在线| 亚洲性av在线| 欧美高清视频一二三区| 国产一级一区二区| 亚洲午夜日本在线观看| 一级日韩一区在线观看| 美女亚洲精品| 国产一区在线播放| 亚洲欧美日本国产有色| 亚洲午夜高清视频| 欧美另类一区| 亚洲国产日韩在线| 久久精品国产一区二区三区免费看| 亚洲欧美大片| 亚洲午夜精品福利| 欧美3dxxxxhd| 国产在线高清精品| 亚洲一区二区四区| 亚洲综合视频在线| 欧美日韩视频一区二区| 亚洲日本中文字幕区| 最新69国产成人精品视频免费| 久久精品中文字幕一区二区三区| 国产精品美女久久久| 日韩视频精品在线| 日韩视频在线一区| 欧美高潮视频| 亚洲国产视频一区| 亚洲精品一区二区在线| 欧美成人国产一区二区| 狠狠色伊人亚洲综合成人| 欧美一区二区三区在线免费观看| 欧美一区中文字幕| 国产欧美高清| 午夜精品剧场| 久久激情久久| 国产一区二区高清| 欧美在线视频二区| 久久国产主播精品| 国内精品久久久久国产盗摄免费观看完整版 | 久久精品国产999大香线蕉| 国产日韩精品电影| 午夜一区不卡| 久久国产手机看片| 好看的日韩av电影| 亚洲国产欧美在线人成| 乱人伦精品视频在线观看| 狠狠综合久久av一区二区小说| 欧美在线亚洲综合一区| 久久久久一区二区三区| 黄色在线一区| 亚洲精品一二三| 欧美日韩高清在线播放| 在线亚洲精品| 欧美亚洲一级片| 国产亚洲欧美色| 亚洲黑丝在线| 欧美精品少妇一区二区三区| 亚洲开发第一视频在线播放| 亚洲视屏在线播放| 国产精品免费aⅴ片在线观看| 亚洲夜间福利| 久久久久久久久一区二区| 国产主播精品在线| 亚洲老板91色精品久久| 欧美午夜a级限制福利片| 亚洲综合电影一区二区三区| 久久国产精品网站| 在线免费不卡视频| 亚洲视频精品| 国产美女扒开尿口久久久| 亚洲国产婷婷香蕉久久久久久99| 欧美国产在线视频| 亚洲视频一起| 久久亚洲欧美| 日韩网站在线观看| 欧美综合二区| 亚洲国产一区二区视频 | 久久精品国产亚洲精品| 伊人久久男人天堂| 亚洲一区二区欧美日韩| 国产午夜精品一区二区三区欧美 | 好看的日韩av电影| 中文av一区二区| 国产性做久久久久久| 亚洲精品综合久久中文字幕| 国产精品久久久久久超碰| 欧美专区在线观看| 欧美日韩精品一区二区在线播放| 性亚洲最疯狂xxxx高清| 欧美国产视频日韩| 亚洲在线观看视频网站| 美日韩精品视频免费看| 国产精品99久久久久久久vr | 午夜精品久久久久久久久久久久久 | 国产在线日韩| 亚洲一区二区免费视频| 韩日精品视频| 亚洲一区在线观看视频| 一区二区三区在线视频观看| 亚洲视频专区在线| 1000部精品久久久久久久久| 亚洲一区精彩视频| 在线精品一区| 久久激情综合网| aa成人免费视频| 美女爽到呻吟久久久久| 亚洲欧美日韩专区| 欧美另类在线观看| 久久av一区二区| 国产精品视频内| 正在播放亚洲一区| 亚洲国产99精品国自产| 久久久噜噜噜久久中文字免| 在线亚洲激情| 欧美日韩三级| 亚洲精品小视频在线观看| 国产自产2019最新不卡|