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%為矩形板件,使用單核計算機時請控制在半小時之內給出一個可接受的結果
- 優化率直接反映了利用情況,是一個評判的重要指標,但不是全部,余料的處理和排布的工整性也是左右客戶接受的重要指標
- 小板中間排布/余料規方/大批量的優化加速為優先需求,剩余需求優先度較低