首页 > 解决方案 > 在 Autodesk.Viewing.Viewer3D 中显示上下文菜单

问题描述

我正在尝试使用 Autodesk.Viewing.Viewer3D(无头查看器)显示上下文菜单。

使用 Autodesk.Viewing.Private.GuiViewer3D 作为查看器类型时,我可以轻松显示上下文菜单,但我不想使用此查看器类型,因为它有一个工具栏,我不希望它为此出现观众。我不能使用此处建议的 css 方法,因为我还希望在同一应用程序的不同查看器中使用工具栏。

我尝试使用 Autodesk.Viewing.Viewer3D(无头查看器)初始化上下文菜单如下所示:

var contextMenu = new Autodesk.Viewing.UI.ObjectContextMenu(viewer);
        viewer.setContextMenu(contextMenu);
        viewer.registerContextMenuCallback('CustomContextMenuItems', function (menu, status) {
            if (status.hasSelected) {
                if(menu === null){menu=[];}
                while (menu.length > 0) {
                    menu.pop();
                }

                menu.push({
                    title: 'Do Something',
                    target: function () {
                        console.log("Doing something")
                    }
                });

            } 
        });

标签: autodesk-forgeautodesk-viewer

解决方案


上下文菜单旨在与GuiViewer3D. 它很可能依赖于它的一些 HTML 或 CSS 设置,这就是它导致Viewer3D. 如果您需要这种级别的 GUI 自定义,我建议您实现一个单独的、简单的上下文菜单,而不是弯曲内置的菜单。


推荐阅读