DataBeam :
- correzione a rotazione di 90 gradi nel caso DY > DZ in posizione standard - correzione a IsHeadFeature e IsTailFeature di LapJoint (crash).
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
-- BeamExec.lua by Egaltech s.r.l. 2020/05/19
|
||||
-- BeamExec.lua by Egaltech s.r.l. 2020/05/21
|
||||
-- Libreria esecuzione lavorazioni per Travi
|
||||
-- 2019/07/11 Aggiunta gestione stato rotazione di feature per TS3.
|
||||
-- 2019/09/04 Corretto controllo feature di testa e coda con sovramateriale di testa elevato.
|
||||
@@ -11,6 +11,7 @@
|
||||
-- 2020/04/14 Aggiunta gestione Dovetail.
|
||||
-- 2020/05/16 Migliorie ordinamento fori.
|
||||
-- 2020/05/16 Gestione rotazione di 90deg.
|
||||
-- 2020/05/21 Correzione rotazione di 90deg (caso DY > DZ).
|
||||
|
||||
-- Tabella per definizione modulo
|
||||
local BeamExec = {}
|
||||
@@ -969,11 +970,13 @@ function BeamExec.ProcessFeatures()
|
||||
-- vettore movimento grezzi per rotazione di 90deg
|
||||
local dDeltaYZ = EgtGetRawPartBBox( nRawId):getDimY() - EgtGetRawPartBBox( nRawId):getDimZ()
|
||||
local vtMove = Vector3d( 0, dDeltaYZ / 2, dDeltaYZ / 2)
|
||||
local bPreMove = ( dDeltaYZ < 0)
|
||||
-- ruoto le travi della fase corrente
|
||||
local nRId = nRawId
|
||||
while nRId do
|
||||
EgtMoveRawPart( nRId, vtMove)
|
||||
if bPreMove then EgtMoveRawPart( nRId, vtMove) end
|
||||
EgtRotateRawPart( nRId, X_AX(), 90)
|
||||
if not bPreMove then EgtMoveRawPart( nRId, vtMove) end
|
||||
nRId = EgtGetNextRawPart( nRId)
|
||||
end
|
||||
EgtSetInfo( nDispId, 'ROT', -1)
|
||||
@@ -996,8 +999,9 @@ function BeamExec.ProcessFeatures()
|
||||
-- se era taglio di separazione, aggiungo nuova fase
|
||||
if bNewPhase then
|
||||
BL.AddPhaseWithRawParts( nRawId, BD.OriTR, BD.RAW_OFFSET)
|
||||
EgtMoveRawPart( nRawId, vtMove)
|
||||
if bPreMove then EgtMoveRawPart( nRawId, vtMove) end
|
||||
EgtRotateRawPart( nRawId, X_AX(), 90)
|
||||
if not bPreMove then EgtMoveRawPart( nRawId, vtMove) end
|
||||
-- se grezzo successivo senza pezzi e finale, va tolto
|
||||
local nNextRawId = EgtGetNextRawPart( nRawId)
|
||||
if nNextRawId and EgtGetPartInRawPartCount( nNextRawId) == 0 and EgtGetRawPartBBox( nNextRawId):getDimX() < BD.MinRaw then
|
||||
|
||||
Reference in New Issue
Block a user