diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 8c2e070..59af38c 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -106,6 +106,7 @@ -- 2024/04/17 In MakeMoreLongFaces corretto calcolo divisione in parti per evitare problemi di ceil con interi perfetti (ceil(3) = 3 o 4??) -- 2024/04/22 In IsTailFeature se LapJoint a 2 facce che taglia intera sezione, deve essere fatto dopo taglio di coda -- 2024/06/18 In MakeByMillAsSaw si cerca di orientare il motore verso il lato più vicino (rispetto a dove è la feature) +-- 2024/06/28 In VerifySideMillAsSaw modificato criterio ricerca utensile in base a normale della faccia -- Tabella per definizione modulo local ProcessLapJoint = {} @@ -565,8 +566,19 @@ local function VerifySideMillAsSaw( Proc, nAddGrpId, vtN, dDiam, dFacElev) return false end -- Recupero la lavorazione - local bDownHead = ( BD.DOWN_HEAD and vtN:getZ() < BD.NZ_MINA) - local sMillingOnSide = ML.FindMilling( 'SideMillAsBlade', nil, nil, nil, nil, not bDownHead, bDownHead) + local bDownHead + local sMillingOnSide + -- se ho testa da sotto e lap-joint diretto verso il basso, cerco prima testa sotto + if BD.DOWN_HEAD and vtN:getZ() < BD.NZ_MINA then + bDownHead = true + sMillingOnSide = ML.FindMilling( 'SideMillAsBlade_H2', nil, nil, nil, nil, not bDownHead, bDownHead) + end + -- se non ha trovato su testa sotto, cerco su testa sopra + if not sMillingOnSide then + bDownHead = false + sMillingOnSide = ML.FindMilling( 'SideMillAsBlade', nil, nil, nil, nil, not bDownHead, bDownHead) + end + if not sMillingOnSide then return false end