对于您这种拥有 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:

  1. 节点特征 (Node):面的类型(Plane=1, Cylinder=2…)、面积、中心点。
  2. 边特征 (Edge):连接类型(凹、凸、平)、共同边长度。
  3. 模型:使用简单的 GraphSAGEGAT。这种方法虽然没有预训练权重,但针对特定公司内部的零件库,仅需少量标注即可训练出极强的检索能力。

3. 开发者资源

  • 数据集:建议查阅 ABC Dataset,它是 CAD 领域的基础数据集,大多数 B-Rep 模型都是在其上训练的。
  • 工具库
    • DGL (Deep Graph Library):非常适合处理您从 API 导出的拓扑图。
    • Autodesk Research GitHub:他们开源了 UV-Net 和 BRepNet 的核心代码。

建议: 如果您的目标是做模型查重自动化分类,优先尝试 UV-Net;如果是为了实现自然语言搜索零件(如输入“M8 螺栓”),请关注 OpenShape

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