DataBeam :
- possibilità di ottimizzare lavorazione fori (da BD.GO_FAST) - tagli con lama orizzontali solo se non possibili verticali singoli - in tagli split ora ingombro grezzo comprende anche lo sfrido per permettere calcolo corretto attacchi/uscite.
This commit is contained in:
@@ -445,13 +445,14 @@ local function OrderFeatures( vProc, b3Raw)
|
||||
table.sort( vProc, CompareFeatures)
|
||||
|
||||
-- riunisco fori con lo stesso diametro e non troppo lontani
|
||||
local dDrillRange = EgtIf( BD.GO_FAST == 2, 6000, 600)
|
||||
for i = 1, #vProc do
|
||||
local ProcI = vProc[i]
|
||||
if ProcI.Prc == 40 then
|
||||
for j = i + 1, #vProc do
|
||||
local ProcJ = vProc[j]
|
||||
if ProcJ.Prc == 40 and ProcJ.Head == ProcI.Head and ProcJ.Tail == ProcI.Tail and
|
||||
abs( ProcJ.Diam - ProcI.Diam) < 1.0 and abs( ProcJ.Box:getCenter():getX() - ProcI.Box:getCenter():getX()) < 600.0 then
|
||||
abs( ProcJ.Diam - ProcI.Diam) < 1.0 and abs( ProcJ.Box:getCenter():getX() - ProcI.Box:getCenter():getX()) < dDrillRange then
|
||||
if j > i + 1 then
|
||||
local ProcK = vProc[i+1]
|
||||
if ProcK.Prc ~= 40 or abs( ProcK.Diam - ProcJ.Diam) > 1.0 or ProcJ.Box:getCenter():getX() < ProcK.Box:getCenter():getX() then
|
||||
@@ -464,6 +465,7 @@ local function OrderFeatures( vProc, b3Raw)
|
||||
end
|
||||
end
|
||||
-- riunisco marcature, testi e decori non troppo lontani
|
||||
local dMarkRange = 300
|
||||
for i = 1, #vProc do
|
||||
local ProcI = vProc[i]
|
||||
if ProcI.Prc == 60 or ProcI.Prc == 61 or ProcI.Prc == 959 then
|
||||
@@ -471,7 +473,7 @@ local function OrderFeatures( vProc, b3Raw)
|
||||
local ProcJ = vProc[j]
|
||||
if ( ProcJ.Prc == 60 or ProcJ.Prc == 61 or ProcJ.Prc == 959) and
|
||||
ProcJ.Head == ProcI.Head and ProcJ.Tail == ProcI.Tail and
|
||||
abs( ProcJ.Box:getCenter():getX() - ProcI.Box:getCenter():getX()) < 300.0 then
|
||||
abs( ProcJ.Box:getCenter():getX() - ProcI.Box:getCenter():getX()) < dMarkRange then
|
||||
if j > i + 1 then
|
||||
table.insert( vProc, i + 1, table.remove( vProc, j))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user