【问题标题】:Reversed coordinates (x, y) in IFCIFC 中的反转坐标 (x, y)
【发布时间】:2021-06-07 18:50:15
【问题描述】:

我正在尝试通过读出房间 (IfcSpace) 及其连接表面几何来从 IFC 文件中查询一些信息。我正在使用一个简单的示例,在 Revit 中建模并在 IFC4 中导出:

3D view of the Model in Revit with some added information regarding to my question

我对 IFC 文件中定义连接面的平面的方式有点困惑:

#939= IFCRELSPACEBOUNDARY('3xhbPH49D9TfQKK9Lu08oz',#42,'1stLevel',$,#204,#785,#226,.PHYSICAL.,.INTERNAL.);
    #204= IFCSPACE('04KCO36993gQtA70ZBoE3c',#42,'1',$,$,#180,#199,'Raum A',.ELEMENT.,.SPACE.,$);
    #785= IFCSLAB('3e$xLVgOf3m8nQTYiFEy7v',#42,'Geschossdecke:STB 200:2441784',$,'Geschossdecke:STB 200',#755,#781,'2441784',.FLOOR.);
    #226= IFCCONNECTIONSURFACEGEOMETRY(#224,$);
        #224= IFCCURVEBOUNDEDPLANE(#223,#220,());
            #223= IFCPLANE(#222);
                #222= IFCAXIS2PLACEMENT3D(#212,#20,#14);
                    #212= IFCCARTESIANPOINT((24.,10.,8.));
                    #20= IFCDIRECTION((0.,0.,1.));
                    #14= IFCDIRECTION((-1.,0.,0.));
            #220= IFCPOLYLINE((#10,#214,#216,#218,#10));
                #10= IFCCARTESIANPOINT((0.,0.));
                #214= IFCCARTESIANPOINT((24.,0.));
                #216= IFCCARTESIANPOINT((24.,10.));
                #218= IFCCARTESIANPOINT((0.,10.));
                #10= IFCCARTESIANPOINT((0.,0.));

#942= IFCRELSPACEBOUNDARY('0WWFTh$2PB2hOrAyfp48qI',#42,'1stLevel',$,#204,#707,#241,.PHYSICAL.,.INTERNAL.);
    #204= IFCSPACE('04KCO36993gQtA70ZBoE3c',#42,'1',$,$,#180,#199,'Raum A',.ELEMENT.,.SPACE.,$);
    #707= IFCSLAB('3e$xLVgOf3m8nQTYiFEy7D',#42,'Geschossdecke:STB 200:2441740',$,'Geschossdecke:STB 200',#676,#703,'2441740',.FLOOR.);
    #241= IFCCONNECTIONSURFACEGEOMETRY(#239,$);
        #239= IFCCURVEBOUNDEDPLANE(#238,#235,());
            #238= IFCPLANE(#237);
                #237= IFCAXIS2PLACEMENT3D(#227,#22,#18);
                    #227= IFCCARTESIANPOINT((24.,10.,0.));
                    #22= IFCDIRECTION((0.,0.,-1.));
                    #18= IFCDIRECTION((0.,-1.,0.));
            #235= IFCPOLYLINE((#10,#229,#231,#233,#10));
                #10= IFCCARTESIANPOINT((0.,0.));
                #229= IFCCARTESIANPOINT((10.,0.));
                #231= IFCCARTESIANPOINT((10.,24.));
                #233= IFCCARTESIANPOINT((0.,24.));
                #10= IFCCARTESIANPOINT((0.,0.));

如您所见,楼板#785 有一条在#220 中定义的折线。坐标与 Revit 文件中的轴匹配。然而,slab #707 有一个由折线 #235 创建的平面,x 和 y 的坐标是相反的。我看到每个平面的方向之间存在差异,但我不明白它们是如何协同工作的。

我希望我能以某种方式澄清问题,并期待您的反馈。

最好的问候!

【问题讨论】:

    标签: coordinates ifc


    【解决方案1】:

    好吧.. 有时 5 分钟的放松思考比 2 小时的谷歌搜索要好。

    坐标原点翻转为自上而下的平面。所以 x 和 y 轴是相反的。简单几何:|最后,橡胶口香糖帮助了我:D

    我会把它留在这里,以防万一。

    祝你有美好的一天!

    【讨论】:

      猜你喜欢
      • 2015-04-18
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多