From d7fadcb5960760642bdf42f607c56f2325fa672d Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 2 Jul 2025 08:22:00 +0200 Subject: [PATCH] EgtMachKernel 2.7g1 : - riportate su tutte le lavorazioni le modifiche in Update prima fatte solo a milling. --- Chiseling.cpp | 25 ++++++++++++++----------- Drilling.cpp | 25 ++++++++++++++----------- EgtMachKernel.rc | Bin 11774 -> 11774 bytes FiveAxisMilling.cpp | 28 ++++++++++++++-------------- GenMachining.cpp | 27 +++++++++++++++------------ Machining.h | 2 -- Mortising.cpp | 25 ++++++++++++++----------- Pocketing.cpp | 25 ++++++++++++++----------- PocketingNT.cpp | 25 ++++++++++++++----------- Probing.cpp | 28 ++++++++++++++-------------- SawFinishing.cpp | 25 ++++++++++++++----------- SawRoughing.cpp | 25 ++++++++++++++----------- Sawing.cpp | 21 ++++++++++++--------- SurfFinishing.cpp | 25 ++++++++++++++----------- SurfRoughing.cpp | 25 ++++++++++++++----------- WaterJetting.cpp | 25 ++++++++++++++----------- 16 files changed, 195 insertions(+), 161 deletions(-) diff --git a/Chiseling.cpp b/Chiseling.cpp index 8667539..d7913c8 100644 --- a/Chiseling.cpp +++ b/Chiseling.cpp @@ -622,22 +622,16 @@ Chiseling::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2910, "Error in Chiseling : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2911, "Error in Chiseling : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2912, sErr) ; else @@ -645,6 +639,15 @@ Chiseling::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2910, "Error in Chiseling : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2911, "Error in Chiseling : link outstroke ") ; + return false ; + } + return true ; } diff --git a/Drilling.cpp b/Drilling.cpp index b2df0bf..bc779e5 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -744,22 +744,16 @@ Drilling::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2111, "Error in Drilling : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2112, "Error in Drilling : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2113, sErr) ; else @@ -767,6 +761,15 @@ Drilling::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2111, "Error in Drilling : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2112, "Error in Drilling : link outstroke ") ; + return false ; + } + return true ; } diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 7af08681cf7032bb54a840e56b3c1817b7d6ea96..227f431fca4a2fe16b3fd2b9c15a72f16558bc88 100644 GIT binary patch delta 121 zcmewt{V#gMH#Syt1|0^&&A-{KnVHiW3@1O7)ZLuM)x!c8zsNNCgkT;*P6$a3MUMyL R=2g-z%(yjz6ex#q0RVBoCa3@a delta 121 zcmewt{V#gMH#Sx?1|0_D&A-{KnVHiVj3+;o)ZLuM)x!c8zsNNCgkT;*P6$a3MUMyL R=2g-z%(yjz6ex#q0RVHUCa?ei diff --git a/FiveAxisMilling.cpp b/FiveAxisMilling.cpp index df8d732..124d395 100644 --- a/FiveAxisMilling.cpp +++ b/FiveAxisMilling.cpp @@ -739,25 +739,16 @@ FiveAxisMilling::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - bool bVpl ; - if ( ! FromString( ExtractInfo( m_Params.m_sUserNotes, "Vpl:"), bVpl)) - bVpl = true ; - if ( ! AdjustStartEndMovements( bVpl)) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 3306, "Error in FiveAxisMilling : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 3307, "Error in FiveAxisMilling : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 3308, sErr) ; else @@ -765,6 +756,15 @@ FiveAxisMilling::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 3306, "Error in FiveAxisMilling : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 3307, "Error in FiveAxisMilling : link outstroke ") ; + return false ; + } + return true ; } diff --git a/GenMachining.cpp b/GenMachining.cpp index cb7f981..2100c46 100644 --- a/GenMachining.cpp +++ b/GenMachining.cpp @@ -712,25 +712,19 @@ GenMachining::Update( bool bPostApply) return false ; } + // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso + CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione bool bVpl ; if ( ! FromString( ExtractInfo( m_Params.m_sUserNotes, "Vpl:"), bVpl)) bVpl = true ; - if ( ! AdjustStartEndMovements( bVpl)) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2806, "Error in GenMachining : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2807, "Error in GenMachining : link outstroke ") ; - return false ; - } - - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso - CalcAndSetAxesBBox() ; + bool bLinkOk = AdjustStartEndMovements( bVpl) ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2808, sErr) ; else @@ -738,6 +732,15 @@ GenMachining::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2806, "Error in GenMachining : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2807, "Error in GenMachining : link outstroke ") ; + return false ; + } + return true ; } diff --git a/Machining.h b/Machining.h index 01f8b88..5fc2672 100644 --- a/Machining.h +++ b/Machining.h @@ -57,8 +57,6 @@ class Machining : public Operation protected : Machining( void) ; - bool PostApply( std::string& sErr) - { bool bLinkOk = true ; return PostApply( bLinkOk, sErr) ; } bool PostApply( bool& bLinkOk, std::string& sErr) ; private : diff --git a/Mortising.cpp b/Mortising.cpp index 15f915a..7587d20 100644 --- a/Mortising.cpp +++ b/Mortising.cpp @@ -661,22 +661,16 @@ Mortising::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2509, "Error in Mortising : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2510, "Error in Mortising : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2511, sErr) ; else @@ -684,6 +678,15 @@ Mortising::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2509, "Error in Mortising : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2510, "Error in Mortising : link outstroke ") ; + return false ; + } + return true ; } diff --git a/Pocketing.cpp b/Pocketing.cpp index 599e47b..5f13e8e 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -779,22 +779,16 @@ Pocketing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2425, "Error in Pocketing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2426, "Error in Pocketing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = m_pMchMgr->GetOutstrokeInfo() ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2427, sErr) ; else @@ -802,6 +796,15 @@ Pocketing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2425, "Error in Pocketing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2426, "Error in Pocketing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/PocketingNT.cpp b/PocketingNT.cpp index 87f9def..3d1c5f8 100644 --- a/PocketingNT.cpp +++ b/PocketingNT.cpp @@ -849,22 +849,16 @@ PocketingNT::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2425, "Error in PocketingNT : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2426, "Error in PocketingNT : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2427, sErr) ; else @@ -872,6 +866,15 @@ PocketingNT::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2425, "Error in PocketingNT : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2426, "Error in PocketingNT : link outstroke ") ; + return false ; + } + return true ; } diff --git a/Probing.cpp b/Probing.cpp index 7b843f3..2186fd6 100644 --- a/Probing.cpp +++ b/Probing.cpp @@ -677,25 +677,16 @@ Probing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - bool bVpl ; - if ( ! FromString( ExtractInfo( m_Params.m_sUserNotes, "Vpl:"), bVpl)) - bVpl = true ; - if ( ! AdjustStartEndMovements( bVpl)) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 3406, "Error in Probing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 3407, "Error in Probing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 3408, sErr) ; else @@ -703,6 +694,15 @@ Probing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 3406, "Error in Probing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 3407, "Error in Probing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/SawFinishing.cpp b/SawFinishing.cpp index e3001b8..1ae4c7e 100644 --- a/SawFinishing.cpp +++ b/SawFinishing.cpp @@ -634,22 +634,16 @@ SawFinishing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2713, "Error in SawFinishing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2714, "Error in SawFinishing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2715, sErr) ; else @@ -657,6 +651,15 @@ SawFinishing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2713, "Error in SawFinishing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2714, "Error in SawFinishing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/SawRoughing.cpp b/SawRoughing.cpp index 343372a..fc94f0e 100644 --- a/SawRoughing.cpp +++ b/SawRoughing.cpp @@ -598,22 +598,16 @@ SawRoughing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2613, "Error in SawRoughing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2614, "Error in SawRoughing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2615, sErr) ; else @@ -621,6 +615,15 @@ SawRoughing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2613, "Error in SawRoughing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2614, "Error in SawRoughing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/Sawing.cpp b/Sawing.cpp index 98e5a30..b33062c 100644 --- a/Sawing.cpp +++ b/Sawing.cpp @@ -784,18 +784,12 @@ Sawing::Update( bool bPostApply) CalcAndSetAxesBBox() ; // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 2217, "Error in Sawing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 2218, "Error in Sawing : link outstroke ") ; - return false ; - } + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 2219, sErr) ; else @@ -803,6 +797,15 @@ Sawing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 2217, "Error in Sawing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 2218, "Error in Sawing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/SurfFinishing.cpp b/SurfFinishing.cpp index dedcc7e..4d49594 100644 --- a/SurfFinishing.cpp +++ b/SurfFinishing.cpp @@ -735,22 +735,16 @@ SurfFinishing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 3118, "Error in SurfFinishing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 3119, "Error in SurfFinishing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 3120, sErr) ; else @@ -758,6 +752,15 @@ SurfFinishing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 3118, "Error in SurfFinishing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 3119, "Error in SurfFinishing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/SurfRoughing.cpp b/SurfRoughing.cpp index 5a5bfa3..de884be 100644 --- a/SurfRoughing.cpp +++ b/SurfRoughing.cpp @@ -714,22 +714,16 @@ SurfRoughing::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 3018, "Error in SurfRoughing : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 3019, "Error in SurfRoughing : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 3020, sErr) ; else @@ -737,6 +731,15 @@ SurfRoughing::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 3018, "Error in SurfRoughing : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 3019, "Error in SurfRoughing : link outstroke ") ; + return false ; + } + return true ; } diff --git a/WaterJetting.cpp b/WaterJetting.cpp index 921422d..e7783e9 100644 --- a/WaterJetting.cpp +++ b/WaterJetting.cpp @@ -767,22 +767,16 @@ WaterJetting::Update( bool bPostApply) return false ; } - // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione - if ( ! AdjustStartEndMovements()) { - string sInfo = m_pMchMgr->GetOutstrokeInfo() ; - if ( sInfo.empty()) - m_pMchMgr->SetLastError( 3216, "Error in WaterJetting : link movements not calculable") ; - else - m_pMchMgr->SetLastError( 3217, "Error in WaterJetting : link outstroke ") ; - return false ; - } - // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso CalcAndSetAxesBBox() ; + // gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine della lavorazione + bool bLinkOk = AdjustStartEndMovements() ; + string sLinkInfo = ( bLinkOk ? "" : m_pMchMgr->GetOutstrokeInfo()) ; + // esecuzione eventuali personalizzazioni string sErr ; - if ( bPostApply && ! PostApply( sErr)) { + if ( bPostApply && ! PostApply( bLinkOk, sErr) && bLinkOk) { if ( ! IsEmptyOrSpaces( sErr)) m_pMchMgr->SetLastError( 3218, sErr) ; else @@ -790,6 +784,15 @@ WaterJetting::Update( bool bPostApply) return false ; } + // se non riuscito collegamento con lavorazione precedente + if ( ! bLinkOk) { + if ( sLinkInfo.empty()) + m_pMchMgr->SetLastError( 3216, "Error in WaterJetting : link movements not calculable") ; + else + m_pMchMgr->SetLastError( 3217, "Error in WaterJetting : link outstroke ") ; + return false ; + } + return true ; }