From e92ba3e74079733c22f1d66af9584e7da11faa06 Mon Sep 17 00:00:00 2001 From: "luca.mazzoleni" Date: Fri, 10 Nov 2023 11:48:06 +0100 Subject: [PATCH] =?UTF-8?q?-=20In=20WallExec=20doppio=20disattivato=20se?= =?UTF-8?q?=20side=20e=20la=20lavorazione=20mirror=20=C3=A8=20troppo=20dis?= =?UTF-8?q?tante=20dal=20grezzo.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/WallExec.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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