From a2854beb8d9707364873374b428cd8883827a6dc Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Thu, 29 Feb 2024 17:20:44 +0100 Subject: [PATCH] Migliorata 'CompareFeatures' per ordine forature --- LuaLibs/BeamExec.lua | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index 1229107..014b36d 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -56,6 +56,7 @@ -- 2024/02/26 Migliorata 'CompareFeatures' per ordine lavorazioni -- Migliorata 'CompareFeatures' per ordine forature -- 2024/02/19 In Collect aggiunta la scrittura nella Proc di Width e Height delle facce. +-- 2024/02/29 Migliorata 'CompareFeatures' per ordine forature -- Tabella per definizione modulo local BeamExec = {} @@ -819,21 +820,21 @@ local function OrderFeatures( vProc, b3Raw) if B2.AdvTail and ( not Split.Identify( B1) or not B1.Tail) then return true end - -- se primo è foro e secondo è un ribasso, il foro va sempre prima - if Drill.Identify(B1) and ( LapJoint.Identify(B2) or Mortise.Identify(B2)) and + -- se primo è foro e secondo è un ribasso, il foro va sempre prima a meno che il ribasso non sia di testa + if Drill.Identify(B1) and ( LapJoint.Identify(B2) or Mortise.Identify(B2)) and not B2.Head and B1.Box:getCenter():getX() > B2.Box:getMin():getX() and B1.Box:getCenter():getX() < B2.Box:getMax():getX() then return true end - -- se primo è un ribasso e secondo è un foro, il ribasso va sempre dopo - if ( LapJoint.Identify(B1) or Mortise.Identify(B1)) and Drill.Identify(B2) and + -- se primo è un ribasso e secondo è un foro, il ribasso va sempre dopo a meno che il ribasso non sia di testa + if ( LapJoint.Identify(B1) or Mortise.Identify(B1))and not B1.Head and Drill.Identify(B2) and B2.Box:getCenter():getX() > B1.Box:getMin():getX() and B2.Box:getCenter():getX() < B1.Box:getMax():getX() then return false end - -- se primo è feature di coda e l'altro è separazione o non è feature di coda (e non sono dei fori) + -- se primo è feature di coda e l'altro è separazione o non è feature di coda if B1.Tail and ( Split.Identify( B2) or not B2.Tail) then return false end - -- se secondo è feature di coda e l'altro è separazione o non è feature di coda (e non sono dei fori) + -- se secondo è feature di coda e l'altro è separazione o non è feature di coda if B2.Tail and ( Split.Identify( B1) or not B1.Tail) then return true end