叶福源,秦 松,崔树标
(1.广东科龙模具有限公司,广东佛山 528303;2.华中科技大学材料成形与模具技术国家重点实验室,湖北武汉430074)
随着产品更新换代周期迅速缩减,模具的设计加工周期也相应缩短。注塑模并行设计在此背景下开始被广泛应用且迅速推广,大大缩短了注塑模具设计加工的周期,给企业带来了显著的经济效益。
冲突管理作为注塑模并行设计的重要环节之一,对模具并行设计周期及模具设计效果起着至关重要的作用。目前,企业进行并行设计冲突管理的方式为模具设计完成后进行冲突检查与修改,许多在设计初期便存在的设计冲突随着并行设计过程的进行被不断放大,导致后续需进行大范围修改。这不仅延误设计周期,且设计质量难以保证。过往研究侧重于注塑模并行设计冲突检查方法[1-3],对并行设计模型管理及冲突解决方式涉及很少,缺乏实用性。本文通过搭建主模型对并行设计数据进行统一管理,使用C/S模型服务器与设计师客户端的通信更新并行设计主模型,在服务器端进行实时设计冲突,将检查结果反馈给设计师。设计师之间以服务器为桥梁进行在线协商,服务器端保存设计冲突解决方案,供后续注塑模并行设计参考。
注塑模冲突管理流程主要分为3个部分:一是建立主模型,保存并行设计任务信息及任务模型;二是并行设计冲突检查模块,负责更新并行设计主模型并进行实时冲突检查;三是并行设计在线协商模块,负责设计师之间针对设计任务进行的在线协商。注塑模冲突管理模块框架见图1。
注塑模具主模型技术是以CAD软件为中心的一个知识数据库,包含了与产品设计及模具有关的所有几何与非几何信息,用于为产品并行设计生命周期中的并行设计各阶段提供服务[4-5]。在并行设计过程中,主模型就像一个交通枢纽,协调与监控各项并行设计过程,是并行设计开发过程的核心。所有设计师均可在并行设计过程中与主模型进行信息交互,完成其设计任务,从而保证并行设计过程的数据一致性及各项并行设计任务的统一协调性。
图1 注塑模冲突管理模块
主模型技术面向产品并行设计的整个生命周期,并行设计各项设计任务所需的全部数据均保存在主模型中,以此作为并行设计过程中的核心数据枢纽。围绕主模型活动的并行设计任务均作为主模型的一部分,并行设计过程是分布式工作的。主模型以计算机技术作为支撑,综合了建模、数据库管理等技术,通过研究改善了产品并行设计的总体过程,提高了并行设计的综合效益。注塑模主模型层次结构见图2。
图2 注塑模主模型层次结构
对于注塑模具并行设计来说,产品的主模型实体框架部分建立在以UG作为CAD平台的工具下。主模型的创建依据注塑模并行设计任务进行,将注塑模并行设计任务以装配树的形式在UG中进行表现。主模型的数据信息以XML文件进行保存,XML文件具有与平台无关的特性,且便于自定义,适合用于主模型数据管理。主模型创建完成后,服务器会将主模型设计任务分发给设计师进行细节设计,设计师通过客户端反馈细节设计进度等信息。
设计师通过设计任务反馈工具将实时细节设计反馈给服务器端,服务器端对主模型进行实时更新,更新完成后即启动冲突检查。冲突检查使用包围盒算法进行,且逐步缩小检查范围,最终确定冲突面对集。冲突检查完成后,对冲突面对集进行高亮显示,并将检查结果反馈给设计师,设计师针对设计冲突进行后续处理。
冲突检测过程见图3,包括设计实体传输、主模型动态更新、打开UG装配主模型、检查冲突装配体对集合、检查冲突零件对集合、检查冲突面对集合及高亮显示冲突面对集合。
图3 冲突检测过程
对于使用包围盒算法进行冲突检查,其冲突集合是逐步缩小的,通过从装配件、零件、最后到面的方式一步一步缩小范围,最后找到冲突面对集合。具体执行过程如下:
(1)设计任务集合为 Ti={ti0,ti1,ti2,…,tin},其中,i为设计任务层次,集合中的每一项代表一项设计任务,设计层次为j。当前判断设计任务为K,该设计任务从设计任务集合Ti中去掉。
(2)对设计任务集合Ti进行遍历,对其中的∀tij∈Ti生成几何任务包围盒,判断其是否与K的包围盒相交;如果相交,则将设计任务tij加入冲突设计任务集合A中。
(3)遍历冲突设计任务集合A,对∀ai∈Ti判断ai是否为装配体。如果为装配体,则将ai进行分解,得到零件集合B={b1,b2,b3,…,bn}。对零件集合B中的元素进行再判断,判断其是否仍为子装配体。如果是,则继续拆分,直到拆分结果全部为零部件即可。拆分完成的集合仍为B。
(4)判断冲突零部件集合B是否为空。如果B为空,则冲突检查完毕,直接退出,设计任务K与设计任务集合Ti没有发生冲突;否则,执行下一步,冲突零件集合为B。
(5)判断设计任务K是否为装配体。如果不是,则设计任务零件集合C={K},只包含一个零件;如果K为装配体,则将设计任务进行分解,分解的设计零件集合为C={c1,c2,c3,…,cn}。对C进行再判断,将其中仍为子装配的结构继续分解,一直分解到C中的元素全部为零件即可。
(6)遍历集合C和B中的元素,对∀ci∈C,∀bi∈B建立其包围盒。如果包围盒相交,则ci、bi作为冲突零件对存入集合D中。冲突零件对集合为D={d1,d2,d3,…,dn},其中,di=(cm,bn)(cm∈C,bn∈B)。
(7)判断冲突零件对集合D是否为空。如果D为空,则零件集合C和B不存在冲突;如果D不为空,则标记零件对 D={(ci,bj)|i=1,2,3,…,m,j=1,2,3,…,n}。
(8)将冲突零件对集合中的元素bj分解为面集合 E={e1,e2,e3,…,en}。
(9)遍历集合 E,对∀ei∈E 求面 ei和零件 ci的包围盒是否相交。如果相交,则将加入到冲突集Fj={fj1,fj2,fj3,…,fjn}中。
(10)判断冲突集Fj是否为空。如果Fj为空,则零件bj和ci没有产生冲突;如果Fj不为空,则进行下一步。
(11)将零件 ci分解为面集合 Gi={g1,g2,g3,…,gn},对∀gi∈G判断gi是否与bj的包围盒相交。如果相交,则将G中的元素gi加入到冲突集Hi={hi1,hi2,hi3,…,hin}中待处理。
(12)判断冲突集Hi是否为空。如果Hi为空,则零件bj和ci没有产生冲突;如果Hi不为空,则进行下一步。
(13)对∀fjm∈Fj,∀hin∈Hi,判断 fjm和 hin的包围盒是否相交。如果相交,则将冲突面对fjm和hin加入到冲突面对集合I中进行后续操作。冲突面对集合为 I={(fjm,hin)|m=1,2,3,…,s,n=,1,2,3,…,t}。
(14)判断集合冲突面对集I是否为空。如果I为空,则零件bj和ci没有产生冲突;如果I不为空,则输出冲突面对集供后续处理。
根据上述步骤,对设计任务集与当前设计任务进行逐层判断,确定最终的冲突面对集。生成完成后,需进行2项处理:一是在UG平台上高亮显示冲突面对;二是输出冲突面对集。服务器将处理冲突检查结果反馈给设计师,设计师据此进行下一步修改处理。冲突检查及信息反馈功能框架见图4。
图4 主模型冲突检查与结果反馈
并行设计冲突检查是对细节设计的评价,服务器将冲突检查结果反馈给客户端,设计师便可根据反馈结果对设计进行分析和评价。如果需要与相关设计师进行沟通协商,共同解决设计冲突,就需由系统对设计师之间的在线协商提供技术支持。通过采用相应的功能模块,就能实现设计师之间良好的沟通与协商。
建立主模型时采用的框架结构是所有客户端都与服务器进行数据交换和信息往来,在线协商系统也采用该框架结构,由主模型担当设计师们相互间沟通的中间人,起到桥梁的作用。同时,主模型对整个沟通协调信息进行备份,作为并行设计过程的数据资料进行保存。在线协商功能框架见图5。
图5 在线协商功能框架
依据主模型及在线协商原理,在线协商过程的单向阶段主要分为3个阶段。
第一阶段为设计师A向服务器提交协商申请,包括冲突代号、冲突信息、冲突原因、冲突发生时间、协商方法、协商建议、申请者、协商对象及协商阶段。其中,冲突代号标识冲突检查中检查出的冲突序列号;冲突信息标识产生冲突的面对集合;冲突原因标识冲突面对集合产生的原因,由工程师分析给出;冲突发生时间为检测到冲突的时间,由冲突检测指定;协商方法包含在线协商和线下协商,由协商申请者分析给出;协商建议包含工程师对冲突提出的解决方案,由冲突设计师分析给出;申请者为申请协商的工程师;协商对象为与设计任务产生冲突的任务设计工程师;协商阶段包含初始申请、继续协商和协商完成等3个协商阶段选项。
第二阶段为服务器处理设计师提交的协商请求,服务器处理设计师请求的方式为更改冲突集合对应冲突代号的冲突状态。对应于服务器端的冲突处理模块,设计冲突未开始协商时,设计冲突状态为未开始协商;当设计师对设计冲突进行协商时,状态变为正在协商,并显示最近一次协商时间;当设计师之间对设计冲突完成协商时,其状态变为协商完成,并显示协商完成时间。
当协商请求到达时,设计冲突解决模块对请求进行响应。修改完成设计冲突状态后,对协商请求信息进行保存,作为冲突解决依据。设计信息保存数据结构与协商申请数据结构类似,增加了信息协商时间与是否完成协商等两类信息。协商信息保存完成后,服务器通过协商信息数据结构中的协商对象信息,将该协商信息发送给协商对象工程师,下一阶段工作便由协商对象工程师完成。
服务器将在线协商信息发送到协商对象后,第三阶段正式开始。协商对象根据冲突信息、冲突原因及协商建议等信息,结合设计任务细节进行综合判断。如果设计师对协商申请者所提出的协商建议表示同意,则不需反馈协商建议,直接将协商阶段信息改为协商完成即可;如果设计师不同意申请者提出的协商建议时,则需分析冲突原因并反馈协商建议,等待协商申请者处理信息。
如果设计师之间通过线上协商可解决问题,则冲突处理即可完成;如果线上协商不能解决问题,设计师就需修改协商方式为线下协商,通过线下面对面沟通的方式处理设计冲突。
以塑料螺纹齿轮产品为例,使用注塑模冲突管理系统,通过对螺纹齿轮进行分析,设定其并行设计任务集为{① 浇注设计方案;② 分型设计方案;③ 产品设计方案;④ 顶出设计方案;⑤ 前模设计方案;⑥ 标准件设计方案;⑦ 后模设计方案;⑧ 冷却设计方案;⑨旋转脱模方案},并对该设计任务集建立主模型装配框架(图6)。
用注塑模并行设计冲突检查模块,对设计任务细节进行冲突实时检查,结果见图7。通过在线协商模块,设计师对设计任务进行在线协商,服务器对协商结果进行保存,以便后续设计使用。在线协商过程见图8。
图6 主模型装配框架
图7 实际冲突实时检查结果
图8 在线协商过程
冲突解决方案为修改水路走向,使水路避开顶针,冲突由此解决。修改结果见图9。
本文研究了注塑模并行设计冲突管理流程,设计了注塑模冲突管理模块,搭建了主模型,对注塑模数据信息进行统一管理,用C/S模式进行服务器与客户端之间的信息交换。在并行设计阶段实时更新主模型,完成了注塑模并行设计冲突的实时检查。设计师针对产生设计冲突的设计任务进行在线协商,提出了协商解决方案。最后,通过塑料齿轮实例对冲突管理模块的可靠性及实用性进行了验证。
图9 协商解决方案
[1] 严锋,黄志高,侯斌魁,等.注射模冷却系统的干涉检查[J].模具工业,2014,40(3):1-5.
[2] 周瑾喻,王华昌,李建军.基于UG的注射模干涉检查功能开发[J].模具工业,2011,37(2):6-10.
[3] 蹇崇军,王润孝,秦现生.并行工程中的冲突协商模型研究[J].机械科学与技术,2003,22(3):508-510.
[4] 袁清珂,张道林,曹岩,等.产品主模型技术研究[J].中国机械工程,1999,10(1):12-15.
[5] 刘春,薛皓,陈铮.基于NX主模型的模具并行设计在PDM 中的实现[J].信息与电子工程,2011,9(6):782-785.