【问题标题】:Change default ViewCube Orientation更改默认 ViewCube 方向
【发布时间】:2018-08-02 02:57:14
【问题描述】:

我正在使用 Forge Viewer 来显示从建筑物中提取的简单几何图形。 但是,在加载它们时,模型/视图立方体的方向与预期的用例不匹配(见图)。 基本上我需要将“前视图”与“顶视图”交换。 这有可能通过例如实现这样的事情吗?查看器对象的默认设置?

我的设置与 Forge Viewer 的第 3 方反应包装器中的设置基本相同:https://github.com/outer-labs/react-forge-viewer

已经非常感谢了。

丹尼尔

编辑:模型为 STP 格式

【问题讨论】:

  • 我可以知道上面快照中的模型格式是什么吗?
  • 抱歉回复晚了。该模型是 STP 格式,它是我正在使用的库(pythonOCC)提供的默认导出格式之一

标签: autodesk-forge


【解决方案1】:

基本上,您可以在模型完全加载后通过 Viewer API 使用以下步骤将其归档,并且可以分为两部分。

  1. (Preproccess) 获取您希望将其设置为Top 的查看器的Front 视图状态:

    一个。将当前视图定向到Front 视图:viewer.setViewCube( 'front' )
    湾。获取视口的当前视图状态:var viewState = .getState( { viewport: true } ).
    C。将此viewState 保存到某个地方,您的 js 文件或数据库。

  2. 恢复视图状态并将其设置为Top 视图:

    一个。从您从第 1 步获得的某个位置(例如 js 文件或数据库)获取viewState
    湾。通过viewer.restoreState( viewState )恢复视图状态。
    C。将当前视图设置为Top 视图:viewer.autocam.setCurrentViewAsTop()
    d。将当前视图设置为 Home 以避免视图立方体的状态被重置:viewer.autocam.setCurrentViewAsHome()

第二步的代码sn-p:

viewer.addEventListener(
    Autodesk.Viewing.GEOMETRY_LOADED_EVENT,
    function( event ) {
        console.log( '%cGEOMETRY_LOADED_EVENT: !!!Geometries loaded!!!', 'color: green;' );

        setTimeout(() => {
            const onOrientTopViewCompleted = function() {
                viewer.removeEventListener(
                    Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED,
                    onOrientTopViewCompleted
                );

                viewer.autocam.setCurrentViewAsTop();
                viewer.autocam.setCurrentViewAsHome();

                console.log( 'CAMERA_TRANSITION_COMPLETED' );
            };

            viewer.addEventListener(
                Autodesk.Viewing.CAMERA_TRANSITION_COMPLETED,
                onOrientTopViewCompleted
            );

            var viewState = '....'; //!<< the view state of the original `Front` view.

            viewer.restoreState( viewState )
        }, 1000);
    });

希望对你有帮助!

【讨论】:

  • 非常感谢您的回复。我会尽快尝试并更新。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 2014-06-29
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多