1. 引言
在塑料模具设计时,分型面决定了模具的形式与结构,因此分型面的设计质量高低对塑件品质、模具使用和制造工艺有很大的影响。一般,分型面是基于塑件的外形结构、型腔排列和浇口位置确定 [1]。于同敏等人提出了基于事例推理的注塑模分型面设计方法,从理论上探索了分型面设计新方法 [2]。刘保臣等讨论了在Pro/E中各种分型面设计方法的优缺点 [3]。郭光宜等针对直壁矩形深孔的分型面中增加了斜度,修改了分型线,以便于制品拔模 [4]。周晓华等根据下罩的形状特点,将分型面设计为由几个带角度的面相交而成,从而简化模具结构 [5]。
总结以上方法都各有优缺点,但是最突出的问题是通用性,每种方法都是适用于部分模型,我将从分型线的结构出发,依托规则库以及机械学习的方法,基于NX二次开发一套智能模具系统,使其做到通用性最大化,并且能够极大的提高工作效率。
2. 自动优化分型线算法研究
2.1. 算法理论
模具的设计是一个非常复杂的过程,目前还主要依赖于模具设计师的实践和经验。而在模具设计中脱模方向分型线和分型面又主要影响着模具结构模具设计周期和模具制造成本等。因此通过程序自动优化分型线,并由它们生成分型面,这对缩减模具设计周期,降低模具成本有着至关重要的作用 [5]。
我们拿到产品,首先我们会对初步抽取产品的最大轮廓边线,获得初始分型线,将初始分型线表示成集合
,
,其中
表示组成初始分型线的各个曲线段,将UG软件中“连接曲线”功能的默认公差表示为
。
但是由于建模误差等原因,初始分型线的相邻两曲线段之间通常并不是刚好首尾相连的,除此之外,还可能存在另外两种情况。
通过分析发现分型线的缺陷主要存在的三种情况,如图1所示,L1、L2分别为相邻的两根曲线段,本文主要针对这三种情况的优化进行讨论。图1(a)表示了两相邻曲线段L1与L2左右相分离的情况,其中L1上的端点B与L2上的端点A'之间在三维空间的距离为d;图1(b)表示了两相邻曲线段上下相离的情况,其中L1上的端点B与L2上的端点A'之间在三维空间的距离为d;图1(c)表示了两相邻曲线段交叉重叠的情况,其中L1上的端点B与L2上的端点A'之间在三维空间的距离为d。为方便说明,以下称点A为上根曲线段的起点,点B为上根曲线段的终点;点A'为下根曲线段的起点,点B'为下根曲线段的终点。



Figure 1. Different situations of adjacent curve sections
图1. 相邻曲线段不同的情况
2.2. 自动优化分型线算法的基本原理
自动优化分型线算法的基本思想是:将所有的线段先进行排序,之后判断段相邻线段的首尾连接情况,然后分别对应不同的处理方法进行处理。具体实现过程如下:
1) 将所有曲线段
按照顺时针或逆时针排序,然后计算出
,
,其中
表示前一根曲线段终点到它下一根曲线段起点的距离;
2) 对比
与“连接曲线”的默认公差
的大小关系。对于图2(a)相邻曲线段“左右分离”的情况,如果
,可以通过“连接曲线”命令,直接进行连结,如果
,则直接将曲线
和
进行桥接来补缺口。而针对于图2(b)“上下延伸相离”以及图2(c)“交叉重叠”这两种情况,不管
与
的大小关系如何,都无法通过“连接曲线”命令进行连结,因此需要采用“打断–删除多余线–桥接”的方法进行优化,分割点给在
曲线上距离其终点距离为2d的位置,此时
被分割点分割成了两根曲线段,记靠近
起点的那段为
,靠近
终点的那段为
,舍弃
,保留
,此时相邻曲线段
与
的状态,可见图3所示;
3) 连接封闭初始分型线上所有曲线段。图2(a)直接执行UG“连接曲线”命令(
),或者先将
和
进行桥接(
);图2(b)和图2(c),则是通过设置分割点,先将
分割成
和
,然后舍弃
,将
与
进行桥接。将
中被分割过的曲线替换为
,并将所有的桥接曲线添加到其中;
4) 最后,对
中所有曲线执行“连接曲线”命令,此时初始分型线优化完成,变成了封闭的一整根曲线。



Figure 2. Optimal connection of adjacent curve segments
图2. 相邻曲线段优化连接
2.3. 自动优化分型线算法流程图
该算法流程图如图3所示:

