我有一个 Web 项目 (React),使用 Autodesk Forge Viewer 显示我们的企业 BIM360 帐户中的 3D(和 2D)模型。自去年以来,在 BIM360 中运行的同一查看器现在支持.rcp
文件,我们也希望允许它。但到目前为止我还无法使它工作,而且我还没有找到任何特定于.rcp
支持。
我当前的查看器初始化如下。它主要是文档中的标准代码,并且可以很好地与 3D 模型配合使用。
const options: Autodesk.Viewing.InitializerOptions = {
getAccessToken: (callback) => callback(token.accessToken, token.expiresIn),
loaderExtensions: { svf: "Autodesk.MemoryLimited" }
};
Autodesk.Viewing.Initializer(options, () => {
const viewer = new Autodesk.Viewing.GuiViewer3D(ref.current);
var startedCode = viewerObject.start();
if (startedCode > 0) {
onError('Error - Failed to create a Viewer: WebGL not supported.');
return;
}
//urn is Base64
Autodesk.Viewing.Document.load(urn, onDocumentLoadSuccess, onDocumentLoadError);
});
我天真地尝试给它一个 Base34 瓮.rcp
文件没有成功。在网络上我可以看到一个400 Bad Request
根据清单请求(https://cdn.derivative.autodesk.com/derivativeservice/v2/manifest/{urn}?domain=http%3A%2F%2Flocalhost%3A6006 https://cdn.derivative.autodesk.com/derivativeservice/v2/manifest/%7Burn%7D?domain=http%3A%2F%2Flocalhost%3A6006)。感觉像Document.load()
代码仅适用于.svf
格式有一个清单,但是.rcp
don't?
正在经历https://lmv.ninja.autodesk.com https://lmv.ninja.autodesk.com样本,我意识到.rcp
可以使用以下代码加载文件:
viewer.loadModel(url, {}, onModalLoadSuccess,onModelLoadError);
viewer.loadExtension('Autodesk.ReCap')
我必须使用示例文件:https://s3.amazonaws.com/lmv.models/recap_models/AutodeskReCapSampleProject.rcp https://s3.amazonaws.com/lmv.models/recap_models/AutodeskReCapSampleProject.rcp
但是,它不适用于我们 BIM360 帐户的私人链接。查看网络,我可以看到返回的请求带有401 Unauthorized
。遗憾的是我的访问令牌没有添加到标头中。一个错误?或者我错过了什么?
POST https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/{guid}.rcp
401 Unauthorized
{
"developerMessage":"Token is not provided in the request.",
"moreInfo": "https://forge.autodesk.com/en/docs/oauth/v2/developers_guide/error_handling/",
"errorCode": "AUTH-010"
}
我尝试查看 lmv.ninja 如何从 BIM360 模型执行此操作,但无法完成登录步骤。它不断将我重定向到默认页面而不让我登录。显然对我来说这看起来像是另一个错误。
注意:我已将查看器库更新到最新
https://autodeskviewer.com/viewers/latest/viewer3D.min.js
https://autodeskviewer.com/viewers/latest/extensions/ReCap/ReCap.min.js
https://autodeskviewer.com/viewers/latest/lmvworker.min.js
谢谢您的帮助
Clement