From 48a1139eeac41e4e46a7d4a24e4de8f0e7969469 Mon Sep 17 00:00:00 2001 From: "daniele.nicoli" Date: Fri, 27 Feb 2026 15:31:47 +0100 Subject: [PATCH 1/3] - BeamExec, tolta duplicazione pre-foro nella BeamExec.ProcessBeam() - ProcessDrill, sistemata dichiarazione local di alcune variabili usate anche dopo l'if --- LuaLibs/BeamExec.lua | 6 +++--- LuaLibs/ProcessDrill.lua | 10 ++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index a095279..7565fd6 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -304,7 +304,7 @@ local function NeedTopologyFeature( Proc) end ------------------------------------------------------------------------------------------------------------- -local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT) +local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT, bCreatePreDrill) local dRawW = b3Raw:getDimY() local dRawH = b3Raw:getDimZ() -- recupero le feature @@ -365,7 +365,7 @@ local function CollectFeatures( PartId, b3Raw, dCurrOvmH, dCurrOvmT) -- assegno diametro e facce di ingresso e uscita (dati tabelle sempre per riferimento) Proc.Diam, Proc.Len, Proc.Fcs, Proc.Fce = Drill.GetData( Proc, b3Raw) -- verifico se devo inserire i prefori - if Drill.IsPredrillNeeded( Proc) then + if Drill.IsPredrillNeeded( Proc) and bCreatePreDrill then local bAddProc, PredrillProc= Drill.AddPredrillFromDrillProc( Proc) if bAddProc then table.insert( vProc, PredrillProc) @@ -2315,7 +2315,7 @@ function BeamExec.ProcessFeatures() local dCurrOvmH = EgtGetInfo( nRawId, 'HOVM', 'd') or 0 local dCurrOvmT = EgtGetInfo( nRawId, 'TOVM', 'd') or 0 -- recupero le feature di lavorazione della trave - local vProc = CollectFeatures( nPartId, b3Raw, dCurrOvmH, dCurrOvmT) + local vProc = CollectFeatures( nPartId, b3Raw, dCurrOvmH, dCurrOvmT, true) -- recupero informazioni ausiliarie feature e dipendenze tra feature stesse GetFeatureInfoAndDependency( vProc, b3Raw, nPartId) diff --git a/LuaLibs/ProcessDrill.lua b/LuaLibs/ProcessDrill.lua index 49fa2b9..0b5ddba 100644 --- a/LuaLibs/ProcessDrill.lua +++ b/LuaLibs/ProcessDrill.lua @@ -387,10 +387,11 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) EgtOutLog( sErr) return false, sErr end + local nFac, CosB -- se non già richiesta inversione e invertibile if not bToInvert and Proc.Flg == 1 and -vtExtr:getZ() >= BD.DRILL_VZ_MIN then -- se il foro è cieco o dalla faccia sotto o troppo inclinato all'inizio, lo inverto - local nFac, CosB, _ = GetHoleStartData( ptCen, vtExtr, b3Solid) + nFac, CosB, _ = GetHoleStartData( ptCen, vtExtr, b3Solid) if Proc.Fcs == 0 or (( nFac == 2 or CosB > BD.DRILL_VX_MAX) and bOpen) then bToInvert = true end @@ -422,10 +423,11 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) -- primo gruppo di controlli con lunghezza utensile pari a metà foro se passante -- recupero la lavorazione local sDrilling, sType, dMaxDepth, dMaxToolLength, dToolDiam, dDiamTh, dToolFreeLen = ML.FindDrilling( dDiam, dCheckDepth, bDrillUp, bDrillDown, bExcludeH2, bDrillAngTrasm, Proc.IsPredrill) - + local dMaxDepthOri + local vFaces if sDrilling then -- Determino la faccia di inizio del foro e dati correlati - local nFac, CosB, vFaces = GetHoleStartData( ptCen, vtExtr, b3Solid) + nFac, CosB, vFaces = GetHoleStartData( ptCen, vtExtr, b3Solid) -- Calcolo acciorciamento affondamento utile per evitare collisione portautensile con faccia local TgA = CosB / sqrt( 1 - CosB * CosB) local dSubL = ( dDiamTh / 2 + ( Proc.Diam - dToolDiam) / 2 + 4) * TgA @@ -433,7 +435,7 @@ function ProcessDrill.Make( Proc, nPhase, nRawId, nPartId, dCurrOvmH) if BD.C_SIMM and CosB > 0.866 then dSubL = ( 190 / 2 + ( Proc.Diam - dToolDiam) / 2 + 4) * TgA - 116 end - local dMaxDepthOri = dMaxDepth + dMaxDepthOri = dMaxDepth dMaxDepth = min( dMaxDepth, max( dToolFreeLen - dSubL, 0)) -- se utensile scelto non arriva in fondo, cerco il più lungo if dMaxDepth < GEO.EPS_SMALL * 10 then From f6316cc75aa26799f4a162d9a6851c68027c6990 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Wed, 4 Mar 2026 17:32:36 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Nella=20OrderFeature=20non=20si=20considera?= =?UTF-8?q?no=20pi=C3=B9=20le=20dipendenze,=20veniva=20gi=C3=A0=20fatto=20?= =?UTF-8?q?tutto=20nella=20ReorderFeatureWithDependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamExec.lua | 7 ------- 1 file changed, 7 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 7565fd6..b225083 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -949,13 +949,6 @@ local function OrderFeatures( vProc, b3Raw, nPartId) if Hcut.Identify( B2) then return false end - -- se uno dipende dall'altro - if B1.Dependency and B1.Dependency.ExecBefore and B1.Dependency.ExecBefore.Id == B2.Id then - return true - end - if B2.Dependency and B2.Dependency.ExecBefore and B2.Dependency.ExecBefore.Id == B1.Id then - return false - end -- se uno di testa e non l'altro, privilegio quello di testa (a meno che non siano dei fori) if B1.Head ~= B2.Head and not Drill.Identify(B1) and not Drill.Identify(B2) then return B1.Head From eb4f709db397f302bcfbb84ad69a325560089580 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Wed, 4 Mar 2026 17:58:48 +0100 Subject: [PATCH 3/3] update version e log --- UpdateLog.txt | 3 +++ Version.lua | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/UpdateLog.txt b/UpdateLog.txt index d52e489..cb173f1 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,4 +1,7 @@ ==== Beam Update Log ==== +Versione 3.1c1 (04/03/2026) +- Fixed : correzione in ordinamento (fori vs tagli) +- Fixed : in drilling rimosso preforo duplicato Versione 3.1b1 (26/02/2026) - Added : in LapJoint lunghe gestito Q14 per lavorare discorde diff --git a/Version.lua b/Version.lua index 604b3d1..4a4b840 100644 --- a/Version.lua +++ b/Version.lua @@ -2,5 +2,5 @@ -- Gestione della versione di Beam NAME = 'Beam' -VERSION = '3.1b1' +VERSION = '3.1c1' MIN_EXE = '3.1b1'