diff --git a/LuaLibs/WProcessCut.lua b/LuaLibs/WProcessCut.lua index b8ab00b..b134fb3 100644 --- a/LuaLibs/WProcessCut.lua +++ b/LuaLibs/WProcessCut.lua @@ -1,5 +1,6 @@ -- WProcessCut.lua by Egaltech s.r.l. 2020/11/25 -- Gestione calcolo taglio di testa o longitudinale per Pareti +-- 2023/07/26 Angolo Z minimo ora gestito tramite costante da WallData CUT_VZ_MIN (default sempre -0.5). -- Tabella per definizione modulo local WPC = {} @@ -31,7 +32,7 @@ function WPC.Classify( Proc, b3Raw) if Proc.Fct ~= 1 then return false end -- controllo la normale local vtN = EgtSurfTmFacetNormVersor( Proc.Id, 0, GDB_ID.ROOT) - if vtN:getZ() < - 0.5 then return false end + if vtN:getZ() < ( WD.CUT_VZ_MIN or - 0.5) then return false end return true end @@ -40,29 +41,29 @@ end -- return nFlip0, nFlip1 function WPC.FlipClassify( Proc) -- verifico abbia una sola faccia - if Proc.Fct ~= 1 then return 0, 0 end + if Proc.Fct ~= 1 then return 0, 0 end -- controllo la normale local vtN = EgtSurfTmFacetNormVersor( Proc.Id, 0, GDB_ID.ROOT) local vtNZ = vtN:getZ() if vtNZ > - GEO.EPS_SMALL then nFlip0 = 100 - elseif vtNZ < -0.5 then + elseif vtNZ < ( WD.CUT_VZ_MIN or - 0.5) then nFlip0 = 0 else - nFlip0 = 50 - end + nFlip0 = 50 + end if - vtNZ > - GEO.EPS_SMALL then nFlip1 = 100 - elseif - vtNZ < -0.5 then + elseif - vtNZ < ( WD.CUT_VZ_MIN or - 0.5) then nFlip1 = 0 else nFlip1 = 50 - end + end --nFlip0 = EgtIf( vtN:getZ() < -0.5, 0, 100) --nFlip1 = EgtIf( - vtN:getZ() < -0.5, 0, 100) - return nFlip0, nFlip1 + return nFlip0, nFlip1 end ---------------------------------------------------------------------