AI 三维工具:本地生成、参数化 CAD 与交互设计
# AI 三维工具:本地生成、参数化 CAD 与交互设计
这些工具不是同一类产品:有的生成外观网格,有的生成可修改尺寸的 CAD,有的组织场景和交互,还有的从扫描数据提取真实工厂。选工具先看需要什么产物,再看能否继续编辑和交付。
# 先按产物区分
| 需要的产物 | 工具入口 | 最关键的区别 |
|---|---|---|
| 本机生成的三维网格 | Modly (opens new window) | 桌面工作台组织不同模型后端,不是一个新基础模型 |
| 可调整尺寸的代码建模结果 | HiCAD (opens new window)、ForgeCAD (opens new window) | 保存参数和建模逻辑,不只保存三角面 |
| 可以活动的部件与关节 | Articraft (opens new window) | 输出需要描述部件如何连接和运动 |
| 从图像预测 CAD 建模序列 | GenCAD (opens new window) | 研究图像与 CAD 表示之间的映射 |
| 模型、实景环境和音效的组合 | Image-Blaster (opens new window) | 用工作流调度多种生成服务 |
| 可以发布到网页的交互场景 | Spline (opens new window) | 重点是设计、交互、协作与嵌入 |
| 真实工厂中可单独操作的对象 | RIIICO (opens new window) | 输入是现场扫描,不是凭提示词虚构工厂 |
| 标准零件与 CAD 查看 | step.parts (opens new window)、text-to-cad (opens new window) | 能复用标准件时,不必重新生成 |
普通图片生成网格的 Meshy、Tripo 等见 图生 3D 选型;GLB、AR 和高斯场景接入见 Web 展示。
# Modly:给本地三维模型提供桌面入口
Modly 是桌面应用,负责输入图片、选择后端、执行工作流、预览和导出。真正进行推理的是已安装的模型扩展,所以 装好应用不等于已经装好所有模型。
使用过程:
- 从官方 Releases 选择对应系统版本。项目提供 Windows、Linux 和 Apple Silicon Mac 支持;不同模型扩展仍有各自的硬件要求。
- 在
Models → Install from GitHub安装官方列出的可信模型扩展,例如 Hunyuan3D Mini 或 TRELLIS.2 GGUF 对应扩展。 - 按扩展要求下载权重、安装依赖。查看该扩展支持的平台,不把桌面应用能打开等同于后端能运行。
- 选择工作流,输入图片,生成网格并加入场景,旋转检查后导出。
- 失败时查看 Settings 中的 Logs / Errors,区分下载、环境、推理和导出错误。
优点是把分散的模型操作集中到一个界面,适合反复实验;代价是扩展兼容性、显存和权重存储仍由自己管理。应用开源许可与模型许可分别检查。本地推理可以减少素材上传,但下载、远程模型和第三方扩展是否联网要单独确认。
# 参数化 CAD 与普通 Mesh 有什么不同
一个底板如果只是 Mesh,孔的位置表现为一组顶点;想把孔径从 5 mm 改成 6 mm,可能需要编辑几何。如果保存的是参数化建模逻辑,就可以把孔径参数改为 6,再重新计算几何。
CAD 是 Computer-Aided Design(计算机辅助设计)。这里的核心不是文件后缀,而是 尺寸、约束和建模操作是否保留下来。STL 主要保存三角形表面;STEP 常用于交换工程几何和结构,但也不能保证带有原软件完整的历史特征树。
# HiCAD:自然语言生成 JSCAD 代码
这里指 MrXujiang/HiCAD (opens new window),不是同名的其他商业 CAD 软件。它将中文需求转成参数化 JSCAD 代码,在网页预览,并通过参数调整形状。
例如要求生成一个带圆孔的底座,应同时描述底座长宽高、孔径和孔位置。生成后检查代码中的参数,再调整滑块看几何是否按预期变化,最后导出 STL / OBJ。导出网格方便打印和展示,但不等于保留完整工程设计历史。
自行部署时使用仓库要求的 Node.js、pnpm,复制 .env.example 为本地配置,在服务端配置模型提供方和密钥,再运行 pnpm install、pnpm dev。AI 功能还涉及项目自身的激活要求;不要把密钥放进前端构建变量或提交到 Git。
它的优势是自然语言和可编辑代码结合,适合规则零件的快速探索;限制是生成代码可能几何无效、尺寸理解错误,必须预览和检查。代码采用 GPL-3.0,商业分发前要理解相应义务。
# ForgeCAD:用 JavaScript 表达建模过程
ForgeCAD (opens new window) 使用代码定义参数和几何。可以先在工作台打开示例,修改参数并观察结果,再导出目标格式。其 公共工具包 (opens new window) 包含示例、文档和技能,不能据此认为托管编辑器的所有代码都已经开源。
下面基于官方入门示例,放在 ForgeCAD 的 .forge.js 文件中运行。Param、box、cylinder 是该运行时提供的 API,不能直接粘贴到普通浏览器控制台:
// 参数同时出现在建模代码和工作台控件中,尺寸意图有明确来源。
const width = Param.number('Width', 90, { min: 50, max: 160, unit: 'mm' });
const depth = Param.number('Depth', 56, { min: 32, max: 100, unit: 'mm' });
const height = Param.number('Height', 12, { min: 6, max: 32, unit: 'mm' });
const holeRadius = Param.number('Hole Radius', 5, { min: 2, max: 10, unit: 'mm' });
const base = box(width, depth, height).color('#5f87c6');
// 切割圆柱比底板厚,并向下偏移,使它穿过底板。
const cutter = cylinder(height * 3, holeRadius).translate(0, 0, -height);
// 差集得到孔;顶层 return 是 ForgeCAD 文件的执行约定。
return { 'starter plate': base.subtract(cutter) };
2
3
4
5
6
7
8
9
10
11
12
重点不是让 AI 写几十行代码,而是让尺寸成为可修改、可复算的参数。将半径改成 6 后,应检查孔直径是否变为 12、是否穿透以及边缘剩余材料是否满足要求。代码能执行并不能替代制造公差和强度验证。
# GenCAD:从图片预测建模序列
GenCAD (opens new window) 的研究目标不是直接输出一堆三角面,而是根据图像生成 CAD 表示与操作序列。直观例子是:从零件图预测轮廓,再预测拉伸等操作及其参数。
其思路可以分成三步:先学习 CAD 序列的压缩表示;再通过对比学习让对应图像与 CAD 的表示靠近;最后根据图像条件,利用扩散先验生成 CAD 表示并解码成序列。它学习的是受数据与操作集合约束的建模方式,不能理解成能还原任意复杂产品的原始工程设计历史。
试用时先按仓库准备数据和预训练权重,再使用 Docker 或独立 Conda 环境运行 inference_gencad.py。OpenCASCADE 相关依赖承担工程几何构造,无显示器的服务器还可能需要 xvfb-run 处理可视化。第一次应复现官方输入和结果,之后才换自有图片。
验收不只看渲染相似度,还要检查序列是否能构造有效实体、尺寸是否正确、修改参数后是否仍有效。研究代码的可运行性与生产服务的稳定性是不同问题。
# Articraft:生成能活动的部件,而不只是外观
台灯不仅要看起来像台灯,还要知道灯臂和底座是不同部件,围绕哪根轴转、转动范围是多少。Articraft 面向这种带关节的三维资产:模型生成调用其三维 SDK 的 Python 代码,系统编译和检查,再导出可摆姿态的 USDZ。
当前使用 Articraft 官方仓库 (opens new window)。在独立目录克隆后,按 README 使用 Python 3.11+、uv 安装,并配置其支持的模型服务密钥;调用模型会产生相应费用。最短操作如下:
# 在已克隆的 Articraft 项目内安装依赖。
uv sync --group dev
# 已按官方 provider 文档配置密钥后,生成一盏带关节台灯。
uv run articraft --image reference.png "reconstruct this desk lamp"
# 将 run-id 替换为实际生成的目录名,打开结果并检查关节运动。
uv run articraft view runs/<run-id>
2
3
4
5
6
7
8
优点是把部件、关节和生成检查放在同一流程里。限制是关节轴、碰撞、运动范围和物理参数仍要验证,不能因为能拖动灯臂就说已经符合真实机构。生成的 Python 是可执行代码,应隔离运行、限制文件和网络权限;仿真能力也需要对应的可选依赖。
# Image-Blaster:为什么要把物体、环境和音效分开生成
Image-Blaster (opens new window) 用 Claude Code 的 Skills 组织多种服务:可活动对象生成 GLB / OBJ,静态环境生成 SPZ 高斯资产,再生成环境与对象音效。
例如一张室内图里有桌子、可拿起的杯子和背景墙。杯子需要独立网格才能移动和设置碰撞,背景可以用高斯表示保留外观,声音则是单独音频。把整张图一次生成一个不可拆分的场景,后续交互反而困难。
使用时在仓库的 input/ 放入授权素材,按 README 配置 World Labs、FAL 等服务凭据,再在 Claude Code 中发起工作流,要求关键生成阶段先确认。凭据通过环境变量或受保护的本地配置提供,不粘贴到公开聊天或提交仓库。
最终分别检查网格、SPZ 和音频文件,再对齐比例、坐标、时间和加载方式。它不是一个自己训练的全能模型,也不能仅因为用了 Skills 就称为 MCP 工作流;Skills 组织步骤,具体执行依赖对应服务 API。生成时长和费用取决于服务、排队、输出质量与重试,不能承诺固定几分钟完成。
# Spline:把模型变成可交互页面
Spline (opens new window) 适合在浏览器里建模、配置材质、状态、事件和动画,再嵌入网站。它解决的是交互体验制作,不只是单张图片变成网格。
可以从一个商品展示开始:
- 创建或导入商品对象,调整灯光、材质和相机。
- 设置默认与悬停两种状态,用事件触发过渡,例如悬停时抬高并轻微旋转。
- 在预览中验证鼠标和触摸操作,避免只有悬停才可使用的功能。
- 使用平台的 Web / React 等导出或嵌入方式,放进页面后检查尺寸、加载、移动端性能和降级海报。
优点是设计师可以直接制作和协作,开发者不用从零重写所有三维交互;代价是运行时、导出范围和套餐约束,需要评估与现有页面状态如何联动。
# Omma:用自然语言组织场景、界面和代码
Omma (opens new window) 是 Spline 的自然语言创作产品,面向网站、应用、三维场景和游戏。它可以组织多个 Agent 并行生成代码、图片、三维内容和处理数据,所以不只是把提示词变成一个 GLB。
例如制作一张交互商品页,可以先描述页面结构、商品模型、旋转交互和移动端布局,再提供有权使用的图片、GLB 或 JSON 数据。生成后先在预览中检查页面与交互,再逐项修改,确认发布方式和资源权限后交付。不要只验收模型漂亮与否,还要看按钮、触摸操作、数据展示和加载是否正确。
它的优势是把原本分散的设计和开发步骤放到同一创作流程;限制是生成代码、资产质量、第三方依赖和服务费用仍需要检查。生成一个物体 与 制作一套可交互体验 是两种不同产物;并行 Agent 能加快部分工作,但不会自动消除各部分的集成问题。
# RIIICO:从工厂扫描中拆出可用对象
RIIICO (opens new window) 的输入是工厂现场三维扫描,目标是识别和分离其中的设备、设施等对象,让工程团队能够重新规划工厂布局。
一份扫描整体看起来像工厂,但如果所有点混在一起,就很难单独移动一台设备。把扫描分解成对象、赋予类别并导出到工程流程后,才更方便讨论产线调整、机器人路径和空间占用。
工程路线是 采集与配准 → 对象提取与分类 → 人工校正 → 导出 → 下游布局或仿真。现场遮挡、扫描精度、坐标系和设备 ID 都会影响结果。官方支持 OpenUSD / Omniverse 等衔接,不代表一份扫描自动具备准确质量、关节和实时传感数据。
这类企业工具适合已有工厂的数字化改造;不是拿一张外观照片生成一个好看的厂房。项目价值应由实际节省的建模与规划时间验证,不照抄宣传中的提升百分比。
# step.parts 与 CAD Skills:先复用,再生成
step.parts (opens new window) 提供可搜索的 STEP 零件,例如螺钉、轴承、电机和电子模块。使用时按规格查找,查看来源和几何,下载后核对尺寸、版本和许可,再加入装配。标准件有现成可靠模型时,重新让 AI 猜一个通常没有必要。
CAD Skills 的入口现指向 text-to-cad (opens new window),不仅是 STEP 查看器,还包含 CAD 创建、零件搜索、工程图和机器人描述等 Agent Skills。其网页提供 STEP 演示查看器 (opens new window),可用于观察装配结构。
两者可以组合成:先搜索合适电机 → 获取真实 STEP 规格 → 围绕安装孔设计支架 → 在查看器检查装配 → 导出展示模型。Skill 负责约束工作步骤,CAD 内核负责计算几何,查看器负责显示;这三者不是同一个东西。
# 面试问答
1. AI 生成 CAD 与图生 3D 的区别是什么?参考答案
普通图生 3D 更关注外观资产,常输出网格和纹理;参数化 CAD 更关注尺寸和建模关系。比如支架孔径要从 5 改到 6,参数化方案可以修改参数重新计算,而不只是拖动网格顶点。所以展示摆件可以优先图生 3D,机械零件更适合 CAD,但两种结果都要按用途验证,不能把生成成功等同于可制造。
2. Agent 在三维工作流里到底起什么作用?参考答案
Agent 主要负责把需求拆成步骤、选择工具、生成建模代码并根据检查结果修正。真正生成网格、计算布尔运算或渲染高斯的是专门模型和引擎。比如做交互场景,它可以分别生成可移动物体、背景和音效,再组织导出;但几何有效性、关节和性能仍要用实际检查验证,不能由模型口头判断。