问题描述
我正在尝试将部件 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
在事件函数内部保持相同的功能。