Nesting需求整理

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. 基本需求

目前已经实现了的功能,要求能够做到,包括:

  1. 基于真实边界的工件和原材料的优化
  2. 优化方向的选择
  3. 优化起点的选择
  4. 纹理的支持
  5. 对材料修边的支持
  6. 对工件与工件之间距离的支持

3. 改进需求

3.1 小板集中材料中心排布

加工时,原材料使用的是真空泵吸附的方式进行固定,特点是中间区域吸力大,四边吸力小。当较小尺寸的板件排布在材料的边缘时,容易松动,导致加工出来的边界有结合的痕迹或毛刺。为了解决这个问题,一是需要将尺寸较小的板件,排布在材料的中间区域,吸力较大,不易移动,二是加工时,分2次铣削,第一次铣削留下2mm的厚度,保持连接,第二次再铣削时才将工件从原材料上完全切割下,减少切割时的作用力。
二次切割与排布优化无关,只需关注如何将板件排布在原材料的中心。

3.1.1 小板件定义

一般按两个标准定义小板件:

  1. 面积小于0.1平方米
  2. 长度或宽度小于100mm

考虑到不同的环境下,机器的配置、老旧程度、加工垫板的平整度、正空泵的吸力都会影响最终的效果,我们需要将两个标准值设定为优化的参数,现场工程师可自行调整。异形板件只需要判断面积标准。

3.1.2 中心排布

  1. 异形原材料暂不考虑
  2. 矩形原材料


    Nesting需求整理_第1张图片

如图所示,红色区域代表了较为理想状态下,小板件排布的区域,可简单定义原材料的中心处三分之一宽度的条状区域
当无法满足排布于此区域时,可随意排布。
可以在优化已经结束的情况下,对优化结果进行调整,将小板件移动至图形的中间区域。

如果小板布于中间时,影响了余料规方,应按余料规方的规则重新排布

3.2 余料规方

对加工余下的原材料,我们希望尽可能保持或接近矩形。

  1. 当前原材料的利用率低于80%时,剩下的材料存在继续利用的可能性。这是一个基于经验的判断。
  2. 余料至少需要存在一个直角边,才能二次利用,否则无法在机器的加工台上对齐
  3. 余料尽可能为方型,而不是长条形,长宽比例小的比长宽比例大的好
Nesting需求整理_第2张图片
如果是规定了纹理方向,则此图是一个好结果,否则两个横条应旋转90度摆放

3.3 大批量优化加速

对一样的外形边界的工件,优化时间应尽可能的短。
这一要求是基于:大量的同样边界的工件,可以尽可能的预先优化形成嵌套的单元,然后进行简单重复排布。

Nesting需求整理_第3张图片
图示中两个工件为一组,结果整齐且优化率不低

3.4 共线加工

此需求与优化并无直接关系,是实际生产中衍生出的需求。
非共线情况下,铣刀沿着工件的外围边界做铣削切割,直至走过所有边界。为了节省时间,有时工件之间的距离和铣削的铣刀的直径设定一致,这样铣刀在铣削一个工件的边界的同时,也在铣削另一个工件的边界,那么就可以减少铣削边界的总量。

需求:

  1. 工件之间的距离即默认为铣刀直径
  2. 要生成多条路径,经过所有的工件的边界,而这些路径重叠的部分尽可能少

3.5 嵌套优化

有的工件内部存在多个铣型形成的空间,在优化时,是可以在这些空间中排布的。
工件属性会新增一项内部空间的边界多段线,约定这些边界多段线不自交、不相交,且处于外部边界的内部。
工件内部空间的优化以填满,并同时满足纹理即可。

Nesting需求整理_第4张图片
嵌套优化

3.6 工件优先级

典型场景:
用户有1000个工件要优化,而这1000个工件分别来自10个订单,用户希望加工时,可以在损失一定优化率能够接受的前提下,有次序的加工。优先级高的工件排在结果靠前的拍不中,优先级低的工件相反。

4. 其他

  1. 初期不用考虑多核CPU支持,完成核心算法后再陆续完善
  2. 图形展示的引擎可自选,最好基于.net framework,如果没有条件,可以使用其他平台/语言,入Web/Javascript
  3. 使用了第三方类库请说明来源(如开源)
  4. 控制总的优化时间,典型用户一次优化的工件总数在200-300片,其中90%为矩形板件,使用单核计算机时请控制在半小时之内给出一个可接受的结果
  5. 优化率直接反映了利用情况,是一个评判的重要指标,但不是全部,余料的处理和排布的工整性也是左右客户接受的重要指标
  6. 小板中间排布/余料规方/大批量的优化加速为优先需求,剩余需求优先度较低

你可能感兴趣的:(Nesting需求整理)