1.8 KiB
1.8 KiB
jumpToCamera 方法使用指南
概述
jumpToCamera 是 BIM 引擎提供的一个视角跳转方法,允许开发者通过传入相机配置 JSON 数据,将 3D 视图快速定位到指定构件或特定视角。
方法签名
engine.engine.jumpToCamera(cameraData)
参数
cameraData- 相机配置 JSON 对象
返回值
true- 跳转成功false- 跳转失败
基本使用
// 跳转到指定视角
engine.engine.jumpToCamera({
type: "orthographic",
position: { x: 229.68, y: 247.98, z: 233.79 },
target: { x: -4.58, y: 13.72, z: -0.47 },
orthographicHeight: 140.56
});
配合 getModelPosition 使用
// 1. 获取构件位置数据(返回的 modelJson 中包含 cameraRestorePose)
const data = engine.engine.getModelPosition({
url: "模型URL",
ids: [465979]
});
// 2. 使用返回的 cameraRestorePose 跳转视角
if (data?.modelJson?.cameraRestorePose) {
engine.engine.jumpToCamera(data.modelJson.cameraRestorePose);
}
注意事项
- 调用前确保引擎已初始化
- 参数为 JSON 对象格式
- 数据可通过
getModelPosition方法获取
完整示例
const engine = new BimEngine(container, { theme: 'dark' });
// 初始化引擎
engine.engine.initialize({
version: 'v2',
showStats: false,
showViewCube: true
});
// 加载模型
engine.engine.loadModel(['模型URL'], {
position: [0, 0, 0],
rotation: [0, 0, 0],
scale: [1, 1, 1]
});
// 获取构件位置并跳转
const componentData = engine.engine.getModelPosition({
url: "模型URL",
ids: [465979]
});
if (componentData?.modelJson?.cameraRestorePose) {
const success = engine.engine.jumpToCamera(
componentData.modelJson.cameraRestorePose
);
if (success) {
console.log('跳转成功');
}
}