diff --git a/LuaLibs/WallExec.lua b/LuaLibs/WallExec.lua index d262e1e..c8c7c4d 100644 --- a/LuaLibs/WallExec.lua +++ b/LuaLibs/WallExec.lua @@ -1,4 +1,4 @@ --- WallExec.lua by Egaltech s.r.l. 2023/10/16 +-- WallExec.lua by Egaltech s.r.l. 2024/02/20 -- Libreria esecuzione lavorazioni per Pareti -- 2023/05/25 Aggiunto ordinamento in base a priorità da btl. -- 2023/06/07 Nel caso di outline con priorità aggiunta la rimozione degli sfridi nella lavorazione successiva. @@ -8,6 +8,7 @@ -- 2023/11/14 Modifiche sostanziali per l'aggiunta delle lavorazioni in doppio. -- In Collect aggiunto il recupero preliminare di varie informazioni sulla feature. -- 2023/12/11 In ClassifyTopology si passa ora anche l'Id del grezzo (allineamento Topology con Beam). +-- 2024/02/20 Aggiunta gestione DeltaX/Y/Z del pannello dall'origine da BTL. -- Tabella per definizione modulo local WallExec = {} @@ -80,33 +81,37 @@ function WallExec.ProcessWalls( dRawL, dRawW, dRawH, vWall, bMachGroupOk, bNewPr local OrigOnTab local nCorner local sOrigCorner = WD.ORIG_CORNER or 'BR' + local BtlInfoId = EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or GDB_ID.NULL if WD.GetOrigCorner then - sOrigCorner = WD.GetOrigCorner( EgtGetInfo( EgtGetFirstNameInGroup( GDB_ID.ROOT, 'BtlInfo') or GDB_ID.NULL, 'REFPOS', 'i') or 0) - end + sOrigCorner = WD.GetOrigCorner( EgtGetInfo( BtlInfoId, 'REFPOS', 'i') or 0) + end + local DeltaX = EgtGetInfo( BtlInfoId, 'PANELDELTAY', 'd') or WD.DELTA_X or 0 + local DeltaY = EgtGetInfo( BtlInfoId, 'PANELDELTAX', 'd') or WD.DELTA_Y or 0 + local DeltaZ = EgtGetInfo( BtlInfoId, 'PANELDELTAZ', 'd') or WD.DELTA_Z or 0 if sOrigCorner == 'TL' then nCorner = MCH_CR.TL - OrigOnTab = Point3d( 0 + abs( WD.DELTA_X or 0), b3Tab:getDimY() - abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( 0 + abs( DeltaX), b3Tab:getDimY() - abs( DeltaY), DeltaZ) elseif sOrigCorner == 'BL' then nCorner = MCH_CR.BL - OrigOnTab = Point3d( 0 + abs( WD.DELTA_X or 0), abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( 0 + abs( DeltaX), abs( DeltaY), DeltaZ) elseif sOrigCorner == 'TR' then nCorner = MCH_CR.TR - OrigOnTab = Point3d( b3Tab:getDimX() - abs( WD.DELTA_X or 0), b3Tab:getDimY() - abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( b3Tab:getDimX() - abs( DeltaX), b3Tab:getDimY() - abs( DeltaY), DeltaZ) elseif sOrigCorner == 'BR' then nCorner = MCH_CR.BR - OrigOnTab = Point3d( b3Tab:getDimX() - abs( WD.DELTA_X or 0), abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( b3Tab:getDimX() - abs( DeltaX), abs( DeltaY), DeltaZ) elseif sOrigCorner == 'TM' then nCorner = MCH_CR.TR - OrigOnTab = Point3d( WD.MID_REF - abs( WD.DELTA_X or 0), b3Tab:getDimY() - abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( WD.MID_REF - abs( DeltaX), b3Tab:getDimY() - abs( DeltaY), DeltaZ) elseif sOrigCorner == 'BM' then nCorner = MCH_CR.BR - OrigOnTab = Point3d( WD.MID_REF - abs( WD.DELTA_X or 0), abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( WD.MID_REF - abs( DeltaX), abs( DeltaY), DeltaZ) elseif sOrigCorner == 'TN' then nCorner = MCH_CR.TL - OrigOnTab = Point3d( WD.NEW_REF + abs( WD.DELTA_X or 0), b3Tab:getDimY() - abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( WD.NEW_REF + abs( DeltaX), b3Tab:getDimY() - abs( DeltaY), DeltaZ) elseif sOrigCorner == 'BN' then nCorner = MCH_CR.BL - OrigOnTab = Point3d( WD.NEW_REF + abs( WD.DELTA_X or 0), abs( WD.DELTA_Y or 0), ( WD.DELTA_Z or 0)) + OrigOnTab = Point3d( WD.NEW_REF + abs( DeltaX), abs( DeltaY), DeltaZ) end -- Impostazione dell'attrezzaggio di default EgtImportSetup() diff --git a/Version.lua b/Version.lua index c219a27..f77eb18 100644 --- a/Version.lua +++ b/Version.lua @@ -1,6 +1,6 @@ --- Version.lua by Egalware s.r.l. 2023/12/13 +-- Version.lua by Egalware s.r.l. 2024/02/20 -- Gestione della versione di Wall NAME = 'Wall' -VERSION = '2.6b1' +VERSION = '2.6b2' MIN_EXE = '2.5b3'