Ripristinato (e corretto) calcolo rotazioni dopo separazione in caso la posizione iniziale sia una prerotazione. In realtà con nuovo metodo non esiste più la pre-rotazione, ma è stata ripristinata la gestione in caso in futuro debba servire ancora.

This commit is contained in:
andrea.villa
2025-07-09 16:20:08 +02:00
parent e4b0955846
commit 91dc770f92
+6 -2
View File
@@ -1031,14 +1031,18 @@ function MachiningLib.AddOperations( vProc, Part, sRotation)
local idDisp = EgtGetPhaseDisposition( nPhase)
if sRotation == 'DOWN' then
BeamLib.RotateRawPart( Part, 2)
local nRotation = EgtIf( Part.nInitialPosition + 2 > 4, Part.nInitialPosition + 2 - 4, Part.nInitialPosition + 2) - 1
BeamLib.RotateRawPart( Part, nRotation)
EgtSetInfo( idDisp, 'ROT', -2)
EgtSetInfo( idDisp, 'TYPE', 'MID2')
elseif sRotation == 'SIDE' then
BeamLib.RotateRawPart( Part, 1)
local nRotation = EgtIf( Part.nInitialPosition + 1 > 4, Part.nInitialPosition + 1 - 4, Part.nInitialPosition + 1) - 1
BeamLib.RotateRawPart( Part, nRotation)
EgtSetInfo( idDisp, 'ROT', -1)
EgtSetInfo( idDisp, 'TYPE', 'MID2')
else
local nRotation = Part.nInitialPosition - 1
BeamLib.RotateRawPart( Part, nRotation)
EgtSetInfo( idDisp, 'TYPE', 'END')
end
EgtSetInfo( idDisp, 'ORD', MACHININGS[i].Proc.nIndexPartInParts)