From 06d9529b7b26aa25d291a94d27886e251bdf695e Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Tue, 14 Apr 2026 09:05:46 +0200 Subject: [PATCH] =?UTF-8?q?Per=20ruotare=20il=20pezzo=20non=20lo=20si=20to?= =?UTF-8?q?glie=20pi=C3=B9=20dalla=20barra,=20ma=20lo=20si=20gira=20in=20"?= =?UTF-8?q?Draw"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LuaLibs/BeamExec.lua | 14 +++++--------- LuaLibs/MachiningLib.lua | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/LuaLibs/BeamExec.lua b/LuaLibs/BeamExec.lua index d0d2452..c5602fe 100644 --- a/LuaLibs/BeamExec.lua +++ b/LuaLibs/BeamExec.lua @@ -1772,8 +1772,9 @@ function BeamExec.ProcessMachinings( PARTS, bIsFlipRot) local nInitialPosition = MatrixResult.nInitialPosition -- PREROTAZIONE PEZZO if MatrixResult.nInitialPosition ~= 1 or PARTS[nPart].bPartInCombiIsInverted then - -- si toglie il pezzo dal grezzo per poter fare operazioni - EgtRemovePartFromRawPart( PARTS[nPart].id) + -- si esce dalle lavorazioni e si torna in disegna + local nCurrMachGroup = EgtGetCurrMachGroup() + EgtResetCurrMachGroup() -- salvo situazione precedente su lista BEAM ( scrittura variabili globali per interfaccia) if bIsFlipRot then @@ -1795,11 +1796,8 @@ function BeamExec.ProcessMachinings( PARTS, bIsFlipRot) EgtRotate( PARTS[nPart].id, ptRot, X_AX(), nRotationDeg, GDB_RT.GLOB) end - -- si rimette il pezzo nel grezzo - EgtAddPartToRawPart( PARTS[nPart].id, {0,0,0}, PARTS[nPart].idRaw) - - -- dico che il pezzo originale è nella posizione iniziale come arriva da BTL ( è stato appena ruotato qui sopra) - nInitialPosition = 1 + -- si riattiva il MachGroup, i pezzi son rimasti dove erano + EgtSetCurrMachGroup( nCurrMachGroup) end -- salvo sul PART la posizione di partenza che è stata scelta @@ -1895,8 +1893,6 @@ function BeamExec.ProcessMachinings( PARTS, bIsFlipRot) if PARTS[nPart].bPartInCombiIsInverted then BeamLib.InvertRawPart( PARTS[nPart], -2) end - -- ripristino anche eventuali pre-rotazioni - nInitialPosition = nInitialPosition + ( BEAM.PREROTATE90 or 0) -- si ribalta il pezzo in posizione iniziale BeamLib.RotateRawPart( PARTS[nPart], 1 - nInitialPosition) else diff --git a/LuaLibs/MachiningLib.lua b/LuaLibs/MachiningLib.lua index 59a174e..0192515 100644 --- a/LuaLibs/MachiningLib.lua +++ b/LuaLibs/MachiningLib.lua @@ -1448,7 +1448,7 @@ function MachiningLib.AddOperations( MACHININGS, Part, sRotation) local idDisp = EgtGetPhaseDisposition( nPhase) -- posizione iniziale considerando eventuiali prerotazioni - local nRealInitialPosition = Part.nInitialPosition - ( BEAM.PREROTATE90 or 0) + local nRealInitialPosition = Part.nInitialPosition if sRotation == 'DOWN' then local nRotation = EgtIf( nRealInitialPosition + 2 > 4, nRealInitialPosition + 2 - 4, nRealInitialPosition + 2) - 1 BeamLib.RotateRawPart( Part, nRotation)