關於IFC的基本概念,可以參考之前的文章「什麼是IFC」。
進一步,我們來聊一下IFC有什麼優點跟缺點,為什麼這個格式讓大家又愛又恨。
在開始之前,還是強調一下IFC的本質:
1. IFC是一個「公開格式」
2. IFC的目的是用來進行「資料交換」
基於其設計目標產生了以下的優點:
- 優點1:不限定使用軟體
形成這個優點的原因很簡單,
採用純文字作為格式基礎,
所有文字編輯器都可以直接開啟該檔案,
進一步如何解析請參考「IFC的格式 - 純文字解析基礎」。
- 缺點1:檔案容量大
相較於其他二進位壓縮格式檔案,
IFC光是純文字就讓其檔案的容量較大,
此外,特殊格式的檔案通常都還有一些較方便的縮寫或重覆引用方法,
但IFC為了讓公開的格式容易被使用,
因此在基本格式上放棄了一些可以節省容量的表示方法,
雖然也有事後壓縮成ifczip這類的應用,
但原則上並非在IFC本身的設計之內。
特別是一些管線等複雜的圖形上,
其檔案大小差異相當大。
- 優點2:格式公開
所有IFC的定義都可以在buildingSMART的官方網站上找到,
例如:IFC 2x3 TC1 格式說明 、 IFC4 Add2 格式說明
有任何版本更新及修正都會公佈在網路上,
因此大家可以依照相同的標準去進行IFC的匯入及匯出作業。
- 缺點2:常用版本非最新版
目前最新的公開釋出版本是2016年發佈的 IFC4 Add2,
但目前大多數軟體支援的是2007年發佈的 IFC 2x3 TC1,
主要的原因是IFC 2x3 TC1已經可以描述所有物件的外觀及屬性,
其原理有點像是電腦圖學的幾何描述與座標描述,
相關範例請參考「IFC的格式 - 純文字解析基礎」一文。
但單純的外觀描述並不足以進行工程應用,
在資料交換上往往還需要進一步進行判別,
例如三維空間中的「定線」其「平曲線」及「豎曲線」在沒有定義之前,
還是可以用一堆「點位」或簡單的公式加以表示,
但如果要應用在工程上,常常會需要進行檢核及修正,
如果沒辦法「全部」用設計參數來表示的話,
就不容易加以應用,
因此在 IFC4x1 Add1中,便加入了定線(IfcAlignment)相關的定義。
這些進一步定義的屬性其實算特殊化,
多數的軟體覺得並非其軟體之主要功能考量,
因此並沒有打算隨著改版,
造成大部份的軟體支援IFC都還是以IFC 2x3 TC1為主。
- 優點3:物件導向式設計
IFC本身是採用物件導向式(Object Oriented)的設計,
因此具備有類別、物件、繼承、參照、抽象、多型等特性,
幾乎可以描述現實生活中看得見的任何東西之間的關係。
- 缺點3:格式複雜
IFC 2x3 TC1中共有
117種定義資料型態(Defined Types)
164種列舉資料型態(Enumerations)
46個選擇資料型態(Select Types)
653種實體資料型態(Entities)
而IFC 2x4則有
126種定義資料型態(Defined Types)
206種列舉資料型態(Enumerations)
59個選擇資料型態(Select Types)
766種實體資料型態(Entities)
還有
42個內建函數(Functions)
408個屬性集(Property Sets)
91個數量集(Quantity Sets)
1691個獨立屬性(Individual Properties)
而且還有自訂義物件。
恩…不複雜嗎?
從上述說明大家應該可以發現,
其實IFC的優點與缺點就是一體兩面,
因為要具備這些優點,就會造成這些缺點。
但透過這樣的設計,就可以用純文字來描述複雜的工程資訊。
2018-06-04
IFC的格式 - 純文字解析基礎
進行IFC格式解析前請先稍微了解IFC的架構(請參考「IFC的架構」一文),
本文先不談IFCXML格式,以純IFC格式來說明。
IFC的優點之一,就是採用「純文字」做為資料底層,
所有的資料都可以用明碼的方式存在,
因此不論採用什麼軟體設備,
只要能用純文字編輯器都可以開啟IFC檔案。
所以不論是Windows、Linux、iOS、Android都可以開啟IFC格式的檔案。
我們先隨意挑一個簡單來IFC 2x3 TC1的案例來看一下:
這邊我們用最簡單的方式來理解一下上面這個IFC檔案,
在這裡我用Windows內建的「記事本」開啟,我們先看第一行
#43516 = IFCCARTESIANPOINT((7820.2955167228, 610.415423053157,514.28509535737));
主要分成三個部份:
左邊紅色是 P21ID
中間藍色是 物件類別
右邊綠色是 物件參數
這樣的表示法本身是一個ISO10303標準格式,
稱為STEP(Standard for the Exchange of Product model data) file,
等號(=)左邊井字號(#)開頭的數字#43516是ISO標準中的 Part21所記錄的一種方式,
因此我們常稱之為P21ID (詳情可以參考ISO10303-21說明)。
等號(=)右邊即為該行的資料,第一個英文字即為物件類別,
此處的IFCCARTESIANPOINT即為「卡氏座標點」,
而後面接的三個數字即為其 x, y, z 座標,也就是物件參數。
更進一步的IFC規格可以參考官方網站的說明,最常用的是下面這兩種:
1. IFC 2x3 TC1 格式說明
2. IFC4 Add2 格式說明
其中 IFC 2x3 TC1是支援度最廣的格式,
IFC4 Add2是目前開放出來最新的格式。
再往下可以找到
#43546 = IFCPOLYLOOP((#43486,#43538,#43510, ... ));
在右邊的 #43486,#43538,#43510, ... 就是一堆上面提到的卡氏座標點位,
因此,可以理解該行即為 將這些點位串起來,變成一個多邊型 (Polygon)。
再進一步可以看到 #43549 = IFCFACEOUTERBOUND(#43546, .T. );
第二個參數 .T. 就是代表 True 的一個布林值,
此時需要去找一下IFCFACEOUTERBOUND的定義,
得知第二個參數為
更進一步可以把一堆IFCFACEOUTERBOUND組成IFCFACE,
最後再經過很多個步驟後,才會組成該檔案的「樓板」。
可以知道裡面總共有9個參數,
再來,前往官方網站找IFCSLAB的定義:
本文先不談IFCXML格式,以純IFC格式來說明。
IFC的優點之一,就是採用「純文字」做為資料底層,
所有的資料都可以用明碼的方式存在,
因此不論採用什麼軟體設備,
只要能用純文字編輯器都可以開啟IFC檔案。
所以不論是Windows、Linux、iOS、Android都可以開啟IFC格式的檔案。
我們先隨意挑一個簡單來IFC 2x3 TC1的案例來看一下:
IFC 格式範例
這邊我們用最簡單的方式來理解一下上面這個IFC檔案,
在這裡我用Windows內建的「記事本」開啟,我們先看第一行
#43516 = IFCCARTESIANPOINT((7820.2955167228, 610.415423053157,514.28509535737));
主要分成三個部份:
左邊紅色是 P21ID
中間藍色是 物件類別
右邊綠色是 物件參數
這樣的表示法本身是一個ISO10303標準格式,
稱為STEP(Standard for the Exchange of Product model data) file,
等號(=)左邊井字號(#)開頭的數字#43516是ISO標準中的 Part21所記錄的一種方式,
因此我們常稱之為P21ID (詳情可以參考ISO10303-21說明)。
等號(=)右邊即為該行的資料,第一個英文字即為物件類別,
此處的IFCCARTESIANPOINT即為「卡氏座標點」,
而後面接的三個數字即為其 x, y, z 座標,也就是物件參數。
更進一步的IFC規格可以參考官方網站的說明,最常用的是下面這兩種:
1. IFC 2x3 TC1 格式說明
2. IFC4 Add2 格式說明
其中 IFC 2x3 TC1是支援度最廣的格式,
IFC4 Add2是目前開放出來最新的格式。
再往下可以找到
#43546 = IFCPOLYLOOP((#43486,#43538,#43510, ... ));
在右邊的 #43486,#43538,#43510, ... 就是一堆上面提到的卡氏座標點位,
因此,可以理解該行即為 將這些點位串起來,變成一個多邊型 (Polygon)。
再進一步可以看到 #43549 = IFCFACEOUTERBOUND(#43546, .T. );
第二個參數 .T. 就是代表 True 的一個布林值,
此時需要去找一下IFCFACEOUTERBOUND的定義,
得知第二個參數為
| Orientation | : | This indicated whether (TRUE) or not (FALSE) the loop has the same sense when used to bound the face as when first defined. If sense is FALSE the senses of all its component oriented edges are implicitly reversed when used in the face. |
最後再經過很多個步驟後,才會組成該檔案的「樓板」。
我們在該檔案中搜尋一下 IFCSLAB,回頭來解析看看:
#32536= IFCSLAB('17_$0D8CH3heDs19BdsuPW',#41,'\X2\6A13677F\X0\:RC15cm:3467913',$,'\X2\6A13677F\X0\:RC15cm',#32518,#32534,'3467913',.FLOOR.);
可以知道裡面總共有9個參數,
再來,前往官方網站找IFCSLAB的定義:
可以發現這九個參數分別是:
其中有 OPTIONAL代表可以填空值($),
如果要找該樓版的位置的話,應該要從 ObjectPlacement 往下找。
如果要找該樓版的外觀的話,應該要從 Representation 往下找。
中間複雜的過程這邊就先省略,
總之,把一開始的卡式座標式一路往上就會找到這個樓板,
而從這個樓版的Representation一路往下找就會找到這些組成樓版的座標點位。
而座標的部份,常用來指定物件為置的物件類別為IfcAxis2Placement3D,
簡單來說物件的解析方式可用下圖表示:
有了Z-Axis跟X-Axis即可cross出Y-Axis,
解析後可以把該物件變成一個 4x4 的轉置矩陣,
透過層層堆疊就可以把座標從物件座標一路轉換成專案座標,
甚至是全球座標。
再舉另一個簡單的「掃掠」格式來組成立方體的案例,
透過這幾行IFC的描述,即可表示出一個立方柱體。
這些是IFC的基礎解析方式,
而不同版本的IFC會有一定程度上的差別,
但通常基本的圖形描述方式並不會改變,
新版本的IFC主要都是在「物件定義」上加入新的物件類別及描述,
例如 IFC4 Add1中加入的定線 (Alignment)其實就是將原本的線形給予其工程意義,
讓直線、弧線、緩合曲線、豎曲線能夠用類似公式的方式來加以描述及調整,
本質上依然是「線」的集合,但解析上就會有所不同。
GlobalId : IfcGloballyUniqueId;
OwnerHistory : IfcOwnerHistory;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
ObjectType : OPTIONAL IfcLabel;
ObjectPlacement : OPTIONAL IfcObjectPlacement;
Representation : OPTIONAL IfcProductRepresentation;
Tag : OPTIONAL IfcIdentifier;
PredefinedType : OPTIONAL IfcSlabTypeEnum;
其中有 OPTIONAL代表可以填空值($),
如果要找該樓版的位置的話,應該要從 ObjectPlacement 往下找。
如果要找該樓版的外觀的話,應該要從 Representation 往下找。
中間複雜的過程這邊就先省略,
總之,把一開始的卡式座標式一路往上就會找到這個樓板,
而從這個樓版的Representation一路往下找就會找到這些組成樓版的座標點位。
而座標的部份,常用來指定物件為置的物件類別為IfcAxis2Placement3D,
簡單來說物件的解析方式可用下圖表示:
有了Z-Axis跟X-Axis即可cross出Y-Axis,
解析後可以把該物件變成一個 4x4 的轉置矩陣,
透過層層堆疊就可以把座標從物件座標一路轉換成專案座標,
甚至是全球座標。
再舉另一個簡單的「掃掠」格式來組成立方體的案例,
透過這幾行IFC的描述,即可表示出一個立方柱體。
這些是IFC的基礎解析方式,
而不同版本的IFC會有一定程度上的差別,
但通常基本的圖形描述方式並不會改變,
新版本的IFC主要都是在「物件定義」上加入新的物件類別及描述,
例如 IFC4 Add1中加入的定線 (Alignment)其實就是將原本的線形給予其工程意義,
讓直線、弧線、緩合曲線、豎曲線能夠用類似公式的方式來加以描述及調整,
本質上依然是「線」的集合,但解析上就會有所不同。
2018-05-27
什麼是Open BIM?
在接觸 IFC 之後,常常會聽到Open BIM這個詞出現在相關的文章或演講中,大家也都聽過像是Open Source這類的詞,或多或少可以理解成「開放」或「公開」,但Open BIM究竟是什麼?對我們有什麼幫助呢?
(圖片來源)
首先,我們先來看一些基本的定義及說明:
Open BIM是由buildingSMART、GRAPHISOFT、TEKLA、Trimble、NEMETSCHEK及DATA DESIGN SYSTEM等單位共同發起提出的概念,目的是用來解決資料交換的問題,讓所有資訊基於一個開放的標準和流程進行協同設計、建築實作和營運管理。此外,也發展出Open BIM認證來提供AEC軟體供應商改進、測試和認證資料連接,幫助資料交換與其他Open BIM軟體解決方案銜接。
Open BIM主要的目標有四點:
1. 支援公開透明的工作流程,允許其他專案成員加入,無需限制專案成員使用何種軟體,都可以進行資料交換。
2. 建立相互參考過程的通用語言,使得業界和政府的採購透明化,可評估服務品質並確保資料品質。
3. 提供跨專案生命週期的持續性專案資料,避免重複輸入相同資料,減少間接錯誤。此外,不論大型的平台或小型的專案都能參與,以成為獨立系統的最佳解決方案。
4. 鼓勵提供更精確的用戶需求查詢的線上產品服務,並直接從建築資訊模型中提取所需的產品資料。
所以,IFC只是一個資料標準,而 Open BIM是基於其上再加入實際流程的一個概念,也發展成一個認證。更進一步,常常會有人提到英國的BIM Level 3的概念其實也是Open BIM,但名稱改成iBIM及ISO BIM,其概念也都是由IFC、IDM、IFD所組成。
Open BIM的組成,從buildingSMART所談的Open BIM跟IFC的關係,我們挑一個重要的圖表出來談:
先看右上角的三角型,基本上Open BIM就是由這三個所組成,下方的IFC相關說明可以在「什麼是IFC? IFC的作用為何?」這篇文章中找到,基本上就是一個資料的共通標準。
IDM(Information Delivery Manual)通常翻譯成「資訊交付手冊」,主要就是在說明流程。通常會將依專案特性分解為許多流程並清楚的定義其所需要的資料與最後的輸出資訊。此外,流程與流程之間也要說明資料流間的關係,所以IDM可以視為一張非常大的流程圖,定義著所有輸入與輸出的資訊。
IFD(International Framework for Dictionaries)通常翻譯成「國際字典框架」,主要是將物件的名稱跟概念分開來描述,並給予一個全球辨識碼(GUID就是一個全世界都不會重覆的唯一碼),舉例來說,「榔頭」、「錘子」、「鐵槌」、「Hammer」指的都是「能夠用來強化敲擊力量的一種工具」,但在不同的模型中可能有不同的名稱,因此透過IFD來確保資訊交換的正確性及唯一性。
最後MVD(Model View Definition)通常翻譯成「模型視圖定義」,其實就是上述三個元素加上使用情境後所整理出來的一份完整的格式資料,可以在官方網站上找到相關範例,但真的要實際應用,還是要依照需求進行整理。
廣義的細談下去與專案資訊結合具體化後,就會是EIR(Employer's Information Requirements,業主需求書)及BEP(BIM Execution Plan,BIM執行計畫書),但EIR及BEP並不會強制要求滿足Open BIM的規定,但如果要長遠的發展下去,國際標準,不考慮嗎?
最後,稍微提一下BCF(BIM Collaboration Format)通常翻譯成「BIM協同格式」,其概念是擷取一部份的模型用來交換、記錄及討論一些議題,其設計理念上是希望能夠進行模型部份更新,避免每次更新模型都需要把整個模型重新傳送,但要實現該設計理念同時需要後端伺服器的支持,目前這方面較知名的服務是BIMcollab。
----
這一篇寫的有點太長太複雜,
但這些都是Open BIM底下的重要概念且彼此相互關聯。
希望之後的文章可以維持簡單易懂的風格。
2018-05-14
什麼是IFC? IFC的作用為何?
IFC 全名是 Industry Foundation Classes 「工業基礎分類」,
是一個AEC產業的國際標準格式,
主要設計目標是用來進行「資料交換」,
細節可參考 BuildingSMART官方網站。
IFC從1997年1月發佈 IFC 1.0以來,已經過數次重要的改版,
目前最多軟體支援的版本是 IFC 2x3 TC1,
而最完整的公開版本目前是 IFC 4 Add2,
本文不會介紹其中的細節,
主要從設計概念上說明 IFC 的目標跟作用。
前面有提過,IFC的目標是進行「資料交換」,
也就是說,今天你用A牌的軟體建立出來的資料,
B牌的軟體應該也可以讀取出裡面的參數,
C牌的工具也要能夠從裡面找出他所需要的資料。
意謂著這些「資料」不需要被「軟體」所綁住,
只要是符合相關認證的軟體及工具,
都可以正確的把資料「讀」出來。
在AEC產業常常需要多個不同專業的團隊一起合作完成一項複雜的工作,
不同的專業團隊使用的軟體可能會不一樣,
外觀設計的團隊跟結構設計的團隊考量一定有所落差,
而每個團隊擅長的工具也不盡相同,
如果沒有 IFC 這樣的格式存在的話,
團隊合作要進行資料交換就需要大量的客製化開發。
以下圖的五種軟體的範例來說,總共需要10種格式轉換工具。
而如果大家在開發轉換標準的時候都照IFC這個標準的話,
總共只需要五個轉換工具。
但是AEC產業常用的工具通常不只有五種,
甚至一個軟體可能會有不同的數個版本。
更重要的是,軟體工具的儲存格式往往會依照需求進行更新,
如果沒有 IFC 的話,就可以體會什麼是「牽一髮而動全身」。
同樣的,對軟體廠商來說,
他們可以不用把格式底層給其他同業進行介接,
對雙方也都有保障,也不用考慮該由那方進行開發。
結論:
1. IFC是用來進行「資料交換」的一個標準
2. 一般的目標是「讀」出不同軟體的資料
----
IFC 系列預告:
- 什麼是Open BIM?
- IFC 的優缺點
- IFC 的格式
- IFC 的架構
是一個AEC產業的國際標準格式,
主要設計目標是用來進行「資料交換」,
細節可參考 BuildingSMART官方網站。
![]() |
| IFC改版歷程 |
而最完整的公開版本目前是 IFC 4 Add2,
本文不會介紹其中的細節,
主要從設計概念上說明 IFC 的目標跟作用。
前面有提過,IFC的目標是進行「資料交換」,
也就是說,今天你用A牌的軟體建立出來的資料,
B牌的軟體應該也可以讀取出裡面的參數,
C牌的工具也要能夠從裡面找出他所需要的資料。
意謂著這些「資料」不需要被「軟體」所綁住,
只要是符合相關認證的軟體及工具,
都可以正確的把資料「讀」出來。
在AEC產業常常需要多個不同專業的團隊一起合作完成一項複雜的工作,
不同的專業團隊使用的軟體可能會不一樣,
外觀設計的團隊跟結構設計的團隊考量一定有所落差,
而每個團隊擅長的工具也不盡相同,
如果沒有 IFC 這樣的格式存在的話,
團隊合作要進行資料交換就需要大量的客製化開發。
以下圖的五種軟體的範例來說,總共需要10種格式轉換工具。
而如果大家在開發轉換標準的時候都照IFC這個標準的話,
總共只需要五個轉換工具。
但是AEC產業常用的工具通常不只有五種,
甚至一個軟體可能會有不同的數個版本。
![]() |
| IFC 的作用 |
如果沒有 IFC 的話,就可以體會什麼是「牽一髮而動全身」。
同樣的,對軟體廠商來說,
他們可以不用把格式底層給其他同業進行介接,
對雙方也都有保障,也不用考慮該由那方進行開發。
結論:
1. IFC是用來進行「資料交換」的一個標準
2. 一般的目標是「讀」出不同軟體的資料
----
IFC 系列預告:
- 什麼是Open BIM?
- IFC 的優缺點
- IFC 的格式
- IFC 的架構
2018-05-12
如何設定3D列印第一層的參數
對於3D列印而言,第一層列印的品質對於列印成功與否有極大的影響,因此若第一層列印的品質不好,筆者建議就直接終止列印,等到重新調整參數後再重新列印,才不會浪費時間也浪費材料。
一般列印的步驟為:
一般列印的步驟為:
- 清潔玻璃 確保玻璃上沒有灰塵或其他雜質
- 校正水平與起始高度 水平校準這邊就不特別說明,畢竟這是本來就該做的事情,而起始高度影響的則是第一層的重要參數,太高則料無法有效黏著,太低可能會刮傷平台,必須特別注意。
- 選定要列印的檔案並開始執行列印
- 趁噴頭加熱的空檔在平台塗上口紅膠 按下列印後,這時噴頭會開始加熱到設定的溫度,通常我會利用這段時間塗上口紅膠,因為太早塗的話口紅膠乾掉效果就不好,口紅膠建議使用下圖這個牌子,其他牌子的黏著效果沒有這個好。
- 開始列印後,觀察第一層列印的品質,若發現任何瑕疵建議暫停重新列印 如同前面所說,第一層的品質對於最後列印的成功與否的影響極大,所以若覺得有任何不對勁的地方建議暫停列印並重新檢視有沒有什麼細節沒有注意到。
- 速度 一般來說,我們會把第一層的列印速度放慢,讓料能夠完整有效地貼附平面
- 熱床 若有熱床的話一般可以提升列印品質,熱床並非必要品且熱床不便宜,因此需不需購買熱床就見仁見智了。
- Brim or Raft 不知道該怎麼翻譯這個,開啟Brim(外面那一圈一圈的)可以增加底部的穩定度,避免印到高處時模型晃動導致列印失敗,若要列印的物品比較高,則建議使用Raft(底部平台),其效果會比Brim更好但當然更花時間
2018-05-07
如何將BIM模型透過3D列印呈現
買了一台3D列印機,我該如何把我建的模型印出來呢?
近年來3D列印機越來越便宜,已經到了個人能夠負擔的程度,因此越來越多人擁有3D列印機,但究竟該如何把模型給印出來了呢?
基本的流程如下圖,步驟只有兩個
.stl為3D列印常用之格式,一般切片軟體都支援讀取此格式,但並非所有BIM軟體都支援轉出.stl,因此通常需要一些外掛程式來轉出,或是透過其他程式(例如Rhino)來轉出.stl。
.gcode為給3D列印機的指令,其可以控制噴頭的位置、速度、溫度、出料速度...等等資訊,切片軟體的功用就是將模型轉化為機器的指令。常見的切片軟體如上圖中間所示,CURA、Slic3r或是Kisslicer都是免費的切片軟體,各有優缺點,使用者依照習慣與喜好選擇即可。在切片軟體中一般需要設定的參數如下:
近年來3D列印機越來越便宜,已經到了個人能夠負擔的程度,因此越來越多人擁有3D列印機,但究竟該如何把模型給印出來了呢?
基本的流程如下圖,步驟只有兩個
- 從BIM/建模軟體匯出.stl檔。
- 透過切片軟體開啟.stl檔,設定列印參數後轉出.gcode檔,最後將.gcode送給3D 列印機開始執行列印動作。
![]() |
| 從BIM模型到3D列印之流程 |
.gcode為給3D列印機的指令,其可以控制噴頭的位置、速度、溫度、出料速度...等等資訊,切片軟體的功用就是將模型轉化為機器的指令。常見的切片軟體如上圖中間所示,CURA、Slic3r或是Kisslicer都是免費的切片軟體,各有優缺點,使用者依照習慣與喜好選擇即可。在切片軟體中一般需要設定的參數如下:
- 列印溫度:取決於使用的列印材料(filament)。
- 列印速度:一般來說,速度慢列印的品質越高,機器等級越好,列印的速度越快。
- 層高:每一層切片的高度,越高紋路就越粗但列印時間短,反之則紋路越細緻但需要較久的時間列印。
2014-09-04
Solibri Model Checker於法規檢討的應用-Part 1
前面筆者曾經介紹過SMC的基本功能(詳見Solibri Model Checker-BIM模型的檢核工具),SMC無疑地能夠確保模型品質,以系統的方法找出模型的瑕疵,確保模型的資訊正確無誤,下一個接收模型的單位才能夠直接應用模型,而非接手後重新建立模型。
多數人在得知SMC的基本功能之後都會好奇究竟SMC是否能夠用於「法規檢討」上,因此本篇將針對SMC能夠達成的法規檢討部分做一簡單的介紹。在開始之前必須跟讀者說明的是SMC並無法做到「一鍵完成」所有法規的檢討,其原因在於並非所有法規皆可轉換為程式邏輯,再者SMC提供約40~50種的基礎規則供使用者修改其參數作為品質驗證使用,而非開放給使用者自行編寫規則,因此無法自訂出百分之百符合法規邏輯的檢查規則。故若讀者想要尋找能夠自行撰寫邏輯的檢查程式,此篇文章所介紹的東西可能不適用。
在此筆者暫時先將SMC的規則庫中的所有規則依照用途將其分為9大類,其分別為:
以下就各種分類來詳細描述各種分類的功能與用途。
此類規則主要針對模型元件的邏輯性做判斷,避免不合常理的情形出現。例如:
說明:
上述例子說明的即是一般常理情況下,模型中的物件該有的特性與行為,但是我們在建模時基於能夠簡單快速地將模型給建立完成的前提有時會忽略這些細節,例子4即是大家所熟知的碰撞檢核或干涉檢核,其檢核的目的用於結構模型即是確保模型數量正確,用於管線模型則是為了檢核管線的配置是否有衝突發生。例子3則可應用於建築技術規則第46條:
「(防音)連棟住宅、集合住宅之分界牆、寄宿舍、旅館等之臥室或客房或醫院病房相互間之分間牆及其與其他部份之分間牆,應依左列規定設置具有防音效果之隔牆:
一、分界牆或分間牆應為無空隙、無害於防音之構造,並應為直達樓地板或屋頂之牆壁,如天花板有防音性能者,分間牆得建築至天花板。二、...」
第一點說明分界牆或分間牆必須觸碰於樓地板或有防音性能之天花板,例子3的規則恰好可用於檢查此類的牆體是否有滿足法規的需求。
「(天花板)天花板之淨高度應依左列規定:
一、學校教室不得小於三公尺。
二、其他居室及浴廁不得小於二‧一公尺,但高低不同之天花板高度至少應有一半以上大於二‧一公尺,其最低處不得小於一‧七公尺。」
則利用距離檢核的規則即可檢查天花板與樓地板之間的距離是否滿足法規的需求。
屬性檢核
此類規則用於檢查物件的屬性資料,如長度、高度、名稱等屬性,而且能夠進一步檢查屬性的規則,舉例來說,建築物的房間編號基本上不會重複,因此可透過屬性檢核來確認是否每個房間編號都是唯一的值。
後面待續...
多數人在得知SMC的基本功能之後都會好奇究竟SMC是否能夠用於「法規檢討」上,因此本篇將針對SMC能夠達成的法規檢討部分做一簡單的介紹。在開始之前必須跟讀者說明的是SMC並無法做到「一鍵完成」所有法規的檢討,其原因在於並非所有法規皆可轉換為程式邏輯,再者SMC提供約40~50種的基礎規則供使用者修改其參數作為品質驗證使用,而非開放給使用者自行編寫規則,因此無法自訂出百分之百符合法規邏輯的檢查規則。故若讀者想要尋找能夠自行撰寫邏輯的檢查程式,此篇文章所介紹的東西可能不適用。
在此筆者暫時先將SMC的規則庫中的所有規則依照用途將其分為9大類,其分別為:
- 邏輯性檢核
- 距離檢核
- 屬性檢核
- 結構元件檢核
- 一致性檢核
- 面積檢核
- 使用性檢核
- 防災逃生檢核
- 完整性檢核
以下就各種分類來詳細描述各種分類的功能與用途。
邏輯性檢核
此類規則主要針對模型元件的邏輯性做判斷,避免不合常理的情形出現。例如:
- 門與窗無法單獨存在於模型空間中而必須依附於牆體。
- 一棟建築的外殼必須將所有建築裡的空間包圍起來。
- 牆體的下部必須與樓地板接觸,上部必須連接上層的樓地板或是天花板。
- 物件與物件之間彼此不互相重疊。
說明:
上述例子說明的即是一般常理情況下,模型中的物件該有的特性與行為,但是我們在建模時基於能夠簡單快速地將模型給建立完成的前提有時會忽略這些細節,例子4即是大家所熟知的碰撞檢核或干涉檢核,其檢核的目的用於結構模型即是確保模型數量正確,用於管線模型則是為了檢核管線的配置是否有衝突發生。例子3則可應用於建築技術規則第46條:
「(防音)連棟住宅、集合住宅之分界牆、寄宿舍、旅館等之臥室或客房或醫院病房相互間之分間牆及其與其他部份之分間牆,應依左列規定設置具有防音效果之隔牆:
一、分界牆或分間牆應為無空隙、無害於防音之構造,並應為直達樓地板或屋頂之牆壁,如天花板有防音性能者,分間牆得建築至天花板。二、...」
第一點說明分界牆或分間牆必須觸碰於樓地板或有防音性能之天花板,例子3的規則恰好可用於檢查此類的牆體是否有滿足法規的需求。
距離檢核
此類規則可用於兩指定物件之間的距離是否過大或過小,物件並非一定是特定有實體的物件,也可以是兩空間。例如建築技術規則第32條:「(天花板)天花板之淨高度應依左列規定:
一、學校教室不得小於三公尺。
二、其他居室及浴廁不得小於二‧一公尺,但高低不同之天花板高度至少應有一半以上大於二‧一公尺,其最低處不得小於一‧七公尺。」
則利用距離檢核的規則即可檢查天花板與樓地板之間的距離是否滿足法規的需求。
屬性檢核
此類規則用於檢查物件的屬性資料,如長度、高度、名稱等屬性,而且能夠進一步檢查屬性的規則,舉例來說,建築物的房間編號基本上不會重複,因此可透過屬性檢核來確認是否每個房間編號都是唯一的值。
後面待續...
訂閱:
文章 (Atom)











