【发布时间】:2021-05-02 00:21:35
【问题描述】:
我已经为 forge viewer 创建了示例应用程序。
我可以在 forge 查看器中查看 Revit 和 navisworks 文件。
我想通过将输入传递给 viewer.bubble.search 方法从查看器中选择一个项目。
我使用来自 url 的相同编码: https://forge.autodesk.com/en/docs/viewer/v7/reference/Viewing/BubbleNode/
我正在使用以下代码。请帮忙。
var viewer;
var urn1;
var accestoken1;
var jsdata;
function uploadfile(file) {
document.getElementById('<%=UploadBtn.ClientID%>').click();
}
function showModel(urn) {
var options = {
env: 'AutodeskProduction',
getAccessToken: getForgeToken
};
Autodesk.Viewing.Initializer(options, () => {
viewer = new Autodesk.Viewing.GuiViewer3D(document.getElementById('forgeViewer'), { extensions: ['Autodesk.DocumentBrowser'] });
viewer.start();
var documentId = 'urn:' + urn;
urn1 = urn;
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
// viewer.fitToView([270005], viewer.model);
// viewer.select([270005]);
});
}
function myFunction1() {
setTimeout(function () {
myFunction2();
}, 500);
}
function onDocumentLoadSuccess(doc) {
var viewables = viewer.bubble.search({ type: 'geometry', role: '3d', name: 'DOMW PIPE' });
if (viewables.length === 0) {
console.error('Document contains no viewables.');
return;
}
}
function onDocumentLoadFailure(viewerErrorCode) {
console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
}
function getForgeToken(callback) {
fetch('/api/forge/oauth/token').then(res => {
res.json().then(data => {
callback(data.access_token, data.expires_in);
accestoken1 = data.access_token;
});
});
}
感谢和问候。
卡斯特罗纳尔逊
【问题讨论】:
-
您究竟需要在
BubbleNode中搜索什么?请注意,此类包含有关从原始设计文件中提取的不同 3D 视图和 2D 视图的信息。 -
请注意,查看器中有一个名为
DocumentBrowser的扩展程序,可用于在气泡中的不同 2D/3D 视图之间切换。查看forge-extensions.autodesk.io 演示,打开其中一个示例文件,然后在右侧的Built-in 选项卡中,激活DocumentBrowser 扩展。
标签: autodesk-forge viewer forge