你是否曾经希望AI能够根据文本描述或图像自动生成3D模型,支持多视图重建和参数化设计?今天要介绍的开源项目OpenSCAD多视图生成器,正是为了实现这个目标而设计的。它通过多视图重建和OpenSCAD,使用文本描述或图像生成参数化3D模型。
项目基本信息
| 信息项 | 详情 |
|---|---|
| 项目名称 | OpenSCAD 多视图生成器 |
| GitHub地址 | https://github.com/jhacksman/OpenSCAD-MCP-Server |
| 项目描述 | 允许用户通过多视图重建和OpenSCAD,使用文本描述或图像生成参数化3D模型,并支持AI图像生成和远程处理。 |
| 作者 | jhacksman |
| 开源协议 | MIT License |
| 开源状态 | 公开状态 |
| Languages | Python |
| 支持平台 | Windows / macOS / Linux |
| 最后更新 | 2026-04-23 |
一、项目介绍
OpenSCAD多视图生成器是一个MCP服务器,让用户能够通过文本描述或图像生成3D模型。它集成了AI图像生成、多视图重建、CUDA 3D重建和OpenSCAD参数化建模。
这个服务器提供了以下核心功能:
- AI图像生成:使用Google Gemini或Venice.ai API从文本描述生成图像
- 多视图图像生成:为同一3D对象创建多个视图以进行重建
- 3D重建:使用CUDA多视图立体技术将多视图图像转换为3D模型
- 远程处理:在局域网内的远程服务器上处理计算密集型任务
- OpenSCAD集成:生成参数化3D模型
- 3D打印机发现:可选的网络打印机发现和直接打印功能
二、核心优势
端到端3D生成
从文本描述到3D模型的完整流程,支持AI图像生成和3D重建。
多视图重建
通过多个角度的图像重建3D模型,提高模型精度。
远程处理
将计算密集型任务卸载到更强大的机器上,支持CUDA加速。
多种导出格式
支持OBJ、STL、PLY、SCAD、CSG、AMF、3MF等多种格式。
Web界面
提供直观的Web界面用于图像审批和模型预览。
三、适用场景
快速3D原型设计
根据文本描述快速生成3D模型,加速产品设计。
参数化建模
使用OpenSCAD生成参数化模型,便于后续调整。
3D打印准备
生成STL等格式,直接用于3D打印。
远程计算
利用远程GPU服务器处理大规模3D重建任务。
四、安装教程
系统要求
| 工具 | 用途 | 下载/安装方式 |
|---|---|---|
| Python | 运行环境 | [https://python.org/] (版本要求:3.8 或以上) |
| OpenSCAD | 参数化建模 | [https://openscad.org] |
| CUDA(可选) | GPU加速 | [https://developer.nvidia.com/cuda] |
| Git | 克隆仓库 | [https://git-scm.com/] |
安装步骤
第一步:克隆项目并安装依赖
git clone https://github.com/jhacksman/OpenSCAD-MCP-Server.git
cd OpenSCAD-MCP-Server
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt第二步:安装OpenSCAD
- Ubuntu/Debian:
sudo apt-get install openscad - macOS:
brew install openscad - Windows:从openscad.org下载安装
第三步:安装CUDA多视图立体(可选)
git clone https://github.com/fixstars/cuda-multi-view-stereo.git
cd cuda-multi-view-stereo
mkdir build && cd build
cmake ..
make第四步:配置API密钥
创建.env文件:
GEMINI_API_KEY=你的Gemini_API密钥
VENICE_API_KEY=你的Venice_API密钥 # 可选第五步:启动服务器
python src/main.py服务器将在http://localhost:8000启动。
五、使用示例
示例1:从文本生成3D模型
用户指令:“生成一个低多边形兔子”
AI会调用create_3d_model_from_text工具:
{
"prompt": "低多边形兔子",
"num_views": 4
}示例2:生成多视图图像
用户指令:“为低多边形兔子生成4个不同角度的视图”
AI会调用generate_multi_view_images工具:
{
"prompt": "低多边形兔子",
"num_views": 4
}示例3:从图像创建3D模型
用户指令:“使用批准的多视图图像创建3D模型”
AI会调用create_3d_model_from_images工具:
{
"image_ids": ["view_1", "view_2", "view_3", "view_4"],
"output_name": "兔子模型"
}示例4:导出模型
用户指令:“将模型导出为STL格式”
AI会调用export_model工具:
{
"model_id": "模型ID",
"format": "stl"
}示例5:发现远程服务器
{
"timeout": 5
}示例6:打印模型
{
"model_id": "模型ID",
"printer_id": "打印机ID"
}六、Web界面
访问http://localhost:8000/ui/可以使用Web界面:
- 生成和批准多视图图像
- 预览3D模型
- 下载各种格式的模型
七、常见问题
问题1:Gemini API密钥无效
解决方案:在Google AI Studio获取有效的API密钥。
问题2:CUDA多视图立体编译失败
解决方案:检查CUDA版本和依赖项,参考项目文档。
问题3:OpenSCAD未找到
解决方案:确保OpenSCAD已安装并添加到PATH。
问题4:远程服务器连接失败
解决方案:检查网络连接,确认远程服务器正在运行。
问题5:内存不足
解决方案:对于大模型,使用远程处理或减少图像数量。
八、总结
OpenSCAD多视图生成器是一个功能强大的3D生成MCP工具,集成了AI图像生成、多视图重建和参数化建模。
这个项目的最大价值在于:
- 端到端生成:从文本到3D模型的完整流程
- 多视图重建:提高3D模型精度
- 远程处理:支持CUDA加速的远程计算
- 多种导出格式:OBJ、STL、SCAD等
- MIT许可证:可自由使用和修改
如果你是3D设计师、产品工程师或3D打印爱好者,OpenSCAD多视图生成器是一个非常强大的工具。
Python虚拟环境推荐使用。
远程处理可以卸载计算密集型任务。
图像审批工作流很实用。
和传统建模相比,这个更AI原生。
参数化导出保留属性。