我试图让 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/

10-14 03:10