- in BeamLib creata funzione GetPartBoxWithHeadTailOvermaterial per recuperare il box della parte con aggiunto il sovramateriale di testa e/o coda; implementata in vari punti

- in LeadInOutLib e PreSimulationLib se necessario si estende il box per contemplare materiale in testa e in coda
This commit is contained in:
luca.mazzoleni
2026-01-28 15:59:35 +01:00
parent 995917672c
commit ee4d443074
9 changed files with 93 additions and 39 deletions
+37
View File
@@ -65,6 +65,43 @@ function BeamLib.AddPartEndFace( PartId, b3Solid)
return true
end
-------------------------------------------------------------------------------------------------------------
function BeamLib.GetPartBoxWithHeadTailOvermaterial( Part, sSide)
local _sSide = sSide or ''
-- il box del grezzo contiene sempre il sovramateriale di testa
if _sSide == 'Head' then
local b3WithHead = BBox3d( Part.b3Raw)
return b3WithHead
-- per aggiungere il materiale di coda si aggiunge il box dell'eventuale grezzo successivo
elseif _sSide == 'Tail' then
local b3WithTail = BBox3d( Part.b3Part)
local nNextRawId = EgtGetNextRawPart( Part.idRaw)
if nNextRawId then
local b3Tail = EgtGetRawPartBBox( nNextRawId)
b3WithTail:Add( b3Tail)
end
return b3WithTail
-- per aggiungere entrambi si procede come per la coda ma partendo dal box del grezzo, che già contiene la testa
else
local b3WithHeadTail = BBox3d( Part.b3Raw)
local nNextRawId = EgtGetNextRawPart( Part.idRaw)
if nNextRawId then
local b3Tail = EgtGetRawPartBBox( nNextRawId)
b3WithHeadTail:Add( b3Tail)
end
return b3WithHeadTail
end
end
-------------------------------------------------------------------------------------------------------------
function BeamLib.GetPartSplittingPoints( Part)
local PartSplittingPoints = {}