本发明涉及排样,尤其涉及一种套料中零件自适应完全自由旋转排入方法、装置、电子设备。
背景技术:
1、目前的cad(autodeskcomputeraideddesign)/cam(computeraidedmanufacturing)软件广泛使用套料技术,而且套料技术通常是这类软件的核心所在。在套料中,为了提高套料利用率,通常会使用各种套料策略,而零件的旋转是最常用也是很关键的技术。但目前为止,市面上使用的零件自由旋转计算都是基于某一步长来旋转的,做不到真正的自由旋转。而且,就算在有步长的自由旋转中,也是通过每个角度尝试性排入,然后在这些角度中找一个最优的角度作为排入角度。这样不仅大大增加了计算量,而且,无法准确的得到一个最优的排入角度。
2、因此,如何找到一种使得零件的旋转既能做到真正的自由,又能在较短的时间内找到那个最优的排入角度,就很关键。
技术实现思路
1、(一)要解决的技术问题
2、鉴于现有技术的上述缺点、不足,本发明提供一种套料中零件自适应完全自由旋转排入方法,其解决了现有技术中在对零件进行套料过程中不能对零件进行自由旋转并且现有技术中计算量大,无法准确的得到一个最优的旋转角度的技术问题。
3、(二)技术方案
4、为了达到上述目的,本发明采用的主要技术方案包括:
5、第一方面,本发明实施例提供一种套料中零件自适应完全自由旋转排入方法,所述方法应用于切割机床对待切割板材进行切割时,将待加工的零件作为待排样零件对待切割板材对应的图纸进行排样的过程,所述方法包括,包括:
6、s1、获取待排样零件在二维坐标系下的obb包围盒信息;
7、所述obb包围盒信息包括:主轴方向向量;
8、s2、基于所述待排样零件在二维坐标系下的obb包围盒信息,对所述待排样零件进行旋转β角度,获取该待排样零件的初始状态;
9、所述待排样零件的初始状态为该所述待排样零件在二维坐标系下的主轴方向向量与该二维坐标系的横轴方向相同;
10、s3、针对所述待排样零件的初始状态,对处于初始状态的所述待排样零件从初始状态开始依次按照预先设定的角度步长进行旋转排样,依次获取每一次旋转排样的结果;
11、s4、若该待排样零件从第1至m次旋转排样结果均为无法排入,且该待排样零件m+1次旋转排样结果为能够排入,则在第一角度范围内确定出第一旋转角度,并将该待排样零件以第一排入角度进行排入;
12、第一排入角度=第一旋转角度+β;
13、所述第一角度范围为m×θ至(m+1)×θ;
14、θ为预先设定的角度步长;m为预先设定值。
15、优选地,
16、所述旋转排样的结果还包括该待排样零件所对应的obb包围盒的最高点在二维坐标系下的纵坐标。
17、优选地,所述方法还包括:
18、s5、若该待排样零件从第1至n次旋转排样结果均为能够排入,则根据从第1至n次旋转排样结果中的该零件所对应的obb包围盒的最高点在二维坐标系下的纵坐标,确定出第二旋转角度;
19、所述n满足n×θ≥360°;
20、s6、根据所述待排样零件和已排零件,判断所述待排样零件和已排零件是否存在共边;
21、若存在共边,则将该待排样零件以第二排入角度进行排入;
22、所述第二排入角度=第二旋转角度+β。
23、优选地,
24、所述第二旋转角度为k×θ;
25、0°<θ≤180°;
26、其中,k为第1至n次旋转排样结果信息中的该待排样零件所对应的obb包围盒的最高点在二维坐标系下的纵坐标最小时所对应的旋转排样次数。
27、优选地,所述方法还包括:
28、s7、若不存在共边,则获取待排样零件上的第一边和已排零件或板材的第二边;
29、所述待排样零件上的第一边为:在待排样零件上与已排零件或板材上最近的距离点中所对应的二维坐标系下的纵坐标最小的最近的距离点所在的边;
30、所述已排零件或板材的第二边为:在已排零件或板材上与待排样零件上最近的距离点中所对应的二维坐标系下的纵坐标最小的最近的距离点所在的边;
31、s8、获取第一边和第二边的最小夹角,然后将该零件反向旋转该最小夹角进行排入,以获取排入后该待排样零件所对应的第一坐标;
32、所述第一坐标为该待排样零件所对应的obb包围盒的最高点在二维坐标系下的纵坐标;
33、s9、对s6-s8进行重复x次,直至第x次所得到的该待排样零件所对应的第一坐标大于等于第x-1次所得到的该待排样零件所对应的第一坐标,并获取第1次至第x-1次中每一次分别所对应的第一边和第二边的最小夹角,进一步,根据第1次至第x-1次中每一次分别所对应的第一边和第二边的最小夹角采用公式(1)确定第三排入角度,并将该零件以该第三排入角度进行排入;
34、所述公式(1)为:
35、第三排入角度=第二旋转角度+β+φ;
36、φ为第1次至第x-1次中每一次分别所对应的第一边和第二边的最小夹角之和;
37、其中,x≥2。
38、优选地,
39、其中,所述待排样零件上与已排零件或板材的最近的距离点采用gjk算法得到。
40、优选地,
41、所述s4具体包括:若该零件从第1至m次旋转排样结果信息均为无法排入,且该零件m+1次旋转排样结果为能够排入,则采用二分法或者黄金分割法在第一角度范围内确定出能够排入的角度,并在所述能够排入的角度中确定第一旋转角度;
42、1≤m<n;
43、其中,所述二分法或者黄金分割法将第一角度范围分割至预先设定的阈值时则停止分割;
44、其中第一旋转角度为最小的能够排入角度。
45、优选地,
46、在所述s1中采用主成分分析法获取零件在二维坐标系下的obb包围盒信息;
47、所述θ为90°。
48、第二方面,本实施例还提供一种套料中零件自适应完全自由旋转排入装置,所述装置包括:
49、包围盒信息获取模块,用于获取待排样零件在二维坐标系下的obb包围盒信息;所述obb包围盒信息包括:主轴方向向量;
50、初始状态获取模块,基于所述待排样零件在二维坐标系下的obb包围盒信息,对所述待排样零件进行旋转β角度,获取该待排样零件的初始状态;
51、所述待排样零件的初始状态为该所述待排样零件在二维坐标系下的主轴方向向量与该二维坐标系的横轴方向相同;
52、旋转排样模块,用于针对所述待排样零件的初始状态,对处于初始状态的所述待排样零件从初始状态开始依次按照预先设定的角度步长进行旋转排样,依次获取每一次旋转排样的结果;
53、排入模块,用于当若该待排样零件从第1至m次旋转排样结果均为无法排入,且该待排样零件m+1次旋转排样结果为能够排入,则在第一角度范围内确定出第一旋转角度,并将该待排样零件以第一排入角度进行排入;第一排入角度=第一旋转角度+β;所述第一角度范围为m×θ至(m+1)×θ;θ为预先设定的角度步长;m为预先设定值。
54、第三方面,本实施例还提供一种电子设备,包括处理器与存储器;
55、所述存储器,用于存储代码;
56、所述处理器,用于执行所述存储器中的代码以实现本实施例第一方面中所述的套料中零件自适应完全自由旋转排入方法。
57、(三)有益效果
58、本发明的有益效果是:本发明的一种套料中零件自适应完全自由旋转排入方法,由于对处于初始状态的所述待排样零件从初始状态开始依次按照预先设定的角度步长进行旋转排样,依次获取每一次旋转排样的结果;若该待排样零件从第1至m次旋转排样结果均为无法排入,且该待排样零件m+1次旋转排样结果为能够排入,则在第一角度范围内确定出第一旋转角度,并将该待排样零件以第一排入角度进行排入,相对于现有技术而言,其可以快速在第一角度范围内确定出用于进行零件排入的第一旋转角度,降低了套料中找到零件的排入角度的计算量,同时,由于根据m+1次旋转排样结果来确定第一旋转角度,然后根据第一可排入角确定了第一排入角,因此相对于现有技术也提高了排入角度的精度。