一种多点成形加工曲面的冲头调形方法
技术领域
本发明涉及一种曲面成形工艺方法,更具体地说,涉及一种多点成形加工曲面的冲头调形方法。
背景技术
多点成形是将计算机技术与柔性成形结合为一体的数字化制造技术。该技术利用数控技术的柔性与多点成形装备的柔性,无需换模就可以成形不同曲面,从而实现无模、快速和低成本生产。与常用的固定模具成形或手工成形相比,无模多点成形技术具有显著缩短生产准备周期、节约大量模具制造费用、可用小设备分段成形大面积曲面等优点。
多点成形由排列规则、可伸缩改变高度的上下冲头群的包络面来成形不同形状的金属板件,因此,计算所有冲头的高度是多点成形加工的一项重要工作,它是调整各冲头高度(以下称为调形)的依据,直接影响成形金属板件的精度。因此,多点压力成形加工前先要对冲头群进行调形,以形成合适的上下冲头群包络面形状,这两个离散面形状将直接影响金属板件成形精度。准确地计算出目标形状与各冲头的接触点后,才能确定各冲头的高度。目前,多点成形技术已经成为国际学术界的研究热点,但是冲头的调形一直是困扰本领域技术人员的难点问题之一,主要在于冲头调形的方法过于复杂繁琐,程序可读性差,软件实现困难,限制了多点成形在计算机技术中的应用。
发明内容
1.发明要解决的技术问题
本发明的目的在于克服现有多点成形加工曲面的冲头调形方法复杂、冲头高度计算繁琐、程序可读性差、软件实现困难的不足,提供一种多点成形加工曲面的冲头调形方法,采用本发明的技术方案,简化了现有冲头调形计算方法,采用更加直观简洁的计算方法,更加容易实现软件控制,且程序可读性好,运算量少,提高了曲面的成形精度和加工效率。
2.技术方案
为达到上述目的,本发明提供的技术方案为:
本发明的一种多点成形加工曲面的冲头调形方法,其包括以下步骤:
(1)已知待加工曲面的三维模型STL文件,该三维模型由若干个三角面片△ABC组成;将曲面的三维模型投影到二维坐标系O-XY中,得到投影面S;三角面片△ABC在二维坐标系O-XY中的投影为三角形△A'B'C';
(2)创建并读取动点M(xM,yM);
(3)判断动点M(xM,yM)是否在投影面S中的某个投影三角形△A'B'C'上;根据判断结果执行步骤(4)或步骤(5);
(4)如果动点M在投影面S中的某个投影三角形△A'B'C'上,求出动点M(xM,yM)对应的点P在三维坐标系O-XYZ中的坐标(XP,YP,ZP),即冲头与对应三角面片△ABC的接触点坐标,其中:XP=xM,YP=yM,
式中:ZA、ZB和ZC分别表示三角面片△ABC中的A、B和C三点的在O-XYZ坐标系中的z轴坐标,S△MB'C'、S△MA'C'、S△MA'B'和S△A'B'C'分别表示△MB'C'、△MA'C'、△MA'B'和△A'B'C'的面积;重复步骤(2),读取下一个动点M(xM,yM),并重复步骤(3),直至将所有动点M读取完毕;
(5)如果动点M不在投影面S中的某个投影三角形△A'B'C'上,则重复步骤(2),读取下一个动点M(xM,yM),并重复步骤(3),直至将所有动点M读取完毕。
更进一步地,步骤(2)中的动点M的具体创建方法为:
(2-1)测出投影面S在二维坐标系O-XY的X轴方向上的最小值Xmin和最大值Xmax,以及Y轴方向上的最小值Ymin和最大值Ymax;由Xmin、Xmax、Ymin和Ymax坐标值构造矩形A1A2A3A4;
(2-2)将动点M(xM,yM)初始化,初始位置为矩形A1A2A3A4的左下角顶点A1(Xmin,Ymin),即xM=Xmin,yM=Ymin;
(2-3)将动点M(xM,yM)沿平行X轴方向逐一移动一个冲头的间隔,直到xM>=Xmax,完成平行X轴的一行动点M的创建;
(2-4)将动点M(xM,yM)沿平行Y轴方向移动一个冲头的间隔,并令xM=Xmin,重复步骤(2-3),直到yM>=Ymax,完成整个矩形A1A2A3A4区域内的动点M的创建。
更进一步地,步骤(3)中判断动点M(xM,yM)是否在投影面S中的某个投影三角形△A'B'C'上的具体步骤为:
(3-1)读取一个三角面片△ABC,△ABC各点的坐标分别为A(xA,yA,zA),B(xB,yB,zB),C(xC,yC,zC);三角面片△ABC在二维坐标系O-XY中的投影三角形△A'B'C'各点的坐标分别为A'(xA,yA),B'(xB,yB),C'(xC,yC);
(3-2)利用公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'判断动点M是否在△A'B'C'上,式中,s△A'B'C'、s△MB'C'、s△MA'C、s△MA'B'分别表示△A'B'C'、△MB'C'、△MA'C'、△MA'B'的面积;根据判断结果执行步骤(3-3)或步骤(3-4);
(3-3)如果公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'左右两边相等,则动点M在投影三角形△A'B'C'上;
(3-4)如果公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'左右两边不相等,则动点M不在投影三角形△A'B'C'上;重复步骤(3-1)和(3-2),直至将组成待加工曲面的所有三角面片△ABC数据读取完成。
3.有益效果
采用本发明提供的技术方案,与已有的公知技术相比,具有如下显著效果:
本发明的一种多点成形加工曲面的冲头调形方法,基于计算机技术与柔性成形技术相结合的特点,通过将组成待加工曲面的三角面片在三维空间内的计算转化为二维平面内的三角形计算,简化了现有冲头调形的计算方法,计算更加直观简洁,更加容易实现软件控制,程序可读性好,运算量少,从而提高了曲面的成形精度和加工效率。
附图说明
图1为本发明的一种多点成形加工曲面的冲头调形方法的流程图;
图2为本发明中选取三角面片△ABC中任意一点P的示意图;
图3(a)和图3(b)分别为本发明中选取三角面片△ABC中任意一点P的不同动态位置示意图;
图4为本发明中动点M的创建过程示意图。
具体实施方式
为进一步了解本发明的内容,结合附图对本发明的冲头位置计算原理作详细描述。
多点压力成形依靠上下冲头群的包络面来成形不同形状的金属板件,因此,多点压力成形加工前先要对冲头群进行调形,以形成合适的上下冲头群包络面形状;这两个离散面形状(冲头群包络面形状)将直接影响覆盖件的成形精度。因此,准确地计算出目标形状与各冲头的接触点后,才能确定了各冲头的高度。
如图2所示,已知三维空间三角面片△ABC在O-XYZ坐标系中各点坐标为A(xA,yA,zA),B(xB,yB,zB),C(xC,yC,zC),△ABC内部任意一点P在O-XY坐标系中坐标为(xP,yP),现求点P在O-XYZ坐标系中的z轴方向坐标zP,该值即为冲头的高度。毫无疑问,zP值与zA、zB、zC的值有关。比较图3(a)和图3(b)中的点P与点A的距离,可看出,当点P靠近点A过程中,与点A正对着的三角形△PBC的面积(S△PBC)变大;当点P趋近A点过程中,点P的zP越接近点A的zA,或者说点A的zA对点P的zP影响权重越大,即,zA对zP的影响权重与S△PBC正比例变化。考察图3(a)和图3(b)中的点P与点B、点C的距离,当点P向点A靠近过程中,点P离点B、点C越来越远,那么zB和zC对zP影响权重越来越小;同时可以发现:点C正对着的三角形△PAB的面积(S△PAB)、点B正对着的三角形△PAC的面积(S△PAC)也越来越小,即,zB对zP的影响权重与S△PAC正比例变化,zC对zP的影响权重与S△PAB正比例变化。
上述分析表明,zP值与zA、zB、zC的值正比例相关,且各点对zP的影响权重与各点正对着的三角形的面积S△PBC、S△PAC、S△PAB正比例相关。基于上述分析,提出一种新的用于计算三维空间三角面片内任一点P点的zP值公式为:
式中:S△PBC、S△PAC、S△PAB、S△ABC分别表示△PBC、△PAC、△PAB、△ABC的面积。
上式(2)中,S△PBC、S△PAC、S△PAB未知,因此zP无法求出。假设△ABC在O-XY坐标系中的投影为△A'B'C',且其各点坐标为A'(xA,yA),B'(xB,yB),C'(xC,yC),点P在O-XY坐标系中的投影为点P'(xP,yP)。因此,点A'、B'、C'、P'在O-XY坐标系中的坐标都为已知,所以可求出上述三角形面积分别为:S△P’B’C’、S△P’A’C’、S△P’A’B’、S△A’B’C’。因为△P'B'C'、△P'A'C'、△P'A'B'、△A'B'C'分别为△PBC、△PAC、△PAB、△ABC在O-XY坐标系中的投影,因此上述三角形面积之间存在以下关系:
将式(3)、(4)、(5)代入式(2)中的式(6)为:
因此,将需要进行的三维空间内三角面片面积计算问题转化为二维平面内三角形面积计算,简化了计算。而已知二维平面内△ABC各点坐标为A(xA,yA),B(xB,yB),C(xC,yC),则其面积为:
因此,由式(6)和式(7)可计算出三维空间三角面片内任一点的z坐标。并且,式(6)的正确性已经过实际数据验证。
下面结合实施例对本发明作进一步的描述。
实施例
参见图1所示,本实施例的一种多点成形加工曲面的冲头调形方法,可用Visual C++开发环境实现,采用Visual C++实现对三角片面数据的读取,STL文件采用ASCII明码格式;利用OpenGL技术把STL曲面、接触点、冲头三者显示在同一坐标系中,实现计算结果的直观检查。为了求出每个冲头与覆盖件曲面接触点位置,首先确定冲头在O-XY坐标系中位置,即冲头的排列方式、冲头之间的间距,然后确定每个冲头的高度,其具体步骤为:
(1)已知待加工曲面的三维模型STL文件(STL曲面),该三维模型由若干个三角面片△ABC组成;将曲面的三维模型投影到二维坐标系O-XY中,得到投影面S;三角面片△ABC在二维坐标系O-XY中的投影为三角形△A'B'C';
(2)创建并读取动点M(xM,yM);如图4所示,其具体可通过以下方式实现:
(2-1)测出投影面S在二维坐标系O-XY的X轴方向上的最小值Xmin和最大值Xmax,以及Y轴方向上的最小值Ymin和最大值Ymax;由Xmin、Xmax、Ymin和Ymax坐标值构造矩形A1A2A3A4;
(2-2)将动点M(xM,yM)初始化,初始位置为矩形A1A2A3A4的左下角顶点A1(Xmin,Ymin),即xM=Xmin,yM=Ymin;
(2-3)将动点M(xM,yM)沿平行X轴方向逐一移动一个冲头的间隔(即图4中的X_STEP),并记下该点的坐标,直到xM>=Xmax,完成平行X轴的一行动点M的创建;
(2-4)将动点M(xM,yM)沿平行Y轴方向移动一个冲头的间隔(即图4中的Y_STEP),并令xM=Xmin,重复步骤(2-3),直到yM>=Ymax,完成整个矩形A1A2A3A4区域内的动点M的创建;
(3)判断动点M(xM,yM)是否在投影面S中的某个投影三角形△A'B'C'上,包括以下三种情况:a、动点M在三角形内部;b、动点M在三角形某个边上;c、动点M在三角形某个顶点上;判断的具体方法为:
(3-1)读取一个三角面片△ABC,△ABC各点的坐标分别为A(xA,yA,zA),B(xB,yB,zB),C(xC,yC,zC);三角面片△ABC在二维坐标系O-XY中的投影三角形△A'B'C'各点的坐标分别为A'(xA,yA),B'(xB,yB),C'(xC,yC);
(3-2)利用公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'判断动点M是否在△A'B'C'上,式中,s△A'B'C'、s△MB'C'、s△MA'C、s△MA'B'分别表示△A'B'C'、△MB'C'、△MA'C'、△MA'B'的面积;根据判断结果执行步骤(3-3)或步骤(3-4);
(3-3)如果公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'左右两边相等,则动点M在投影三角形△A'B'C'上;执行步骤(4);
(3-4)如果公式s△A'B'C'=s△MB'C'+s△MA'C'+s△MA'B'左右两边不相等,则动点M不在投影三角形△A'B'C'上;重复步骤(3-1)和(3-2),直至将组成待加工曲面的所有三角面片△ABC数据读取完成;执行步骤(5);
(4)如果动点M在投影面S中的某个投影三角形△A'B'C'上,求出动点M(xM,yM)对应的点P在三维坐标系O-XYZ中的坐标(XP,YP,ZP),即冲头与对应三角面片△ABC的接触点坐标,其中:XP=xM,YP=yM,
式中:ZA、ZB和ZC分别表示三角面片△ABC中的A、B和C三点的在O-XYZ坐标系中的z轴坐标,S△MB'C'、S△MA'C'、S△MA'B'和S△A'B'C'分别表示△MB'C'、△MA'C'、△MA'B'和△A'B'C'的面积;重复步骤(2),读取下一个动点M(xM,yM),并重复步骤(3),直至将所有动点M读取完毕;
(5)如果动点M不在投影面S中的某个投影三角形△A'B'C'上,则重复步骤(2),读取下一个动点M(xM,yM),并重复步骤(3),直至将所有动点M读取完毕。
本发明的一种多点成形加工曲面的冲头调形方法,适用于多点成形加工小曲率曲面,并可近似认为冲头与待加工曲面的接触点在冲头轴线上。在实际加工中,需检测加工后的样件并得出样件曲面与理论曲面的误差,然后再调整冲头高度,直到加工出合格样件,因此上述近似不影响最后加工出的曲面精度。
本发明的一种多点成形加工曲面的冲头调形方法,采用Visual C++实现对三角片面数据的读取,并在构造矩形A1A2A3A4内实现冲头位置的搜索和计算,减少了数据采集量,简化了现有冲头调形的计算方法,计算更加直观简洁,更加容易实现软件控制,程序可读性好,运算量少,从而提高了曲面的成形精度和加工效率。
以上示意性地对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性地设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。