ifc的空間層級
下面例子:如何從檔案中檢索空間結構,ifc的空間結構是指代表專案,地點,建築物,樓層和空間的層次結構。那麼檢視ifc檔案,我們將會發現建築物可以包含樓層和其他建築物,樓層可以包含空間以及其他樓層等。而且這種關係是用ifcrelaggregates建模的,但是如果想找到包含在特點空間結構中元素,它就被建模為ifcrelcontainedinspatialstructure,所以取決於想要找到的東西。下面的例子展示了如何使用上面提到的兩個關係來搜尋和遍歷資料以獲得完整的層次結構。
usingsystem;
using
system.linq;
using
xbim.ifc;
using
xbim.ifc4.inte***ces;
namespace
basicexamples
}private
static
void printhierarchy(iifcobjectdefinition o, int
level)
", getindent(level), o.name, o.gettype().name));
//只有空間元素可以包含建築元素
var spatialelement = o as
iifcspatialstructureelement;
if (spatialelement != null
) ->
", getindent(level), element.name, element.gettype().name));
}//利用 ifcrelaggregares 獲取空間結構元素的空間分解
foreach (var item in o.isdecomposedby.selectmany(r =>r.relatedobjects))
printhierarchy(item, level +1
); }
private
static
string getindent(int
level)
}}
輸出樣本模型
project number [ifcproject]default [ifcsite]
[ifcbuilding]
ground floor [ifcbuildingstorey]
->basic wall:wall-ext_102bwk-75ins-100lblk-12p:285330
[ifcwall]
->basic wall:wall-ext_102bwk-75ins-100lblk-12p:285395
[ifcwall]
->basic wall:wall-ext_102bwk-75ins-100lblk-12p:285459
[ifcwall]
->curtain wall:curtain_wall-exterior_glazing:285582
[ifccurtainwall]
->curtain wall:curtain_wall-exterior_glazing:285684
[ifccurtainwall]
->basic wall:wall-partn_12p-70mstd-12p:285792
[ifcwallstandardcase]
->basic wall:wall-partn_12p-70mstd-12p:285846
[ifcwallstandardcase]
->doors_extdbl_flush:1810x2110mm:285860
[ifcdoor]
->doors_intsgl:810x2110mm:285959
[ifcdoor]
->doors_intsgl:810x2110mm:285996
[ifcdoor]
->windows_sgl_plain:1810x1210mm:286105
[ifcwindow]
->windows_sgl_plain:1810x1210mm:286188
[ifcwindow]
->windows_sgl_plain:1810x1210mm:286238
[ifcwindow]
->compound ceiling:plain:286319
[ifccovering]
->compound ceiling:plain:286329
[ifccovering]
->compound ceiling:plain:286337
[ifccovering]
->floor:floor-grnd-susp_65scr-80ins-100blk-75pc:286349
[ifcslab]
->windows_sgl_plain:1810x1210mm:287567
[ifcwindow]
1 -living room [ifcspace]
->furniture_table_dining_w-chairs_rectangular:2000x1000x750mm_w-6_seats:289768
[ifcfurniture]
->chair - dining:chair - dining:289769
[ifcfurniture]
->chair - dining:chair - dining:289770
[ifcfurniture]
->chair - dining:chair - dining:289771
[ifcfurniture]
->chair - dining:chair - dining:289772
[ifcfurniture]
->chair - dining:chair - dining:290097
[ifcfurniture]
->chair - dining:chair - dining:290098
[ifcfurniture]
->furniture_couch_viper:2290x950x340mm:290852
[ifcfurniture]
->furniture_chair_viper:1120x940x350mm:291916
[ifcfurniture]
->furniture_chair_viper:1120x940x350mm:292127
[ifcfurniture]
->furniture_table_coffee_1:1200x550x450mm:293046
[ifcfurniture]
->furniture_piano:1370x600x1170mm:293961
[ifcfurniture]
2 -bedroom [ifcspace]
->furniture_desk:1525x762mm:287689
[ifcfurniture]
->furniture_bed_1:1525x2007x355mm-queen:295878
[ifcfurniture]
3 -entrance hall [ifcspace]
roof [ifcbuildingstorey]
->basic roof:roof_flat-4felt-150ins-50scr-150conc-12plr:286419
[ifcroof]
->floor:****** floor:295048
[ifcslab]
4 - roof [ifcspace]
Tomcat 層次結構
tomcat伺服器由一系列可配置元件構成,其中核心元件是 catalina servlet容器,它是 其他所有 tomcat元件的頂層容器。tomcat各元件之間存在的層次關係如圖 1 2所示。專家提示 tomcat的元件可以在 conf server.xml檔案中進行配置,每個tomcat元件在s...
BLE層次結構
1.phy 2.4g 3個廣播通道,37個資料通道,跳頻,這層做的好不好直接決定功耗,距離,靈敏度等 2.ll選擇哪個通道,怎麼識別空中資料,什麼時間傳送資料,怎麼保證資料完整性,ack,重傳,對鏈路進行管理控制,負責傳送和接收資料 3.hci 可以是api也可以是硬體介面,如串列埠,usb 4.l...
儲存器層次結構
sram 靜態隨機訪問儲存器 sram儲存穩定,訪問速度快 具有雙穩定特性,一般作為1,2級快取記憶體。dram 動態隨機訪問儲存器 dram儲存不如sram訪問速度快,相比也沒有sram穩定,一般作為主存 記憶體 和圖形系統幀緩衝區。dram晶元中的乙個單元儲存乙個位,w個單元儲存乙個位元組,w個...