diff --git a/.gitignore b/.gitignore index 4789404..8e23b4e 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,7 @@ /bin/LuaLibs/*.lua /bin/Images/*.png .vscode/settings.json +bin/Images/.placeholder +bin/LuaLibs/.placeholder +bin/Images/.placeholder +bin/LuaLibs/.placeholder diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index 6cf46d6..b268e0a 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -67,6 +67,7 @@ -- 2023/03/31 Correzione al calcolo della distanza di collisione nel caso in cui il gambo sia più piccolo dell'utensile. -- 2023/06/06 Limiti su svuotature tasche a L 4 facce come per L 3 facce. In svuotatura aggiunto recupero UserNotes da libreria per MaxOptSize. -- 2023/16/12 Corretto il recupero dati utensile che, in alcune funzioni, puntava all'utensile errato. +-- 2023/06/29 Se forzata lavorazione laterale permetto l'uso del truciolatore solo se non è una tasca chiusa. -- Tabella per definizione modulo local ProcessLapJoint = {} @@ -4975,23 +4976,23 @@ local function MakeMoreFaces( Proc, nPhase, nRawId, nPartId, dOvmHead, bSinglePa if bNewCheck and Proc.Prc == 20 and nUseRoughTool == 0 then -- verifico se forzato uso truciolatore nUseRT = EgtGetInfo( Proc.Id, Q_USE_ROUGH_TOOL, 'i') - if nUseRT and nUseRT ~= 0 then + if nUseRT and nUseRT ~= 0 then sMchFind = 'OpenPocket' nUseRoughTool = 1 end end - -- 03/12/2020 aggiunto controllo su feature 30 senza uso truciolatore - if bNewCheck and Proc.Prc == 30 and nUseRoughTool == 0 then + -- se è una tasca aperta e forzo lavorazione laterale, cerco il truciolatore (di norma il truciolatore è solo OpenPocket) + if bNewCheck and Proc.Prc == 30 and nUseRoughTool == 0 and Proc.Fct < 5 and not bClosedOrthoFaces then -- verifico se forzato uso truciolatore nUseRT = EgtGetInfo( Proc.Id, Q_SIDE_ROUGH_TOOL, 'i') - if nUseRT and nUseRT ~= 0 then + if nUseRT and nUseRT ~= 0 then sMchFind = 'OpenPocket' nUseRoughTool = 1 end end -- se processo 20 e non sto usando il truciolatore if Proc.Prc == 20 and nUseRoughTool == 0 then - if nUseRT and nUseRT ~= 0 then + if nUseRT and nUseRT ~= 0 then sMchFind = 'OpenPocket' nUseRoughTool = 1 end diff --git a/LuaLibs/ProcessMortise.lua b/LuaLibs/ProcessMortise.lua index 52edc08..a524dd4 100644 --- a/LuaLibs/ProcessMortise.lua +++ b/LuaLibs/ProcessMortise.lua @@ -10,6 +10,7 @@ -- 2023/01/31 Aggiunta gestione lavorazione in doppio. -- 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. -- Tabella per definizione modulo local ProcessMortise = {} @@ -294,13 +295,6 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr end - -- recupero versore estrusione della curva supplementare - local vtExtr = EgtCurveExtrusion( AuxId, GDB_ID.ROOT) - -- se curva di contorno aperta la rendo chiusa - local _, bModif = BL.ConvertToClosedCurve( Proc, AuxId) - if not bModif then - BL.SetOpenSide( AuxId, b3Solid) - end -- verifico se frontale local bFront = ( Proc.Prc == 51) -- recupero i dati della faccia di fondo @@ -311,8 +305,16 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) ptC = frMor:getOrigin() vtN = frMor:getVersZ() end + -- recupero versore estrusione della curva supplementare + local vtExtr = EgtCurveExtrusion( AuxId, GDB_ID.ROOT) -- Confronto le direzioni dei 2 versori : se diverse la faccia 0 non è il fondo => mortasa passante local bOpenBtm = not AreSameVectorApprox( vtExtr, vtN) + -- se curva di contorno aperta la rendo chiusa + local _, bModif = BL.ConvertToClosedCurve( Proc, AuxId) + -- se la mortasa passante il contorno è sulla faccia della trave e il riconoscimento lati aperti non è corretto + if not bModif and not bOpenBtm then + BL.SetOpenSide( AuxId, b3Solid) + end if bOpenBtm then -- creo superficie chiusa local nFlat = EgtSurfTmByFlatContour( EgtGetParent( AuxId), AuxId, 0.05) @@ -530,7 +532,7 @@ function ProcessMortise.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) return false, sErr end -- faccio la copia e la metto nel layer dedicato alle geometrie aggiunte - local AuxId_oppo = EgtCopyGlob( AuxId, BL.GetAddGroup(nPartId)) + local AuxId_oppo = EgtCopyGlob( AuxId, BL.GetAddGroup(nPartId)) -- inverto la direzione estrusione di questa EgtModifyCurveExtrusion( AuxId_oppo, - vtExtr, GDB_ID.ROOT) -- aggiungo geometria diff --git a/UpdateLog.txt b/UpdateLog.txt index 53f106a..1871614 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,8 +1,15 @@ ==== Beam Update Log ==== +Versione 2.5g1 (05/07/2023) +- Modif : in DiceCut modificata scelta tagli ortogonali quando liberi (esteso caso di verticali ammessi) +- Modif : in LapJoint estesi casi riconoscimento in coda basato su lunghezza +- Fixed : nelle mortase passanti escluso il riconoscimento lati aperti che portava a lavorazioni errate [Ticket #1342] +- Fixed : in LapJoint impedito l'uso del truciolatore se la tasca è chiusa [Ticket #1361] +- Fixed : migliorato controllo fattibilità taglio di fianco con cubetti. + Versione 2.5f4 (21/06/2023) -- Fixed : corretto attacco speciale in FreeContour -- Added : aggiunti tagli speciali per evitare il rischio che il cubetto rimanga appoggiato al motore. +- Added : aggiunti tagli speciali per evitare il rischio che il cubetto rimanga appoggiato al motore [Ticket #1004, #1214] +- Fixed : corretto attacco speciale in FreeContour [Ticket #1250] Versione 2.5f3 (16/06/2023) - Fixed : correzione scelta di approccio lama in casi speciali @@ -13,16 +20,16 @@ Versione 2.5f2 (12/06/2023) - Fixed : In BeamLib -> ChangeOrOpenStart corretta ricerca segmento più lungo. Versione 2.5f1 (08/05/2023) -- Fixed : in LongDoubleCut corretta scelta SCC (orientamento braccio testa) per macchine TURN nel caso di concavi - Modif : in Process (esecuzione manuale da Cam5) ordinamento travi di lunghezza praticamente uguale dipende da ordine di selezione - Modif : in LapJoint limiti su svuotature tasche a L 4 facce come per L 3 facce - Modif : in LapJoint su svuotature aggiunto recupero UserNotes da libreria per MaxOptSize. +- Fixed : in LongDoubleCut corretta scelta SCC (orientamento braccio testa) per macchine TURN nel caso di concavi Versione 2.5e5 (26/05/2023) -- Fixed : correzioni a Profili Concavo e Convesso per TURN -- Fixed : correzione a foratura per ignorare fori annegati nel pezzo - Modif : riconoscimento fori da sotto anche dalla faccia di ingresso - Modif : in foratura se TURN aggiunta possibilità di forare da sotto. +- Fixed : correzioni a Profili Concavo e Convesso per TURN +- Fixed : correzione a foratura per ignorare fori annegati nel pezzo Versione 2.5e4 (23/05/2023) - Modif : in LongCut migliorato calcolo e verifica affondamento per lavorazione con lama con codolo in mezzo diff --git a/Version.lua b/Version.lua index 7d145e9..dcc80b4 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '2.5f4' +VERSION = '2.5g1' MIN_EXE = '2.5c1' diff --git a/bin/Images/.placeholder b/bin/Images/.placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/bin/LuaLibs/.placeholder b/bin/LuaLibs/.placeholder deleted file mode 100644 index e69de29..0000000