基于深度学习的模型倒角智能识别系统及其CAE应用(概要篇)

Administrator
Administrator
发布于 2025-03-24 / 58 阅读
1
0

基于深度学习的模型倒角智能识别系统及其CAE应用(概要篇)

放在最前面的是效果展示:

倒角识别效果展示.mp4

  • 视频是使用了180个零件的数据训练的结果

前言

在经典的程序设计中,人们输入的是规则(即程序)和需要根据这些规则进行处理的数据,系统输出的是答案。
利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。

screenshot-20250324-143435.png

项目背景

在CAE工程仿真领域,几何模型中的倒角特征会导致以下关键问题:

  1. 网格生成效率低下:倒角处的复杂几何特征迫使网格生成算法生成高密度局部网格,钣金结构件案例中清理倒角区域占模型处理阶段40%的时间;
  2. 计算资源浪费:去除倒角可降低模型特征,例如无倒角模型可快速进行中面抽取,可降低网格量80%以上;
  3. 特征识别局限:传统CAD软件暂无倒角识别功能,切倒角存在无规则,或规则不明晰的特点,无法通过常规编程进行识别。

技术方案

系统架构

系统采用分层设计,实现从数据采集--智能识别--数据可视化的完整闭环:

  1. 数据采集阶段:基于SpaceClaim Python API构建自动化特征提取工具
  2. 模型训练阶段:集成动态参数化神经网络与增量学习框架
  3. 工程应用阶段:开发可视化模块

export_p37dg1.png


关键技术实现

1. 训练数据构建(对应数据采集阶段)

  • 特征参数提取原理
    通过SpaceClaim的Python API访问模型的面对象属性,提取多维几何特征:
    • 几何属性:面积、曲面类型(平面/柱面/锥面)
    • 拓扑关系:相邻面数量、相邻面类型、相邻面面积、相邻面角度
    • 其他特征:表面占比、圆柱面半径
face_features = []

# ---------------------------
# 基础特征(6维)
# ---------------------------
# 1. 归一化面积(原始面积/最大面积)
normalized_area = round(face.Area / max_area, 4)
face_features.append(normalized_area)

# 2. 面类型编码(4维)
    # 将CAD面类型转换为独热编码向量
    # 编码规则:
    # - Plane(平面):    [1, 0, 0, 0]
    # - Cylinder(圆柱): [0, 1, 0, 0]
    # - Torus(圆环):   [0, 0, 1, 0]
    # - 其他类型:        [0, 0, 0, 1]
geo_type = face.Shape.Geometry.GetType().ToString().Split('.')[-1]
face_features.extend(get_face_type_encoding(geo_type))

# 3. 体积占比(1维)
face_box = face.Shape.GetBoundingBox(Matrix.CreateMapping(Frame.World))
face_vol_ratio = calculate_V(face_box) / body_vol * 1e6
face_features.append(round(face_vol_ratio, 4))

# 4. 圆柱半径(1维)
face_features.append(round(face.Shape.Geometry.Radius, 4) if "Cylinder" in geo_type else 0.0)

# 5. 相邻面特征......
  • 半自动化标注机制
    开发基于设计变更对比的标注系统:
    1. 通过SCDM二次开发记录原始模型几何
    2. 手工操作去除倒角
    3. 对比原始模型与简化模型的几何差异,自动生成二值标签
    4. 整理数据到CSV文件
# 00提取输入面参数.py
# 获取体的面信息,并保存到CSV
# Python Script, API Version = V22
BodyList = GetRootPart().Components[0].GetAllBodies()
datalist = []
for body in BodyList:
    print body.GetName()
    bodydata = GetBodyFaceData(body)
    datalist.append(bodydata)
    save_to_csv(bodydata, r'Data\untrain\faceDatas_'+body.GetName()+'.csv')
    
# 提取处理前的面对象.py
# 手动清理获取结果
# 获取处理前的面对象
BodyList = GetRootPart().Components[0].GetAllBodies()
datalist = []
for body in BodyList:
    facelist = body.Faces
    datalist.append(facelist)
    
# 提取标定结果.py
# Python Script, API Version = V22
# 获取处理后的面对象
resultDatas = []
for facelist in datalist:
    bodyresult = []
    faceitem = None
    for face0 in facelist:
        if(face0.IsDeleted):
            bodyresult.append(1)
        else:
            bodyresult.append(0)
            faceitem = face0
    bodyname = faceitem.GetAncestor[IDesignBody]().GetName()
    
    # 获取训练输入
    save_to_csv(bodyresult,r'Data\untrain\faceDatas_'+bodyname+'_resualt.csv')
    resultDatas.append(bodyresult)

2. 动态学习模型(对应模型训练阶段)

  • 网络架构设计
    基于实际工程需求与特征数据特性,设计动态可调的全连接神经网络架构:

    • 动态拓扑结构:采用超参数控制的弹性网络架构
      • 隐藏层数量可配置(1-3层),首层神经元数(32-256),后续层数按比例自动衰减
      • 激活函数动态选择(ReLU/ELU/SELU),根据贝叶斯优化自动匹配最佳非线性组合
      • 网络深度与宽度通过超参数搜索框架实现协同优化
    • 正则化体系:构建多层次正则化机制提升泛化能力
      • 输入层:标准化层(Normalization)消除特征量纲差异
      • 前置层:高斯噪声注入(0-0.1比例)增强输入鲁棒性
      • 隐藏层:动态Dropout(0.1-0.5比例)抑制过拟合
      • 参数级:He正态初始化保证梯度稳定性
    • 优化策略:针对类别不平衡问题(倒角:非倒角≈1:5)设计特殊训练机制
      • 损失函数加权(类别权重5:1)
      • 多指标监控(准确率+精确率)
      • 自适应学习率(1e-2至1e-4动态调整)
  • 训练优化策略

    • 渐进式课程学习:按倒角复杂度分级训练,先学习典型倒角模式,再逐步扩展至特殊案例
    • 对抗增强训练:生成对抗网络(GAN)构造边界样本,提升模型对模糊特征的判别力
    • 增量学习框架:设计特征回放机制,避免新数据引起的灾难性遗忘问题
      export_p9f5at.png

3. 工程化部署(对工程应用阶段)

  • CAD可视化方案
    • 开发SpaceClaim插件实现"一键式"预测流程:
      • 模型自动导出→预测服务→结果可视化
# 倒角高亮部分代码
......
facelist = []
for chamData in chamferList:
    part_name = chamData['part_name']
    face_index = chamData['face_index']
    body = GetRootPart().GetAllBodies(part_name)[0]
    facelist.append(body.Faces[face_index])

Selection.Create(facelist).SetActive()

技术栈

模块核心技术组件
CAD接口SpaceClaim Python API
数据工程Pandas(特征分析)
机器学习TensorFlow 2.10,Keras(模型训练), Optuna(超参优化), DVC(数据版本控制)
工程部署(未实现)FastAPI(REST服务), Redis(缓存管理), Docker(容器化部署)

应用价值

在机械制造企业的实际部署中取得显著成效:

  • CAE预处理效率:单模型处理时间从2小时缩短至0.5小时
  • 计算资源节省:平均网格数量降低80,内存占用减少42%

本系统开创了机器学习在CAD/CAE集成应用的新范式,为智能制造领域的数字化升级提供了可复用的技术框架。后续工作将重点提升系统对多尺度特征的识别能力,并开发面向增材制造的特殊工艺特征识别模块。


评论