DataWall :

- corretto controllo foro sottosquadra
- corretta gestione contorni liberi per lato di lavoro 3 e 4
- corretto LapJoint chiuso ma senza fondo lavorato come contorno libero.
This commit is contained in:
Dario Sassi
2020-11-17 16:40:22 +00:00
parent 5646af535b
commit 3ac926f694
4 changed files with 28 additions and 3 deletions
+23
View File
@@ -375,6 +375,29 @@ local function MakeMoreFaces( Proc, nRawId, b3Raw)
local nFacInd, dElev, nFacInd2 = WL.GetFaceWithMostAdj( Proc.Id, Proc.PartId)
-- se tunnel, applico lavorazione del contorno libero
if nFacInd == - 1 then
-- riordino le facce come contorno libero da lavorare a destra
for i = 1, Proc.Fct - 2 do
local ptC, vtN = EgtSurfTmFacetCenter( Proc.Id, i - 1, GDB_ID.ROOT)
for j = i + 1, Proc.Fct do
local bAdj, ptAdj, _, _ = EgtSurfTmFacetsContact( Proc.Id, i - 1, j - 1, GDB_ID.ROOT)
if bAdj and ( vtN ^ ( ptAdj - ptC)) * Z_AX() > 0 then
if i ~= j - 1 then
EgtSurfTmSwapFacets( Proc.Id, i, j - 1)
end
break
end
end
end
-- applico riordinamento
--local vOrd = { 0, 2, 1, 3}
--for i = 1, #vOrd do
-- if vOrd[i] ~= i - 1 then
-- EgtSurfTmSwapFacets( Proc.Id, vOrd[i], i - 1)
-- vOrd[vOrd[i]+1] = vOrd[i]
-- vOrd[i] = i - 1
-- end
--end
-- eseguo
return FreeContour.Make( Proc, nRawId, b3Raw)
end
local vtN = EgtSurfTmFacetNormVersor( Proc.Id, nFacInd, GDB_ID.ROOT)