diff --git a/LuaLibs/WallExec.lua b/LuaLibs/WallExec.lua index d0ee2ca..cfaebf6 100644 --- a/LuaLibs/WallExec.lua +++ b/LuaLibs/WallExec.lua @@ -5,6 +5,7 @@ -- 2023/06/27 Aggiunte origini TN e BN. -- 2023/07/04 Se c'è funzione di macchina WD.GetOrigCorner si lascia scegliere posizione default a questa impostando 0 se non c'è 'REFPOS'. -- 2023/10/16 Aggiunta gestione Aree vietate (LockOut) per chiodature. +-- 2023/11/10 In SetMirroredFeatures doppio disattivato se side e la lavorazione mirror è troppo distante dal grezzo. -- Tabella per definizione modulo local WallExec = {} @@ -782,6 +783,7 @@ local function SetMirroredFeatures( vProc, b3Raw) -- se di fianco, si sceglie se le feature sono compatibili con il doppio e nel caso che tipo di lavorazione fare -- -1: no doppio, 0: nessuna preferenza, 1: pocket, 2: side (scambio faccia principale) local nDoubleType = 0 + local bAllowSideOnMirror = ( ProcMirror.DistanceToRawPart.Back - Proc.DistanceToRawPart.Front < 10 * GEO.EPS_SMALL) if bLapVsTop and ( Proc.AffectedFaces.Top or Proc.AffectedFaces.Bottom) then -- side if bIsFeatureOnEdge and bIsMirrorFeatureOnEdge then @@ -791,12 +793,13 @@ local function SetMirroredFeatures( vProc, b3Raw) -- no doppio elseif Proc.AffectedFaces.Bottom or ProcMirror.AffectedFaces.Bottom then nDoubleType = -1 + -- tasca else nDoubleType = 1 end end -- corrispondenza nella posizione delle feature. Se di fianco il lato master è sempre quello verso l'operatore, se sopra nessun vincolo - local bIsMirrorSideOk = ( bLapVsTop and ProcMirror.AffectedFaces.Back and bIsFeatureOnEdge and bIsMirrorFeatureOnEdge) or + local bIsMirrorSideOk = ( bLapVsTop and ProcMirror.AffectedFaces.Back and bIsFeatureOnEdge and bIsMirrorFeatureOnEdge and bAllowSideOnMirror) or Proc.TopologyLongName == 'Groove-Through-RightAngles-Parallel-3' and Proc.AffectedFaces.Top and ProcMirror.AffectedFaces.Top or Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' and Proc.AffectedFaces.Top and Proc.AffectedFaces.Left and ProcMirror.AffectedFaces.Top and ProcMirror.AffectedFaces.Left or Proc.TopologyLongName == 'Groove-Blind-RightAngles-Parallel-4' and Proc.AffectedFaces.Top and Proc.AffectedFaces.Right and ProcMirror.AffectedFaces.Top and ProcMirror.AffectedFaces.Right or