在IFC中,IfcRelContainedInSpatialStructure用于将构件分配给项目的特定空间结构。在不同的项目或者区域,相同类型的构件可能被分配给不同的空间结构。如墙通常分配给楼层,但是幕墙可以分配给建筑物,地形中的挡土墙可以分配给场地。
IfcRelContainedInSpatialStructure主要包括:
(1)RelatingStructure:空间结构。
(2)RelatedElements:一系列构件。
构件只能被一个空间结构包含,但是可以被多个空间结构引用(“引用关系” 参见 IfcRelReferencedInSpatialStructure)。即元素与空间结构的“包含关系”必须是层次关系,但是元素与空间结构的“引用关系”不需要分层。
构件可以被分配到的空间结构,预定义的空间结构有:
(1)场地(IfcSite)
(2)建筑物(IfcBuilding)
(3)楼层(IfcBuildingStorey)
(4)空间区域(IfcSpace)
下图是使用IfcRelContainedInSpatialStructure将一个楼梯和两个墙分配给空间结构的示例。
IFC文件的内容是:
1 #323= IFCSPACE('3w0zWKm7n8SB1qbfwUzt0J',#42,'2 - Bedroom',$,$,#309,#320,'Bedroom',.ELEMENT.,.SPACE.,$); 2 #37554= IFCFURNITURE('3cUkl32yn9qRSPvBJVyZVU',#42,'Furniture_Desk:1525x762mm:287689',$,'1525x762mm',#37552,#37542,'287689',$); 3 #82818= IFCFURNITURE('1RS53LK$j6KOlAGwxTiY8D',#42,'Furniture_Bed_1:1525x2007x355mm-Queen:295878',$,'1525x2007x355mm-Queen',#82817,#82807,'295878',$); 4 #83777= IFCRELCONTAINEDINSPATIALSTRUCTURE('0laxYw82f0mxC_aVWBov2h',#42,$,$,(#37554,#82818),#323);
#83777(IfcRelContainedInSpatialStructure)将#82818(家具,IfcFurniture)和#37554(家具,IfcFurniture)分配到#323(空间区域,IfcSpace)。
1 #137= IFCBUILDINGSTOREY('1o0c33arXF9AEePDYchj2Z',#42,'Roof',$,$,#136,$,'Roof',.ELEMENT.,2500.); 2 #35959= IFCROOF('3cUkl32yn9qRSPvBJVyWh4',#42,'Basic Roof:Roof_Flat-4Felt-150Ins-50Scr-150Conc-12Plr:286419',$,'Basic Roof:Roof_Flat-4Felt-150Ins-50Scr-150Conc-12Plr:45441',#34171,#35956,'286419',.NOTDEFINED.); 3 #78145= IFCSLAB('3ntFzSulnDNeQ4nJrMgcOt',#42,'Floor:Simple floor:295048',$,'Floor:Simple floor',#78115,#78142,'295048',.FLOOR.); 4 #83046= IFCRELCONTAINEDINSPATIALSTRUCTURE('15Z0v90RiHrPC20066FoKR',#42,$,$,(#35959,#78145),#137);
#83046(IfcRelContainedInSpatialStructure)将#78145(板,IfcSlab)和#35959(屋顶,IfcRoof)分配到#137(楼层,IfcBuildingStorey)。
参考链接:https://blog.csdn.net/liyazhen2011/article/details/81668859