CN119416279A 一种识别平面类钣金零件加工特征的方法和系统 (武汉天喻软件有限公司)_第1页
CN119416279A 一种识别平面类钣金零件加工特征的方法和系统 (武汉天喻软件有限公司)_第2页
CN119416279A 一种识别平面类钣金零件加工特征的方法和系统 (武汉天喻软件有限公司)_第3页
CN119416279A 一种识别平面类钣金零件加工特征的方法和系统 (武汉天喻软件有限公司)_第4页
CN119416279A 一种识别平面类钣金零件加工特征的方法和系统 (武汉天喻软件有限公司)_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

发区汤逊湖北路华工科技园•创新基一种识别平面类钣金零件加工特征的方法本发明公开了一种识别平面类钣金零件加工特征的方法,其通过获取钣金零件的设计模子图,导致特征识别准确率难以保证的技术问2(1)获取设计模型,读取设计模型中的所有面,并将所有面加入预先建立的数组对象(6)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该数据(7)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该数据(2_3)获取数组对象AllFaces中的第i个面AllFaces[i],获取面AllFaces[i]的类型、3.根据权利要求1或2所述的识别平面类钣金取面AllFaces[i]和面AdjFace共有的边coe,从边coe上任取任意一点coept,然后获取面后判断norm1和norm2是否共向,如果共向则表示面AdjFace是面AllFaces[i]的光滑相邻4.根据权利要求1至3中任意一项所述的识别平面类钣金3(3_5)获取数组对象AllSFData中的第j个数据对象AllSFData[j]的面积,并判断该面(3_6)将浮点数area的值设置为数据对象AllSFData[j]的面积,并将数据对象AllSFData[j]赋值给数据对象baseS步骤(4)具体为,首先获取数据对象baseSFD对应面的数据,包括面上的任意一点(5_5)判断数组对象AllSFData中的第m个数据对象AllSFData[m]中的相对面是否不为(5_6)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个数据(5_7)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成平面相对(5_8)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个数据对象AllSFData[m]中的面是否都是圆柱面,如果是则转入步骤(5_9),否则转入步骤(5_(5_9)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成圆柱面相对4步骤(5_9)中,在判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成(6_2)判断计数器n是否小于数组对象AllSFData中数据对象的总数,如果是则转入步(6_3)从数组对象AllSFData中取出第n个数据对象AllSFData[n],并判断数据对象(6_4)判断数据对象AllSFData[n]中是否存在相对面opp1,如果是则转入步骤(6_5),(6_5)判断数据对象AllSFData[n]中的光滑相邻面中是否存在圆柱面cyl1,如果不存(7_2)判断计数器o是否小于数组对象AllSFData中数据对象的总数,如果是则转入步(7_3)获取数组对象AllSFData中的第o个数据对象AllSFData[o],判断数据对象5(7_6)判断步骤(7_5)中的圆柱面是否存在其他光滑相邻平面,如果存在则转入步骤(8_3)判断数组对象AllBends中的第t个数据对象AllBends[t]是否是折弯特征,如果(8_4)从数据对象AllBends[t]中获取具有折弯特征的平面pFace1以及该平面pFace1本步骤具体为,首先从内环loop1中取出边集合edges1,从内环oppoLoop1中边的类型是否和边集合edges2中包含的边的类型完全相同,如果不相同则说明内环loop1断该点是否在边集合edges2的某条边上,如果在则说明内环loop1和内环oppoLoop1能成根据相邻面faceList1和相邻面faceList2的类别识别设计模型的本步骤具体为,首先判断相邻面faceList1和相邻面faceList2是否相互独立(如果faceList1中的所有面都不属于相邻面faceList2,相邻面faceList2中的所有面都不属于面,并且所有回转面的轴线都共线这四个条件是否同时成立,如果是则利用相邻面6和相邻面faceList2中取出共有的面colist,将属于相邻面faceList1、但是不属于面中直接与平面pFace1相邻的分组为一次相邻面,集合list1中与一次相邻面相邻的面分组的面colist,将属于相邻面faceList1、但是不属于面colist的所有面重新构建为集合第四模块,用于根据第三模块得到的数据对象baseSFD计算设计模型的钣金厚度取该数据对象的折弯特征,并将每个数据对象的折弯特征添加到预先建立的数组对象第八模块,用于从数组对象AllBends中获取所有折弯特7分解的特征自动识别方法和基于单元体分解的特征[0005]第一.基于图的特征自动识别方法[0006]第二.基于立体分解的特征自动识别方法将原有的设计模型分解为不同的体元,[0007]第三.上述两种方法都是适用于一8[0015](6)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该[0016](7)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该[0021](2_3)获取数组对象AllFaces中的第i个面AllFaces[i],获取面AllFaces[i]的类[0025]优选地,获取面AllFaces[i]的光滑相邻面的方法是:首先从设计模型上获取面AllFaces[i]的所有相邻面构成的相邻面集合AdjFaces,针对对相邻面集合AdjFaces中的一点coept,然后获取面AllFaces[i]在点coept处的法向量norm1,获取面AdjFace在点9[0030](3_4)判断计数器j是否小于数组对象AllSFData的总数,如果是则转入步骤(3_[0031](3_5)获取数组对象AllSFData中的第j个数据对象AllSFData[j]的面积,并判断[0032](3_6)将浮点数area的值设置为数据对象AllSFData[j]的面积,并将数据对象AllSFData[j]赋值给数据对象baseS意一点facePt以及面在该点处的法向faceNorm,然后利用Opencascade工具中射线求交的[0039](5_4)判断计数器m是否小于数组对象AllSFData的总数,如果是则转入步骤(5_[0040](5_5)判断数组对象AllSFData中的第m个数据对象AllSFData[m]中的相对面是否[0041](5_6)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个[0042](5_7)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成平面相[0043](5_8)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个数据对象AllSFData[m]中的面是否都是圆柱面,如果是则转入步骤(5_9),否则转入步骤[0044](5_9)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成圆柱面面上,如果是则说明数据对象AllSFData[k]和数据对象AllSFData[m]能够组成平面相对[0048]步骤(5_9)中,在判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够点,判断偏移点是否在数据对象AllSFData[m]的面上,如果是则说明数据对象AllSFData[k]和数据对象AllSFData[m]能够组成圆柱面相对面,否则说明二者不能组成圆柱面相对[0051](6_2)判断计数器n是否小于数组对象AllSFData中数据对象的总数,如果是则转[0052](6_3)从数组对象AllSFData中取出第n个数据对象AllSFData[n],并判断数据对[0054](6_5)判断数据对象AllSFData[n]中的光滑相邻面中是否存在圆柱面cyl1,如果[0060](7_2)判断计数器o是否小于数组对象AllSFData中数据对象的总数,如果是则转[0061](7_3)获取数组对象AllSFData中的第o个数据对象AllSFData[o],判断数据对象[0062](7_4)判断数据对象AllSFData[o]中的面是否是平面,如果不是则转入步骤(7_8),否则进一步判断数据对象AllSFData[o]的相对面是否存在,如果存在则转入步骤(7_[0063](7_5)判断数据对象AllSFData[o]中的光滑相邻面中是否存在圆柱面,如果不存构造该数据对象AllSFData[o]对应的卷边特征,并将该卷边特征加入数组对象AllBends[0070](8_3)判断数组对象AllBends中的第t个数据对象AllBends[t]是否是折弯特征,[0071](8_4)从数据对象AllBends[t]中获取具有折弯特征的平面pFace1以及该平面含的边的类型是否和边集合edges2中包含的边的类型完全相同,如果不相同则说明内环[0075](8_7)获取内环loop1的相邻面faceList1,获取内环oppoLoop1的相邻面faceList2,并根据相邻面faceList1和相邻面faceList2的类别识别设计模型的钣金内部[0076]本步骤具体为,首先判断相邻面faceList1和相邻面faceList2是否相互独立(如果faceList1中的所有面都不属于相邻面faceList2,相邻面faceList2中的所有面都不属于相邻面faceList1,则二者彼此独立),如果是则利用相邻面faceList1和相邻面faceList2构造出凹坑特征,并转入步骤(8_8),否则从相邻面faceList1和相邻面faceList2中取出共有的面colist,并判断相邻面faceList1中的所有面都为回转面(即圆面,且二次相邻面,四次相邻面是否都为平面,如果是则利用相邻面faceList1和相邻面次相邻面都为平面这两个条件是否同时成立,如果是则利用相邻面faceList1和相邻面faceList2构造出百叶窗特征,并转入步骤(8_8),否则表示相邻面faceList1和相邻面[0083]第四模块,用于根据第三模块得到的数据对象baseSFD计算设计模型的钣金厚度[0085]第六模块,用于根据第五模块获取的数组对象AllSFData中每个数据对象的相对[0086]第七模块,用于根据第五模块获取的数组对象AllSFData中每个数据对象的相对特征识别方法中子图匹配效率低以及子图重复匹配导致的特征识别准确率不高的技术问[0090](2)本发明由于采用了步骤(2)和步骤(5),在特征识别之前就提取了所需的面的分利用了钣金厚度与钣金的相对面数据,这为特征识别过程提供了两个重要的数据限制,[0105]面的数据包括面的类型(平面、圆柱面、圆环面)、面的面积、面上的任意一点[0109](2_3)获取数组对象AllFaces中的第i个面AllFaces[i],获取面AllFaces[i]的类AllFaces[i]的所有相邻面构成的相邻面集合AdjFaces,针对对相邻面集合AdjFaces中的一点coept,然后获取面AllFaces[i]在点coept处的法向量norm1,获取面AdjFace在点[0120](3_4)判断计数器j是否小于数组对象AllSFData的总数,如果是则转入步骤(3_[0121](3_5)获取数组对象AllSFData中的第j个数据对象AllSFData[j]的面积,并判断[0122](3_6)将浮点数area的值设置为数据对象AllSFData[j]的面积,并将数据对象AllSFData[j]赋值给数据对象baseS一点facePt以及面在该点处的法向faceNorm,然后利用Opencascade工具中射线求交的方[0132](5_4)判断计数器m是否小于数组对象AllSFData的总数,如果是则转入步骤(5_[0133](5_5)判断数组对象AllSFData中的第m个数据对象AllSFData[m]中的相对面是否[0134](5_6)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个[0135](5_7)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成平面相的点facePt以及该点处的法向,沿着法向的反方向将点facePt偏移(偏移长度等于钣金厚[0137](5_8)判断数组对象AllSFData中的第k个数据对象AllSFData[k]中的面和第m个数据对象AllSFData[m]中的面是否都是圆柱面,如果是则转入步骤(5_9),否则转入步骤[0138](5_9)判断数据对象AllSFData[k]和数据对象AllSFData[m]是否能够组成圆柱面[0139]具体而言,在判断二者是否能够组成圆柱面相对面时,首先需要从数据对象否相同,如果是则进一步从数据对象AllSFData[k]中取出面上的点facePt以及点处的法[0143](6)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该[0146](6_2)判断计数器n是否小于数组对象AllSFData中数据对象的总数,如果是则转[0147](6_3)从数组对象AllSFData中取出第n个数据对象AllSFData[n],并判断数据对[0149](6_5)判断数据对象AllSFData[n]中的光滑相邻面中是否存在圆柱面cyl1,如果特征的数据对象需加入数组对象AllBen[0155](7)根据步骤(5)中获取的数组对象AllSFData中每个数据对象的相对面,获取该[0158](7_2)判断计数器o是否小于数组对象AllSFData中数据对象的总数,如果是则转[0159](7_3)获取数组对象AllSFData中的第o个数据对象AllSFData[o],判断数据对象[0160](7_4)判断数据对象AllSFData[o]中的面是否是平面,如果不是则转入步骤(7_8),否则进一步判断数据对象AllSFDa[0161](7_5)判断数据对象AllSFData[o]中的光滑相邻面中是否存在圆柱面,如果不存构造该数据对象AllSFData[o]对应的卷边特征,并将该卷边特征加入数组对象AllBends[o]中的面、相对面,圆柱面,圆柱面的相对面,折弯特征的数据对象需加入数组对象[0171](8_3)判断数组对象AllBends中的第t个数据对象AllBends[t]是否是折弯特征,[0172](8_4)从数据对象AllBends[t]中获取具有折弯特征的平面pFace1以及该平面环loop1中取出边集合edges1,从内环oppoLoop1中取出边集合edg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论