本节摘要:SOURCE 6.1:AI 用于草图识别、语义搜索、生成式布局;难点是领域上下文与设计师控制权平衡。
AI 在图像识别、自然语言上突飞猛进,但在 CAD 里落地远没那么快。原因在于:设计是"上下文密集型"任务。同一个圆孔,可能是减重孔、过线孔、定位孔——几何相同,语义完全不同。算法要给出有用建议,必须先理解"这个孔为什么存在"。本节用四个真实场景,拆解 AI 在 CAD 中"能做到什么"与"卡在哪里"。
| 场景 | 输入/输出 | 现状 |
|---|---|---|
| 草图→3D | 手绘截图→模型 | 研究/部分商用 |
| 相似检索 | 向量搜历史件 | 企业 PLM 插件 |
| 自动标注 | 识别特征→PMI | 规则+ML 混合 |
| 对话建模 | NL→特征操作 | 早期产品 |
用手机拍一张手绘草图,AI 识别线框并生成三维模型——演示很酷,但落地的拦路虎是比例与约束:手绘的线不平行、圆不圆、尺寸比例随意。AI 需要先做"形状推断"(把噪声线整理成意图线),再做"约束推断"(猜哪些线应该平行、哪些点应该重合),最后才是"拉伸/旋转"生成实体。研究进展集中在从像素到语义的桥梁:用深度学习把草图离散化、符号化,再用参数化模板对齐。
企业有几十万历史零件,"找一个类似的轴"用传统方式(属性查询)几乎不可能。向量检索把模型编码成嵌入向量,按相似度召回:
# 语义检索的最小闭环:模型 → 向量 → 最近邻 import numpy as np def encode(model): # 真实系统中由 3D 编码网络生成,这里用特征向量示意 feats = np.array([model.diameter, model.length, model.feature_count, model.mass]) # 示例特征 return feats / np.linalg.norm(feats) def search(query_vec, library, k=5): sims = [(cos_sim(query_vec, encode(m)), m.name) for m in library] return sorted(sims, reverse=True)[:k] # 返回最相似的 k 个
相似检索的商业价值直接且确定:减少重复设计,提高复用率。它不需要 AI 理解设计意图,只需要"形状/属性像不像"——这是 AI 在 CAD 里最成熟的应用。
自动标注从"识别特征"到"生成 PMI",采用规则 + 机器学习混合:
价值在于把工程师从枯燥重复中解放,让人只做复核。这也是"智能 = 自动化重复"的典型案例。
"把孔径改成 14""加一圈 M6 孔阵"——用自然语言驱动 CAD 操作。这条路的难点不是理解命令,而是歧义消解与回滚安全:
SOURCE 追问:如何让 AI 理解设计意图而非仅识别形状?人机共思要求可解释、可撤销的 AI 建议。
| 应用 | 落地难度 | 关键依赖 |
|---|---|---|
| 相似检索 | 低 | 编码模型 + 库数据 |
| 自动标注 | 中 | 企业标注规范 + 数据 |
| 草图→3D | 中高 | 约束推断 + 参数化 |
| 对话建模 | 高 | 指代消解 + 可撤销操作 |
落地难度与"需要理解设计意图的程度"成正比。这给从业者的启示是:AI 应用应从"低上下文依赖"场景切入,先解决检索与标注,再图谋对话建模。
无论 AI 能力多强,CAD 场景必须保住两条底线:
任何 AI 应用都逃不开"数据"二字。CAD 场景的数据有其特殊之处:
| 数据类型 | 来源 | 特点 |
|---|---|---|
| 图纸/草图 | 历史工程图 | 量大但标注噪声多 |
| 3D 模型 | 设计库/PLM | 量大但语义标签缺失 |
| 命令日志 | CAD 操作记录 | 蕴含"设计过程"但很少留存 |
| 标注规则 | 企业规范/老师傅经验 | 高质量但量少 |
AI 落地的瓶颈往往不是算法,而是数据的可得性与质量。这正是"企业内建模型库"战略价值所在:几十万标注过的历史零件,就是最珍贵的 AI 训练资产。
相似检索依赖"模型 → 向量"的编码器。工业实践中编码器的输入特征分三类:
# 一个可运行的检索示例(示意实现) def feature_vector(model): return { "aspect_ratio": model.bbox.ratio(), "hole_count": len(model.find_features("HOLE")), "mass": model.mass, "volume_ratio": model.volume() / model.bbox.volume(), } def similarity(a, b): keys = set(a) & set(b) diff = sum((a[k] - b[k]) ** 2 for k in keys) return 1 / (1 + diff ** 0.5) # 距离越小越相似
现代系统进一步用3D 深度网络(如 PointNet、Graph CNN)直接从点云/网格学习嵌入,效果优于手工特征,但对训练数据量与标注质量要求更高。
大语言模型进入 CAD 后,能力边界需要冷静界定:
| 能做 | 不能做(当前) |
|---|---|
| 解析命令意图、生成参数化脚本 | 直接输出高精度几何 |
| 检索设计文档与历史方案 | 理解物理与工艺的深层约束 |
| 生成工程文字说明 | 保证生成结果的几何合法性 |
| 组合已知特征操作 | 无中生有的全新结构 |
"能组合"与"能创造"之间隔着工程语义的鸿沟。大模型擅长把已有知识重新组织,但不擅长"没见过的物理约束推理"。设计者必须对 AI 输出做验证 + 修正,这正是"人机共思"的含义。
大模型的"幻觉"在 CAD 场景格外危险——它输出的尺寸、配合、材料若未经验证,直接进入制造会导致报废。防护措施三条:
| 阶段 | 引入能力 | 收益 |
|---|---|---|
| 第一步 | 相似检索 + 自动标注 | 复用率提升、重复劳动减少 |
| 第二步 | 规则引擎 + 特征识别 | 设计质量前置、错误减少 |
| 第三步 | 对话建模(受限场景) | 高频操作提速 |
| 第四步 | 生成式建议(实验) | 探索创新方案 |
每一步都以"设计师可验证、可撤销"为前提。成熟企业的共同经验是:AI 不是一步到位的革命,而是渐进式的能力叠加。
⚠️ 常见坑:盲目信任 AI 生成的配合尺寸——须约束求解验证。
💡 关键直觉:AI 是协作者,不是黑盒替代者。