From 69256cf4306847a7122f2618f95695ffbb335282 Mon Sep 17 00:00:00 2001 From: "andrea.villa" Date: Fri, 16 Jan 2026 16:02:03 +0100 Subject: [PATCH] Allineamento con common ver. 3.1a1 --- Common_PF1250.TPA.mlpe | 16 ++++++++++++---- Common_PF1250.mlpe | 16 +++++++++++++--- Essetre-PF1500MAXrl-3T.mlde | 4 ++-- UpdateLog.txt | 2 ++ Version.lua | 2 +- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/Common_PF1250.TPA.mlpe b/Common_PF1250.TPA.mlpe index c10318c..3184522 100644 --- a/Common_PF1250.TPA.mlpe +++ b/Common_PF1250.TPA.mlpe @@ -1121,16 +1121,24 @@ function OnRapid() -- altrimenti sega a catena else -- se bisogna scrivere tutti gli assi + local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1) if WriteAllCoordsOnFirstM101 then - local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1) EmitMoveDataHead( 1, { X=-ParkCSawX1, Z=dSafeZ1, B=HomeB1, C=HomeC1, TRad=dTRad, TLen=dTLen, S=Speed}) end -- Porto la Z alla giusta quota - if EMT.L3 > HomeZ1 + 1 and abs( EMT.R2) > 89.9 then + if EMT.L3 > dSafeZ1 + 1 and abs( EMT.R2) > 89.9 then EmitMoveDataHead( 1, { X=EMT.L2, S=Speed}) - EmitMoveDataHead( 1, { Z=HomeZ1, S=Speed}) + EmitMoveDataHead( 1, { Z=dSafeZ1, S=Speed}) + end + local dChSawEncumbrance = EMT.L3 + MillOffs - ( ( ChSawLen + MillOffs) * EMT.ADIR[3]) - ( EMT.TTOTLEN * EMT.TDIR[3]) + local dBeamQuote = DeltaTabZ + EMT.SB + 30 + if dChSawEncumbrance < dBeamQuote then + EmitMoveDataHead( 1, { Z=dSafeZ1, B=EMT.R2, S=Speed}) + EmitMoveDataHead( 1, { X=EMT.L2, C=EMT.R1, S=Speed}) + EmitMoveDataHead( 1, { Z=EMT.L3, S=Speed}) + else + EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed}) end - EmitMoveDataHead( 1, { Z=EMT.L3, B=EMT.R2, S=Speed}) -- se motosega molto lunga, ruoto prima di muovermi in X if EMT.TTOTLEN >= MinLengthLongCSaw then EmitMoveDataHead( 1, { C=EMT.R1, S=Speed}) diff --git a/Common_PF1250.mlpe b/Common_PF1250.mlpe index ee87a06..579e440 100644 --- a/Common_PF1250.mlpe +++ b/Common_PF1250.mlpe @@ -1102,14 +1102,24 @@ function OnSimulMoveStart() end -- altrimenti sega a catena else + local dSafeZ1 = EgtIf( EMT.TTOTLEN < MinLengthLongCSaw, ParkCSawZ1, ParkLongCSawZ1) -- Porto la Z alla giusta quota - if Z1Pos > Z1Home + 1 and abs( B1Pos) > 89.9 then + if Z1Pos > dSafeZ1 + 1 and abs( B1Pos) > 89.9 then SimulMoveAxis( 'X1', EMT.L2, MCH_SIM_STEP.RAPID) - SimulMoveAxis( 'Z1', Z1Home, MCH_SIM_STEP.RAPID) + SimulMoveAxis( 'Z1', dSafeZ1, MCH_SIM_STEP.RAPID) end + -- se movimento iniziale da Zmax if EMT.ZMAX or ( EMT.FLAG == 2 and EMT.FLAG2 == 1) then - SimulMoveAxes( 'Z1', Z1Home, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT) + local dChSawEncumbrance = EMT.L3 + MillOffs - ( ( ChSawLen + MillOffs) * EMT.ADIR[3]) - ( EMT.TTOTLEN * EMT.TDIR[3]) + local dBeamQuote = DeltaTabZ + EMT.SB + 30 + if dChSawEncumbrance < dBeamQuote then + SimulMoveAxes( 'Z1', dSafeZ1, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT) + SimulMoveAxes( 'X1', EMT.L2, MCH_SIM_STEP.RAPID, 'C1', EMT.R1, MCH_SIM_STEP.COLLROT) + SimulMoveAxis( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID) + else + SimulMoveAxes( 'Z1', EMT.L3, MCH_SIM_STEP.RAPID, 'B1', EMT.R2, MCH_SIM_STEP.COLLROT) + end -- se motosega molto lunga, ruoto prima di muovermi in X if EMT.TTOTLEN >= MinLengthLongCSaw then SimulMoveAxis( 'C1', EMT.R1, MCH_SIM_STEP.COLLROT) diff --git a/Essetre-PF1500MAXrl-3T.mlde b/Essetre-PF1500MAXrl-3T.mlde index 5af27b3..671e1bd 100644 --- a/Essetre-PF1500MAXrl-3T.mlde +++ b/Essetre-PF1500MAXrl-3T.mlde @@ -5,8 +5,8 @@ require( 'EmtGenerator') EgtEnableDebug( false) -PP_VER = '2.7l2' -PP_NVER = '2.7.12.2' +PP_VER = '3.1a1' +PP_NVER = '3.1.1.1' MIN_MACH_VER = '2.7d2' MACH_NAME = EgtGetCurrMachineName() diff --git a/UpdateLog.txt b/UpdateLog.txt index 9a6f843..09cb88b 100644 --- a/UpdateLog.txt +++ b/UpdateLog.txt @@ -1,4 +1,6 @@ ==== Common_PF1250 Update Log ==== +Versione 3.1a1 (16/01/2026) +- (SIM-GEN) Corretto movimento di approccio con sega a catena e allineati Simulazione e Generazione. Ticket#2771 Versione 2.7l1 (18/12/2025) - (SIM-GEN) Aggiunto controllo post movimenti ausiliari dell' EMC.PREVOFFSX nella funzione OnSpecialGetPrevMachiningOffset() come su ONE-PF. Ticket#2727 diff --git a/Version.lua b/Version.lua index 8f0edbd..d69c240 100644 --- a/Version.lua +++ b/Version.lua @@ -3,7 +3,7 @@ local InfoCommon_STD_PP = { NAME = 'Common_PF1250', -- nome script PP standard - VERSION = '2.7l1', -- versione script + VERSION = '3.1a1', -- versione script MIN_MACH_VER_PP_COMMON = '2.7k1' -- versione minima kernel }