我已经为forge查看器创建了示例应用程序。
我可以在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;
});
});
}致以感谢和问候。
卡斯特罗·尼尔森
发布于 2021-01-28 21:12:24
如果您想要选择在查看器中加载2D或3D视图(模型派生服务从原始设计中提取的视图),请考虑使用名为Autodesk.DocumentBrowser的内置查看器扩展。该扩展将为查看器添加一个新的UI,可用于在不同的2D/3D视图之间轻松切换。
您可以在https://forge-extensions.autodesk.io上试验该扩展:

https://stackoverflow.com/questions/65931468
复制相似问题