- in FaceData, nella trimesh generata TunnelAddedFaces.MiddleFaceTm, aggiunte le facce di contenimento laterali per garantire lati chiusi in svuotatura splittata

This commit is contained in:
luca.mazzoleni
2024-11-13 18:42:01 +01:00
parent 9375cd0868
commit 28946a0291
2 changed files with 25 additions and 5 deletions
+11
View File
@@ -884,6 +884,10 @@ end
-------------------------------------------------------------------------------------------------------------
function BeamExec.GetProcessings( PROCESSINGS, PARTS)
-- recupero tutti i processing di tutti i pezzi in tutte le rotazioni
-- TODO calcolo tempi da rimuovere o lasciare solo per debug
-- if EgtGetDebugLevel() >= 3 then
-- EgtStartCounter()
-- end
for nPart = 1, #PARTS do
if not PARTS[nPart].id and PARTS[nPart].b3Raw:getDimX() < BeamData.dMinRaw then break end
local vProcRot = {}
@@ -921,6 +925,13 @@ function BeamExec.GetProcessings( PROCESSINGS, PARTS)
-- recupero le feature di lavorazione della trave
table.insert( PROCESSINGS, Part)
end
-- TODO calcolo tempi da rimuovere o lasciare solo per debug
-- if EgtGetDebugLevel() >= 3 then
-- local timeGetProcessings = EgtStopCounter()
-- timeGetProcessings = timeGetProcessings + 0
-- EgtOutBox( timeGetProcessings, 'GetProcessings calculation time')
-- EgtStartCounter()
-- end
return PROCESSINGS
end
+14 -5
View File
@@ -178,16 +178,25 @@ local function GetTunnelFaces( Proc, Part)
return TunnelAddedFaces
end
-- faccia centrale, si crea larga come la parte e poi si trimma
TunnelAddedFaces.MiddleFaceTm = {}
TunnelAddedFaces.MiddleFaceTm.id = EgtSurfTmPlaneInBBox( nAddGrpId, ptTunnelCenter, vtTunnelDirection, Part.b3Solid, GDB_ID.ROOT)
-- faccia centrale
local nMiddleTmId = EgtSurfTmPlaneInBBox( nAddGrpId, ptTunnelCenter, vtTunnelDirection, Part.b3Solid, GDB_ID.ROOT)
-- TODO se non si riesce a costruire la faccia bisogna dare errore o semplicemente non ritornarla??
for i = 1, Proc.nFct do
EgtCutSurfTmPlane( TunnelAddedFaces.MiddleFaceTm.id, Proc.Faces[i].ptCenter, -Proc.Faces[i].vtN, false, GDB_ID.ROOT)
EgtCutSurfTmPlane( nMiddleTmId, Proc.Faces[i].ptCenter, -Proc.Faces[i].vtN, false, GDB_ID.ROOT)
end
-- facce laterali
local nLateralTmId = EgtCopyGlob( Proc.id, nAddGrpId) or GDB_ID.NULL
EgtCutSurfTmPlane( nLateralTmId, ptTunnelCenter, -vtTunnelDirection, false, GDB_ID.ROOT)
-- unione facce
-- TODO cambiare nome alla trimesh?? non contiene più solamente la faccia di mezzo
TunnelAddedFaces.MiddleFaceTm = {}
TunnelAddedFaces.MiddleFaceTm.id = EgtSurfTmBySewing( nAddGrpId, { nMiddleTmId, nLateralTmId}, true)
-- TODO c'è un modo più elegante per raccogliere le informazioni delle facce aggiunte
TunnelAddedFaces.MiddleFaceTm.sType = 'Tunnel'
TunnelAddedFaces.MiddleFaceTm.nFct = 1
TunnelAddedFaces.MiddleFaceTm.nFct = Proc.nFct + 1
TunnelAddedFaces.MiddleFaceTm.Faces = FaceData.GetFacesInfo( TunnelAddedFaces.MiddleFaceTm, Part)
return TunnelAddedFaces