DataBeam :

- migliorata riconoscimento necessità rotazione per taglio doppio convesso
- modifiche per tagli lunghi con lama.
This commit is contained in:
DarioS
2021-11-26 09:21:45 +01:00
parent 6d00678d00
commit ec14595f60
3 changed files with 21 additions and 6 deletions
+14 -3
View File
@@ -1,4 +1,4 @@
-- ProcessDoubleCut.lua by Egaltech s.r.l. 2021/11/05
-- ProcessDoubleCut.lua by Egaltech s.r.l. 2021/11/25
-- Gestione calcolo doppi tagli di lama per Travi
-- Tabella per definizione modulo
@@ -32,6 +32,8 @@ function ProcessDoubleCut.Classify( Proc, b3Raw)
if BD.C_SIMM and BD.DOWN_HEAD then
return true
end
-- limite per facce da sotto
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw)
-- verifico se convesso
local bAdj, _, _, dAng = EgtSurfTmFacetsContact( Proc.Id, 0, 1, GDB_ID.ROOT)
local bConvex = ( not bAdj or ( dAng > 0))
@@ -46,10 +48,19 @@ function ProcessDoubleCut.Classify( Proc, b3Raw)
return true, true
end
end
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)
if bDownCut then
local _, DimH, DimV = BL.GetFaceHvRefDim( Proc.Id, nFac)
-- confronto anche qua la distanza maggiore della faccia con la massima distanza del DiceCut
-- e se il rapporto supera il 2 (implica che genera 3 tagli) dichiaro impossibile la lavorazione
if DimH and BD.MAX_DIM_DICE and abs( BD.MAX_DIM_DICE) > 20 * GEO.EPS_SMALL and abs( DimH / BD.MAX_DIM_DICE) > 2 then
return true, true
end
end
end
return true, false
end
-- verifico le normali delle facce per tagli da sotto
local dNzLimDwnUp = BL.GetNzLimDownUp( b3Raw)
-- altrimenti concavo, verifico le normali delle facce per tagli da sotto
for i = 1, 2 do
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, i-1, GDB_ID.ROOT)
local bDownCut = ( vtN:getZ() <= dNzLimDwnUp)