diff --git a/LuaLibs/ProcessMortise.lua b/LuaLibs/ProcessMortise.lua index a524dd4..ffd34f5 100644 --- a/LuaLibs/ProcessMortise.lua +++ b/LuaLibs/ProcessMortise.lua @@ -1,4 +1,4 @@ --- ProcessMortise.lua by Egaltech s.r.l. 2023/05/11 +-- ProcessMortise.lua by Egaltech s.r.l. 2023/07/21 -- Gestione calcolo mortase per Travi -- 2021/07/20 Aggiunta gestione rinvio angolare su FAST. -- 2021/12/01 Se frontale aggiungo taglio con Grp e Proc di vero taglio (per aggiornare ingombro di testa /coda). @@ -11,6 +11,7 @@ -- 2023/01/31 Creata la funzione ConvertToClosedCurve (parte della ProcessMortise.Make) e spostata in BeamLib. -- 2023/05/11 Se lavorazione in doppio e precedente no oppure di tipo diverso, forzo risalita a Zmax. -- 2023/06/27 Esclusa la ricerca lati aperti per le mortase passanti, per le quali il contorno finisce sulla faccia e il riconoscimento sbaglia. +-- 2023/07/21 Correzioni per mortise passanti con curva Aux che guarda in basso. -- Tabella per definizione modulo local ProcessMortise = {} @@ -456,9 +457,9 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr end - -- verifico se invertire versore estrusione geometria + -- verifico se invertire direzione utensile if bRevertSide then - EgtModifyCurveExtrusion( AuxId, -vtExtr, GDB_ID.ROOT) + EgtSetMachiningParam( MCH_MP.TOOLINVERT, true) end -- aggiungo geometria EgtSetMachiningGeometry( {{ AuxId, -1}}) @@ -499,9 +500,18 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) dMorH = dMaxDepth EgtOutLog( sWarn .. ' (process ' .. tostring( Proc.Id) .. ')') else - if bOpenBtm and not bForceOneSide then -- se mortasa passante setto metà profondità + -- se passante e lavorabile da due lati + if bOpenBtm and not bForceOneSide then + -- imposto metà profondità nDepthMin = -dMorH EgtSetMachiningParam( MCH_MP.DEPTH, nDepthMin) + -- se altrimenti passante ma lavorabile solo da un lato + elseif bOpenBtm and bForceOneSide then + if bRevertSide then + EgtSetMachiningParam( MCH_MP.DEPTH, min( dMorH + BD.CUT_EXTRA, dMaxDepth)) + else + EgtSetMachiningParam( MCH_MP.DEPTH, min( BD.CUT_EXTRA, dMaxDepth - dMorH)) + end end end -- imposto elevazione