我已经为伪造查看器创建了示例应用程序。
我可以在 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;
});
});
}
感谢和问候。
卡斯特罗纳尔逊
答案 0 :(得分:0)
如果您希望选择将哪个 2D 或 3D 视图(模型衍生服务从您的原始设计中提取)加载到查看器中,请考虑使用名为 {{ 1}}。该扩展程序将为查看器添加一个新 UI,可用于在不同的 2D/3D 视图之间轻松切换。
您可以在 https://forge-extensions.autodesk.io 上试用扩展程序: