如何使用新的 RVT->SVF Model Derivative 参数来生成额外的内容,包括房间和空间?
Posted
技术标签:
【中文标题】如何使用新的 RVT->SVF Model Derivative 参数来生成额外的内容,包括房间和空间?【英文标题】:How to use the new RVT->SVF Model Derivative parameter to generates additional content, including rooms and spaces? 【发布时间】:2021-03-15 12:36:27 【问题描述】:我在 Forge 中关注这个 https://learnforge.autodesk.io/#/ 教程,下面是我的 modelderivative.js 文件。 我正在尝试使用新的 RVT->SVF 模型导数参数来生成其他内容,包括房间和空间。 它说我需要将 generateMasterViews 参数设置为 true。它也要求 x-ads-force 为真。 有谁知道怎么弄?????????
const express = require('express');
const
DerivativesApi,
JobPayload,
JobPayloadInput,
JobPayloadOutput,
JobSvfOutputPayload
= require('forge-apis');
const getClient, getInternalToken = require('./common/oauth');
let router = express.Router();
// Middleware for obtaining a token for each request.
router.use(async (req, res, next) =>
const token = await getInternalToken();
req.oauth_token = token;
req.oauth_client = getClient();
next();
);
// POST /api/forge/modelderivative/jobs - submits a new translation job for given object URN.
// Request body must be a valid JSON in the form of "objectName": "<translated-object-urn>" .
router.post('/jobs', async (req, res, next) =>
let job = new JobPayload();
job.input = new JobPayloadInput();
job.input.urn = req.body.objectName;
job.output = new JobPayloadOutput([
new JobSvfOutputPayload()
]);
job.output.formats[0].type = 'svf';
job.output.formats[0].views = ['2d', '3d'];
try
// Submit a translation job using [DerivativesApi](https://github.com/Autodesk-Forge/forge-api-nodejs-client/blob/master/docs/DerivativesApi.md#translate).
await new DerivativesApi().translate(job, , req.oauth_client, req.oauth_token);
res.status(200).end();
catch(err)
next(err);
);
module.exports = router;
【问题讨论】:
【参考方案1】:根据您提出问题的方式,我假设您已经看过这篇文章: https://forge.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms-and-spaces
这有一个示例请求正文,显示例如如何“输出”部分应如下所示:
"output":
"formats": [
"type": "svf",
"views": [
"2d",
"3d"
],
"advanced":
"generateMasterViews": true
]
从这里您可以看到“advanced”需要添加到与“type”相同的级别,因此您需要将其添加到您的代码中:
job.output.formats[0].advanced = generateMasterViews: true;
如果您将鼠标悬停在 translate() 函数上方,则会出现一个信息弹出窗口 - 如下所示:
从中可以看出,您可以将 xAdsForce: true 添加到输入选项中。 这会将 x-ads-force 标头添加到请求中。 所以你会像这样调用 translate()
await new DerivativesApi().translate(job, xAdsForce: true, req.oauth_client, req.oauth_token);
【讨论】:
【参考方案2】:是的,所有详细信息都可以在https://forge.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms-and-spaces 找到,希望对您有所帮助。
【讨论】:
以上是关于如何使用新的 RVT->SVF Model Derivative 参数来生成额外的内容,包括房间和空间?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Model Derivative api 的 BIM 360 设计能够看到 SVF2