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:选择单个零件:无法在零件之间切换的主要内容,如果未能解决你的问题,请参考以下文章