Nesting需求整理
1. 约定
1.1 工件属性:
- 原材料/名称/数量等
- 纹理方向
- 长度/宽度,无论是否为异形板件,都会提供这两个数值,代表建模时板件的基本参数,异形是由一个矩形板件通过各种铣型加工得出;
- 矩形/异形
- 边界多段线,一条闭合的多段线(Polyline),多段线由直线或弧线组成(没有其他情况),无自交,起点与重点重合,多段线的每一段表示方法为:
- 起点/终点
- 供高比(bulge),参考:http://www.afralisp.net/archive/lisp/Bulges1.htm中的配图
例如:以(x坐标,y坐标,供高比)表示
一条闭合的长100,宽50的矩形:
(0,0,0)(100,0,0)(100,50,0)(0,50,0)(0,0,0)
直径为100的圆:
(50,0,0.414)(100,50,0.414)(50,100,0.414)(0,50,0.414)
注:边界多段线都位于第一象限
1.2 材料属性
- 材料名称/数量等
- 纹理方向
- 矩形/异形
- 修边值
- 边界多段线,同工件
1.3 纹理
纹理分为三种
- X方向
- Y方向
- 没有纹理
工件纹理和材料纹理的关系为
- 当材料有纹理(X/Y),如果工件无纹理,则优化时,工件按照材料纹理进行优化,如果工件有纹理,按照工件纹理优化
- 当材料无纹理,如果工件有纹理(X/Y),则优化时,有纹理的工件按照纹理方向优化
2. 基本需求
目前已经实现了的功能,要求能够做到,包括:
- 基于真实边界的工件和原材料的优化
- 优化方向的选择
- 优化起点的选择
- 纹理的支持
- 对材料修边的支持
- 对工件与工件之间距离的支持
3. 改进需求
3.1 小板集中材料中心排布
加工时,原材料使用的是真空泵吸附的方式进行固定,特点是中间区域吸力大,四边吸力小。当较小尺寸的板件排布在材料的边缘时,容易松动,导致加工出来的边界有结合的痕迹或毛刺。为了解决这个问题,一是需要将尺寸较小的板件,排布在材料的中间区域,吸力较大,不易移动,二是加工时,分2次铣削,第一次铣削留下2mm的厚度,保持连接,第二次再铣削时才将工件从原材料上完全切割下,减少切割时的作用力。
二次切割与排布优化无关,只需关注如何将板件排布在原材料的中心。
3.1.1 小板件定义
一般按两个标准定义小板件:
- 面积小于0.1平方米
- 长度或宽度小于100mm
考虑到不同的环境下,机器的配置、老旧程度、加工垫板的平整度、正空泵的吸力都会影响最终的效果,我们需要将两个标准值设定为优化的参数,现场工程师可自行调整。异形板件只需要判断面积标准。
3.1.2 中心排布
- 异形原材料暂不考虑
-
矩形原材料
如图所示,红色区域代表了较为理想状态下,小板件排布的区域,可简单定义原材料的中心处三分之一宽度的条状区域
当无法满足排布于此区域时,可随意排布。
可以在优化已经结束的情况下,对优化结果进行调整,将小板件移动至图形的中间区域。
如果小板布于中间时,影响了余料规方,应按余料规方的规则重新排布
3.2 余料规方
对加工余下的原材料,我们希望尽可能保持或接近矩形。
- 当前原材料的利用率低于80%时,剩下的材料存在继续利用的可能性。这是一个基于经验的判断。
- 余料至少需要存在一个直角边,才能二次利用,否则无法在机器的加工台上对齐
- 余料尽可能为方型,而不是长条形,长宽比例小的比长宽比例大的好
3.3 大批量优化加速
对一样的外形边界的工件,优化时间应尽可能的短。
这一要求是基于:大量的同样边界的工件,可以尽可能的预先优化形成嵌套的单元,然后进行简单重复排布。
3.4 共线加工
此需求与优化并无直接关系,是实际生产中衍生出的需求。
非共线情况下,铣刀沿着工件的外围边界做铣削切割,直至走过所有边界。为了节省时间,有时工件之间的距离和铣削的铣刀的直径设定一致,这样铣刀在铣削一个工件的边界的同时,也在铣削另一个工件的边界,那么就可以减少铣削边界的总量。
需求:
- 工件之间的距离即默认为铣刀直径
- 要生成多条路径,经过所有的工件的边界,而这些路径重叠的部分尽可能少
3.5 嵌套优化
有的工件内部存在多个铣型形成的空间,在优化时,是可以在这些空间中排布的。
工件属性会新增一项内部空间的边界多段线,约定这些边界多段线不自交、不相交,且处于外部边界的内部。
工件内部空间的优化以填满,并同时满足纹理即可。
3.6 工件优先级
典型场景:
用户有1000个工件要优化,而这1000个工件分别来自10个订单,用户希望加工时,可以在损失一定优化率能够接受的前提下,有次序的加工。优先级高的工件排在结果靠前的拍不中,优先级低的工件相反。
4. 其他
- 初期不用考虑多核CPU支持,完成核心算法后再陆续完善
- 图形展示的引擎可自选,最好基于.net framework,如果没有条件,可以使用其他平台/语言,入Web/Javascript
- 使用了第三方类库请说明来源(如开源)
- 控制总的优化时间,典型用户一次优化的工件总数在200-300片,其中90%为矩形板件,使用单核计算机时请控制在半小时之内给出一个可接受的结果
- 优化率直接反映了利用情况,是一个评判的重要指标,但不是全部,余料的处理和排布的工整性也是左右客户接受的重要指标
- 小板中间排布/余料规方/大批量的优化加速为优先需求,剩余需求优先度较低