如果您的目标是做模型查重或自动化分类,优先尝试 UV-Net;如果是为了实现自然语言搜索零件(如输入“M8 螺栓”),请关注 OpenShape
·
对于您这种拥有 SolidWorks API 开发能力的情况,直接利用 B-Rep(边界表示) 结构的 Embedding 模型是最高效的选择。与通用的点云或体素模型不同,B-Rep 模型能直接处理您获取的“面-边”拓扑关系。
以下是目前学术界和工业界(如 Autodesk)主流的预训练模型及方案:
1. 核心预训练模型
| 模型名称 | 核心机制 | 适用场景 |
|---|---|---|
| UV-Net | 将每个面采样为 UV 网格图,结合面邻接图进行特征提取。 | 分类、检索、零件分割。这是最接近 SolidWorks 数据逻辑的模型。 |
| BRepNet | 使用拓扑消息传递(Topological Message Passing)直接在面、边上卷。 | 特征识别(如识别倒角、螺纹孔、槽)。 |
| Brep2Shape | 最新的 Transformer 架构,实现了 B-Rep 与通用 3D 形状的对齐。 | 跨模态检索、语义理解。 |
| OpenShape | 将 3D 形状与 CLIP 文本向量对齐。 | 文字搜 3D 模型,通过文本描述找到相似的 SolidWorks 零件。 |
2. 推荐的 Embedding 方案
方案 A:基于 UV-Net 的面特征嵌入
如果您想识别零件的功能特征,UV-Net 是最佳选择。
- 输入:利用 SolidWorks API 对每个 Face 进行 N × N N \times N N×N 点采样,记录每个点的坐标 ( x , y , z ) (x,y,z) (x,y,z) 和法线 ( n x , n y , n z ) (nx,ny,nz) (nx,ny,nz)。
- 预训练权重:该模型通常在 ABC Dataset(包含百万级工业 CAD 模型)上预训练,对机械零件的几何特征(如圆柱面、圆锥面)极其敏感。
方案 B:基于图神经网络 (GNN) 的自定义嵌入
如果您不想使用复杂的 UV 采样,可以利用您已经拿到的拓扑关系自建轻量级 Embedding:
- 节点特征 (Node):面的类型(Plane=1, Cylinder=2…)、面积、中心点。
- 边特征 (Edge):连接类型(凹、凸、平)、共同边长度。
- 模型:使用简单的 GraphSAGE 或 GAT。这种方法虽然没有预训练权重,但针对特定公司内部的零件库,仅需少量标注即可训练出极强的检索能力。
3. 开发者资源
- 数据集:建议查阅 ABC Dataset,它是 CAD 领域的基础数据集,大多数 B-Rep 模型都是在其上训练的。
- 工具库:
- DGL (Deep Graph Library):非常适合处理您从 API 导出的拓扑图。
- Autodesk Research GitHub:他们开源了 UV-Net 和 BRepNet 的核心代码。
建议: 如果您的目标是做模型查重或自动化分类,优先尝试 UV-Net;如果是为了实现自然语言搜索零件(如输入“M8 螺栓”),请关注 OpenShape。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)