From 3aefca4613bfa9fa08e1077319c91fc39ebb75e6 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 4 Sep 2024 09:16:24 +0200 Subject: [PATCH] - In Mark, gestita la lavorazione del testo --- LuaLibs/ProcessMark.lua | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/LuaLibs/ProcessMark.lua b/LuaLibs/ProcessMark.lua index 328279e..a07e321 100644 --- a/LuaLibs/ProcessMark.lua +++ b/LuaLibs/ProcessMark.lua @@ -3,6 +3,7 @@ -- 2020/05/28 Tipo di lavorazione passato da Mark a Text. -- 2021/05/03 Aggiunta gestione testa da sotto. -- 2022/12/05 Aggiunta gestione tipo di lavorazione Text_AT. +-- 2024/09/04 In Make gestione di più geometrie ausiliarie ( ora si lavora anche il testo, oltre che alle linee di marcatura) -- Tabella per definizione modulo local ProcessMark = {} @@ -50,9 +51,6 @@ end --------------------------------------------------------------------- -- Applicazione della lavorazione function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) - -- recupero eventuale geometria ausiliaria - local AuxId = EgtGetInfo( Proc.Id, 'AUXID', 'i') - if AuxId then AuxId = AuxId + Proc.Id end -- recupero i dati della marcatura local vtExtr if EgtGetType( Proc.Id) ~= GDB_TY.EXT_TEXT then @@ -108,13 +106,15 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) EgtSetOperationMode( nMchFId, false) return false, sErr end - -- eventuale lavorazione su seconda geometria - if AuxId then + -- si verifica se ci sono altre geometrie da lavorare + local AdditionalGeometries = EgtSplitString( EgtGetInfo( Proc.Id, 'AUXID', 's')) or {} + for i = 1, #AdditionalGeometries do + local AuxId = Proc.Id + AdditionalGeometries[i] -- inserisco la lavorazione di fresatura - local sName2 = 'Decor2_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) - local nMchF2Id = EgtAddMachining( sName, sMilling) - if not nMchF2Id then - local sErr = 'Error adding machining ' .. sName2 .. '-' .. sMilling + local nOtherMachiningId = EgtAddMachining( sName, sMilling) + if not nOtherMachiningId then + sName = 'Decor' .. '_' .. tostring( i) .. '_' .. ( EgtGetName( Proc.Id) or tostring( Proc.Id)) + local sErr = 'Error adding machining ' .. sName .. '-' .. sMilling EgtOutLog( sErr) return false, sErr end @@ -125,14 +125,14 @@ function ProcessMark.Make( Proc, nPhase, nRawId, nPartId) -- eseguo if not ML.ApplyMachining( true, false) then local _, sErr = EgtGetLastMachMgrError() - EgtSetOperationMode( nMchF2Id, false) + EgtSetOperationMode( nOtherMachiningId, false) return false, sErr end -- se geometria a X maggiore, la sposto prima local ptS1 = EgtSP( Proc.Id, GDB_ID.ROOT) local ptS2 = EgtSP( AuxId, GDB_ID.ROOT) if ptS2:getX() > ptS1:getX() then - EgtRelocateGlob( nMchF2Id, nMchFId, GDB_IN.BEFORE) + EgtRelocateGlob( nOtherMachiningId, nMchFId, GDB_IN.BEFORE) end end return true