怎样去调用forge默认的工具功能?

发布于 2022-09-06 23:57:44 字数 385 浏览 12 评论 0

使用viewer = new Autodesk.Viewing.Viewer3D(myViewerDiv, config3d)以后,整个界面上是什么工具都没有,连viewcube都没有。现在我想在这个赶紧的界面上进行布局,比如加一些div进去,位置比如在右边,那么我怎样调用一些viewer自带的功能呢?。比如我想在自定义的div中加入漫游的功能,那么我怎样去把自带的漫游功能调用出来呢?再比如我想在某个位置显示viewcube,那我怎样去把这个功能调用出来呢?

clipboard.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

窝囊感情。 2022-09-13 23:57:44

你要改用 Autodesk.Viewing.Private.GuiViewer3D 去创建 Viewer 默认的工具列跟 ViewCube 才会出现,或者是在使用 Autodesk.Viewing.Viewer3D 的情境通过下面的代码创建 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 );

默认工具仅少数是通过扩展加载例如 Autodesk.SectionAutodesk.FirstPerson, Autodesk.BimWalk,其大多数都是编写在 GuiViewer3D 的代码内,请到 viewer3d.js 里查找 GuiViewer3D#createUI() 的执行思路。

参考:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文