From 38e26b9e488b50a4a9759a4962202b62365bf953 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 7 Oct 2025 10:11:15 +0200 Subject: [PATCH] Piccola modifica ordinamento feature --- LuaLibs/BeamExec.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index bb9c72b..92ba580 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -991,12 +991,12 @@ local function OrderFeatures( vProc, b3Raw, nPartId) if abs( B2.Box:getDimX() - b3Raw:getDimX()) < 0.2 * b3Raw:getDimX() then return not ( B1.Tail or B2.Box:getMin():getX() + 20 > B1.Box:getCenter():getX()) end - -- se primo è foro e l'altro no, lo penalizzo - if Drill.Identify(B1) and not Drill.Identify(B2) then - return ( B1.Box:getCenter():getX() > B2.Box:getMax():getX() + dDrillPenalty) + -- se primo è foro e l'altro no, lo penalizzo (a patto che il foro non attraversi nessuna feature) + if Drill.Identify(B1) and not B1.Dependency and not Drill.Identify(B2) then + return ( B1.Box:getCenter():getX() > B2.Box:getMax():getX() + dDrillPenalty) end - -- se primo è altro e secondo è foro, lo premio - if not Drill.Identify(B1) and Drill.Identify(B2) then + -- se primo è altro e secondo è foro, lo premio (a patto che il foro non attraversi nessuna feature) + if not Drill.Identify(B1) and not B2.Dependency and Drill.Identify(B2) then return ( B1.Box:getMax():getX() + dDrillPenalty > B2.Box:getCenter():getX()) end -- se prima è mortasa coda di rondine sul fianco e secondo taglio longitudinale, la coda di rondine va sempre prima