Figure 3. Implementation process of optimization parting line algorithm
图3. 自动优化分型线算法实现流程
3. 基于最小二乘法自动分割分型线算法研究
3.1. 算法理论
分型线通常为3次B样条曲线,B样条曲线函数是由n,p,U,P四个参数来定义,通常先由节点矢量U计算B样条的基函数,
,其中n为样条的控制点数量,P为B样条阶次,将U定义为非均匀节点矢量 [6]。
然后将控制点P加入计算,则B样条曲线就可以定义为:
式中Pi为控制点的个数,
为样条的基函数。
用最小二乘法来拟合B样条曲线,建立如下重构模型:
;
;
约束条件:
。
式中
为控制点;
为离散数据点列;
是节点区间
上第i个数据点到当前B样条曲线的投影距离;Li为与之相邻的已知直线;d为数据点P0到直线L0的距离;
为样条的基函数。
由于采样密度和噪声等因素的影响,因此采集到的点中一般不会刚好包含实际分段点,最优的分段点极大可能存在2个数据点之间。因此,确定分段点所在的区间后,用黄金分割法进一步寻找最优分段点,这样获得的点精度更高。
3.2. 分割分型线算法的基本原理
1) 我们采用“包容盒切割法”初步进行切割,首先建立该分型线的包容盒,然后根据包容盒的对角线建立两个切割面,分别用两个切割面与分型线求交点,最终获得四个切割点,如图4所示。

Figure 4. Cutting method of container box
图4. 包容盒切割法
2) 将初步分割后的分型线代入目标函数
,算法是在给定误差的条件下,对初始拐点进行逼近,采用最小二乘法对逼近误差进行约束,故逼近项为
式中:
为参数j对应的初始拐点坐标。
3) 为了控制B样条的能量值达到最小,保证获得的拐点坐标比较精确,通过控制拐点处的曲率值之和最小来达到控制整体能量最小,由于采用曲率时,方程为非线性,通常用曲线的二阶导数代替曲率将其线性化,故光顺项为
4) 为了保证最终求得的拐点比较均匀,通过控制曲线参数点对应的拐点的剪力跃度的平方和最小来使整条曲线达到光顺,采用二阶差分方法来限定每个拐点左右相邻区域的曲率变化平均值趋于相等,曲率随弦长成线性变化。故光顺项
式中:
曲线上
到
的弦长。
5) 最后将求得的拐点作为切割点,对初步分割后的分型线进行二次切割,获得二次切割后的分型线如图5所示。

Figure 5. Parting lines of four areas obtained after cutting
图5. 二次切割后的分型线
3.3. 基于最小二乘法分割分型线算法流程
具体算法流程如图6所示。
4. 基于规则和实例推理自动生成分型面算法研究
4.1. 算法的原理
分型面结构复杂,由空间型分型线生成,不能通过简单的规则设计实现,因此需要采用基于实例推理的设计方法 [7]。基于实例推理的分型面设计原理是总结模具设计师们成功的设计经验,并将这些设计经验通过一定的组织方式存储在实例库中,如图7为我们所建立的实例库中的部分分型线成面方法,然后按照某种检索策略去实例库检索类似的实例,若检索到的实例与期望的设计目标有所差异,则再对类似的实例进行修改,最后生成当前方向盘压铸模具的分型面。如图为基于规则和实例推理生成复杂区域分型面的流程图。

Figure 6. Implementation flow of parting line algorithm for segmenting complex areas
图6. 分割复杂区域分型线算法实现流程

Figure 7. Database created based on case-based reasoning
图7. 基于实例推理创建的数据库
经过实例匹配后,每一小段分型线都生成了所对应的分型面,成功实现了自动生成分型面功能,如图8所示:

Figure 8. Parting surface generated based on example matching
图8. 基于实例匹配生成的分型面
4.2. 算法流程
自动成面算法流程图如图9所示。

Figure 9. Process of matching faceting based on example
图9. 自动成面算法流程
5. 实例分析
将以上算法程序嵌入到UG/NX10.0二次开发程序中,首先利用UG提供的Block UI Styler块样式编辑器模块将二次开发所需要的界面控件集合在一起 [8],交互界面如图10所示。通过代码生成器导出界面UI文件*.dlx、源文件*.cpp和头文件*.hpp,然后编写二次开发程序。dlx文件可以随意调用动态链接库*.dIl文件宏文件等许多常用的扩展功能。
将一个塑料模的分型线带入到我们的最终程序中,经过计算后获得了如图11所示的最终分型面。
运用我们程序所得到的分型面在NX10.0中进行分模操作,成型后的零件如图12,图中的型芯和型腔表面平整、结构简单,容易加工。并且最大程度的实现了模具制作的智能化与通用化,提高了模具的制作效率。
6. 结束语
本文基于NX二次开发,设计了一套塑料膜自动生成分型面系统。该系统所制作的分型面配合精度高,分型成功率高。并且经过实践验证,该模具结构合理、工作稳定、效率高,制品合格。所开发的程序主要解决了以下技术问题:1) 优化了分型线中存在的缺陷,并依据分型线的结构,重新定义了分型线的类型。2) 提出了一种适用性更广的分型面成面方法,使其能够适用于大部分的模具。3) 开创性的实现了智能化做面,极大的提高了模具的设计效率。