From d2237aeaf4b0d7c7674959ba809f61038c64fcbd Mon Sep 17 00:00:00 2001 From: Annamaria Sassi Date: Fri, 31 Jul 2026 18:35:53 +0200 Subject: [PATCH] CAMAuto : modificato ordinamento lavorazioni testa --- CAMAuto/BatchProcessWin.lua | 4 ++-- CAMAuto/CreateMachGroups.lua | 4 ++-- CAMAuto/LuaLibs/WinExec.lua | 5 +++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CAMAuto/BatchProcessWin.lua b/CAMAuto/BatchProcessWin.lua index d6f72c5..a10ebba 100644 --- a/CAMAuto/BatchProcessWin.lua +++ b/CAMAuto/BatchProcessWin.lua @@ -179,10 +179,10 @@ local function MyProcessPieces() end -- si dispongono i pezzi sulla tavola - local bDispOk, sErr = WinData.AdjustDisposition( PARTS) + local bDispOk, sErr = WinData.Disposition( PARTS, false) if not bDispOk then if not sErr then - sErr = 'Errore non gestito in WinData.AdjustDisposition' + sErr = 'Errore non gestito in WinData.Disposition' end EgtOutBox( sErr, 'BatchProcessWin', 'ERROR', 'OK') return false diff --git a/CAMAuto/CreateMachGroups.lua b/CAMAuto/CreateMachGroups.lua index 584f6d4..8b5d337 100644 --- a/CAMAuto/CreateMachGroups.lua +++ b/CAMAuto/CreateMachGroups.lua @@ -295,10 +295,10 @@ local function CreateMachGroups() PartData.AddOverMaterialToRaw( GROUPS[j], true) -- si dispongono i pezzi sulla tavola - local bDispOk, sErr = WinData.ExecDisposition( GROUPS[j]) + local bDispOk, sErr = WinData.Disposition( GROUPS[j], true) if not bDispOk then if not sErr then - sErr = 'Errore non gestito in WinData.ExecDisposition' + sErr = 'Errore non gestito in WinData.Disposition' end return false end diff --git a/CAMAuto/LuaLibs/WinExec.lua b/CAMAuto/LuaLibs/WinExec.lua index e9d7f19..efa3f47 100644 --- a/CAMAuto/LuaLibs/WinExec.lua +++ b/CAMAuto/LuaLibs/WinExec.lua @@ -383,6 +383,11 @@ local function OrderMachining( MACHININGS) return false elseif B2.Proc.sProfileInfo == 'Mixed' and B1.Proc.sProfileInfo ~= 'Mixed' then return true + -- prima i tutti i profili di testa + elseif B1.Proc.bHeadProfile and not B2.Proc.bHeadProfile then + return true + elseif B2.Proc.bHeadProfile and not B1.Proc.bHeadProfile then + return false -- negli altri casi si ordina solo in base alla posizione elseif B1.Proc.b3Box:getCenter():getX() - B2.Proc.b3Box:getCenter():getX() < 10 * GEO.EPS_SMALL then return EgtIf( B1.AuxiliaryData.nPhase == 1, true, false) -- se arrivati a questo controllo, la fase di lavorazione di entrambe รจ la stessa, quindi mi basta controllarne una