本发明涉及计算机辅助排料领域,尤其涉及一种基于临界多边形板材自动排样方法。
背景技术:
排样问题是将生产中一些组成产品的零件、材料通过一定的方法和约束放置在规定的原材料内,使零件或材料保持完整的同时尽可能节省原材料的使用。随着工业的发展和科技的进步,越来越多的资源被用于工业生产,而节约资源、降低生产成本在当今社会越来越被推崇。
对于排样来说,早期主要通过人工的方法,这种方法不但无法节约原材料,而且花费更多时间。而由计算机辅助排样的方法能够解决传统人工方法的问题,所以逐渐成为工业生产的主流。
目前自动排样研究大多在服装设计上,对板材自动排样研究较少,而且在板材自动排样研究上更多采用矩形拟合的方法,即先求出每个零件的最小包络矩形,然后对矩形进行排样,最后进行挤压优化排样结果,把不规则件排样问题转化为矩形排样问题。这种排样方法虽然时间快,但板材利用率会很低。
技术实现要素:
本发明提供了一种基于临界多边形板材自动排样方法,本发明提高自动排样算法的鲁棒性和板材的利用率,提高零件排放效率,减少零件排放时间,详见下文描述:
一种基于临界多边形板材自动排样方法,所述方法包括以下步骤:
读取零件cad图纸,识别并储存各个零件信息;
通过移动碰撞法和明可夫斯基矢量和法求取各个零件之间临界多边形;
基于求取的临界多边形确定每个待排零件可排放点;
利用遗传算法对零件排料顺序进行全局优化搜索,从而确定零件的最优排放顺序。
所述基于求取的临界多边形确定每个待排零件可排放点具体为:
1)求解所有零件间临界多边形;
2)排放第一零件;
3)基于第一零件和第一零件的临界多边形,第二零件排放位置可行解为其临界多边形各个顶点;
4)基于第三零件和第一零件的临界多边形,第三零件和第二零件的临界多边形,第三零件可排放点为这2个临界多边形所有顶点以及这2个临界多边形相交的交点;
5)剔除板材外的点和一些不能同时保证与2个零件都不重合的点,剩下点为第三零件可排放点;
6)当第三零件放置在每一个可排放点时,可保证它与第一零件和第二零件紧靠且不重叠,并求取此时3个零件排放状态下整体外部轮廓形成的多边形的面积,面积最小的点即为第三零件在该顺序下排放的点;其他可排放点以此类推。
本发明提供的技术方案的有益效果是:本发明相对于传统板材自动排料,提高板材利用率,减少零件排样时间,而且还考虑到零件孔洞等复杂信息,本方法更加实用性,稳定性。
附图说明
图1是本发明实施例1的2个多边形零件示意图;
图2是本发明实施例1的2个多边形零件生成临界多边形示意图;
图3是本发明实施例2的待排零件相对已排零件临界多边形示意图;
图4是本发明实施例2的待排零件可排放点示意图,;
图5是本发明测试待排零件示意图;
图6是本发明测试结果示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
101:读取零件cad图纸,识别并储存各个零件信息;
首先将cad图纸中基本元素线段都读取出来。其次将每条线段首端尾端坐标相互配对,当两条线段有重合点时,则将两条线段连接起来,其重合点作为中端点,其2边端点作为首端尾端继续与其他线段配对。最终依次与其他线段配对并首尾相连识别出零件多边形轮廓,并将各端点依序作为一个集合储存起来。
其中,输入零件cad图每一条线段都需一笔画出,零件图之间不能有交叉。
其中,每一个集合代表一个零件多边形,集合元素为零件多边形各个顶点坐标,面积,凹凸性等。当一个多边形在另一个多边形内部,则标记该多边形集合为另一个的子集。
具体实现时,含有子集的集合为带孔环状零件,其外部轮廓作为零件在自动排样中排样。内部轮廓在自动排样完后作为板材区域继续补充排样。
102:通过移动碰撞法和明可夫斯基矢量和法求取各个零件之间临界多边形;
其中,移动碰撞法适应性广,该算法优点为直观、实现容易缺点为时间复杂度较高,明可夫斯基矢量和法具有计算效率高、时间复杂度低的优点,缺点是仅能求解凸多边形与凸多边形之间的临界多边形,适用面有限。这2个方法结合起来可以各加有效求解临界多边形。
即,两个凸多边形之间选用明可夫斯基矢量和法求解临界多边形,其他多边形则选用移动碰撞法求解。
103:基于求取临界多边形确定每个待排零件可排放点(每个零件在板材定位);
其中,通过求解临界多边形,求出零件排放位置可行域,并通过位置限定,将零件二维排放连续问题转化为离散问题,使零件可排放位置为有限解。
基于临界多边形确定零件在板材排放位置步骤包括(此处零件默认排放顺序为123,):
s1,求解所有零件间临界多边形;
s2,排放零件1;
s3,基于零件1和零件2临界多边形,零件2排放位置可行解为其临界多边形各个顶点;
s4,基于零件3和零件1临界多边形,零件3和零件2临界多边形,零件3可排放点为这2个临界多边形所有顶点以及这2个临界多边形相交的交点;
s5,剔除板材外的点和一些不能同时保证与2个零件都不重合的点,剩下点为零件3可排放点;
s6,当零件3放置在每一个可排放点时候,可以保证它与零件1和零件2紧靠且不重叠,并求取此时3个零件排放状态下整体外部轮廓形成的多边形的面积,面积最小的点即为零件3在该顺序下排放的点,当排放点出现面积相同情况时,取最左,最下的点(可参考实例2,零件abc为零件123,此时零件3即零件c在该顺序下最终排放点为p10)。
s7,零件4其他可排放点以此类推…..。
孔洞内部轮廓开始不参与自动排料,在自动排料完后在进行填充,填充排样策略主要依靠面积,且限定每个孔洞最多排一个零件。
104:利用遗传算法对零件排料顺序进行全局优化搜索,从而确定零件的最优排放顺序;
其中,上述采用对零件排料顺序进行全局优化搜索的步骤具体为:
1):对染色体进行编码,序列长度等同于零件个数n,取值范围为1到n的正整数构成的序列,构成优化排料算法中的个体,每位数字代表了零件的序号,数字的先后顺序代表了多边形零件排放的先后顺序。比如有5个零件,个体(1,3,5,2,4)代表零件排放顺序为零件1,3,5,2,4。种群中每一个个体即表示一种排料顺序;
2):设定优化搜索排料过程中的种群迭代次数g和种群m个个体(具体数值根据零件个数和实际要求决定);
3):对种群中个体进行初始化,产生m种排料顺序;
4):分别按每个个体对应的排料顺序,依次确定各零件的排放位置,计算当前排料顺序下的适应度个体的适应度计算方式:按照遗传个体代表的排放顺序依次排放多边形零件,当所有的多边形零件排放结束之后计算板材的利用率作为个体的适应度。适应度值范围在0到1之间,其值越接近1则代表排样后板材的利用率越高,说明遗传个体代表的零件排放顺序越优秀。
5):采用轮盘赌对种群中个体进行选择操作,在轮盘赌算法中,个体被选择的概率与其适应度成正比,被选概率为个体的适应度函数与所有个体适应度函数之和的比值。在不规则零件排样问题中,每次零件排样序列(可行解)都代表一个独立的个体,其被选概率计算方式为:
6):采用顺序交叉方式,即保持两个交叉位置之间的基因位不变,其余的基因位按照另一个体的基因位顺序依次选取基因进行填充,已出现的基因不再选取,如个体父1(1,5,3,4,2)和个体父2(3,2,5,1,4)交叉的基因位为各自的3和4号位(加粗位置),顺序交叉后产生子1为(2,5,3,4,1),子2(3,4,5,1,2);
7):按照一定变异概率对种群中个体进行变异操作,防止种群早熟收敛,采用交换变异,即对随机选中的某个个体中的两个随机位置上的基因进行位置交换,得到一个新的个体。如个体(1,3,2,5,4)将基因位置3和5互换的个体(1,3,4,5,2),在排料中等同于将零件2和零件4排放顺序互换,将零件2的排放顺序由3变成5;
8):判断迭代次数是否小于设定的迭代次数g,如是则返回步骤4),继续下一次的优化搜索排料;
9):如否,则完成排料顺序优化搜索,输出最优排料结果。
实施例1
求取2个零件间临界多边形。
参见图1,图1为2个不规则板材零件示意图,其参考点如图所示;
临界多边形定义:给定两个多边形a和b,多边形a固定,多边形b绕多边形a旋转一周(在此期间,b与a保持至少有一点相接触,且b不能旋转),选择多边形b上的一个点作为参考点(通常选择b的最下最左顶点),该参考点的运动轨迹所形成的多边形即为b相对于a的临界多边形,记为nfpab;
关于多边形b绕a移动考虑问题主要2个:移动方向确定和移动距离确定。
判断b的移动方向分三种情况:
如果多边形a的顶点ai和多边形b的顶点bj接触,求出矢量bjbj+1叉乘矢量;
ajaj+1的结果,如果叉积大于零,也即矢量bjbj+1到矢量ajaj+1的夹角小于180度,则多边形b移动方向为矢量ajaj+1的方向,否则移动方向为矢量bjbj+1的方向;
如果多边形a的顶点和多边形b的边接触,则多边形b移动方向为b的边的方向bjbj+1;
如果多边形b的顶点和多边形a的边接触,则多边形b移动方向为a的边的方向ajaj+1;
最小移动碰撞距离确定:
求出多边形a的各个顶点在给定方向上到多边形b的各边的距离,并取其中的最小距离min1;
求出多边形b的各个顶点在给定方向上到多边形a的各边的距离,并取其中的最小距离min2;
取min1和min2中的较小值,即为多边形a和b在给定方向上的最小碰撞距离。
图2黑线即为多边形b绕a移动形成临界多边形轮廓。
实施例2
确定零件可排放位置。
零件a为排放初始零件;
求取零件b和a零件临界多边形;
限定零件b可排放位置为临界多边形各个顶点;
排放零件b。
其中,零件a和b位置为图4虚线位置;
零件c可排放位置算法求解步骤为:
求取零件c和零件a临界多边形,求取零件c和零件b临界多边形;如图3所示;
由临界多边形定义可知当零件c参考点放置在临界多边形边上时可确保零件c与其相对零件紧靠且不重叠。
2个临界多边形在板材位置如图4所示;
为了增加排放合理性,除了临界多边形各个顶点为,补充临界多边形之间交点也作为可代排点;
对这些排放点进行判定,剔除一些板材外的或是与其中一个零件会重合的点;
如图4所示。当零件c参考点放置在p1p2时可保证与零件a紧靠且不重叠,但与零件b重叠,同理p3p4时可保证与零件b紧靠且不重叠,但与零件a重叠,这些点不符合要求需要剔除;
p6p7p8p9在板材外部,不符合要求故也剔除;
p5p10p11p12p13p14这些点符合要求,最终确认零件3可摆放的所有点;
本实例只是讲解零件可排放点求取,具体实际排放位置以及零件间排放选择顺序不在此实例讲解。
本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。