From d6249a1f0ff8510edd8282f598cfd0d0acafeec5 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 27 Jun 2023 17:09:15 +0200 Subject: [PATCH 1/6] piccolo bugfix a Cut per dangerous relief cut --- .gitignore | 2 ++ LuaLibs/ProcessCut.lua | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 4789404..b1d19da 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ /bin/LuaLibs/*.lua /bin/Images/*.png .vscode/settings.json +bin/Images/.placeholder +bin/LuaLibs/.placeholder diff --git a/LuaLibs/ProcessCut.lua b/LuaLibs/ProcessCut.lua index 7033d40..3c01e54 100644 --- a/LuaLibs/ProcessCut.lua +++ b/LuaLibs/ProcessCut.lua @@ -467,26 +467,25 @@ local function MakeFromTop( sCutting, Proc, nPhase, nRawId, nPartId, dOvmHead, b end end end - local _, dDiceFaceH = BL.GetFaceHvRefDim( vCuts[i][1] or GDB_ID.NULL, 0) + local nCurrentParallelFace = EgtSurfTmBySewing( nAddGrpId, vCuts[i], false) + local _, dDiceFaceH = BL.GetFaceHvRefDim( nCurrentParallelFace or GDB_ID.NULL, 0, b3Raw) -- caso speciale con rischio cubetto sul motore if ( i % 2 == 0) and bDangerousReliefCut and ( dMaxDepth * 2 > dDiceFaceH + BD.CUT_EXTRA) then local bDoubleCut = false - local nSurfToCut local dCutExtra = BD.CUT_EXTRA if dMaxDepth < dDiceFaceH + BD.CUT_EXTRA then bDoubleCut = true dCutExtra = - 0.5 * b3Raw:getDimY() + BD.CUT_EXTRA end - nSurfToCut = EgtSurfTmBySewing( nAddGrpId, vCuts[i], false) local nFaceUseCut1, nFaceUseCut2 = MCH_MILL_FU.ORTHO_BACK, MCH_MILL_FU.ORTHO_FRONT if Proc.Tail then nFaceUseCut1, nFaceUseCut2 = nFaceUseCut2, nFaceUseCut1 end if bDoubleCut then - local bOk, sErr = Fbs.MakeOne( nSurfToCut, 0, sCutting, dSawDiam, nFaceUseCut1, nil, dCutExtra, BD.CUT_SIC, 0, 0, 0, '', b3Raw, true) + local bOk, sErr = Fbs.MakeOne( nCurrentParallelFace, 0, sCutting, dSawDiam, nFaceUseCut1, nil, dCutExtra, BD.CUT_SIC, 0, 0, 0, '', b3Raw, true) if not bOk then return false, sErr end end - local bOk2, sErr2 = Fbs.MakeOne( nSurfToCut, 0, sCutting, dSawDiam, nFaceUseCut2, nil, dCutExtra, BD.CUT_SIC, 0, 0, 0, '', b3Raw) + local bOk2, sErr2 = Fbs.MakeOne( nCurrentParallelFace, 0, sCutting, dSawDiam, nFaceUseCut2, nil, dCutExtra, BD.CUT_SIC, 0, 0, 0, '', b3Raw) if not bOk2 then return false, sErr2 end -- caso standard else From 43900018ddd8d2628ec67720dae0e8f1b55dc1b4 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 27 Jun 2023 17:09:51 +0200 Subject: [PATCH 2/6] update ignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index b1d19da..8e23b4e 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ .vscode/settings.json bin/Images/.placeholder bin/LuaLibs/.placeholder +bin/Images/.placeholder +bin/LuaLibs/.placeholder From 84d16b12a9794059a349e74c87eba9c7732f66bf Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 27 Jun 2023 17:11:29 +0200 Subject: [PATCH 3/6] eliminati placeholder --- bin/Images/.placeholder | 0 bin/LuaLibs/.placeholder | 0 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Images/.placeholder delete mode 100644 bin/LuaLibs/.placeholder 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 From c6566478e6d3a02bf03a2dba3176e5eedfda20eb Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Tue, 27 Jun 2023 17:54:24 +0200 Subject: [PATCH 4/6] in ProcessMortise escluso il riconoscimento lati aperti per le mortase passanti --- LuaLibs/ProcessMortise.lua | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) 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 From 21768ed542ef82c63861dd360365a5dbe8dc1e0f Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Thu, 29 Jun 2023 18:45:06 +0200 Subject: [PATCH 5/6] in MakeMoreFaces impedito l'uso del truciolatore se tasca chiusa --- LuaLibs/ProcessLapJoint.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index d163be8..8063d33 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 From 133720bc34d4e61497c63f7c48fdc838bb3c8d6f Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Wed, 5 Jul 2023 10:30:12 +0200 Subject: [PATCH 6/6] update log e versione --- UpdateLog.txt | 17 ++++++++++++----- Version.lua | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) 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'