我试图让 Autodesk 查看器默认以正交模式显示文件。到目前为止,我想出的最佳解决方案如下:
forgeViewer.addEventListener(
Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
function setOrtho() {
forgeViewer.autocam.homeVector.isPerspective = false;
forgeViewer.autocam.homeVector.isOrtho = true;
forgeViewer.autocam.originalHomeVector.isPerspective = false;
forgeViewer.autocam.originalHomeVector.isOrtho = true;
forgeViewer.autocam.toOrthographic();
},
);
这将主页设置为正交并将当前 View 设置为正交,这正是我正在寻找的。我唯一的问题是等待
GEOMETRY_LOADED_EVENT
意味着更大的模型将在透视中加载,然后在加载所有几何图形时捕捉到正交,这对用户来说可能是不和谐的。有没有办法让查看器更快地以正交方式初始化,这样它就不会这样做? 我试过等待其他一些事件,并在没有事件监听器的情况下立即运行
setOrtho
并且通常无法被接收。 最佳答案
您可以将正交 View 设置为 Autodesk.Viewing.MODEL_ROOT_LOADED_EVENT
尽早(甚至可能更早):
NOP_VIEWER.addEventListener(Autodesk.Viewing.MODEL_ROOT_LOADED_EVENT, ()=>{
//...
}
参见现场演示 here - LGTM。
您还可以尝试使用
viewer.debugEvents(true)
(这里是 doc 来解释它们)将所有事件打印到控制台,并查看更早调用哪个事件以满足您的需要。关于autodesk-forge - 如何在默认情况下使 Autodesk 查看器正交,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57482073/