Ubuntu 上适合让 Codex 生成 STL 模型的开源工具

如果想让 Codex 这类 AI 工具“用代码画 STL”,在 Ubuntu 里最适合选择那些脚本化、参数化、命令行友好的开源建模工具。

相比传统鼠标交互式 CAD,代码建模更适合 AI:模型可以被文本描述、版本控制、反复修改,也方便自动导出 STL。

下面整理几个适合 Ubuntu 环境的开源方案。


1. OpenSCAD:最推荐的入门选择

官网:https://openscad.org/

OpenSCAD 是一个典型的“代码建模”工具。它不是用鼠标拖拽模型,而是用类似脚本的方式描述几何体。

例如:

difference() {
cube([60, 40, 20], center=true);
cylinder(h=30, r=8, center=true);
}

这段代码表示:

  • 先创建一个长方体;
  • 再用圆柱从中间挖一个孔;
  • 最终得到一个带孔的零件。

OpenSCAD 非常适合让 Codex 生成,因为它语法简单、结构清楚、修改成本低。

优点

  • 完全开源;
  • Ubuntu 安装方便;
  • 很适合 AI 生成和修改;
  • 适合支架、外壳、孔位板、连接件等机械零件;
  • 支持参数化建模;
  • 可以命令行导出 STL。

安装

sudo apt install openscad

命令行导出 STL

openscad -o model.stl model.scad

如果目标是“让 Codex 快速画一个可 3D 打印的零件”,OpenSCAD 是最稳妥的首选。


2. CadQuery:Python 版参数化 CAD

官网:https://cadquery.readthedocs.io/

CadQuery 是一个用 Python 写 CAD 模型的工具。它比 OpenSCAD 更接近现代工程 CAD 的思路,适合做更复杂的机械结构。

示例:

import cadquery as cq

result = (
cq.Workplane("XY")
.box(60, 40, 20)
.faces(">Z")
.workplane()
.hole(8)
)

cq.exporters.export(result, "model.stl")

优点

  • 使用 Python,Codex 很擅长生成;
  • 适合工程零件;
  • 支持拉伸、倒角、圆角、布尔运算等操作;
  • 可以导出 STL、STEP 等格式;
  • 适合后续做更复杂的机器人结构件。

缺点

  • 环境比 OpenSCAD 稍复杂;
  • 对初学者来说,没有 OpenSCAD 那么直观。

推荐用 conda 或 mamba 安装:

conda install -c conda-forge cadquery

如果后续要做机械臂连接件、四足机器人支架、传感器安装座等比较工程化的结构,CadQuery 很值得学。


3. FreeCAD Python API:功能最完整

官网:https://www.freecad.org/

FreeCAD 是完整的开源 CAD 软件,也可以通过 Python 脚本控制建模,并导出 STL。

它适合以下情况:

  • 模型比较复杂;
  • 需要 GUI 检查和手动修改;
  • 需要 STEP 文件;
  • 需要草图、约束、装配等 CAD 功能;
  • 后续可能人工继续编辑。

Ubuntu 安装:

sudo apt install freecad

FreeCAD 的能力很强,但 Python API 相对啰嗦。Codex 可以写 FreeCAD 脚本,不过调试成本通常比 OpenSCAD 和 CadQuery 高。

所以它更适合作为“检查、编辑、转换格式”的工具,而不一定是 AI 直接生成模型的第一选择。


4. Blender Python:适合艺术模型,不适合精密机械

官网:https://www.blender.org/

Blender 也可以用 Python 创建模型并导出 STL。

它更适合:

  • 外观件;
  • 装饰件;
  • 有机曲面;
  • 角色或雕塑类模型;
  • 非精密 3D 打印模型。

不太适合:

  • 精确孔位;
  • 工程尺寸;
  • 参数化机械结构;
  • 需要严格装配关系的零件。

安装:

sudo apt install blender

命令行运行脚本:

blender --background --python script.py

如果目标是机器人结构件、安装座、连接板,通常不建议优先用 Blender。它更适合外观和艺术方向。


5. Build123d:较新的 Python CAD 选择

项目地址:https://github.com/gumyr/build123d

Build123d 是一个较新的 Python 参数化 CAD 库,风格比 CadQuery 更现代一些。

优点

  • Python 写法清晰;
  • 适合 AI 生成;
  • 面向工程建模;
  • 可以做参数化零件。

缺点

  • 社区和资料比 OpenSCAD、FreeCAD 少;
  • 遇到问题时,搜索到的现成答案可能没那么多。

如果已经熟悉 Python,并且愿意尝试新工具,可以关注 Build123d。


推荐选择

如果按使用场景来选,可以这样判断:

需求 推荐工具
快速让 Codex 生成 STL OpenSCAD
做机械零件、机器人结构件 CadQuery / Build123d
需要 GUI 检查和后续手动编辑 FreeCAD
做艺术模型、外观件、有机曲面 Blender Python

我个人更推荐的组合是:

OpenSCAD + CadQuery + FreeCAD

日常流程可以是:

Codex 生成 .scad 或 .py

本地渲染 / 导出 STL

用 FreeCAD 或切片软件检查模型

3D 打印

简单结论

如果只是想在 Ubuntu 上让 Codex 帮你“画 STL”,建议先从 OpenSCAD 开始。

它简单、稳定、命令行友好,非常适合 AI 生成和迭代。

如果后面开始做更复杂的机器人结构件,再逐步引入 CadQueryBuild123d。而 FreeCAD 可以作为检查、修改和格式转换的辅助工具。

3d打印 ai辅助设计 algorithms apriltag axis-angle bang-bang blender bode cadquery calibration camera calibration chrome cmake cmakelists cnn colcon conan control cpp cpu d435i data_struct db design-pattern dots economics eigen factory-pattern fcpx fiducial marker figure finance forge fov freecad gazebo gdb git gnu ibus interest isaac gym isaac lab isaaclab kdl latex launch learning-notes legged locomotion legged robotics legged-robot life linux linux-kernel mac math matlab matrix memory mlp money motion-control motor moveit mpc mujoco network ocs2 ode openscad operator optimal algorithm optimal-control perf performance personal-finance ppo privileged learning profiling python qos quadrotor realsense reinforcement learning reward tuning rnn robot robotics ros ros2 rtb security shell sim-to-real simulation socket stairs stl tcp-ip teacher policy thread tools twist ubuntu uml unitree urdf vae valgrind vcxsrv velocity vim web wifi work wsl 中文输入 交叉编译 依赖管理 分支管理 四足机器人 实验诊断 强化学习 机器人 机器人控制 机器人视觉 构建系统 深度学习 深度相机 点云 版本控制 神经网络 自主回充 视觉定位 训练曲线 输入法 配置类 飞控
知识共享许可协议