iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
AI & Data

AI圖像辨識輔助的BIM資料流自動化流程系列 第 16

Day16:BIM與IFC標準介紹及數據流架構

  • 分享至 

  • xImage
  •  

  今天開始進入BIM/IFC新單元,我曾在Day02和Day04對它們做了簡單的介紹。本篇主要會介紹OpenBIM的起源、更深入的IFC技術結構、IFC在整個數據流中所扮演的角色,那我們就開始吧!

16.1. OpenBIM的發展與影響

OpenBIM is the practice of BIM in a vendor-agnostic manner.
OpenBIM 是一種與供應商無關的 BIM 實務。
…BIM data must be defined using an open data standard,…[1]
BIM 資料必須使用開放資料標準進行定義。

  OpenBIM的概念大約發展於2010年前後,它所定義的BIM模型並非由特定商業軟體或專有格式所建置,而是透過開放資料標準(包含IFC、DXF、SVG、STEP…等)等格式建置的模型。

  早期BIM市場多由少數商業軟體壟斷(懂得都懂),造成資料封閉、跨軟體協作困難,於是產業內開始呼籲資料「開放」、「互通」的重要性,這也直接催生了兩大組織:
/images/emoticon/emoticon10.gif/images/emoticon/emoticon06.gif/images/emoticon/emoticon20.gif

  • buildingSMART International(bSI):[2]
    主要為國際標準(如IFC、BCF…)的制訂與產業推廣。
  • OSArch(Open Source Architecture):
    全球性的BIM與建築數位化「開源」社群平台,致力於推動開放原始碼軟體在AEC(建築、工程、營建)產業的實際應用與發展。

  OpenBIM 的推動,讓BIM資料能跨越軟體、廠商與專業領域自由流通,也讓資料自主權回到用戶手上,不會因為今天沒有續訂購買軟體,而造成檔案無法開啟的窘況

16.2. IFC標準介紹

16.2.1. 主流版本

  • IFC2x3:於2006年發布,最穩定且廣泛使用的版本
  • IFC4.0:於2013年發布,支援更多專業(尤其是MEP、基礎設施),但部分舊版BIM軟體支援度不足
  • IFC4.3:於2022年發布,支持更多基礎設施領域,但仍處於推廣與驗證階段

16.2.2. 資料結構

以門(IfcDoor)與柱(IfcColumn)為例,其結構可簡化表示如下:

16.2.2.1. 樹狀階層

# IfcDoor&IfcColumn繼承關係簡圖
IfcDoor                      // 門
 ├── IfcDoorType               // 門的型別定義(如單扇門、雙扇門)
 ├── IfcPropertySet              // 屬性集(防火等級、隔音、是否外門等)
 ├── IfcMaterial               // 材料資訊(鋁、木、鋼等)
 ├── IfcOpeningElement            // 門所填充的開口(由牆或隔間鑿出)
 └── IfcBuildingStorey            // 所在樓層(如 1 樓、2 樓)

IfcColumn                      // 柱
 ├── IfcColumnType               // 柱的型別定義(矩形柱、圓柱等)
 ├── IfcPropertySet              // 屬性集(承重能力、耐火等級等)
 ├── IfcMaterial               // 材料資訊(混凝土、鋼材等)
 └── IfcBuildingStorey            // 所在樓層(如 1 樓、地下室等)

16.2.2.2. 簡化資料語法範例

用 STEP(ISO 10303-21)可簡化表示如下:

# STEP語法範例
// 門
#10 = IFCDOOR('D1', '900x2100mm', $, $, 900., 2100.);        // 門:編號 D1,尺寸 900x2100mm
#11 = IFCDOORTYPE('DT-1', 'SINGLE_SWING_LEFT');             // 門型:單扇左開
#12 = IFCPROPERTYSET('Pset_DoorCommon', (...));             // 屬性集:常用門屬性(防火、隔音等)
#13 = IFCMATERIAL('Aluminum');                               // 材料:鋁

