这是一个基于Node.js和OpenSCAD的3D模型参数化渲染服务,允许上传SCAD文件,修改参数,并渲染为3MF格式。
从SCAD文件中提取参数定义。
| 参数名 | 类型 | 描述 |
|---|---|---|
| scadFile | File | SCAD文件(multipart/form-data) |
{
"success": true,
"filename": "example.scad",
"params": [
{
"name": "height",
"defaultValue": 10,
"type": "range",
"min": 0,
"max": 100,
"step": 1
}
]
}
渲染SCAD文件为3MF格式。
| 参数名 | 类型 | 描述 |
|---|---|---|
| scadFile | File | SCAD文件(multipart/form-data) |
| params | String | 参数JSON字符串(例如:{"height": 20, "width": 30}) |
直接下载3MF文件
使用多组参数批量渲染模型。
| 参数名 | 类型 | 描述 |
|---|---|---|
| scadFile | File | SCAD文件(multipart/form-data) |
| paramSets | String | 参数集合JSON数组字符串(例如:[{"height": 10}, {"height": 20}]) |
{
"success": true,
"batchId": "1234567890",
"totalJobs": 2,
"results": [
{
"index": 0,
"filename": "model_1.3mf",
"params": {"height": 10}
},
{
"index": 1,
"filename": "model_2.3mf",
"params": {"height": 20}
}
]
}
为了让参数提取器正确识别参数,请遵循以下约定:
全局变量会被自动识别为可配置参数:
// 简单参数(会被识别) rows = 3; // [1:10] 收纳盒行数 cols = 3; // [1:10] 收纳盒列数 hole_size = 25; // [10:50] 孔洞尺寸 radius = 2.5; // [0:5] 圆角半径
以下几种方式可以排除不需要暴露的计算参数:
// 计算参数(不会被识别为可配置选项) base_length = cols * hole_size + (cols + 1) * hole_spacing; // @computed 底座长度
// 下划线前缀表示内部变量 _base_width = rows * hole_size + (rows + 1) * hole_spacing;
// 使用函数计算 function calc_base_height() = base_height - base_thickness;
可以使用Customizer格式对参数进行分组:
/* [基本设置] */ rows = 3; // [1:10] 收纳盒行数 cols = 3; // [1:10] 收纳盒列数 /* [高级设置] */ hole_spacing = 3; // [1:10] 孔洞间距