From 6bd2e5ffb46393d901354144942c448b6ab9fa56 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Thu, 30 Nov 2023 09:12:49 +0100 Subject: [PATCH] =?UTF-8?q?-=20nelle=20chiamate=20a=20EgtSurfTmFacetElevat?= =?UTF-8?q?ionInBBox=20aggiunto=20parametro=20per=20forzare=20calcolo=20an?= =?UTF-8?q?che=20se=20la=20faccia=20=C3=A8=20esterna=20al=20grezzo=20-=20u?= =?UTF-8?q?pdate=20commenti?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamExec.lua | 3 ++- LuaLibs/BeamLib.lua | 3 ++- LuaLibs/FaceByPocket.lua | 1 + LuaLibs/FacesBySaw.lua | 10 ++++------ LuaLibs/ProcessLapJoint.lua | 1 + LuaLibs/ProcessLongCut.lua | 1 + LuaLibs/ProcessLongDoubleCut.lua | 1 + LuaLibs/ProcessProfCamb.lua | 1 + LuaLibs/ProcessProfConcave.lua | 1 + LuaLibs/ProcessProfConvex.lua | 1 + LuaLibs/ProcessProfFront.lua | 1 + LuaLibs/ProcessProfHead.lua | 1 + LuaLibs/ProcessVariant.lua | 1 + 13 files changed, 18 insertions(+), 8 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 1a6293a..f8702f1 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -51,6 +51,7 @@ -- 2022/09/26 In ClassifyTopology aggiunto passaggio del parametro nRawId -- 2023/10/24 Aggiunta scrittura parametro BARLEN nelle info del mach group -- 2023/11/08 Aggiunta gestione processi Variant. +-- 2023/11/30 Migliorato il calcolo elevazione con l'utilizzo della nuova funzione EgtSurfTmFacetElevationInBBox. -- Tabella per definizione modulo local BeamExec = {} @@ -310,7 +311,7 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT) for i = 1, Proc.Fct do Proc.Face[i] = { Id = i - 1, VtN = EgtSurfTmFacetNormVersor( Proc.Id, i - 1, GDB_ID.ROOT )} if Proc.Fct < 10 then - Proc.Face[i].Elevation = EgtSurfTmFacetElevationInBBox( Proc.Id, i - 1, b3Solid, GDB_ID.ROOT) + Proc.Face[i].Elevation = EgtSurfTmFacetElevationInBBox( Proc.Id, i - 1, b3Solid, true, GDB_ID.ROOT) end end end diff --git a/LuaLibs/BeamLib.lua b/LuaLibs/BeamLib.lua index b129034..74f7cfd 100644 --- a/LuaLibs/BeamLib.lua +++ b/LuaLibs/BeamLib.lua @@ -26,6 +26,7 @@ -- 2023/09/25 In GetFaceWithMostAdj aggiunta verifica sottosquadro anche per facce non adiacenti. -- 2023/09/26 In GetFaceWithMostAdj gestito primo parametro anche come Proc; gestito caso strip con facce tutte in sottosquadro. -- 2023/09/26 Spostata qui funzione IsFeatureCuttingEntireSection da BeamExec. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. Se l'elevazione è già calcolata la recupera da Proc, altrimenti la calcola al momento. -- Tabella per definizione modulo local BeamLib = {} @@ -450,7 +451,7 @@ function BeamLib.GetFaceElevation( procOrProcId, nFacet, b3Solid) end local dElevation if not Proc or not Proc.Face or not Proc.Face[nFacet + 1].Elevation then - dElevation = EgtSurfTmFacetElevationInBBox( nProcId, nFacet, b3Solid, GDB_ID.ROOT) + dElevation = EgtSurfTmFacetElevationInBBox( nProcId, nFacet, b3Solid, true, GDB_ID.ROOT) else dElevation = Proc.Face[nFacet + 1].Elevation end diff --git a/LuaLibs/FaceByPocket.lua b/LuaLibs/FaceByPocket.lua index 1503f72..9f4bb89 100644 --- a/LuaLibs/FaceByPocket.lua +++ b/LuaLibs/FaceByPocket.lua @@ -1,5 +1,6 @@ -- FaceByPocket.lua by Egaltech s.r.l. 2023/04/04 -- Gestione svuotatura di feature con una faccia +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local FaceByPocket = {} diff --git a/LuaLibs/FacesBySaw.lua b/LuaLibs/FacesBySaw.lua index 9a18d4d..eb7b784 100644 --- a/LuaLibs/FacesBySaw.lua +++ b/LuaLibs/FacesBySaw.lua @@ -1,4 +1,4 @@ --- FacesBySaw.lua by Egaltech s.r.l. 2023/11/28 +-- FacesBySaw.lua by Egaltech s.r.l. 2023/09/26 -- Gestione taglio con lama di feature con una o due facce -- 2021/01/06 Cambiato limite per attacco Tg con lama e CalcLeadInOutGeom rinominata in CalcLeadInOutPerpGeom. -- 2021/02/03 In taglio lama si accettano anche due lati con deviazione minore di 20deg. @@ -20,7 +20,7 @@ -- 2023/09/26 Piccola modifica per Turn su bInvert di MakeOne. -- 2023/10/24 In MakeOne migliorata gestione taglio con percorso bilinea. Aggiunta funzione GetNameSolidFaceIncludingLine. -- 2023/11/14 In MakeOne migliorato calcolo scelta soluzione per macchina TURN --- 2023/11/28 In MakeTwo raffinamento calcolo vtRef per casi dubbi. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local FacesBySaw = {} @@ -192,7 +192,6 @@ function FacesBySaw.MakeOne( nSurfId, nFacet, sCutting, dSawDiam, Par5, dVzLimDw nOrthoOpposite = Par5 vtOrthO = BL.GetVersRef( Par5) end - EgtOutLog( 'VtOrthO='..tostring( vtOrthO)..' FaceUse='..tostring( nOrthoOpposite), 1) -- verifico se testa da sotto oppure se lavorazione sotto con testa da sopra if not dVzLimDwnUp then dVzLimDwnUp = BL.GetNzLimDownUp( b3Raw, vtN, vtOrthO) end local bDownHead = ( dVzLimDwnUp and dVzLimDwnUp < - 1.5) @@ -487,14 +486,14 @@ function FacesBySaw.MakeTwo( Proc, nPhase, nRawId, nPartId, dOvmHead, sCutType, vtRef[1] = vtN[1] ^ vtTg if vtRef[1] * vtN[2] < 0 then vtRef[1] = - vtRef[1] end vtRef[1]:normalize() - if abs( vtTg:getZ()) < 0.708 and abs( vtRef[1]:getZ()) < 0.577 and abs( abs( vtRef[1]:getX()) - abs( vtRef[1]:getY())) < 0.05 then + if abs( vtTg:getZ()) < 0.708 and abs( vtRef[1]:getZ()) < 0.577 and abs( abs( vtRef[1]:getX()) - abs( vtRef[1]:getY())) < 0.1 then vtRef[1] = ptC[1] - ptM vtRef[1]:normalize() end vtRef[2] = vtN[2] ^ vtTg if vtRef[2] * vtN[1] < 0 then vtRef[2] = - vtRef[2] end vtRef[2]:normalize() - if abs( vtTg:getZ()) < 0.708 and abs( vtRef[2]:getZ()) < 0.577 and abs( abs( vtRef[2]:getX()) - abs( vtRef[2]:getY())) < 0.05 then + if abs( vtTg:getZ()) < 0.708 and abs( vtRef[2]:getZ()) < 0.577 and abs( abs( vtRef[2]:getX()) - abs( vtRef[2]:getY())) < 0.1 then vtRef[2] = ptC[2] - ptM vtRef[2]:normalize() end @@ -551,7 +550,6 @@ function FacesBySaw.MakeTwo( Proc, nPhase, nRawId, nPartId, dOvmHead, sCutType, local vCuts = DC.GetDice( nAddGrpId, b3Solid, ptC[nUpInd], vtN[nUpInd], false, ptC[nOtInd], vtN[nOtInd]) --DC.PrintOrderCut( vCuts) if #vCuts > 0 then - EgtOutLog( 'FacesBySaw.MakeTwo', 4) -- sistemo posizione nel DB, nome e info for i = 1, #vCuts do for j = 1, #vCuts[i] do diff --git a/LuaLibs/ProcessLapJoint.lua b/LuaLibs/ProcessLapJoint.lua index a42c839..039efea 100644 --- a/LuaLibs/ProcessLapJoint.lua +++ b/LuaLibs/ProcessLapJoint.lua @@ -84,6 +84,7 @@ -- 2023/11/03 Aggiunta MakeStaircaseStep per lavorazione con fresa + lama di gradini scala. Smusso opzionale. -- 2023/11/06 In MakeStaircaseStep gestito ritorno. -- 2023/11/06 Migliorie per lavorazione con AngularTransmission con FAST. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessLapJoint = {} diff --git a/LuaLibs/ProcessLongCut.lua b/LuaLibs/ProcessLongCut.lua index da98970..fc7d371 100644 --- a/LuaLibs/ProcessLongCut.lua +++ b/LuaLibs/ProcessLongCut.lua @@ -31,6 +31,7 @@ -- 2023/08/01 Ammesso uso lama da sotto fino a N +3deg in verticale. -- 2023/09/26 Modificata chiamata a GetFaceWithMostAdj. -- 2023/10/24 Migliorata spezzatura taglio passante con due spezzoni +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessLongCut = {} diff --git a/LuaLibs/ProcessLongDoubleCut.lua b/LuaLibs/ProcessLongDoubleCut.lua index f3dffd5..e903811 100644 --- a/LuaLibs/ProcessLongDoubleCut.lua +++ b/LuaLibs/ProcessLongDoubleCut.lua @@ -21,6 +21,7 @@ -- 2023/10/24 Migliorata spezzatura taglio passante con due spezzoni -- 2023/10/25 Se effettivamente un taglio longitudinale e lama non taglia completamente, limito la lavorazione. Altrimenti esco. -- 2023/11/24 Aggiunta Q05 per utilizzo lama anche in feature cieche conme per LongCut. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessLong2Cut = {} diff --git a/LuaLibs/ProcessProfCamb.lua b/LuaLibs/ProcessProfCamb.lua index abd30f4..39bcb6b 100644 --- a/LuaLibs/ProcessProfCamb.lua +++ b/LuaLibs/ProcessProfCamb.lua @@ -9,6 +9,7 @@ -- 2022/05/24 Aggiunta fresatura da sotto su macchine con testa da sotto. -- 2022/05/28 Aggiunto calcolo svuotatura da modulo di libreria. -- 2022/11/03 Correzione per riconoscimento testa da sotto su fresatura. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessProfCamb = {} diff --git a/LuaLibs/ProcessProfConcave.lua b/LuaLibs/ProcessProfConcave.lua index 23fc52e..4eb7029 100644 --- a/LuaLibs/ProcessProfConcave.lua +++ b/LuaLibs/ProcessProfConcave.lua @@ -7,6 +7,7 @@ -- 2022/05/28 Aggiunto calcolo svuotatura da modulo di libreria. -- 2023/05/25 Sistemazione SCC per TURN. -- 2023/07/31 Correzione e semplificazione di ModifySideInvertLead per invert. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessProfConcave = {} diff --git a/LuaLibs/ProcessProfConvex.lua b/LuaLibs/ProcessProfConvex.lua index 74b2054..5988c77 100644 --- a/LuaLibs/ProcessProfConvex.lua +++ b/LuaLibs/ProcessProfConvex.lua @@ -7,6 +7,7 @@ -- 2022/05/28 Aggiunto calcolo svuotatura da modulo di libreria. -- 2023/05/25 Sistemazione SCC per TURN. -- 2023/07/31 Correzione e semplificazione di ModifySideInvertLead per invert. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessProfConvex = {} diff --git a/LuaLibs/ProcessProfFront.lua b/LuaLibs/ProcessProfFront.lua index a07191d..4c09578 100644 --- a/LuaLibs/ProcessProfFront.lua +++ b/LuaLibs/ProcessProfFront.lua @@ -5,6 +5,7 @@ -- 2022/02/02 Aggiunta funzione OnlyChamfer. -- 2022/05/24 Aggiunta fresatura da sotto su macchine con testa da sotto. -- 2022/05/28 Aggiunto calcolo svuotatura da modulo di libreria. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessProfFront = {} diff --git a/LuaLibs/ProcessProfHead.lua b/LuaLibs/ProcessProfHead.lua index acc2cab..5b685a8 100644 --- a/LuaLibs/ProcessProfHead.lua +++ b/LuaLibs/ProcessProfHead.lua @@ -7,6 +7,7 @@ -- 2022/05/24 Aggiunta fresatura da sotto su macchine con testa da sotto. -- 2022/05/28 Aggiunto calcolo svuotatura da modulo di libreria. -- 2023/07/31 Correzione e semplificazione di ModifySideInvertLead per invert. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessProfHead = {} diff --git a/LuaLibs/ProcessVariant.lua b/LuaLibs/ProcessVariant.lua index 0411982..2e9cfe6 100644 --- a/LuaLibs/ProcessVariant.lua +++ b/LuaLibs/ProcessVariant.lua @@ -1,6 +1,7 @@ -- ProcessVariant.lua by Egaltech s.r.l. 2023/11/08 -- Gestione calcolo Feature Custom (Variant) per Travi -- 2023/11/08 Creazione modulo. +-- 2023/11/30 Calcolo elevazione velocizzato e centralizzato tramite la funzione GetFaceElevation. -- Tabella per definizione modulo local ProcessVariant = {}