2.5c4
- in LapJoint Gestito caso riconoscimento errato Stype 3 - piccola correzione a MachiningLib -> FindMilling
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
-- 2022/11/15 DS Con lama massima inclinazione 60deg.
|
||||
-- 2022/12/01 Per 2 facce con angolo > 90° implementata lavorazione principale verticale. Se da sopra, aggiunta ripresa del lato inclinato.
|
||||
-- 2022/12/14 Nel caso di 2 facce piccola correzione al modo di ordinare le facce.
|
||||
-- 2023/03/09 Gestito caso riconoscimento errato Stype 3
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local WPL = {}
|
||||
@@ -142,6 +143,26 @@ function WPL.Classify( Proc, b3Raw)
|
||||
bAllowNegativeFace = true
|
||||
end
|
||||
end
|
||||
|
||||
-- conto le adiacenze delle facce
|
||||
local vAdj = {}
|
||||
local nFacesWithMoreThanOneAdj = 0
|
||||
for i = 1, Proc.Fct do
|
||||
-- recupero le adiacenze del loop esterno
|
||||
local vFacAdj = EgtSurfTmFacetAdjacencies( Proc.Id, i - 1)[1]
|
||||
-- le conto
|
||||
local nCount = 0
|
||||
for j = 1, #vFacAdj do
|
||||
if vFacAdj[j] >= 0 then
|
||||
nCount = nCount + 1
|
||||
end
|
||||
end
|
||||
vAdj[i] = nCount
|
||||
if nCount > 1 then
|
||||
nFacesWithMoreThanOneAdj = nFacesWithMoreThanOneAdj + 1
|
||||
end
|
||||
end
|
||||
|
||||
-- verifico se la faccia è lavorabile da sopra o di fianco
|
||||
if ( vtN:getZ() >= WD.NZ_MINA or ( dMinNz < -0.866 and Proc.Fct >= 3 and ( vtN:getZ() > - 0.01 or bAllowNegativeFace))) then
|
||||
Proc.Stype = 1
|
||||
@@ -155,7 +176,7 @@ function WPL.Classify( Proc, b3Raw)
|
||||
Proc.Stype = 2
|
||||
return ( vtN2:getZ() >= WD.NZ_MINA or ( dMinNz < -0.866 and Proc.Fct >= 3 and vtN2:getZ() > - 0.01))
|
||||
-- se tre facce
|
||||
elseif Proc.Fct == 3 then
|
||||
elseif Proc.Fct == 3 and nFacesWithMoreThanOneAdj < 2 then
|
||||
-- verifico se U da sopra
|
||||
-- dati della faccia
|
||||
local nFac2 = EgtIf( nFacInd == 0, 1, 0)
|
||||
|
||||
Reference in New Issue
Block a user