在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/云計(jì)算  網(wǎng)絡(luò)安全/ 怎樣去調(diào)用forge默認(rèn)的工具功能?

怎樣去調(diào)用forge默認(rèn)的工具功能?

使用viewer = new Autodesk.Viewing.Viewer3D(myViewerDiv, config3d)以后,整個(gè)界面上是什么工具都沒(méi)有,連viewcube都沒(méi)有?,F(xiàn)在我想在這個(gè)趕緊的界面上進(jìn)行布局,比如加一些div進(jìn)去,位置比如在右邊,那么我怎樣調(diào)用一些viewer自帶的功能呢?。比如我想在自定義的div中加入漫游的功能,那么我怎樣去把自帶的漫游功能調(diào)用出來(lái)呢?再比如我想在某個(gè)位置顯示viewcube,那我怎樣去把這個(gè)功能調(diào)用出來(lái)呢?

clipboard.png

回答
編輯回答
夢(mèng)一場(chǎng)

你要改用 Autodesk.Viewing.Private.GuiViewer3D 去創(chuàng)建 Viewer 默認(rèn)的工具列跟 ViewCube 才會(huì)出現(xiàn),或者是在使用 Autodesk.Viewing.Viewer3D 的情境通過(guò)下面的代碼創(chuàng)建 ViewCubeToolbar

// ViewCube
const viewCubeUi = new Autodesk.Viewing.Private.ViewCubeUi( viewer );
viewer.viewCubeUi = viewCubeUi;

viewCubeUi.create();

// Toolbar
const toolbar = new Autodesk.Viewing.UI.ToolBar( 'my-awesome-toolbar' );
viewer.toolbar = toolbar;

// Button
var button1 = new Autodesk.Viewing.UI.Button( 'my-orbit-button' );
button1.onClick = function(e) {
    var state = button1.getState();
    if( state === Autodesk.Viewing.UI.Button.State.INACTIVE ) {
        viewer.setActiveNavigationTool( 'orbit' );
        button1.setState(Autodesk.Viewing.UI.Button.State.ACTIVE);
    } else if( state === Autodesk.Viewing.UI.Button.State.ACTIVE ) {
        viewer.setActiveNavigationTool();
        button1.setState( Autodesk.Viewing.UI.Button.State.INACTIVE );
    }
};
button1.addClass( 'my-orbit-button' );
button1.setToolTip( 'Orbit' );

// SubToolbar
const subToolbar = new Autodesk.Viewing.UI.ControlGroup( 'my-custom-view-toolbar' );
subToolbar.addControl( button1 );

toolbar.addControl( subToolbar );

默認(rèn)工具僅少數(shù)是通過(guò)擴(kuò)展加載例如 Autodesk.SectionAutodesk.FirstPerson, Autodesk.BimWalk,其大多數(shù)都是編寫(xiě)在 GuiViewer3D 的代碼內(nèi),請(qǐng)到 viewer3d.js 里查找 GuiViewer3D#createUI() 的執(zhí)行思路。

參考:

2018年7月17日 15:53