From 270bca6bcc7fbe778d7f8d0fcc57deff58d5596d Mon Sep 17 00:00:00 2001 From: DarioS Date: Thu, 20 Apr 2023 21:39:57 +0200 Subject: [PATCH] =?UTF-8?q?DataBeam=20:=20-=20in=20tagli=20di=20testa=20e?= =?UTF-8?q?=20coda=20aumentato=20appena=20(10.123)=20spessore=20minimo=20a?= =?UTF-8?q?pplicazione=20cubetti=20speciali=20-=20in=20tagli=20di=20coda?= =?UTF-8?q?=20cubetti=20speciali=20rimesse=20note=20lavorazione=20'PreCut;?= =?UTF-8?q?'=20e=20'Cut;'=20-=20in=20tagli=20di=20coda=20cubetti=20special?= =?UTF-8?q?i=20rimessa=20restituzione=203=C2=B0=20parametro=20nNewPhase=20?= =?UTF-8?q?-=20in=20tagli=20longitudinali=20per=20macchine=20PF=20(BD.C=5F?= =?UTF-8?q?SIMM)=20modificata=20assegnazione=20SCC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/ProcessHeadCut.lua | 2 +- LuaLibs/ProcessLongCut.lua | 7 +++++-- LuaLibs/ProcessSplit.lua | 14 +++++++------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/LuaLibs/ProcessHeadCut.lua b/LuaLibs/ProcessHeadCut.lua index f0b51b1..07d05a9 100644 --- a/LuaLibs/ProcessHeadCut.lua +++ b/LuaLibs/ProcessHeadCut.lua @@ -273,7 +273,7 @@ function ProcessHeadCut.Make( Proc, nPhase, nRawId, nPartId, dOvmHead, bNeedHCut -- per travi alte faccio faccio dei tagli orizzontali aggiuntivi local _, _, dimV = BL.GetFaceHvRefDim( Proc.Id, 0, b3Raw) - local dMinOvmHeadForHorizontalCuts = 10 + local dMinOvmHeadForHorizontalCuts = 10.123 local bAreHorizontalCutsNeeded = ( dimV > BD.MAX_LEN_DICE) and not bBigSectionCut and ( dOvmHead > dMinOvmHeadForHorizontalCuts - 10 * GEO.EPS_SMALL) if bAreHorizontalCutsNeeded then local nHorizontalCuts = ceil ( dimV / BD.MAX_DIM_DICE) - 1 diff --git a/LuaLibs/ProcessLongCut.lua b/LuaLibs/ProcessLongCut.lua index bf8ea81..f2a325a 100644 --- a/LuaLibs/ProcessLongCut.lua +++ b/LuaLibs/ProcessLongCut.lua @@ -175,8 +175,8 @@ function ProcessLongCut.GetSCC( Proc, nFacet, sMachining, nFaceUse, bInvert, nCu else nSCC = EgtIf( ( not ( nCuttingStep == 1 or nCuttingStep == nC - 1)), MCH_SCC.ADIR_XM, MCH_SCC.ADIR_XP) end - -- per PF o simili oppure se Fast ( caso speciale con taglio non passante e inclinato in X) e lama con aggregato lo posiziono per stare il più lontano possibile dalla trave - elseif ( bIsBlade and bIsTopBlade) or not BD.C_SIMM then + -- per Fast ( caso speciale con taglio non passante e inclinato in X) + elseif not BD.C_SIMM then local vtAux = GetProcessSpecificVectors( Proc, nFacet, nFaceUse, bInvert, sMachining) if bCustUseBlade then nSCC = EgtIf( ( nFaceUse == MCH_MILL_FU.ORTHO_TOP or nFaceUse == MCH_MILL_FU.ORTHO_FRONT) and vtN:getY() > -GEO.EPS_SMALL, MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) @@ -185,6 +185,9 @@ function ProcessLongCut.GetSCC( Proc, nFacet, sMachining, nFaceUse, bInvert, nCu else nSCC = EgtIf( ( vtAux:getY() > -GEO.EPS_SMALL), MCH_SCC.ADIR_YP, MCH_SCC.ADIR_YM) end + -- per PF o simili e lama con aggregato lo posiziono per stare il più lontano possibile dalla trave + elseif ( bIsBlade and bIsTopBlade) then + nSCC = MCH_SCC.ADIR_XP -- per PF o simili e lama senza aggregato o fresa non do alcuna preferenza else nSCC = MCH_SCC.NONE diff --git a/LuaLibs/ProcessSplit.lua b/LuaLibs/ProcessSplit.lua index 5d7d8fd..b7527f1 100644 --- a/LuaLibs/ProcessSplit.lua +++ b/LuaLibs/ProcessSplit.lua @@ -475,7 +475,7 @@ function ProcessSplit.Make( Proc, nPhase, nRawId, nPartId, nOrd, sDownOrSideOrSt -- per travi alte faccio faccio dei tagli orizzontali aggiuntivi local _, _, dimV = BL.GetFaceHvRefDim( Proc.Id, 0, b3Raw) - local dMinTailScrapForHorizontalCuts = 10 + local dMinTailScrapForHorizontalCuts = 10.123 local bAreHorizontalCutsNeeded = ( dimV > BD.MAX_LEN_DICE) and not bBigSectionCut and ( dLenEndRaw > dMinTailScrapForHorizontalCuts - 10 * GEO.EPS_SMALL) if bAreHorizontalCutsNeeded then local nHorizontalCuts = ceil ( dimV / BD.MAX_DIM_DICE) - 1 @@ -489,21 +489,21 @@ function ProcessSplit.Make( Proc, nPhase, nRawId, nPartId, nOrd, sDownOrSideOrSt local nForceWorkSide = MCH_MILL_WS.LEFT local bForceInvert = true local nForceSCC = MCH_SCC.ADIR_XM - local bOk, sErr = Fbs.MakeOne( Proc.Id, 0 , sCutting, dSawDiam, nFaceUse, nil, -0.1 - dCutXOffset, BD.CUT_SIC, dHorizontalCutOffset, 0, 0, '', b3Raw, bForceInvert, nForceWorkSide, nForceSCC) - if not bOk then return bOk, sErr end + local bOk, sErr = Fbs.MakeOne( Proc.Id, 0 , sCutting, dSawDiam, nFaceUse, nil, -0.1 - dCutXOffset, BD.CUT_SIC, dHorizontalCutOffset, 0, 0, 'Precut;', b3Raw, bForceInvert, nForceWorkSide, nForceSCC) + if not bOk then return false, sErr end end -- se necessario taglio verticale doppio, eseguo l'opposto if bDoubleCut then -- gli accorciamenti vanno invertiti per il taglio opposto local dAccStartDoubleCut, dAccEndDoubleCut = dAccEnd, dAccStart - local bOk, sErr = Fbs.MakeOne( Proc.Id, 0, sCutting, dSawDiam, MCH_MILL_FU.ORTHO_FRONT, nil, dCutExtra, BD.CUT_SIC, dCutXOffset, dAccStartDoubleCut, dAccEndDoubleCut, '', b3Raw, true) + local bOk, sErr = Fbs.MakeOne( Proc.Id, 0, sCutting, dSawDiam, MCH_MILL_FU.ORTHO_FRONT, nil, dCutExtra, BD.CUT_SIC, dCutXOffset, dAccStartDoubleCut, dAccEndDoubleCut, 'Precut;', b3Raw, true) if not bOk then return false, sErr end end -- taglio verticale - local bOk, sErr = Fbs.MakeOne( Proc.Id, 0, sCutting, dSawDiam, nOrthoOpposite, nil, dCutExtra, BD.CUT_SIC, dCutXOffset, dAccStart, dAccEnd, '', b3Raw) - if not bOk then return bOk, sErr end + local bOk, sErr = Fbs.MakeOne( Proc.Id, 0, sCutting, dSawDiam, nOrthoOpposite, nil, dCutExtra, BD.CUT_SIC, dCutXOffset, dAccStart, dAccEnd, 'Cut;', b3Raw) + if not bOk then return false, sErr end end - return true, sWarn + return true, sWarn, nNewPhase end -- se necessari tagli in doppio, eseguo gli opposti