OmagCUT :

- in Split con movimenti manuali aggiunta possibilità di più tagli con successiva sola rimozione di alcune delle parti risultanti (risolve #3001).
This commit is contained in:
Dario Sassi
2026-05-22 15:15:56 +02:00
parent 141522fccb
commit d2c2ca2fcc
2 changed files with 17 additions and 16 deletions
+14 -13
View File
@@ -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
+3 -3
View File
@@ -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)