IFC構件位置信息—ObjectPlacement

在IFC標準中,採用相對座標系對構件定位。如柱(IfcColumn)的定位信息(局部座標系及參考座標系)由ObjectPlacement描述。ObjectPlacement由兩部分組成:ui

   (1)PlacementRelTo是參考座標系。柱子的參考座標系是樓層IfcBuidlingStorey所在的座標系。IfcBuidlingStorey以IfcBuilding所在的座標系爲參考,IfcBuilding以IfcSite所在的座標系爲參考,IfcSite定義的是總體座標系,沒有參考座標系。spa

    (2)RelativePlacement是相對座標系內的座標轉換。.net

     座標系存在多層參考的狀況,在明確各構件層次關係的前提下,進行逐級查詢肯定構件的絕對座標。code

     IFC文件的內容以下:blog

#6= IFCCARTESIANPOINT((0.,0.,0.));
#31= IFCAXIS2PLACEMENT3D(#6,$,$);
#32= IFCLOCALPLACEMENT(#311,#31);
#114= IFCBUILDING('1BNyUUMcj6ywEAW7k0zZlo',#41,'',$,$,#32,$,'',.ELEMENT.,$,$,#110);
#120= IFCAXIS2PLACEMENT3D(#6,$,$);
#121= IFCLOCALPLACEMENT(#32,#120);
#123= IFCBUILDINGSTOREY('1BNyUUMcj6ywEAW7j$2VSC',#41,'\X2\68079AD8\X0\ 1',$,$,#121,$,'\X2\68079AD8\X0\ 1',.ELEMENT.,0.);
#310= IFCAXIS2PLACEMENT3D(#6,$,$);
#311= IFCLOCALPLACEMENT($,#310);
#312= IFCSITE('1BNyUUMcj6ywEAW7k0zZln',#41,'Default',$,'',#311,$,$,.ELEMENT.,(42,21,31,181945),(-71,-3,-24,-263305),0.,$,$);
#165= IFCCARTESIANPOINT((-7318.22370947408,711.194038980438,0.));
#167= IFCAXIS2PLACEMENT3D(#165,$,$);
#168= IFCLOCALPLACEMENT(#121,#167);
#170= IFCCOLUMN('0Ae7iOjK982gh$h7PwMCca',#41,'M_\X2\77E95F6267F1\X0\:475 x 610mm:203111',$,'475 x 610mm',#168,#161,'203111');

#170是柱子(IfcColumn),位置信息由#168(IfcLocalPlacement)定義。it

#168(IfcLocalPlacement)指定了#121(IfcLocalPlacement,參考座標系)和#167(IfcAxis2Placement3D,局部座標系)。class

#121(IfcLocalPlacement)是樓層#123(IfcBuidlingStorey)所在的座標系。它指定了#32(IfcLocalPlacement,參考座標系)和#120(IfcAxis2Placement3D,局部座標系)。im

#32(IfcLocalPlacement)是建築物#114(IfcBuilding)所在的座標系。它指定了#311(IfcLocalPlacement,參考座標系)和#31(IfcAxis2Placement3D,局部座標系)。查詢

#311(IfcLocalPlacement)是場地#312(IfcSite)所在的座標系,它是總體座標系,沒有參考座標系。
img

 

參考:https://blog.csdn.net/liyazhen2011/article/details/81630680

相關文章
相關標籤/搜索