Autodesk forge 更改默认ViewCube方向

Autodesk forge 更改默认ViewCube方向,autodesk-forge,Autodesk Forge,我正在使用Forge Viewer显示从建筑物中提取的简单几何图形。 但是,加载它们时,模型/视图立方体的方向与预期用例不匹配(参见图)。 基本上,我需要将“前视图”与“俯视图”交换。 这是否可以通过查看器对象上的默认设置来实现 我的设置与Forge Viewer的第三方react包装中的设置基本相同: 非常感谢你 丹尼尔 编辑:模型采用STP格式 基本上,在模型完全加载并可分为两部分后,您可以通过查看器API通过以下步骤将其存档 (预处理)获取要使其成为顶部的查看器的前部视图状态: a。将当前

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

我的设置与Forge Viewer的第三方react包装中的设置基本相同:

非常感谢你

丹尼尔

编辑:模型采用STP格式

基本上,在模型完全加载并可分为两部分后,您可以通过查看器API通过以下步骤将其存档

  • (预处理)获取要使其成为
    顶部的查看器的
    前部
    视图状态:

    a。将当前视图定向到
    Front
    视图:
    viewer.setViewCube('Front')

    B获取视口的当前视图状态:
    var viewState=.getState({viewport:true})

    C将此
    viewState
    保存到js文件或数据库的某个位置

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

    a。从步骤1中获得的某处(例如js文件或数据库)获取视图状态。
    B通过
    viewer.restoreState(viewState)
    恢复视图状态
    C将当前视图设置为
    Top
    视图:
    viewer.autocam.setCurrentViewAsTop()

    D将当前视图设置为主视图以避免viewcube的状态被重置:
    viewer.autocam.setCurrentViewAsHome()

  • 步骤2的代码段:

    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);
        });
    
    viewer.addEventListener(
    Autodesk.Viewing.GEOMETRY\u加载\u事件,
    功能(事件){
    console.log(“%cGEOMETRY\u-LOADED\u-EVENT:!!!geometry-LOADED!!!”,“color:green;”);
    设置超时(()=>{
    const onOrientTopViewCompleted=函数(){
    viewer.removeEventListener(
    Autodesk.Viewing.CAMERA\u转换\u已完成,
    ONORIENTOPVIEWCOMPLETED
    );
    viewer.autocam.setCurrentViewAsTop();
    viewer.autocam.setCurrentViewAsHome();
    日志('CAMERA_TRANSITION_COMPLETED');
    };
    viewer.addEventListener(
    Autodesk.Viewing.CAMERA\u转换\u已完成,
    ONORIENTOPVIEWCOMPLETED
    );
    
    var viewState='....';//!我可以知道上面快照中的模型格式吗?啊,很抱歉回复太晚。模型是STP格式的,它是我正在使用的库(Pythonoc)提供的默认导出格式之一。非常感谢您的回复。我会尽快尝试并更新它。