// 柱
#20 = IFCCOLUMN('C1', $, $, $, $, $);                // 柱:編號 C1
#21 = IFCCOLUMNTYPE('CT-1', 'RECTANGULAR');               // 柱型:矩形柱
#22 = IFCMATERIAL('210/280 Concrete');                  // 材料:210/280 混凝土

16.2.2.3. IFC數據流架構概念圖

#  IfcDoor數據流架構
IfcRoot
 └─ IfcObjectDefinition
     └─ IfcObject
         └─ IfcProduct
             ├─ ObjectPlacement → IfcLocalPlacement        // 定位
             ├─ Representation → IfcProductDefinitionShape  // 幾何
             └─ IfcElement
                 └─ IfcBuildingElement
                     └─ IfcDoor
                         ── 草案
                         │   ├─ IfcDoorType / IfcDoorStyle     
                                // *型別/開啟型式
                         │   ├─ IfcBuildingStorey           
                                // *所在樓層
                         │   └─ (可有)IfcOpeningElement       
                                // *開口意向
                         ── 設計
                         │   ├─ IfcPropertySet(Pset_DoorCommon)  
                                // *防火、隔音
                         │   ├─ IfcDoorLiningProperties         
                                // 門框
                         │   ├─ IfcDoorPanelProperties         
                                // 門扇
                         │   └─ IfcMaterial / LayerSet / ConstituentSet
                                // *材料
                         ── 分析
                         │   └─ IfcPropertySet(性能相關項)       
                               // 供能耗/聲學等分析
                         ── 送審
                         │   └─ IfcDocumentReference             
                               // 安裝圖/測試報告
                         ── 施工
                         │   ├─ IfcRelFillsElement → IfcOpeningElement 
                               // 填充開口
                         │   └─ (可有)IfcRelConnectsWithRealizingElements
                               // 五金/感測件
                         ── 運維
                             └─ IfcDocumentReference             
                                // 維修手冊/檢測紀錄
# IfcColumn數據流架構
IfcRoot
 └─ IfcObjectDefinition
     └─ IfcObject
         └─ IfcProduct
             ├─ ObjectPlacement → IfcLocalPlacement      // 定位
             ├─ Representation → IfcProductDefinitionShape  // 幾何
             └─ IfcElement
                 └─ IfcBuildingElement
                     └─ IfcColumn
                         ── 草案
                         │   ├─ IfcColumnType                
                                 // *型別(矩形、圓柱…)
                         │   └─ IfcBuildingStorey / SpatialZone     
                                 // *所在樓層/區域
                         ── 設計
                         │   ├─ IfcPropertySet(Pset_ColumnCommon)    
                                 // *承重、耐火…
                         │   └─ IfcMaterialProfileSet(Usage) / LayerSet 
                                // *剖面/層組
                         ── 分析
                         │   └─ IfcPropertySet(結構性能項)       
                                // 強度/剛度等
                         ── 送審
                         │   └─ IfcDocumentReference           
                                // 設計計算書/合格證明
                         ── 施工
                         │   ├─ IfcRelConnectsElements / WithEccentricity
                                // 與梁板連接/偏心
                         │   └─ (可有)IfcRelHasOpenings / VoidsElement 
                                // 穿孔/開槽
                         ── 運維
                             └─ IfcDocumentReference           
                                // 鑑定/巡檢/維護紀錄

16.3. 結語

  今天學習了OpenBIM的緣起與IFC格式標準,並梳理工程階段中,門(IfcDoor)與柱(IfcColumn)在 IFC 架構中的屬性與關聯。下一篇,我們將把視角轉向開源 BIM/IFC 工具,探索如何以程式化方式建立、讀取與修改這些資料。

16.4. 參考文獻


上一篇
Day15:文字辨識後處理與分群校正
下一篇
Day17:開源BIM/IFC工具概觀
系列文
AI圖像辨識輔助的BIM資料流自動化流程30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言