From 525ac0846dbd288184c61616dee06d35588576b0 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Mon, 18 Jul 2022 15:22:16 +0200 Subject: [PATCH] BugFix/LongCutOnT10AlsoOnSide: LongCut anche per feature sul lato per macchine tipo PF1250 --- LuaLibs/ProcessCut.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index ec9cf13..ec2699c 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -11,6 +11,7 @@ -- 2022/05/31 Alcune modifiche per utilizzare la ProcessCut.Make in ProcessSplit e ProcessHeadCut, per le sezioni alte e larghe. -- 2022/06/10 Aggiunto il parametro dOvmTail per gestire sovramateriali in coda diversi da OVM_MID (sezioni alte e larghe). -- 2022/06/28 Modificata determinazione taglio bFromBottom in MakeFromTop. +-- 2022/07/18 Se Q04=1, aggiunto LongCut anche dal lato per macchine tipo PF1250. -- Tabella per definizione modulo local ProcessCut = {} @@ -243,9 +244,18 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b local bLongCut = ( not bDownCut and vtN:getZ() > 0.865 and Proc.Box:getDimY() > b3Solid:getDimY() - 10 * GEO.EPS_SMALL and ( Proc.Box:getDimX() > 0.75 * b3Solid:getDimX() or Proc.Box:getDimX() > 600.000)) + -- verifico se da considerare taglio lungo dal lato, solo per macchine tipo PF1250, inclinato non più di 30deg + local bLongCutFromSide = ( not bDownCut and ( BD.C_SIMM and BD.DOWN_HEAD and ( vtN:getY() > 0.865 or vtN:getY() < -0.865) and + Proc.Box:getDimZ() > b3Solid:getDimZ() - 10 * GEO.EPS_SMALL) and + ( Proc.Box:getDimX() > 0.75 * b3Solid:getDimX() or Proc.Box:getDimX() > 600.000)) -- se taglio lungo e Q04 = 1 allora lancio il processo dell'L10 - if bLongCut and EgtGetInfo( Proc.Id, 'Q04', 'i') == 1 then - return LongCut.Make( Proc, nPhase, nRawId, nPartId, true) + local bNoDicing = EgtGetInfo( Proc.Id, 'Q04', 'i') == 1 + if bNoDicing then + if bLongCut then + return LongCut.Make( Proc, nPhase, nRawId, nPartId, true) + elseif bLongCutFromSide then + return LongCut.Make( Proc, nPhase, nRawId, nPartId, false, 2) + end end -- se pezzo ancora attaccato alla trave, per non rovinare quello successivo local bFillAreaPiece