- in BeamLib aggiunta GetNewMachGroupName per avere il prossimo numero MachGroup intero libero

- in NestProcess i nomi MachGroup sono sempre interi; si mantiene sempre un BEAM_SAFETY_BUFFER nel riempimento delle barre
- in BeamExec.GetCombinationListFromMatrix corretti indici taglio di testa e coda
This commit is contained in:
luca.mazzoleni
2026-05-21 15:02:23 +02:00
parent 6649842c70
commit 5c7751aebd
3 changed files with 26 additions and 5 deletions
+6 -3
View File
@@ -45,7 +45,10 @@ local CONFIG = {
MIN_USABLE_REMNANT = BeamData.MINRAW_S, -- Sotto questa misura lo scarto è considerato "sfrido"
MAX_REMNANT_PERFECT_FIT = 20,
BLADE_THICKNESS = 5.4, -- TODO questo deve arrivare da interfaccia o da automatismo!!!!!
MIN_FILLER_LIMIT = ( BeamData.MINRAW_S + BeamData.MINRAW_L) / 2
MIN_FILLER_LIMIT = ( BeamData.MINRAW_S + BeamData.MINRAW_L) / 2,
-- Tolleranze
BEAM_SAFETY_BUFFER = 5 -- Buffer di sicurezza riempimento barra per evitare problemi nei solidi EgtCam5
}
----------------------------------------------------------------------------------------------------------
@@ -353,7 +356,7 @@ local function CalculateMove( Beam, dPartLength, sState, State)
-- lunghezza barra rimasta (se negativo non ci sta)
local dFutureResidualLength = Beam.dResidualLength + dSafeOverlap - dPartLength
if dFutureResidualLength < -10 * GEO.EPS_SMALL then
if dFutureResidualLength < CONFIG.BEAM_SAFETY_BUFFER - 10 * GEO.EPS_SMALL then
return nil
end
@@ -610,7 +613,7 @@ for i = 1, #RawInventory.ActiveBeams do
local Beam = RawInventory.ActiveBeams[i]
-- creazione MachGroup
local sMachGroup = EgtGetMachGroupNewName( i)
local sMachGroup = BeamLib.GetNewMachGroupName()
local idMachGroup = EgtAddMachGroup( sMachGroup)
-- assegnazione info