From d2c2ca2fccab2b8f6373d8705c16b52c4f70a687 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Fri, 22 May 2026 15:15:56 +0200 Subject: [PATCH] =?UTF-8?q?OmagCUT=20:=20-=20in=20Split=20con=20movimenti?= =?UTF-8?q?=20manuali=20aggiunta=20possibilit=C3=A0=20di=20pi=C3=B9=20tagl?= =?UTF-8?q?i=20con=20successiva=20sola=20rimozione=20di=20alcune=20delle?= =?UTF-8?q?=20parti=20risultanti=20(risolve=20#3001).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CadCuts/MoveRawPartPage.xaml.vb | 27 ++++++++++++++------------- CadCuts/SplitPageUC.xaml.vb | 6 +++--- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/CadCuts/MoveRawPartPage.xaml.vb b/CadCuts/MoveRawPartPage.xaml.vb index 7cf4684..ae439dc 100644 --- a/CadCuts/MoveRawPartPage.xaml.vb +++ b/CadCuts/MoveRawPartPage.xaml.vb @@ -72,6 +72,8 @@ Public Class MoveRawPartPage ' Recupero i tagli ABILITATI prima definiti Dim Cuts(0) As Integer m_SplitPage.GetEnabledCuts(Cuts) + ' Flag per un solo taglio esistente (utile solo per modalià manuale) + Dim bOneCut As Boolean = (Cuts.Count() = 1) ' Fase precedente Dim nPrevPhase As Integer = EgtGetCurrPhase() ' Creo nuova fase, eseguo spezzatura grezzi e vi sposto le lavorazioni @@ -95,7 +97,7 @@ Public Class MoveRawPartPage '---------------------------- SCRAPS ---------------------------- ' gestione visualizzazione del comando "Scraps" Dim ScrapsVisibility As Visibility = Visibility.Collapsed - ' verifico se licenza abilitat: m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.SCRAPS) + ' verifico se rimozione sfridi con salvataggio in DB lastre è abilitato da Ini If GetPrivateProfileInt(S_SCRAPS, K_ENABLESCRAPS, 0, m_MainWindow.GetIniFile()) <> 0 Then ' leggo il direttorio in cui cercare il database delle lastre Dim PhotDir As String = String.Empty @@ -124,7 +126,7 @@ Public Class MoveRawPartPage ' assegnazione delle info tavola ausiliaria alla dispozione corrente (Spostato nella funzione Refresh) SetAuxTabInCurrDisposition() UnloadPartsBtn.Content = EgtMsg(90368) ' Go to MOVE part - ' altrimenti, aggiorno visualizzazione + ' altrimenti, aggiorno visualizzazione ElseIf Not m_SplitPage.m_bOnAuxTab And m_SplitPage.m_bEnableOnAuxTab Then UnloadPartsBtn.Content = EgtMsg(90369) ' Go to UNLOAD part End If @@ -179,7 +181,7 @@ Public Class MoveRawPartPage m_dOrigDist = 0 m_dCurrDist = 0 End If - ' Altrimenti movimento con ventose + ' Altrimenti movimento con ventose Else m_bRemovedRaw = False m_bRawWithCups = False @@ -197,7 +199,7 @@ Public Class MoveRawPartPage ' aggiorno il messaggio del comando per gestire gli sfridi VerifyIsNewScrap(m_CurrRawOnVacuum) ' aggiorno la visibilità dei comandi - RefreshVisibility() + RefreshVisibility(bOneCut) ' salvo l'idice della fase corrente m_nCurrDisposition = EgtGetPhaseDisposition(m_nCurrPhase) ' Abilitazione bottone modifica @@ -207,7 +209,7 @@ Public Class MoveRawPartPage End Sub ' Gestione di visualizzazione dei comandi per il movimento dei pezzi - Private Sub RefreshVisibility() + Private Sub RefreshVisibility(Optional bOneCut As Boolean = True) ' Aggiorno visulizzazione comando per passare alla pagina di scarico If Not m_SplitPage.m_bEnableOnAuxTab Then UnloadPartsBtn.Visibility = Visibility.Hidden @@ -222,11 +224,11 @@ Public Class MoveRawPartPage End If ' Aggiorno interfaccia per taglio perpendicolare If m_bByHand Then - UpBtn.Visibility = Windows.Visibility.Visible + UpBtn.Visibility = If( bOneCut, Windows.Visibility.Visible, Windows.Visibility.Hidden) LeftBtn.Visibility = Windows.Visibility.Hidden RightBtn.Visibility = Windows.Visibility.Hidden - DownBtn.Visibility = Windows.Visibility.Visible - StepMoveTxBx.Visibility = Windows.Visibility.Visible + DownBtn.Visibility = If( bOneCut, Windows.Visibility.Visible, Windows.Visibility.Hidden) + StepMoveTxBx.Visibility = If( bOneCut, Windows.Visibility.Visible, Windows.Visibility.Hidden) RotateClockwiseBtn.Visibility = Windows.Visibility.Hidden RotateCounterClockwiseBtn.Visibility = Windows.Visibility.Hidden RotationAngle.Visibility = Windows.Visibility.Hidden @@ -238,7 +240,7 @@ Public Class MoveRawPartPage PauseBtn.Visibility = Windows.Visibility.Hidden ResetBtn.Visibility = Windows.Visibility.Hidden ScrapsBtn.Visibility = m_ScrapsVisibility - ' altrimenti per movimento con ventose + ' altrimenti per movimento con ventose ElseIf Not m_SplitPage.m_bOnAuxTab Then UpBtn.Visibility = Windows.Visibility.Visible LeftBtn.Visibility = Windows.Visibility.Visible @@ -256,7 +258,7 @@ Public Class MoveRawPartPage PauseBtn.Visibility = Windows.Visibility.Hidden ResetBtn.Visibility = Windows.Visibility.Hidden ScrapsBtn.Visibility = m_ScrapsVisibility - ' altrimenti per movimento finale dei pezzi + ' altrimenti per movimento finale dei pezzi Else UpBtn.Visibility = Windows.Visibility.Hidden LeftBtn.Visibility = Windows.Visibility.Hidden @@ -1320,14 +1322,13 @@ Public Class MoveRawPartPage ' non cambio pagina Return End If - ' resetto l'inidice del pezzo da mnovimentare + ' resetto l'inidice del pezzo da movimentare m_CurrRawOnVacuum = GDB_ID.NULL ' Deseleziono tutto EgtDeselectAll() ' Torno alla fase precedente m_bPrev = True - ' Passo alla pagina delle spezzature solo se non esiste prima una fased di deposito sulla tavola di scarico - + ' Passo alla pagina delle spezzature solo se non esiste prima una fase di deposito sulla tavola di scarico Dim nPrevDispId As Integer = EgtGetPrevOperation(m_nCurrDisposition) ' verifico se la fasa precedente è di tipo scarico If IsDispUnloadOnAuxTab(nPrevDispId) <> 0 Then diff --git a/CadCuts/SplitPageUC.xaml.vb b/CadCuts/SplitPageUC.xaml.vb index deb9723..527b64b 100644 --- a/CadCuts/SplitPageUC.xaml.vb +++ b/CadCuts/SplitPageUC.xaml.vb @@ -2619,8 +2619,8 @@ Public Class SplitPageUC If m_bByHand Then m_bOnAuxTab = False ' Ci deve essere almeno 1 taglio disabilitato e 1 e 1 solo passante - NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() = 1) - ' Altrimenti + NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() >= 1) + ' Altrimenti Else ' movimento standard sulla tavola (almeno un taglio disabilitato allora False) Dim bStdTab As Boolean = (GetDisabledCutsCount() > 0) @@ -2631,7 +2631,7 @@ Public Class SplitPageUC ' Deve essere permesso almeno un tipo di movimento NextBtn.IsEnabled = bStdTab Or m_bOnAuxTab Or bFinalMoveTab End If - ' altrimenti sto solo visualizzando + ' altrimenti sto solo visualizzando Else ' movimento su tavola di scarico m_bOnAuxTab = (m_nCurrPhase = EgtGetPhaseCount() - 1 And m_bEnableOnAuxTab And EgtGetOperationType(EgtGetLastOperation()) = MCH_OY.DISP)