章节 01
导读 / 主楼:GenAI-LEGOarch:生成式AI驱动的乐高建筑工作室
GenAI-LEGOarch:生成式AI驱动的乐高建筑工作室
原作者与来源
- 原作者/维护者: Emilie El Chidiac & Charles Abi Chahine(MaCAD项目)
- 来源平台: GitHub
- 原始标题: genai-legoarch
- 原始链接: https://github.com/hi-em/genai-legoarch
- 发布时间: 2026-06-14
- 学术背景: MaCAD(建筑与设计高级计算硕士)生成式AI研讨会项目
项目概述
GenAI-LEGOarch(名称中的大写E和C代表Emilie和Charles)是一个创新的生成式AI建筑工作室项目,它能够将用户输入的任意建筑名称或描述,转换为一套真正可搭建的乐高积木套装。整个流程涵盖从AI渲染、3D重建到积木分解,最终生成官方风格的包装盒、说明书和零件清单。
项目的核心理念是:生成式AI提出形式,确定性计算证明其可搭建性。这与许多仅停留在图像生成阶段的项目不同,LEGOarch继续向下游推进,确保每个零件都是合法的BrickLink零件,颜色与渲染图匹配,结构稳定性经过验证。
核心工作流程
系统采用四阶段流水线架构,将创意生成与工程验证有机结合:
第一阶段:建筑描述到乐高渲染图
用户输入建筑名称或详细描述(也可上传参考照片),系统使用 FLUX.2 模型配合专门训练的 legoarch LoRA 生成乐高风格的建筑渲染图。
技术细节:
- 模型:FLUX.2 Klein Base 4B FP8
- LoRA:legoarch.safetensors(专门训练的乐高风格适配器)
- 运行环境:ComfyUI(端口8188)
- 特点:自动添加乐高积木纹理和拼搭风格
第二阶段:2D渲染到3D网格
生成的乐高风格渲染图被送入 TRELLIS-2 模型,将2D图像转换为带纹理的3D网格模型。
技术细节:
- 模型:TRELLIS-2(图像到3D重建)
- 运行环境:ComfyUI(端口8189)
- 输出:.glb格式的带纹理3D模型
- 特点:保持渲染图的视觉风格,同时生成几何结构
第三阶段:体素化与积木分解
这是整个系统的计算核心(Custom Legolizer),负责将3D网格转换为可实际搭建的乐高积木布局:
- 体素化:将3D模型转换为体素网格
- 颜色采样:根据曝光匹配渲染图的颜色
- 积木分解:使用分裂-合并算法将体素转换为合法乐高零件
- 颜色映射:通过CIEDE2000算法匹配最接近的官方乐高颜色
- 稳定性检查:验证结构在重力作用下的稳定性
第四阶段:套装设计与输出
最终生成完整的乐高套装体验:
| 输出项 | 描述 |
|---|---|
| 包装盒 | 官方风格的套装盒面艺术图 |
| 说明书 | 逐步拼搭的PDF手册 |
| 零件清单 | 含BrickLink链接和价格估算 |
| 分享卡片 | 社交媒体分享图 |
| 个人收藏 | 可添加到用户的虚拟展示架 |
技术架构详解
系统架构
系统由四个独立进程组成,通过API相互通信:
前端 :5173 ──/api──► 后端 :8000 ──► ComfyUI FLUX :8188 (图像生成)
└──► ComfyUI TRELLIS :8189 (3D重建)
组件说明
| 组件 | 技术栈 | 端口 | 职责 |
|---|---|---|---|
| 前端 | React + Three.js | 5173 | 用户界面、3D预览、收藏管理 |
| 后端 | FastAPI (Python) | 8000 | 业务逻辑、ComfyUI调度、Legolizer封装 |
| ComfyUI FLUX | ComfyUI + FLUX.2 | 8188 | 文本/图像到乐高渲染图 |
| ComfyUI TRELLIS | ComfyUI + TRELLIS-2 | 8189 | 渲染图到3D网格 |
Legolizer:计算核心
Legolizer是整个系统的核心创新,它解决了从任意3D形状到合法乐高积木布局的转换难题:
算法挑战:
- 乐高积木有特定的尺寸和连接方式(凸粒/凹槽系统)
- 需要优化零件数量(减少零件种类和总数)
- 颜色必须匹配官方乐高色卡
- 结构必须物理稳定(不会在重力下倒塌)
解决方案:
- 采用分裂-合并启发式算法优化积木布局
- 使用CIEDE2000色差公式进行颜色匹配
- 基于物理引擎进行稳定性验证
- 生成BrickLink兼容的零件编号和颜色代码
使用流程
环境要求
- Python 3.10+
- Node.js 18+
- NVIDIA GPU(约16GB显存)
- 两个ComfyUI安装(FLUX和TRELLIS各一个)
启动步骤
需要同时运行四个终端进程:
终端1 - ComfyUI FLUX(:8188):
python main.py --port 8188
终端2 - ComfyUI TRELLIS(:8189):
python main.py --port 8189
终端3 - 后端(:8000):
cd backend
.\.venv\Scripts\Activate.ps1
uvicorn app.main:app --reload --port 8000
终端4 - 前端(:5173):
cd frontend
npm run dev
然后访问 http://localhost:5173 即可使用。
使用体验
- 输入建筑:输入建筑名称或上传参考照片
- 生成渲染:FLUX生成乐高风格的建筑渲染图
- 观看组装:系统逐步展示积木逐层组装过程
- 获取套装:下载包装盒、说明书、零件清单等
法律合规设计
项目特别注意了乐高商标的法律问题:
- 免责声明:明确说明LEGO®是乐高集团的商标,本项目未获赞助、授权或认可
- 非商业性质:学术项目,不涉及商业销售
- 视觉规避:避免使用乐高logo、人仔形象和 trademarked 的2×4砖块轮廓
- 描述性使用:仅在描述性语境中使用"LEGO"(如"由乐高积木搭建")
- 设计语言:基于乐高真实的设计系统,但保持独立视觉风格
学术价值与创新点
生成式AI与计算设计的结合
项目展示了如何将生成式AI的创造力与确定性计算的严谨性结合:
- AI负责创意生成(渲染图、包装设计)
- 算法负责工程验证(可搭建性、稳定性)
从概念到产品的完整流程
与许多仅停留在概念阶段的项目不同,LEGOarch实现了从输入到可执行产品的完整闭环:
[建筑描述] → [AI渲染] → [3D重建] → [积木分解] → [套装输出]
↑ ↓
└──────────── 完整的可验证产品 ──────────────────────┘
开源生态整合
项目整合了多个开源工具:
- FLUX.2:开源图像生成模型
- TRELLIS-2:开源3D重建模型
- ComfyUI:开源AI工作流平台
- BrickLink:乐高零件数据库API
项目启示
GenAI-LEGOarch 展示了生成式AI在实体产品设计领域的应用潜力:
- AI辅助设计:生成式AI可以大幅加速概念设计阶段,但工程验证仍需要确定性算法
- 可制造性约束:从虚拟设计到实体产品的关键在于制造约束的满足
- 开源工具链:现代AI项目可以基于成熟的开源生态快速构建
- 用户体验闭环:完整的产品体验不仅包括生成,还包括包装、说明书等周边
对于希望探索AI与实体制造结合的开发者,这是一个优秀的参考案例。