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 是桌面应用,负责输入图片、选择后端、执行工作流、预览和导出。真正进行推理的是已安装的模型扩展,所以 装好应用不等于已经装好所有模型。

使用过程:

  1. 从官方 Releases 选择对应系统版本。项目提供 Windows、Linux 和 Apple Silicon Mac 支持;不同模型扩展仍有各自的硬件要求。
  2. 在 Models → Install from GitHub 安装官方列出的可信模型扩展,例如 Hunyuan3D Mini 或 TRELLIS.2 GGUF 对应扩展。
  3. 按扩展要求下载权重、安装依赖。查看该扩展支持的平台,不把桌面应用能打开等同于后端能运行。
  4. 选择工作流,输入图片,生成网格并加入场景,旋转检查后导出。
  5. 失败时查看 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) };
1
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>
1
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) 适合在浏览器里建模、配置材质、状态、事件和动画,再嵌入网站。它解决的是交互体验制作,不只是单张图片变成网格。

可以从一个商品展示开始:

  1. 创建或导入商品对象,调整灯光、材质和相机。
  2. 设置默认与悬停两种状态,用事件触发过渡,例如悬停时抬高并轻微旋转。
  3. 在预览中验证鼠标和触摸操作,避免只有悬停才可使用的功能。
  4. 使用平台的 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 主要负责把需求拆成步骤、选择工具、生成建模代码并根据检查结果修正。真正生成网格、计算布尔运算或渲染高斯的是专门模型和引擎。比如做交互场景,它可以分别生成可移动物体、背景和音效,再组织导出;但几何有效性、关节和性能仍要用实际检查验证,不能由模型口头判断。