From ba2ff5a7a7ee809849d6994077ad805feb0c719d Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 12 Dec 2025 16:45:29 +0100 Subject: [PATCH] =?UTF-8?q?-=20se=20pretagli=20di=20coda=20sono=20attivi,?= =?UTF-8?q?=20si=20aumenta=20di=2010mm=20la=20lunghezza=20del=20grezzo=20p?= =?UTF-8?q?er=20fare=20effettivamente=20tagliare=20del=20materiale=20-=20i?= =?UTF-8?q?l=20calcolo=20per=20limitare=20dimensione=20cubetti=20in=20caso?= =?UTF-8?q?=20di=20cubetti=20romboidi=20=C3=A8=20limitato=20a=200.5=20del?= =?UTF-8?q?=20teorico?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamExec.lua | 6 ++++++ LuaLibs/DiceCut.lua | 2 +- LuaLibs/ProcessSplit.lua | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index f5e01f1..f2d7a39 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -554,6 +554,12 @@ function BeamExec.ProcessBeams( dRawW, dRawH, dRawL, dOvmHead, dOvmMid, vBeam, b BD.OVM_BLADE_HBEAM = ( BD.OVM_BLADE_HBEAM or 11) BD.OVM_CHAIN_HBEAM = ( BD.OVM_CHAIN_HBEAM or 8) + -- se pretagli di coda sono attivi, aumento di 10mm la lunghezza del grezzo per fare effettivamente tagliare del materiale. + -- Altrimenti le lavorazioni pensano di essere nel vuoto e si muovono in rapido + if BD.PRECUT_TAIL and VerifyBigSectionCut( dRawW, dRawH) then + dRawL = dRawL + 10 + end + -- sovramateriale intermedio nullo se non definito dOvmMid = ( dOvmMid or 0) diff --git a/LuaLibs/DiceCut.lua b/LuaLibs/DiceCut.lua index 183fa66..997799b 100644 --- a/LuaLibs/DiceCut.lua +++ b/LuaLibs/DiceCut.lua @@ -423,7 +423,7 @@ function DiceCut.GetDice( nParent, BBoxRawPart, ptCPlanes, vtNPlanes, bGetOrtoPl -- se piani non ortogonali, diminuisco la distanza di offset opportunamente local originalOffsetP = OffsetP if not bGetOrtoPlanes then - local dCoeff = ( vtNPlanes ^ vtNBond):len() + local dCoeff = max( ( vtNPlanes ^ vtNBond):len(), 0.5) OffsetP = OffsetP * dCoeff OffsetO = OffsetO * dCoeff end diff --git a/LuaLibs/ProcessSplit.lua b/LuaLibs/ProcessSplit.lua index 18979b6..62664c4 100644 --- a/LuaLibs/ProcessSplit.lua +++ b/LuaLibs/ProcessSplit.lua @@ -301,6 +301,10 @@ local function MakeCutByChainSaw( nSurfId, sSawing, nFaceUse, dDepth, sNotes, dR local vtN = EgtSurfTmFacetNormVersor( nSurfId, 0, GDB_ID.ROOT) local vtOrtho = BL.GetVersRef( nFaceUse) EgtSetMachiningParam( MCH_MP.INITANGS, BL.GetChainSawInitAngs( vtN, vtOrtho, 1)) + -- se il taglio è un precut, sto 10mm più all'interno per essere sicuro di tagliare effettivamente qualcosa + if BD.PRECUT_TAIL and sNotes and sNotes:find( 'Precut;') then + dRadialOffset = dRadialOffset - 10 + end -- imposto offset radiale per mantenere il materiale in coda per la finitura EgtSetMachiningParam( MCH_MP.OFFSR, dRadialOffset) -- imposto eventuale allungamento percorso iniziale