将坐标从 Revit 转换为查看器

Transforming coordinates from Revit to Viewer

我想在查看器中放置一些 three.js 对象,该对象具有 Revit 模型中的估计坐标。如何将这些坐标转换为查看器坐标以放置对象?

由于默认情况下 Forge 查看器将对加载的模型应用全局偏移以避免坐标浮动问题,因此您必须从 Revit [=19] 中您拥有的 three.js 对象的坐标中减去它=].

// To obtain the global offset
const globalOffset = viewer.model.getData().globalOffset;

const ptInRvt = new THREE.Vector3( 10, 5 ,0 );

// Apply the offset
const offsetPt = ptInRvt.clone().sub( globalOffset );

如果有某些原因,您的全局偏移量为零。您也可以使用放置偏移量来抵消它

// placement offset
const offsetMatrix = viewer.model.getData().placementWithOffset;

const ptInRvt = new THREE.Vector3( 10, 5 ,0 );

const offsetPt = ptInRvt.applyMatrix4( offsetMatrix );

希望对您有所帮助。