3

我正在寻找一种方法来转换 OpenJSCAD(jscad / js 文件)的本机输出(参数 CAD?),即

function model() {
return polyhedron({points:[
[41.4780, -44.9832, 0.0000],
[41.8432, -43.0168, 0.0000],
[41.4780, -44.9832, 1.0579],
[41.8432, -43.0168, 1.0579],
...........................
[-41.7700, 35.8856, 1.2659]
],
triangles:[
[0, 2, 3],
[3, 1, 0],
[2, 6, 3],
[3, 6, 7],
[3, 7, 5],
..........
[298, 296, 297]
]});
}

function main() {
return model();
}

到 json 中,然后可以使用 json 对象加载器将其加载到 three.js 场景中。

这可能吗?

编辑:正如数字污染所指出的,这个输出已经是一个 JSON 字符串 - 点和三角形位于单独的数组中。

three.js json 加载器似乎接受已在单独数组中使用“顶点”和“面”格式化的 json 文件。我尝试调整输出以匹配一个工作示例 - https://threejs.org/examples/webgl_loader_json_claraio.html 用“顶点”替换点数组中的值,用“三角形”中的值替换面,也去掉需要的括号 - three.js 加载器仍然无法加载对象。

这是一个示例 openjscad JS 模型: https ://pastebin.com/BuSxNgg2

这是一个工作三.js JSON模型的示例: https ://threejs.org/examples/models/json/teapot-claraio.json

4

0 回答 0