基于Pro/ENGINEER的三维语义公差建模技术研究

   2016-08-04 智造网5780
核心提示:针对目前三维系统中的尺寸和形位公差仅有标注功能,其定义和表示方法不能较好地表达公差的语义信息,为实现产品的装配精度和质量预分析,提出了三维语义公差建模技术。本文通过在Pro/ENGINEER环境中,采用UDF方法、利用Pro/toolk

  针对目前三维系统中的尺寸和形位公差仅有标注功能,其定义和表示方法不能较好地表达公差的语义信息,为实现产品的装配精度和质量预分析,提出了三维语义公差建模技术。本文通过在Pro/ENGINEER环境中,采用UDF方法、利用Pro/toolkit开发工具,并调用Oracle数据库中的公差信息,在三维环境下显示公差带语义信息,直观形象地表达公差变化对后续装配及产品质量的影响。

  随着航空、航天及兵器等复杂产品朝着小型化、轻量化、精密化和光机电一体化方向发展,装配精度和可靠性的要求越来越高。现有虚拟装配系统的研究都是将CAD系统的几何模型和装配模型输入到虚拟装配系统,其研究对象大都是基于公称尺寸和理想形状的零部件模型,并没有包含重要的公差信息,而产品的总功能、性能是经过各层次装配后形成的。这种理想的情况导致人们在利用计算机技术进行产品设计、装配等工作时,不能较好地预测产品可能的精度,从而导致在实际装配时出现装配误差过大甚至无法装配的问题。所以,装配精度的预测和控制俨然成为产品制造过程的“瓶颈”。

  因此,近年来人们借助于计算机技术、虚拟现实等新技术的发展和支持,在CAD/CAM/CAE等工具的支撑下,开始了产品装配精度分析领域的研究和探索,力求在设计阶段考虑实际的公差,尽早地预测产品可能的装配精度,并指导相关的精度设计。为了实现产品装配精度预分析,进行三维公差建模技术研究,通过公差带来表现公差的语义信息。本文以Pro/ENGINEER为平台,在设计阶段对产品进行公差建模,最终实现公差信息的可视化,直观地反映公差对装配、工艺以及产品质量的影响。

  一、Pro/ENGINEER在构建公差模型方面存在的问题

  Pro/ENGINEER是先进的计算机辅助设计(CAD)、制造(CAM)和分析(CAE)软件,广泛应用于机械、电子、建筑及航空等工业领域,利用Pro/ENGINEER的强大功能可以轻松完成绝大多数机械类设计、制造和分析任务。但是目前Pro/ENGINEER在构建三维公差模型方面还存在以下不足。

  公差模型仅具有公差数值的标注功能,对其所表示的公差信息未做出任何语义的解释,公差仅为一种符号。

  从零件建模到装配建模,以及后续的产品性能分析等均使用具有公称尺寸的理想模型,这种情况不符合实际,误差较大。

  公差信息是不可见、不可感知的。缺乏将公差建模技术同公差语义信息集成显示在三维模型上。

  因此,如何在计算机环境中模拟带公差的产品模型,如何利用这些真实零件的“模拟模型”来进行产品的装配、加工仿真,还需要深入研究。基于上述分析,从公差语义的角度出发,研究三维公差信息建模技术,以实现在三维计算机环境中,模拟带公差的产品模型进行产品的装配、加工仿真,以实现装配精度和质量预分析。

  二、系统结构设计

  要解决目前三维软件仅具有公差标注的局限性,较好地表达公差的语义信息,本文在Pro/ENGINEER环境下实现三维公差建模,开发系统结构,如图1所示。

  

  为了实现尺寸公差标准与要求的查询及获取,需将国家公差的有关标准转换为计算机数据库系统。采用Oracle数据库作为底层数据库,进行各种公差标准信息的存储。

  对于有标准要求的尺寸公差,尺寸公差数据库单独设计为三个基本表:标准公差表bz、基本偏差值表pc和偏差修正表xz。其中标准公差只要确定基本尺寸和公差等级就,可以查找出对应的标准公差;基本偏差查询时,通过基本尺寸、公差等级和基本偏差进行数据库指针定位,判断补充字段的值,决定偏差值是否需要修正并获得基本数值偏差;偏差修正由基本尺寸、公差等级来确定对应偏差修正值。

  在Pro/ENGINEER中,通过调用数据库中公差标准的相关信息,完成用户界面操作和公差建模,最终实现公差带的加载,显示公差语义信息。

  三、基于语义的三维公差建模

  1.公差信息的表示

  公差信息的表示是指在计算机中对某一实体模型或特征模型进行准确无误的公差表述。公差的表示模型不仅要能够支持公差数据的存储,而且更要对公差的语义进行支持。通过建模,公差信息能够在产品的整个生命周期中被使用,其相应的操作也能顺利进行。

  公差表示是公差分析、综合等后继工作的基础,也是整个产品信息建模的基础。然而现在的CAD系统普遍缺少公差信息表示的处理模块,或不能完善地表达公差信息。随着CAD/CAM集成以及并行工程的发展,要求产品与制造过程的设计必须同步进行,而公差信息对产品的加工工艺编排、优化组合及质量保证起着至关重要的作用。因此,在产品的信息系统中必须要有公差信息,以寻求一种合适的公差信息表示模型,使之能与产品信息系统有机地结合起来。

  2.UDF方式的三维公差建模

  公差信息的建模是指在计算机中对某一实体模型或特征模型进行准确无误的公差表述,并对其语义作出正确合理的解释。通过建模,公差信息能够在产品的整个生命周期中被使用,其相应的操作也能顺利进行,这就为CAD/CAM的集成提供了更好的基础。

  Pro/ENGINEER提供的二次开发工具有:族表、Pro/Toolkit、UDF(User-Defined Feature)以及用户自定义特征等方式。本文主要利用UDF创建公差的带模型,通过Pro/toolkit和VC++相结合来实现公差语义信息的显示。

  UDF是Pro/ENGINEER中的一类特征,利用它用户可将常用的几何特征创建成一类可重复使用的特征。通过调用修改可变参数的数值,即可获得所需要的特征衍生件。Pro/Toolkit是专供Pro/ENGINEER二次开发的工具,向用户提供了大型的C语言函数库。通过调用这些底层函数,能方便、安全地访问Pro/ENGINEER的内部应用程序,扩展一些特定的功能。

  (1)UDF的建立

  UDF的定义过程包括几何定义、属性定义和约束定义三步。几何定义就是使用特征造型系统进行造型的过程,几何定义的过程则表现为用户从特征历史树上选取子特征的过程,被选取的子特征构成UDF所包含的内部特征集合。属性定义的过程是定义UDF所包含的描述信息的过程。约束定义分为两步,首先用户选择具有工程意义的尺寸和参数,而后用户建立参数之间的约束方程。

  UDF的建立,即手工构建模型,将要创建的特征附着在模型上面,然后选择菜单项“UDF”→“Creat”进行几何特征的创建。在一个UDF的定义中要包括参考基准、可变尺寸及可变尺寸的信息,最后将所有的UDF以相同的格式存放在同一个目录下,形成特征库(UDF Library)。

  以位置公差的垂直度为例,对于公差带的UDF,根据垂直度公差带的被测要素和基准要素的不同分为五类:面对面、线对面、面对线、线对线和任意方向的线对线。前者指被测要

  素,后者指基准要素。通过选择垂直度公差带的被测要素和基准要素,确定UDF的几何参数和尺寸参数,从而创建各自不同的公差带。

  (2)程序实现UDF的插入

  1)单一要素

  在Pro/ENGINEER中加载相应的菜单和对话框,位置公差的对话框如图2所示。

  

  通过对话框的交互选择,在Pro/ENGINEER界面的消息框中显示相应的提示信息,提示用户选择被测要素和与基准要素相关的定位要素(如图3所示),从而加载该种公差的公差带,实现不同类型公差带在三维环境中的显示。

  

  以垂直度面对面的情况为例,在对话框中选择“垂直度”这个公差类型,并输入公差值0.01,选择“面对面”的情况并单击“确定”,Pro/ENGINEER的消息栏提示“请选择一个被测平面”。点选被测的平面后,消息栏提示“请选择一个与被测要素平行的基准平面”,选择相应的平面后,在模型中就加载了平面度被测要素和基准都是平面的公差带。

  //调用创建好的UDF

  Proname udfName;

  ProStringToWstring(udfName, "plane_by_plane.gph");

  ProUdfdata data;

  ProUdfreference udf_ref;

  ProUdfvardim vardim;

  ProGroup udf;

  status = ProUdfdataAlloc(&data);

  status = ProUdfdataDependenc

  ySet(data,PROUDFDEPENDENCY_INDEPENDENT);

  status = ProUdfdataNameSet(data, udfName,NULL);

  //设置创建UDF时规定的参考要素

  status = ProUdfreferenceAlloc(L"plane_sel", surfaceSel[0], PRO_B_FALSE, &udf_ref);

  status = ProUdfdataReferenceAdd(data, udf_ ref);

  //设置创建UDF时设定的可变尺寸

  status = ProUdfvardimAlloc(L"t",

  locationValue, PROUDFVARTYPE_DIM, &vardim);

  status = ProUdfdataUdfvardimAdd(data, vardim);

  ProUdfCreateOption opt[1];

  opt[0] = PROUDFOPT_FIX_MODEL_UI_OFF;

  status = ProUdfCreate((ProSolid)

  mdl, data, NULL, NULL, 0, &udf);

  status = ProDirectoryChange(currentPath);

  在程序中,调用已经建好的符合该公差类型条件的UDF,通过在Pro/ENGINEER中选择参考和对话框中的公差值来驱动UDF,最终生成用户需要的公差带形状。图4a和图4b所示的垂直度面对面1、垂直度面对面2,两平面间的区域就是垂直度面对面情况的公差带,中间选中平面是被测要素,可以直观地显示该公差区域。由于公差值微小,如图4所示的公差带是将公差值放大100后的效果。

  

  类似作一个同轴度的公差带显示,加载完同轴度的UDF后,Pro/ENGINEER的提示框和左边的模型树会显示创建的组,如图5和图6所示,模型中的同轴度公差带如图7所示。

  

  

  2)关联公差

  因为零部件各种几何特性误差的产生原因是相互关联的、对使用功能的影响也往往是综合的,这就导致各种几何精度要求之间客观存在着相互制约、相互补偿的关系,且通过后续

  的装配,产品的性能也是多种公差相互作用的结果。所以当要素的各项精度要求或若干要素的精度对产品功能产生综合作用时,应该在设计时规定相关要求,从而综合控制要素的各项几何误差或若干相关要素的误差。

  当同一个特征或要素处于多个公差共同作用下,即形位公差与尺寸公差并存考虑时,处理这类相关公差有四个主要原则:最大实体要求、最小实体要求、包容要求和可逆要求。在形位公差的添加过程中,要考虑以上四个要求。

  如图8所示为最大实体要求应用于单一要素轴的情况,¢2000-0.021mm轴的轴线直线度公差与尺寸公差的关系采用最大实体要求。轴线直线度误差允许范围:0.01~0.031。当轴处于最大实体状态,即轴的实际尺寸处处皆为最大实体尺寸20mm时,轴线直线度误差允许值为0.01mm;当轴处于最小实体状态即轴的实际尺寸处处皆为最小实体尺寸19.979mm时,轴线直线度误差允许增大到0.031mm。将直线度公差带变动范围的数值扩大100倍后显示的效果,如图9所示,分别为1.00和3.10,两圆柱之间的区域就是直线度误差允许的范围。通过分析研究位置公差中的定向公差、定位公差和尺寸公差之间的关系,确定检验的优先级别为:尺寸公差最高,定位公差次之,定向公差最低。也就是说,当同时加载多种公差,随机生成带公差尺寸值时,必须再次检验高级别的公差是否满足。

  

  

  在实际中,仅仅考虑尺寸公差的影响并不能满足精度的要求。在实际生产中,形位公差对最终整体精度的影响十分复杂,不同的形位公差在不同的情况下所产生的影响不同。而且

  经常有多个形位公差共同影响最终整体精度的情况,所以需要具体问题具体分析。

  四、结束语

  目前公差信息是不可见、不可感知的,绝大多数三维CAD软件平台仅具有公差的标注功能,基本上是仅将传统图样上的公差标注转移到了三维环境中进行显示而已,对公差的计算机辅助设计和分析所起的帮助作用较为有限。

  这使CAT技术乃至计算机辅助精度预分析技术距离实际应用还有较大距离,对后续装配质量有深远的影响。本文利用基于语义三维公差建模技术,将产品公差信息存储在数据库

  中,通过调用数据库中的相关公差标准信息,在三维模型中显示公差语义信息,模拟带公差的产品模型,使设计者在虚拟的环境中对公差和精度有所感知,最终指导产品和零件的公差设计。这为后续实现装配精度预分析提供了有效的方法和手段,并对产品设计质量的提高具有重大意义。

 
举报收藏 0打赏 0评论 0
点击排行