如何使 Autodesk Viewer 默认正交

How to Make Autodesk Viewer Orthographic by Default

我试图让 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();
    },
  );

这会将主页设置为正交并将当前视图设置为正交,这正是我正在寻找的。我遇到的唯一问题是,等待 GEOMETRY_LOADED_EVENT 意味着较大的模型将以透视方式加载,然后在加载所有几何图形后捕捉到正交,这可能会让用户感到不快。

有没有办法让查看器更快地以正交初始化,这样它就不会这样做?我试过等待其他一些事件以及运行 setOrtho 立即,没有事件侦听器,通常无法获取。

您可以像 Autodesk.Viewing.MODEL_ROOT_LOADED_EVENT:

那样尽早(甚至可以更早地工作)设置正交视图
NOP_VIEWER.addEventListener(Autodesk.Viewing.MODEL_ROOT_LOADED_EVENT, ()=>{
   //...
}

查看现场演示 here - LGTM。

您也可以尝试 viewer.debugEvents(true)(这里是 doc 来解释它们)将所有事件打印到控制台并查看哪个更早被调用以满足您的需要。