(沈阳航空航天大学航空制造工艺数字化国防重点学科实验室,沈阳 110136)
随着MBD技术的不断发展,我国航空企业已逐步实现了设计和制造的数字化,如何打通检测环节的数字化,实现设计-制造-检测的闭环控制日益成为人们研究的热点[1]。基于MBD的数字化检测技术,以产品设计、制造过程中的MBD检测模型为数据基础,制定合理的检测工艺规划,通过离线编程驱动数字化测量设备进行检测,并将测量数据实时反馈至质量管理系统,分析产品质量并指导设计、加工部门改进产品[2]。检测模型作为数字化检测的唯一依据,需要包含零件所有的检测信息,但是在实际应用过程中,上游工艺部门提供的检测模型只对有装配要求的尺寸和某些重要尺寸进行公差标注,而对功能上无特殊要求的尺寸和要素按照一般公差处理,在检测模型上不做标注。检测人员在测量这些未注公差的尺寸和要素时需要人工查阅一般公差标准,然后在检测模型上对未注公差进行手工完善,加大了检测人员的工作量,严重影响了检测效率。本文通过分析一般公差标准的数据结构,在Access中建立一般公差数据库,利用UG/Open API在UG中开发未注公差处理模块,实现了检测模型线性尺寸未注公差的自动完善。
一般公差指的是在车间普通工艺条件下,机床设备正常加工能力可以保证的公差,主要用于零件上对功能无特殊要求的要素以及精度较低的非配合尺寸,通常在二维图样或三维模型中不做具体标注,只给出统一的未注公差等级[3]。本文研究对象是以生产航空切削加工件为主的某航空企业,其检测模型中未注公差主要为线性尺寸公差,依据的标准是《中华人民共和国航空工业标准HB5800-1999》,通过分析该标准中切削加工件线性尺寸一般公差的数据结构,建立一般公差数据库。
切削加工件线性尺寸一般公差的数据结构如表1所示,已知基本尺寸L0,通过判断基本尺寸类型可以得到长度类型尺寸L的中差值,如果是孔或轴类尺寸还需要根据公差等级确定出孔直径D或轴直径d的上下偏差。
UG平台可以方便地通过ODBC接口访问Access数据库[4],在Access2010中将线性尺寸一般公差的多维数据离散为二维表,表的字段名称、类型及含义如表2所示。这样通过基本尺寸值、尺寸类型和公差等级就可以唯一确定出尺寸的公差值[5]。
本方案采用典型的4层系统架构[6],如图1所示。
(1)MFC基础类系与UG/Open API主要实现对UG模型的操作和对数据库的访问,包括提取并记录模型的几何特征类型和标注信息;修改完善标注信息和改变显示颜色;以VC++为工具,通过MFC ODBC类访问一般公差数据库。
(2)对象层主要实现对信息的分类和储存,包括对标注信息尺寸类型的分类和储存;对公差数据的分类和储存;对标注信息显示颜色的分类和储存。
(3)功能层主要通过功能函数调用基础类系及API实现与对象层的数据交互和管理,包括未注公差检索;公差数据库访问与提取;未注公差颜色突出显示;未注公差完善;处理结果导出。
(4)系统界面层主要通过可视化界面实现用户交互,包括在UG平台中利用UG/Open Menuscript脚本语言建立功能菜单;调用MFC基础类库建立对话框。
系统架构各层之间为请求服务与提供服务的关系。系统界面层提供的命令由功能层来实现,功能层通过调用对象层的对象和方法实现具体流程,MFC基础类系与UG/Open API负责对象层、三维模型和数据库之间的数据交互。各个层次之间结构清晰,功能分配合理,有利于组织开发和源代码管理。
表1 线性尺寸一般公差数据结构
表2 数据表结构
图1 系统结构Fig.1 System structure
系统采用自动的方式,用户只需根据检测模型精度要求选择孔、轴类尺寸的公差等级,便可自动提取检测模型尺寸信息。筛选出未注公差并将未注公差尺寸标注用红色突出显示,根据尺寸类型对未注公差进行分类,然后访问公差数据库提取对应的公差值,在模型中对未注公差进行完善,最后输出处理结果,流程如图2所示。
图2 系统流程Fig.2 System process
(1)尺寸对象提取与分类。
首先,利用UF_PART_ask_display_part()函数获取当前显示的部件,设置函数UF_OBJ_cycle_objs_in_part()的筛选类型为UF_dimension_type,得到该部件中所有的尺寸类型对象并存入容器vecDimensionTag中。然后,通过UF_OBJ_ask_type_and_subtype()函数得到对象的subtype属性,根据subtype的不同类型对尺寸对象进行分类并存入相应的容器中。
(2)尺寸数据和公差数据的提取与分类。
通过UF_DRF_ask_dimension_text()函数获取尺寸对象的基本尺寸值,然后利用UF_DRF_ask_object_preferences()函数提取尺寸标注的MPI与MPR参数。MPI是一个由100个整型数组成的数组,其中第7个元素表示尺寸的公差类型,若MPI[6]=1,则该尺寸属于未注公差类型;MPR是一个由70个双精度实型数组成的数组,其中第25、26个元素便是尺寸对象的上、下公差值[7]。最后利用UF_OBJ_set_color()函数将未注公差尺寸对象设置为红色,可以更直观显示出未注公差尺寸信息。
(3)公差数据库访问与公差值提取。
通过MFC ODBC类建立与公差数据库的连接,根据未注公差尺寸对象的类型和基本尺寸值,以及孔、轴类尺寸的公差等级通过SQL语句从数据库中提取出对应尺寸的公差值,存入相应变量中。
(4)检测模型未注公差完善。
利用命名空间Annotations中LinearTolerance的SetTolerance方法将公差数据库提取的公差数据赋值到对应的尺寸对象上,并设置为对应的公差类型。然后,通过UF_DISP_refresh()函数刷新当前模型显示,在对话框列表控件中显示处理后的尺寸公差数据。
(5)处理结果导出。
通过UF_UI_open_listing_window()函数打开Unigraphics信息窗口,利用UF_UI_write_listing_window()函数将前面几个过程记录的未注公差尺寸对象信息、尺寸数据和完善后的公差数据写入信息窗口,用户可以根据需要对处理结果进行输出和保存。
原始检测模型如图3所示。在传统的检测模式中,检测人员需要逐条检查模型中的尺寸公差信息,筛选出需要检测但是未注公差的尺寸标注,手工查阅一般公差标准,对检测模型的未注公差进行完善,并将修改信息记录归档。根据现场测试,普通操作水平的检测员完成整个过程耗时115.19s。
通过未注公差处理模块,在对话框中点击“检索”按钮,从显示列表中可以得到该模型所有的尺寸公差信息,包括3个长度类尺寸、2个轴类尺寸和2个孔类尺寸,其中有3个尺寸属于未注公差类型,分别为轴类尺寸φ20mm、孔类尺寸φ15mm和长度尺寸80mm,在模型中已用红色突出显示。根据设计要求选用公差等级为“Ⅱ”,点击“处理”按钮,程序从公差数据库中提取对应的公差数据,分别为单向下偏差-0.33mm、单向上偏差0.27mm和极限偏差±0.37mm,并对模型中对应的未注公差进行自动完善,最后通过“导出”按钮将修改信息导出归档,处理后的检测模型如图4所示。根据现场测试,普通操作水平的操作员完成整个过程耗时12.35s。
图3 原始检测模型Fig.3 Original inspection model
图4 处理后的检测模型Fig.4 Processed inspection model
经过验证,基于UG的检测模型未注公差自动完善方案可以快速、准确地提取检测模型的线性尺寸未注公差,并根据数据库中的一般公差标准对未注公差进行自动完善,有效解决了检测模型线性尺寸未注公差问题,大大减少了检测人员的手工劳动,也避免了手工操作可能产生的失误,有效缩短了零件检测的辅助时间。同时,本文提出的检测模型未注公差研究方案可以用于解决其他尺寸类型的未注公差问题,对数字化检测技术的发展具有一定意义。
[1]张少擎.基于MBD的数字化零件检测技术研究[J].航空制造技术 , 2014(21):89-92.
ZHANG Shaoqing.Research on digital part inspection based on MBD[J].Aeronautical Manufacturing Technology, 2014(21):89-92.
[2]梁勤,张浩波,王强.基于MBD的数字化检测平台集成与应用研究[J].航空精密制造技术, 2014(1):43-45.
LIANG Qin, ZHANG Haobo, WANG Qiang.Digital inspection platform integration and application research base on MBD[J].Aviation Precision Manufacturing Technology, 2014(1):43-45.
[3]王乃成.尺寸公差的一般公差新国标实施简介[J].航天标准化 , 2002(2):15-16.
WANG Naicheng.Implementation of new national general tolerance standards[J].Space Standardization, 2002(2):15-16.
[4]黄勇,张博林,薛运峰.UG二次开发与数据库应用基础与典型范例[M].北京:电子工业出版社, 2008.
HUANG Yong, ZHANG Bolin, XUE Yunfeng.UG secondary development and foundation of database application with typical examples[M].Beijing: Electronic Industry Press, 2008.
[5]甘永立.几何量公差与检测[M].上海: 上海科学技术出版社, 2010.
GAN Yongli.Geometric tolerance and detection[M].Shanghai:Shanghai Science and Technology Press, 2010.
[6]庞广智,任家骏,吴凤林,等.基于UG/Drafting的公差标注系统开发研究[J].机械管理开发, 2009, 24(3):148-149.
PANG Guangzhi, REN Jiajun, WU Fenglin, et al.Development on tolerance marking system based on UG/drafting [J].Mechanical Management and Development, 2009, 24(3):148-149.
[7]董正卫,田立中,付宜利.UG/OPEN API 编程基础[M].北京:清华大学出版社,2002.
DONG Zhengwei, TIAN Lizhong, FU Yili.UG/OPEN API programming basis[M].Beijing: Tsinghua University Press, 2002.