用代码画三维模型:OpenSCAD 把建模变成写脚本,开源免费

大多数人建模是靠鼠标在画布上拖出形状,OpenSCAD 却反其道而行:它不给你可拖拽的视图工具,而是让你用一套类似编程的脚本来描述几何体——立方体、圆柱、布尔运算、循环、参数变量。改一个数值,整个模型就跟着重新计算,特别适合做尺寸要反复调的机械零件。
它解决什么问题
想做一批只差几毫米的零件,手动画几十个版本既慢又容易出错。
模型要交给别人改尺寸,但图形文件里的参数都被”焊死”了,对方只能重画。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 脚本建模 | 用 CSG 语法描述几何体,写代码比拖点更精确可控 |
| 参数驱动 | 把尺寸定义成变量,改一处整个模型随之更新 |
| 布尔运算 | 并、交、差组合基本体,做镂空挖孔非常方便 |
| 模块化 | 函数与模块可复用,复杂模型拆成可拼装部件 |
| 2D 转 3D | 先画二维轮廓再拉伸旋转,常见机械件很快出形 |
| 导出 STL | 一键输出 STL 与 OBJ,直接喂给 3D 打印切片软件 |

它本质上是把几何当成程序来”编译”
传统建模软件记录的是”你画了哪些操作”,OpenSCAD 记录的则是”几何体是怎么被算出来的”。你写下的每一行都是对基本体的定义和变换:平移、旋转、缩放、布尔组合。当你调整一个变量,渲染器会从头重新求值整棵几何树,因此同一个脚本永远能复现同一个模型,不存在”手抖了一下”带来的随机误差。这也是它常被用在需要精确公差的零件上的原因。
要注意 OpenSCAD 不是 sculpt 类工具,它不擅长做有机的、自由曲面的角色或生物建模;那种活该交给网格雕刻软件。另外复杂脚本渲染起来会吃 CPU,模型层次很深时预览会卡,可以先用低精度预览、最后再出高精度 STL。它输出的是几何结果,本身不带 CAM 刀路,要做数控加工还得另接工具链。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| FreeCAD | 开源免费 | 功能更全的通用 CAD,带图形界面,也支持参数化建模。 |
| SolveSpace | 开源免费 | 轻量参数化 CAD,约束求解直观,适合机械小件。 |
| Blender | 开源免费 | 强在自由建模与动画,但不是以参数尺寸为核心的 CAD。 |
谁适合用
- 玩 3D 打印、需要参数化零件的用户
- 习惯编程、想用代码控制几何的人
- 讲”几何构造”课程需要可视化的师生
怎么开始
- 到官网下载对应系统的安装包,装好后打开就能看到脚本编辑器与预览窗。
- 在左侧写脚本,用 cube、cylinder、sphere 等定义基本体,并设成变量。
- 用 union、difference、intersection 做布尔组合,搭出完整零件。
- 点”Compile and Render”预览,确认形状无误再点”Render”生成网格。
- 导出 STL,丢进切片软件就能打印;需要改尺寸就回去调变量重算。
常见问题
不会编程能用吗?
能,它的语法很简单,官方教程几页就能上手,关键是把尺寸想清楚。
能导入别人画好的 STL 再改吗?
可以导入做参考或布尔运算,但导入的是网格,无法还原成参数脚本。
做曲面角色建模合适吗?
不合适,它擅长精确几何,有机自由曲面请用网格雕刻类软件。
支持中文界面吗?
界面以英文为主,但菜单与提示易懂,变量名你可以用英文写避免编码问题。
授权与合规
OpenSCAD 以 GPL-2.0 及以上版本开源协议发布,源码公开,可自由使用与修改。 官网:openscad.org。
继续找同类资源
这条属于「软件工具」栏目,同栏目还有更多可直接使用的免费资源,可以在 软件工具全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
↓ 获取资源
点击按钮直接前往资源页面。