基于NX二次开发的塑料模自动生成分型面系统
Automatic Generation Parting Surface System of Plastic Mold Based on NX Secondary Development
摘要: 在塑料模设计中,分型面设计花费时间较长,而且其合理程度决定了分模的成功率,因此我们提出一种基于分型线自动形成分型面的设计方案。首先提出了一种断线重接的分型线优化方法,然后基于最小二乘法原理设计了一个自动切割分型线算法,并将上一步优化好的分型线进行切割,然后我们提出了一种基于规则和实例推理自动生成分型面的算法,将切割后的分型线通过此算法逐个成面,最终将各个碎面缝合为一个整体的分型面。并通过NXOPENC++编程完成以上系统的开发。实例表明,该系统能够极大的提高生产效率,而且自动生成的分型面平整简洁,完全符合加工要求。
Abstract: In plastic mold design, the parting surface design takes a long time, and its rationality determines the success rate of parting. Therefore, we propose a design scheme that automatically forms the parting surface based on the parting line. First, an algorithm for reconnecting broken lines is pro-posed to optimize the parting lines. Then, an algorithm for automatically cutting parting lines is de-signed based on the principle of least squares, and the optimized parting lines in the previous step are cut. Then, an algorithm for automatically generating parting surfaces based on rules and case reasoning is proposed. The cut parting lines are formed one by one through this algorithm, and each broken surface is finally stitched into a whole parting surface. The above systems are developed through NXOPEN C++programming. The example shows that the system can greatly improve the production efficiency, and the automatically generated parting surface is flat and concise, which fully meets the processing requirements.
文章引用:刘波, 仲梁维. 基于NX二次开发的塑料模自动生成分型面系统[J]. 建模与仿真, 2023, 12(1): 416-425. https://doi.org/10.12677/MOS.2023.121040

1. 引言

在塑料模具设计时,分型面决定了模具的形式与结构,因此分型面的设计质量高低对塑件品质、模具使用和制造工艺有很大的影响。一般,分型面是基于塑件的外形结构、型腔排列和浇口位置确定 [1]。于同敏等人提出了基于事例推理的注塑模分型面设计方法,从理论上探索了分型面设计新方法 [2]。刘保臣等讨论了在Pro/E中各种分型面设计方法的优缺点 [3]。郭光宜等针对直壁矩形深孔的分型面中增加了斜度,修改了分型线,以便于制品拔模 [4]。周晓华等根据下罩的形状特点,将分型面设计为由几个带角度的面相交而成,从而简化模具结构 [5]。

总结以上方法都各有优缺点,但是最突出的问题是通用性,每种方法都是适用于部分模型,我将从分型线的结构出发,依托规则库以及机械学习的方法,基于NX二次开发一套智能模具系统,使其做到通用性最大化,并且能够极大的提高工作效率。

2. 自动优化分型线算法研究

2.1. 算法理论

模具的设计是一个非常复杂的过程,目前还主要依赖于模具设计师的实践和经验。而在模具设计中脱模方向分型线和分型面又主要影响着模具结构模具设计周期和模具制造成本等。因此通过程序自动优化分型线,并由它们生成分型面,这对缩减模具设计周期,降低模具成本有着至关重要的作用 [5]。

我们拿到产品,首先我们会对初步抽取产品的最大轮廓边线,获得初始分型线,将初始分型线表示成集合 Q L = { L i } i = 1 , 2 , , n ,其中 L i 表示组成初始分型线的各个曲线段,将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) 将所有曲线段 Q L = { L i } 按照顺时针或逆时针排序,然后计算出 D = { d i } i = 1 , 2 , , n ,其中 d i 表示前一根曲线段终点到它下一根曲线段起点的距离;

2) 对比 d i 与“连接曲线”的默认公差 ε 的大小关系。对于图2(a)相邻曲线段“左右分离”的情况,如果 d i < ε ,可以通过“连接曲线”命令,直接进行连结,如果 d i ε ,则直接将曲线 L i L i + 1 进行桥接来补缺口。而针对于图2(b)“上下延伸相离”以及图2(c)“交叉重叠”这两种情况,不管 d i ε 的大小关系如何,都无法通过“连接曲线”命令进行连结,因此需要采用“打断–删除多余线–桥接”的方法进行优化,分割点给在 L i 曲线上距离其终点距离为2d的位置,此时 L i 被分割点分割成了两根曲线段,记靠近 L i 起点的那段为 L i 0 ,靠近 L i 终点的那段为 L i 1 ,舍弃 L i 1 ,保留 L i 0 ,此时相邻曲线段 L i 0 L i + 1 的状态,可见图3所示;

3) 连接封闭初始分型线上所有曲线段。图2(a)直接执行UG“连接曲线”命令( d i < ε ),或者先将 L i 0 L i + 1 进行桥接( d i > ε );图2(b)和图2(c),则是通过设置分割点,先将 L i 分割成 L i 0 L i 1 ,然后舍弃 L i 1 ,将 L i 0 L i + 1 进行桥接。将 v i + δ t 中被分割过的曲线替换为 L i 0 ,并将所有的桥接曲线添加到其中;

4) 最后,对 Q L = { L i } 中所有曲线执行“连接曲线”命令,此时初始分型线优化完成,变成了封闭的一整根曲线。

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 i , 3 ( u ) ,其中n为样条的控制点数量,P为B样条阶次,将U定义为非均匀节点矢量 [6]。

