OpenSCAD
openscad
⭐⭐⭐☆☆ (3/5)
🧩 软硬件结合
已发布
项目简介
OpenSCAD - The Programmers Solid 3D CAD Modeller
OpenSCAD是一款专注于工程与机械设计的开源3D CAD建模软件,支持Linux、Windows和macOS三大主流操作系统。与Blender等偏向艺术创作的三维工具不同,OpenSCAD的核心定位是“3D编译器”——它不提供鼠标拖拽的交互式建模界面,而是让用户通过编写脚本语言来描述三维实体。这种独特的程序化建模方式赋予了设计师对模型每个细节的绝对控制权,所有几何参数均可通过变量定义,修改设计时只需调整脚本中的数值即可自动更新整个模型,特别适合需要反复迭代、参数化驱动的机械零件设计场景。
标签
项目特点
**脚本化建模**:通过编写代码来定义 3D 模型,而非交互式操作,提供完全的设计控制。
**参数化设计**:支持使用可配置参数,使设计易于修改和复用。
**构造实体几何 (CSG)**:支持并集、交集、差集等布尔运算,组合基本几何体。
**2D 轮廓挤出**:支持从 2D 轮廓(如 DXF 文件)挤出生成 3D 模型。
**跨平台支持**:可在 Linux/UNIX、Windows 和 macOS 上运行。
**自由开源**:基于 GPL-3.0 许可证,源代码完全开放。
**丰富的导出格式**:支持导入和导出 STL、OFF 等 3D 文件格式,以及 DXF 2D 格式。
技术规格
| 编程语言 | |
|---|---|
| 图形界面 | |
| 核心几何引擎 | |
| 数学库 | |
| 脚本语言 | |
| 支持平台 | |
| 许可证 | |
| 构建系统 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| 操作系统 | 1 | — | Linux/UNIX, Windows 或 macOS |
| 编译器 | 1 | — | 支持 C++17 的编译器 (如 GCC, Clang, MSVC) |
| CMake | 1 | — | 版本 3.5 或更高 |
| Qt | 1 | — | 版本 5.12 或更高 |
| QScintilla2 | 1 | — | 版本 2.9 或更高 |
| CGAL | 1 | — | 版本 5.4 或更高 |
| GMP | 1 | — | 版本 5.x |
| MPFR | 1 | — | 版本 3.x |
| Boost | 1 | — | 版本 1.70 或更高 |
| OpenCSG | 1 | — | 版本 1.4.2 或更高 |
| GLEW | 1 | — | 版本 1.5.4 或更高 |
| Eigen | 1 | — | 版本 3.x |
| glib2 | 1 | — | 版本 2.x |
| fontconfig | 1 | — | 版本 2.10 或更高 |
| freetype2 | 1 | — | 版本 2.4 或更高 |
| harfbuzz | 1 | — | 版本 0.9.19 或更高 |
| libzip | 1 | — | 版本 0.10.1 或更高 |
| Bison | 1 | — | 版本 2.4 或更高 |
| Flex | 1 | — | 版本 2.5.35 或更高 |
| pkg-config | 1 | — | 版本 0.26 或更高 |
| double-conversion | 1 | — | 版本 2.0.1 或更高 |
所需工具
| 工具 | 用途 | 是否必需 |
|---|---|---|
| 文本编辑器 | 编写 OpenSCAD 脚本 | ✅ 是 |
| 编译器 (GCC/Clang/MSVC) | 从源代码编译 OpenSCAD | ▢ 推荐 |
| CMake | 构建系统配置 | ▢ 推荐 |
| Git | 获取源代码和子模块 | ▢ 推荐 |
| 3D 打印机 | 打印生成的 3D 模型 | ▢ 推荐 |
| 切片软件 | 将 STL 文件转换为打印机指令 | ▢ 推荐 |
能力画像
记忆与知识检索
2/5
逻辑推演
4/5
表达与交流
2/5
感知与观察
1/5
数理与计算
4/5
动手与操作
2/5
狂热与坚持
3/5
创造与创新
4/5
项目图库
所需技能
🔧 **动手能力**:无需硬件动手能力,但需要基本的计算机操作和软件安装能力。
💻 **编程能力**:需要具备基本的编程思维和逻辑能力,能够理解变量、函数、循环等概念。熟悉 OpenSCAD 的脚本语言是核心要求。
⚡ **电子电路**:不需要。
适用场景
**机械零件设计**:创建精确的、可参数化的机械部件,如齿轮、支架、外壳等。
**参数化模型库**:开发可复用的、通过参数调整尺寸和形状的 3D 模型库。
**教育学习**:用于学习 3D 建模的数学和几何原理,以及编程逻辑。
**3D 打印准备**:为 3D 打印设计精确的模型,并导出为 STL 格式。
**快速原型设计**:通过修改脚本参数快速迭代设计,无需手动调整模型。