From 6f2b3b9ce6327fc25f9da67e7d69c3d519930b3b Mon Sep 17 00:00:00 2001 From: DarioS Date: Tue, 15 Feb 2022 12:14:56 +0100 Subject: [PATCH] =?UTF-8?q?DataBeam=20:=20-=20aggiunto=20messaggio=20di=20?= =?UTF-8?q?errore=20se=20pezzo=20pi=C3=B9=20piccolo=20del=20grezzo=20-=20m?= =?UTF-8?q?igliorata=20gestione=20tasche=20con=20almeno=20un=20lato=20aper?= =?UTF-8?q?to=20tramite=20svuotature=20a=20zigzag=20ottimizzate=20quando?= =?UTF-8?q?=20applicabili=20-=20abilitata=20lavorazione=20tenoni=20orienta?= =?UTF-8?q?ti=20verso=20il=20basso=20su=20macchine=20con=20testa=20da=20so?= =?UTF-8?q?tto.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamExec.lua | 3 +++ LuaLibs/ProcessLapJoint.lua | 6 ++++-- LuaLibs/ProcessTenon.lua | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 9491131..25abe42 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -221,6 +221,9 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, vBeam, bMachGroup -- aggiorno grezzo precedente nPrevRaw = nRaw dPrevDelta = Delta + else + local sOut = 'Error: part L(' .. EgtNumToString( PartLen, 1) .. ') too big for raw part L(' .. EgtNumToString( Len - 0.1, 1) .. ')' + return false, sOut end -- se rimasto troppo poco grezzo, esco --if Len < BD.MinRaw then break end diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 78d3833..67225b6 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -178,7 +178,7 @@ end --------------------------------------------------------------------- local function TestElleShape3( Proc, bNotProc) - -- se non passat il Proc vero e proprio + -- se non passato il Proc vero e proprio local nNumFacet local nProcId if bNotProc then @@ -3317,8 +3317,10 @@ local function MakePocket( Proc, nPartId, ptPs, tvtN, nFaceRef, sMchFind, nUseRo end if sMchFind == 'OpenPocket' and dDiamTool < 90 then local _, dH, dV = EgtSurfTmFacetMinAreaRectangle( Proc.Id, nFaceRef, GDB_ID.ROOT) - if min( dH, dV) < 1.5 * dDiamTool then + local bL = ( Proc.Fct < 4 or TestElleShape4( Proc) == 2) + if bL and min( dH, dV) < 1.5 * dDiamTool then EgtSetMachiningParam( MCH_MP.SUBTYPE, MCH_POCK_SUB.ZIGZAG) + EgtSetMachiningParam( MCH_MP.INVERT, false) EgtSetMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX) EgtSetMachiningParam( MCH_MP.LITANG, dDiamTool) EgtSetMachiningParam( MCH_MP.LIELEV, 2) diff --git a/LuaLibs/ProcessTenon.lua b/LuaLibs/ProcessTenon.lua index f756368..7922b7f 100644 --- a/LuaLibs/ProcessTenon.lua +++ b/LuaLibs/ProcessTenon.lua @@ -1,6 +1,7 @@ --- ProcessTenon.lua by Egaltech s.r.l. 2021/10/04 +-- ProcessTenon.lua by Egaltech s.r.l. 2022/02/15 -- Gestione calcolo tenone per Travi -- 2021/10/04 Corretto calcolo HCING per pezzi piccoli. +-- 2022/02/15 Aggiornata VerifyOrientation per macchine con testa da sotto. -- Tabella per definizione modulo local ProcessTenon = {} @@ -19,6 +20,10 @@ local ML = require( 'MachiningLib') --------------------------------------------------------------------- local function VerifyOrientation( Proc, vtN, b3Raw) + -- se PF con testa da sotto, ammessa qualunque orientazione + if BD.C_SIMM and BD.DOWN_HEAD then + return true + end -- se trave molto bassa if b3Raw:getDimZ() <= 120 then -- se tenone praticamente in asse, accetto fino a -45 deg