node.js - 如何使用新的 RVT->SVF Model Derivative 参数来生成额外的内容,包括房间和空间?
问题描述
我在 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;
解决方案
根据您提出问题的方式,我假设您已经看过这篇文章: https ://forge.autodesk.com/blog/new-rvt-svf-model-derivative-parameter-generates-additional-content-including-rooms和空格
这有一个示例请求正文,显示例如“输出”部分的外观:
"output": {
"formats": [{
"type": "svf",
"views": [
"2d",
"3d"
],
"advanced": {
"generateMasterViews": true
}
}]
}
从这里您可以看到“高级”需要添加到与“类型”相同的级别,因此您需要将其添加到您的代码中:
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);
推荐阅读
- c# - 更新 Xamarin 表单会导致 System.IO.FileNotFoundException - ReactiveUI.Winforms 在使用 ReactiveUI 时
- python - 在 Python 中从正文中提取数据到 Excel 文件
- ngrx - angular-ngrx-data 创建自定义效果
- r - 如何使用两条单独的数据集线将 ggplot 图例添加到散点图
- algorithm - 不能在 time.AfterFunc 的参数中使用(属于的函数)类型 func()
- c++ - std::generate_n 的仿函数捕获和操作它用于填充的容器是否安全?
- python-3.x - 使用替换的 Python3 字符串操作
- sql - 如何将 2 个表连接在一起?
- python - 在循环中合并请求的表
- html - 如何在 razor 视图中显示 razor 和 html 代码片段