Revit导出IFC4中IfcConnectionSurfaceGeometry坐标反转问题咨询
IFC连接面几何坐标差异原因解析
你观察到的多段线XY坐标反转现象,本质是**IfcCurveBoundedPlane的二维边界坐标定义在局部平面坐标系下,而非全局坐标系**导致的,和连接面朝向、局部坐标系的轴定义直接相关,并非IFC导出错误,具体逻辑如下:
1. #785楼板连接面(实例#224)坐标逻辑
该连接面对应的局部坐标系由#222=IFCAXIS2PLACEMENT3D定义:
- 原点:全局坐标
(24.,10.,8.) - 法向(Z轴):
(0.,0.,1.0),向上,朝向所属空间内部 - 局部X轴:
(-1.,0.,0.),沿全局X轴负方向 - 局部Y轴:通过右手定则由「Z轴 × X轴」计算得
(0.,1.,0.),沿全局Y轴正方向
边界多段线#220的二维坐标基于上述局部坐标系定义,映射到全局坐标系后与Revit坐标轴完全匹配。
2. #707楼板连接面(实例#239)坐标逻辑
该连接面对应的局部坐标系由#237=IFCAXIS2PLACEMENT3D定义:
- 原点:全局坐标
(24.,10.,0.) - 法向(Z轴):
(0.,0.,-1.0),向下,朝向所属空间底部 - 局部X轴:
(0.,-1.,0.),沿全局Y轴负方向 - 局部Y轴:通过右手定则由「Z轴 × X轴」计算得
(-1.,0.,0.),沿全局X轴负方向
可以看到该局部坐标系的X轴对应全局Y轴方向、Y轴对应全局X轴方向,因此基于该局部坐标系定义的边界多段线#235的二维坐标,看起来就会出现XY反转的表象,将其按局部坐标系映射到全局坐标后,依然和Revit模型的实际楼板边界完全一致。
核心规则总结
IfcCurveBoundedPlane的边界曲线(多段线)的二维坐标,永远基于所属平面的局部坐标系定义,而非全局坐标系- 局部坐标系的Z轴为平面法向,永远朝向所属空间内部,这也是两个楼板法向一个向上一个向下的原因
- 局部X轴为
IfcAxis2Placement3D显式定义的参考方向,Y轴通过右手定则由「Z轴 × X轴」计算得到,无强制要求和全局坐标轴对齐
内容的提问来源于stack exchange,提问作者illerhouse
相关产品推荐
相关产品推荐

