Forge:选择单个零件:不能在零件之间切换

问题描述

我正在尝试将部件 ID 链接到 PDF 页面。目前我正在测试通过以下方式链接它们:

const page = results[0].selection[0] % 100;

现在每个部件 ID 都链接一个页面。但是,它仅在我单击一个部件时有效 -> 单击该部件 -> 然后单击另一个部件。如果您尝试在部分之间切换,则不会显示 pdf。

我认为 pdf#page 部分有问题。因为如果我更改代码并且不链接页面,我可以在部分之间切换。

我注意到演示中也出现了同样的问题:https://forge-digital-twin.autodesk.io/

关于如何解决这个问题的任何想法?

非常感谢, 罂粟

这是我的代码

function initDocument(facility) {
    // Only enable when exactly one part is selected
    const $alert =  $('#maintenance-docs div.alert');
    $alert.show();
    $('#maintenance-docs embed').hide()
    $('#maintenance-docs > .show-based-on-selection').hide();
    nop_VIEWER.addEventListener(Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT,function(ev) {
        const results = nop_VIEWER.getAggregateSelection();
        if (results.length === 1 && results[0].selection.length === 1) {
            $alert.hide();
            const page = results[0].selection[0] % 100;
            console.log(page);
            $('#maintenance-docs > .show-based-on-selection').show();
            $('#maintenance-docs embed').attr('src',`/resources/Operation-manual-Sigg-Plant.pdf#page=${page}`).show();
            //$('#maintenance-docs embed').show();
        } else {
            $alert.show();
            $('#maintenance-docs > .show-based-on-selection').hide();
            $('#maintenance-docs embed').attr('src','');
            //$('#maintenance-docs embed').hide();
        }
       
    });
    
}

解决方法

试试

Autodesk.Viewing.SELECTION_CHANGED_EVENT

在事件函数内部保持相同的功能。