From 4b671ee541a3ac3832ca3a0f5d31188092f91a4e Mon Sep 17 00:00:00 2001 From: DarioS Date: Wed, 27 Oct 2021 13:24:04 +0200 Subject: [PATCH] DataWall : - aggiunta gestione prigini intermedie TM e BM - corretto controllo spessore nel caso di pareti a layer. --- BatchProcess.lua | 5 +++-- LuaLibs/WallExec.lua | 12 +++++++++--- Process.lua | 5 +++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/BatchProcess.lua b/BatchProcess.lua index abaea9e..bd38cc6 100644 --- a/BatchProcess.lua +++ b/BatchProcess.lua @@ -1,4 +1,4 @@ --- BatchProcess.lua by Egaltech s.r.l. 2021/07/28 +-- BatchProcess.lua by Egaltech s.r.l. 2021/10/27 -- Gestione calcolo batch disposizione e lavorazioni per Pareti -- 2020/07/24 Nuvola di punti riferita allo Zero Tavola. -- 2020/10/28 Corretto spostamento pezzi per rotazioni (0 o 180) e inversioni( 0, 90, 180, o 270). @@ -8,6 +8,7 @@ -- 2021/03/08 Aggiunta gestione lavorazione su macchine per travi. -- 2021/04/09 Corretto spostamento pezzi per rotazioni e inversioni. -- 2021/07/28 Aggiunta scelta direzione di vista per modifica e simulazione. +-- 2021/10/27 Nel controllo spessore si deve considerare anche PosY. -- Intestazioni require( 'EgtBase') @@ -340,7 +341,7 @@ if bToProcess then local dRawH = vWall[1].Box:getDimZ() + vWall[1].PosY local vWallErr = {} for i = 2, #vWall do - local dDimH = vWall[i].Box:getDimZ() + local dDimH = vWall[i].Box:getDimZ() + vWall[i].PosY if abs( dDimH - dRawH) > 10 * GEO.EPS_SMALL then table.insert( vWallErr, i) end diff --git a/LuaLibs/WallExec.lua b/LuaLibs/WallExec.lua index 9b19527..a6df6f7 100644 --- a/LuaLibs/WallExec.lua +++ b/LuaLibs/WallExec.lua @@ -1,4 +1,4 @@ --- WallExec.lua by Egaltech s.r.l. 2021/10/19 +-- WallExec.lua by Egaltech s.r.l. 2021/10/27 -- Libreria esecuzione lavorazioni per Pareti -- Tabella per definizione modulo @@ -77,13 +77,19 @@ function WallExec.ProcessWalls( dRawL, dRawW, dRawH, vWall, bMachGroupOk, bPartO OrigOnTab = Point3d( 0, b3Tab:getDimY(), 0) elseif sOrigCorner == 'BL' then nCorner = MCH_CR.BL - OrigOnTab = Point3d(0, 0, 0) + OrigOnTab = Point3d( 0, 0, 0) elseif sOrigCorner == 'TR' then nCorner = MCH_CR.TR OrigOnTab = Point3d( b3Tab:getDimX(), b3Tab:getDimY(), 0) - else -- 'BR' + elseif sOrigCorner == 'BR' then nCorner = MCH_CR.BR OrigOnTab = Point3d( b3Tab:getDimX(), 0, 0) + elseif sOrigCorner == 'TM' then + nCorner = MCH_CR.TR + OrigOnTab = Point3d( WD.MID_REF, b3Tab:getDimY(), 0) + elseif sOrigCorner == 'BM' then + nCorner = MCH_CR.BR + OrigOnTab = Point3d( WD.MID_REF, 0, 0) end -- Impostazione dell'attrezzaggio di default EgtImportSetup() diff --git a/Process.lua b/Process.lua index 2da76f1..a024617 100644 --- a/Process.lua +++ b/Process.lua @@ -1,7 +1,8 @@ --- Process.lua by Egaltech s.r.l. 2021/07/21 +-- Process.lua by Egaltech s.r.l. 2021/07/27 -- Gestione calcolo disposizione e lavorazioni per Pareti -- Si opera sulla macchina corrente -- 2020/12/09 Come per BatchProcess.lua si gestiscono anche rotazioni di inversione con valori negativi. +-- 2021/10/27 Come per BatchProcess.lua nel controllo spessore si deve considerare anche PosY. -- Intestazioni require( 'EgtBase') @@ -168,7 +169,7 @@ local function MyProcessInputData() dRawH = vWall[1].Box:getDimZ() + vWall[1].PosY local vWallErr = {} for i = 2, #vWall do - local dDimH = vWall[i].Box:getDimZ() + local dDimH = vWall[i].Box:getDimZ() + vWall[i].PosY if abs( dDimH - dRawH) > 10 * GEO.EPS_SMALL then table.insert( vWallErr, i) end