将坐标从 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 );
希望对您有所帮助。
我想在查看器中放置一些 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 );
希望对您有所帮助。