要在Autodesk Forge Viewer中加载和显示RVT和DWG文件,您可以按照以下步骤使用Autodesk Forge API和JavaScript进行操作:
获取访问令牌:
翻译RVT或DWG文件:
modelderivative
API的POST job
方法将RVT或DWG文件翻译为SVF格式。以下是一个示例代码片段:const axios = require('axios');
const accessToken = 'YOUR_ACCESS_TOKEN';
const fileId = 'YOUR_RVT_OR_DWG_FILE_ID';
axios({
method: 'post',
url: `https://developer.api.autodesk.com/modelderivative/v2/designdata/job`,
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
},
data: {
input: {
urn: `urn:adsk.objects:os.object:YOUR_BUCKET_KEY/${fileId}`,
},
output: {
formats: [
{
type: 'svf',
views: ['2d', '3d'],
},
],
},
},
})
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
modelderivative
API的GET manifest
方法获取翻译后的SVF文件的清单。oss
API的GET object
方法下载SVF文件。以下是一个示例代码片段:const fs = require('fs');
const axios = require('axios');
const accessToken = 'YOUR_ACCESS_TOKEN';
const urn = 'YOUR_SVF_FILE_URN';
axios({
method: 'get',
url: `https://developer.api.autodesk.com/modelderivative/v2/designdata/${urn}/manifest`,
headers: {
'Authorization': `Bearer ${accessToken}`,
},
})
.then(response => {
const manifest = response.data;
const svfUrn = manifest.derivatives.find(d => d.outputType === 'svf').urn;
axios({
method: 'get',
url: `https://developer.api.autodesk.com/oss/v2/buckets/YOUR_BUCKET_NAME/objects/${encodeURIComponent(svfUrn)}`,
headers: {
'Authorization': `Bearer ${accessToken}`,
},
responseType: 'stream',
})
.then(response => {
response.data.pipe(fs.createWriteStream('path/to/save/svf/file.svf'));
})
.catch(error => {
console.error(error);
});
})
.catch(error => {
console.error(error);
});
Autodesk Forge Viewer
库。Autodesk.Viewing.Initializer
初始化Viewer。Autodesk.Viewing.Document.load
加载SVF文件。Autodesk.Viewing.Private.GuiViewer3D
创建Viewer实例。
Autodesk Forge Viewer
请注意,上