首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示autodesk extension?

如何显示autodesk extension?
EN

Stack Overflow用户
提问于 2021-10-05 10:26:15
回答 1查看 28关注 0票数 0

在autodesk教程的这一步中,我遇到了一个问题,ForgeTree和ForgeViewer工作得很好,但是我根本不能让handleselectionextension工作,没有菜单或工具栏只显示一个空窗口

https://learnforge.autodesk.io/#/viewer/extensions/selection

main.css

代码语言:javascript
复制
.handleSelectionExtensionIcon {
    background-image: url(https://github.com/encharm/Font-Awesome-SVG-PNG/raw/master/white/png/24/object-group.png);
    background-size: 24px;
    background-repeat: no-repeat;
    background-position: center;
}

index.html

代码语言:javascript
复制
<!-- this project files -->
  <link href="css/main.css" rel="stylesheet" />
  <script src="js/ForgeTree.js"></script>
  <script src="js/ForgeViewer.js"></script>
  
  <script src="js/handleselectionextension.js"></script>

该扩展就是本教程中所示的扩展

EN

回答 1

Stack Overflow用户

发布于 2021-10-06 04:48:01

您必须在Forge查看器中加载扩展。

代码语言:javascript
复制
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['HandleSelectionExtension'] });

之后,你可以在点击按钮上调用下面的代码来隔离所选的对象。

代码语言:javascript
复制
// Get current selection
const selection = this.viewer.getSelection();
this.viewer.clearSelection();
// Anything selected?
if (selection.length > 0) {
    let isolated = [];
    // Iterate through the list of selected dbIds
    selection.forEach((dbId) => {
        // Get properties of each dbId
        this.viewer.getProperties(dbId, (props) => {
            // Output properties to console
            console.log(props);
            // Ask if want to isolate
            if (confirm(`Isolate ${props.name} (${props.externalId})?`)) {
                isolated.push(dbId);
                this.viewer.isolate(isolated);
            }
        });
    });
} else {
    // If nothing selected, restore
    this.viewer.isolate(0);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69448809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档