返回 BIM 与 IFC 博客
坐标问题是最让人摸不着头脑的一类 IFC 故障:几何完美无缺,模型却在错误的位置,要么离原点很远,要么与其他专业错位,要么干脆丢失了真实世界的位置。根本原因在于:Revit 有三个不同的原点,IFC 又有自己的一套地理配准实体,除非你主动建立对应关系,否则没有任何机制会把它们关联起来。
Revit 的三个原点
内部原点(Internal Origin)
Revit 固定不变的内部 (0,0,0)。导入 IFC 时,几何是相对于这个点定位的,与另外两个点无关。这就是导入的 IFC 常常落在“错误”位置的原因。
项目基点(Project Base Point)
项目的本地参照点(例如某个轴网交点),用于设计中的定位放线尺寸。
测量点(Survey Point)
真实世界 / 大地测量参照点,把模型与场地或国家坐标网格关联起来,是真正实现地理配准的基础。
IFC4 地理配准实体
在 IFC4 中,地理配准信息由三个协同工作的实体嵌入文件。把它们设置正确,任何符合标准的工具都能把你的模型放到地球上的正确位置。
- IfcSite:记录场地的参考纬度、经度和高程。
- IfcProjectedCRS:声明坐标参考系(CRS),例如国家坐标网格的 EPSG 代码。
- IfcMapConversion:从模型本地工程坐标到投影 CRS 的变换(偏移、缩放、旋转)。
为什么远离原点时几何会变形
如果模型的本地坐标数值非常大(比如有人直接按国家坐标网格的真实东坐标/北坐标建模),3D 引擎就会丢失精度。浮点数的分辨率是有限的;当坐标达到数百万量级时,分辨率会粗糙到让几何出现晃动或抖动。解决办法是在本地原点附近建模,把真实世界的位置记录在 IfcMapConversion 中,而不是写进几何本身。
导出时如何设置正确
- 把测量点设置为项目商定的真实世界参照点。
- 在项目基点 / 内部原点附近建模,而不是直接使用真实的网格坐标。
- 导出时使用 Shared Coordinates,或将 Site Placement 设为 shared。
- 对于 IFC4 / IFC4.3 交付,确认 IfcSite、IfcProjectedCRS 和 IfcMapConversion 都已写入且彼此一致。
- 交付前打开导出结果,检查模型是否位于预期位置。
检查你的模型实际在哪里
在查看器中打开一个模型,检查它的定位和空间结构。然后加载你自己导出的文件,确认它落在原点处,而不是在数公里之外。
IFC2x3 · 2.4 MB
打开交互式 IFC 查看器
坐标只是整体质量的一部分,完整的交付前框架请参阅IFC 质量完全指南。另请注意,IFC 4.3 针对基础设施(道路、铁路、桥梁)大幅扩展了地理配准能力;在这些领域中,线路(alignment)和线性定位会在上述实体之上再增加一层。
IFC 坐标不对?测量点、项目基点与地理配准详解