Forge:选择单个零件:无法在零件之间切换

Posted

技术标签:

【中文标题】Forge:选择单个零件:无法在零件之间切换【英文标题】:Forge: Select a single part: cant switch between parts 【发布时间】:2021-05-13 00:57:07 【问题描述】:

我正在尝试将部件 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();
        
       
    );
    

【问题讨论】:

我在github.com/petrbroz/forge-digital-twin repo 的任何地方都没有看到此代码。您可能指的是不同的示例代码吗? 很抱歉给您带来了困惑。我的意思是 forge-digital-twin 现场演示有同样的问题,如果你一个接一个地点击,你将无法查看维护说明。您必须单击该部分(并单击背景),然后再次单击该部分。 我更新了 forge-digital-twin 示例代码,以便在选择更改时始终取消初始化维护文档:github.com/petrbroz/forge-digital-twin/commit/…。 完美!我去看看,谢谢! 【参考方案1】:

试试

Autodesk.Viewing.SELECTION_CHANGED_EVENT

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

【讨论】:

以上是关于Forge:选择单个零件:无法在零件之间切换的主要内容,如果未能解决你的问题,请参考以下文章

请问“solidworks 如何将装配体变成单个零件”

如何使用 Forge API 从模型 Revit 2022 获取零件类别

Forge DA4I 和 Vault

solidworks如何在装配图里面调单个零件出来?

35.将多实体文件保存成单个零件

solidworks装配体中如何编辑阵列后的单个零件