U = { 0 , , 0 p + 1 , U P + 1 , , U m P 1 , 1 , , 1 p + 1 }

然后将控制点P加入计算,则B样条曲线就可以定义为:

C ( u ) = i = 0 n d i = i = 0 n N i , 3 ( u ) p i

式中Pi为控制点的个数, N i , 3 为样条的基函数。

用最小二乘法来拟合B样条曲线,建立如下重构模型:

min j = 0 m ( C ( u j ) Q j ) 2 = j = 0 m [ j = 0 m N i , k ( u j ) P i Q j ] 2 ;

min f ( P 0 ) = i = 0 n D i ( P 0 ) ;

约束条件: { d ( P i L i ) = 0 d ( P i 1 L i ) = 0 ; i = 1 , n

式中 P = { P 0 , , P n } 为控制点; Q j = { Q 0 , , Q n } 为离散数据点列; D i ( P 0 ) 是节点区间 [ u 0 , u 4 ] 上第i个数据点到当前B样条曲线的投影距离;Li为与之相邻的已知直线;d为数据点P0到直线L0的距离; N i , 3 为样条的基函数。

由于采样密度和噪声等因素的影响,因此采集到的点中一般不会刚好包含实际分段点,最优的分段点极大可能存在2个数据点之间。因此,确定分段点所在的区间后,用黄金分割法进一步寻找最优分段点,这样获得的点精度更高。

3.2. 分割分型线算法的基本原理

1) 我们采用“包容盒切割法”初步进行切割,首先建立该分型线的包容盒,然后根据包容盒的对角线建立两个切割面,分别用两个切割面与分型线求交点,最终获得四个切割点,如图4所示。

Figure 4. Cutting method of container box

图4. 包容盒切割法

2) 将初步分割后的分型线代入目标函数 f = α f 1 + β f 2 + γ f 3 ,算法是在给定误差的条件下,对初始拐点进行逼近,采用最小二乘法对逼近误差进行约束,故逼近项为

f 1 = j = k n + 1 p ( u ) q j k 2

式中: q j k 为参数j对应的初始拐点坐标。

3) 为了控制B样条的能量值达到最小,保证获得的拐点坐标比较精确,通过控制拐点处的曲率值之和最小来达到控制整体能量最小,由于采用曲率时,方程为非线性,通常用曲线的二阶导数代替曲率将其线性化,故光顺项为

f 2 = j = k n + 1 p ( u j ) 2

4) 为了保证最终求得的拐点比较均匀,通过控制曲线参数点对应的拐点的剪力跃度的平方和最小来使整条曲线达到光顺,采用二阶差分方法来限定每个拐点左右相邻区域的曲率变化平均值趋于相等,曲率随弦长成线性变化。故光顺项

f 3 = j = k n + 1 p ( u j + 1 ) p ( u j ) l j + 1 p ( u j ) p ( u j 1 ) l j 2

式中: l j = p ( u j ) p ( u j 1 ) 曲线上 P j 1 P j 的弦长。

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文件宏文件等许多常用的扩展功能。

Figure 10. Program UI interface

图10. 程序UI界面

将一个塑料模的分型线带入到我们的最终程序中,经过计算后获得了如图11所示的最终分型面。

Figure 11. Final parting surface

图11. 最终分型面

运用我们程序所得到的分型面在NX10.0中进行分模操作,成型后的零件如图12,图中的型芯和型腔表面平整、结构简单,容易加工。并且最大程度的实现了模具制作的智能化与通用化,提高了模具的制作效率。

(a) 型芯(b) 型腔

Figure 12. Molded parts

图12. 成型零件

6. 结束语

本文基于NX二次开发,设计了一套塑料膜自动生成分型面系统。该系统所制作的分型面配合精度高,分型成功率高。并且经过实践验证,该模具结构合理、工作稳定、效率高,制品合格。所开发的程序主要解决了以下技术问题:1) 优化了分型线中存在的缺陷,并依据分型线的结构,重新定义了分型线的类型。2) 提出了一种适用性更广的分型面成面方法,使其能够适用于大部分的模具。3) 开创性的实现了智能化做面,极大的提高了模具的设计效率。

参考文献

[1] 邓金涛. 压铸模具型腔结构设计的计算机辅助设计[D]: [硕士学位论文]. 武汉: 华中科技大学, 1997.
[2] 李焕丽. 基于功能的注塑模具模块化CAD技术研究[D]: [硕士学位论文]. 大连: 大连理工大学, 2006.
[3] 罗海宏. CAD/CAM在模具设计与制造中的应用[J]. 现代制造技术与装备, 2019(7): 77-78.
[4] 孔垂品. 注塑模智能设计中关键几何问题及重用库的研究[D]: [硕士学位论文]. 上海: 上海交通大学, 2014.
[5] 张自尾. CAXA实体设计软件在塑料模具设计中的应用[J]. 设备管理与维修, 2019(12): 190-191.
[6] 高曙, 陈定方. 面向对象的压铸模专家系统的开发研究[J]. 计算机应用与软件, 1999(5): 50-55.
[7] 杜淼燕, 滕燕, 李小宁, 刘徳仿. 压铸模具分型线的自动确定方法研究[J]. 机械制造与自动化, 2013, 42(3): 29-32.
[8] 冯兴辉, 张旭, 金龙, 刘栋. 基于G1连续的圆弧与B样条分段点区间确定及重构方法[J]. 轻工机械, 2016, 34(2): 30-33.