Compare commits

..

7 Commits

Author SHA1 Message Date
Nicola Pievani 3075c2f4af Migliorata gestione avvio programma CameraMng 2025-08-27 16:03:31 +02:00
Nicola Pievani 045e7cba61 Gestione spostame tagli finali 2025-08-27 15:54:55 +02:00
Nicola Pievani 57d4a29b74 Gestione configurazione dei comandi RESET, milgiorata funzione ResetFEED 2025-08-27 14:30:14 +02:00
Nicola Pievani b045f0ce7b Gestione aggiornamento lavorazioni inclinate 2025-08-26 11:19:32 +02:00
Nicola Pievani 41767f4f3a Merge branch 'develop' of https://gitlab.steamware.net/egaltech/OmagCUT into develop 2025-08-25 18:56:41 +02:00
Nicola Pievani 85f05f280f Corretta gestione selezione lavorazione inclianata senza cmabio lama 2025-08-25 18:56:06 +02:00
Demetrio Cassarino b4338ef88e -migliorata gestione pagina sideangleUC 2025-08-25 16:12:13 +02:00
9 changed files with 274 additions and 37 deletions
+29 -8
View File
@@ -916,6 +916,8 @@ Public Class SplitPageUC
Next
m_CurrFirstInd = m_ItemList.IndexOf(ItemList(0))
m_CurrLastInd = m_ItemList.IndexOf(ItemList(ItemList.Count - 1))
' Aggiorno lo stato dei bottoni
UpdateEnableMoveBtn()
EgtDraw()
End Sub
@@ -932,7 +934,9 @@ Public Class SplitPageUC
If m_IsCtrlKeyDown Or m_IsShiftKeyDown Then Return
Dim Index As Integer = MachiningLsBx.SelectedIndex
If Index = -1 Then Return
ChangeMachinig(m_MachiningList(Index).m_nId)
If m_MainWindow.m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGERWITHSAW Then
ChangeMachinig(m_MachiningList(Index).m_nId)
End If
End Sub
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
@@ -962,11 +966,27 @@ Public Class SplitPageUC
End If
End Sub
' Uno spostamento è possibile solo se la pozione di arrivo è un taglio dello stesso tipo (FinalCut)
Private Sub UpdateEnableMoveBtn()
If Not MoveUpBtn.IsEnabled And Not MoveDownBtn.IsEnabled Then Return
' MOVE UP (-1)
Dim OldItem As SplitMach = m_MachiningList(m_CurrFirstInd - 1)
Dim NewItem As SplitMach = m_MachiningList(m_CurrLastInd)
MoveUpBtn.IsEnabled = Not (OldItem.m_bFinalCut Or NewItem.m_bFinalCut) Or (OldItem.m_bFinalCut And NewItem.m_bFinalCut)
' MOVE DOWN (1)
OldItem = m_MachiningList(m_CurrLastInd + 1)
NewItem = m_MachiningList(m_CurrFirstInd)
MoveDownBtn.IsEnabled = Not (OldItem.m_bFinalCut Or NewItem.m_bFinalCut) Or (OldItem.m_bFinalCut And NewItem.m_bFinalCut)
End Sub
Private Sub MoveItem(direction As Integer)
' Checking selected item
If m_CurrFirstInd = -1 OrElse MachiningLsBx.SelectedIndex < 0 Then
Return
End If
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
' Se la direzione è giù
If direction = 1 And m_CurrLastInd < m_ItemList.Count - 1 Then
@@ -990,7 +1010,8 @@ Public Class SplitPageUC
m_CurrFirstInd -= 1
m_CurrLastInd -= 1
End If
' Aggiorno lo stato dei bottoni
UpdateEnableMoveBtn()
' Imposto flag di modifica
m_bModified = True
End Sub
@@ -1371,7 +1392,7 @@ Public Class SplitPageUC
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
EgtOutLog(" ⚠️ L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
EgtOutLog("L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama")
Else
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
@@ -1448,7 +1469,7 @@ Public Class SplitPageUC
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
EgtOutLog(" ⚠️ L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
EgtOutLog("L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama")
Else
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
@@ -1490,7 +1511,7 @@ Public Class SplitPageUC
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
EgtOutLog(" ⚠️ L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
EgtOutLog("L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama")
Else
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
@@ -1567,7 +1588,7 @@ Public Class SplitPageUC
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
EgtOutLog(" ⚠️ L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
EgtOutLog("L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama")
Else
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
@@ -1670,7 +1691,7 @@ Public Class SplitPageUC
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dPrevAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
If Not m_MachiningList(nI).m_bCanStartAll Then
EgtOutLog(" ⚠️ Il taglio non puo' essere allungato all'interno del pezzo ⚠️")
EgtOutLog("Il taglio non puo' essere allungato all'interno del pezzo")
Return
End If
@@ -1850,7 +1871,7 @@ Public Class SplitPageUC
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dNextAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
If Not m_MachiningList(nI).m_bCanEndAll Then
EgtOutLog(" ⚠️ Il taglio non puo' essere allungato all'interno del pezzo ⚠️")
EgtOutLog("Il taglio non puo' essere allungato all'interno del pezzo")
Return
End If
+6 -1
View File
@@ -1563,10 +1563,15 @@ Public Class DrawPageUC
LeftButtonGrd.Children.Remove(m_CompoDimension.m_AlzFrontPage)
End Select
' Pulisco l'ambiente lua
ResetLuaVariables()
Try
VariablesGrd.Children.Remove(m_CompoDimension)
Catch ex As Exception
Dim x As Boolean = True
End Try
End Sub
Private Class CompoVar
+1 -1
View File
@@ -248,5 +248,5 @@ Public Class SecondaryComponentPageUC
m_MainWindow.m_DrawPageUC.LeftButtonGrd.Children.Add(m_MainComponentPage)
End Sub
End Class
+43 -2
View File
@@ -167,7 +167,42 @@ Public Class SideAngleUC
End If
' Gestisco Checkbox e nomi in base al numero di lati inclinabili
TxBlChBxView()
' Controllo se la checkbox SideAngle è attiva
If SideAngleChBx.IsChecked Then
Dim dSideAngle As Double = 0
Dim dHell As Double = 0
' Controllo se l'angolo della nuova entità non è nullo
If Not String.IsNullOrEmpty(NewA1TxBx.Text) Then
StringToDouble(NewA1TxBx.Text, dSideAngle)
' Controllo se l'angolo è diverso da 0
If dSideAngle <> 0 Then
' Aggiorno l'angolo delle entità
UpdateSideAngleAllEntities()
End If
End If
' Controllo se il tallone della nuova entità non è nullo
If Not String.IsNullOrEmpty(NewH1TxBx.Text) Then
StringToDouble(NewH1TxBx.Text, dHell)
' Controllo se il tallone è maggiore di 0
If dHell > 0 Then
' Aggiorno il tallone delle entità
UpdateHeelAllEntities()
End If
End If
' Elimino le righe per riposizionarle
Grid.SetRow(NewEntity, MAX_LINES - m_nShow + 1)
Grid.SetRow(NewA1TxBx, MAX_LINES - m_nShow + 1)
Grid.SetRow(NewH1TxBx, MAX_LINES - m_nShow + 1)
Grid.SetRow(SideAngleBl, MAX_LINES - m_nShow)
Grid.SetRow(HeelBl, MAX_LINES - m_nShow)
Grid.SetRow(SideAngleGrid, MAX_LINES - m_nShow)
' Rendo visibile solo la nuova entità
CollapsedCheckAllTextSideAng()
Else
' Altrimenti eseguo impaginazione classica
TxBlChBxView()
End If
' Aggiorno valori
If m_Mode = ModeOpt.DRIP Then
@@ -406,10 +441,16 @@ Public Class SideAngleUC
Grid.SetRow(NewA1TxBx, MAX_LINES - m_nShow + 1)
Grid.SetRow(NewH1TxBx, MAX_LINES - m_nShow + 1)
NewEntity.Text = "A#"
' Se interrompo la creazione di un unico SideAng
If Not GetSideAngleFromAllEntities() Then Return
CollapsedCheckAllTextSideAng()
End Sub
' Rende visibile NewEntity quando si attiva la spunta sulla checkbox
Private Sub CollapsedCheckAllTextSideAng()
NewEntity.Text = "A#"
PrevBtn.Visibility = Visibility.Collapsed
NextBtn.Visibility = Visibility.Collapsed
+18
View File
@@ -614,6 +614,24 @@ Public Class AlarmsPageUC
m_MainWindow.m_WorkInProgressPageUC.UpdateTools()
' aggiorno la lista delle lavorazioni
RefreschMachining()
' Se è associata anche una lavorazione inclinata allora deve essere resettata
If m_CurrentMachine.MountedToolConfig <> CurrentMachine.MountedToolConfigs.TOOLCHANGERWITHSAW Then
m_CurrentMachine.sCurrSawTilted = CurrSawCmBx.SelectedItem.ToString()
' Se nuova lama incompatibile con lavorazione di taglio corrente, resetto quest'ultima
sMchTuuid = String.Empty
sMchTool = String.Empty
If Not EgtMdbSetCurrMachining(m_CurrentMachine.sCurrSawingTilted) Or
Not EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sMchTuuid) Or
Not EgtTdbGetToolFromUUID(sMchTuuid, sMchTool) Or
String.Compare(sMchTool, m_CurrentMachine.sCurrSawTilted, True) <> 0 Then
m_CurrentMachine.sCurrSawingTilted = String.Empty
End If
' Aggiorno utensili per lavoro in corso
m_MainWindow.m_WorkInProgressPageUC.UpdateTools()
' aggiorno la lista delle lavorazioni
RefreschMachining()
End If
End Sub
' -- SAW TILTED --
+8 -3
View File
@@ -330,13 +330,18 @@ Public Class CurrentProjectPageUC
EgtSetCurrentContext(CurrentProjectScene.GetCtx())
' Cancello eventuali messaggi
ClearMessage()
' Se è stata modificata l'uso della lama inclinata allora aggiorno anche questa lavorazione
If m_MainWindow.m_CurrentMachine.MountedToolConfig <> CurrentMachine.MountedToolConfigs.TOOLCHANGERWITHSAW Then
' assegno la lavorazione corrente per i tagli di lama inclinati (solo se specificato nella ComboBox della ChooseMachinig)
RestoreDef_Machinig(True)
End If
' Ricalcolo tutte le lavorazioni
Dim nWarn As Integer = 0
ResetAllMachinings(nWarn)
If nWarn = 1 Then SetWarningMessage(EgtMsg(90351)) ' Lama troppo grande per utilizzo ventosa
' Aggiorno visualizzazione
EgtDraw()
End If
' Aggiorno visualizzazione
EgtDraw()
End If
End Sub
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseDownScene
+2 -2
View File
@@ -56,10 +56,10 @@
PlacementTarget="{Binding ElementName=ResetCutBtn}">
<WrapPanel Orientation="Vertical"
Background="{DynamicResource OmagCut_Gray}">
<Button x:Name="ResetCut1Btn"
<Button x:Name="ResetCut2Btn"
Width ="78" Height="78"
Style="{DynamicResource OmagCut_YellowTextButton}"/>
<Button x:Name="ResetCut2Btn"
<Button x:Name="ResetCut1Btn"
Width ="78" Height="78"
Style="{DynamicResource OmagCut_YellowTextButton}"/>
</WrapPanel>
+165 -20
View File
@@ -2,6 +2,9 @@
Imports EgtWPFLib
Public Class ProjectMgrUC
' Creo una varibile statica per verificare di non stampare due volte lo stesso messaggio
Public Shared bFirstRun As Boolean = True
' Riferimenti a pagine (condivisi tra tutte le istanze della classe)
Private Shared m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private Shared m_CurrProjPage As CurrentProjectPageUC
@@ -11,6 +14,7 @@ Public Class ProjectMgrUC
' usato per scrivere i comadi di movimento test lavorazione
Friend m_CN As CN_generico
' L'inizializzazine avviene 2 volte: una per i tagli CAD ed una per le cornici
Private Sub ProjectMgrUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' Imposto i messaggi letti dal file dei messaggi
NewBtn.ToolTip = EgtMsg(90303) ' Nuovo
@@ -21,9 +25,12 @@ Public Class ProjectMgrUC
VeinMatchingBtn.ToolTip = EgtMsg(90309) ' Vein Match
RegisterBtn.Content = "REG" ' Shape Registration
ResetCutBtn.Content = EgtMsg(90336) ' Reset
ResetCut2Btn.Content = EgtMsg(91024) ' Reset lavorazioni
ResetCut1Btn.Content = EgtMsg(91025) ' Aggiorna feed/speed
'ResetCutBtn.Content = EgtMsg(90336) ' Reset
'ResetCut2Btn.Content = EgtMsg(91024) ' Reset lavorazioni
'ResetCut1Btn.Content = EgtMsg(91025) ' Aggiorna feed/speed
PopulateListCmdReset()
SimulateBtn.ToolTip = EgtMsg(90301) ' Simulate - Simula
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
WorkBtn.ToolTip = EgtMsg(90310) ' Export - Esporta
@@ -255,6 +262,8 @@ Public Class ProjectMgrUC
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
End Sub
#Region "RESET"
Private Sub ResetCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCutBtn.Click
If (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then
If ResetCutPopUp.IsOpen Then
@@ -263,18 +272,28 @@ Public Class ProjectMgrUC
ResetCutPopUp.IsOpen = True
End If
Else
ResetCut3Btn_Click()
CallFunction(0)
End If
End Sub
' Reimposto le feed di tutte le lavorazioni
Private Sub ResetCut1Btn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCut1Btn.Click
CallFunction(1)
End Sub
' Reimposto le lavorazioni di default e ripristino i parametri
Private Sub ResetCut2Btn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCut2Btn.Click
CallFunction(2)
End Sub
' Reimposto le feed di tutte le lavorazioni
Private Sub FeedReset()
' eseguo il ricalcolo delle sole FEED di lavorazione
UpdateFeedAllMachining()
End Sub
' Reimposto le lavorazioni di default e ripristino i parametri
Private Sub ResetCut2Btn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCut2Btn.Click
Private Sub HardReset()
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
' Cancello eventuali messaggi
m_CurrProjPage.ClearMessage()
@@ -307,7 +326,7 @@ Public Class ProjectMgrUC
End Sub
' Resetta i valori dei parametri (ma non le lavorazioni)
Private Sub ResetCut3Btn_Click()
Private Sub StandardReset()
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
' Cancello eventuali messaggi
m_CurrProjPage.ClearMessage()
@@ -333,6 +352,96 @@ Public Class ProjectMgrUC
EgtDraw()
End Sub
Private Const HARD_RESET As String = "HARD"
Private Const STANDARD_RESET As String = "STANDARD"
Private Const FEED_RESET As String = "FEED"
Private Enum RESET_TYPE
HARD
STANDARD
FEED
End Enum
Private m_ListCmdReset As New List(Of RESET_TYPE) From {RESET_TYPE.HARD, RESET_TYPE.STANDARD, RESET_TYPE.FEED}
Private Sub CallFunction(IndexListCmdReset As Integer)
Select Case m_ListCmdReset(IndexListCmdReset)
Case RESET_TYPE.STANDARD
EgtOutLog("STNADRD Reset")
StandardReset()
Case RESET_TYPE.HARD
EgtOutLog("HARD Reset")
HardReset()
Case RESET_TYPE.FEED
EgtOutLog("FEED Reset")
FeedReset()
End Select
End Sub
Private Sub SetBtnResetContent(IndexListCmdReset As Integer, Btn As Button)
Select Case m_ListCmdReset(IndexListCmdReset)
Case RESET_TYPE.STANDARD
Btn.Content = EgtMsg(90336) ' Reset
Case RESET_TYPE.HARD
Btn.Content = EgtMsg(91024) ' Reset lavorazioni
Case RESET_TYPE.FEED
Btn.Content = EgtMsg(91025) ' Aggiorna feed/speed
End Select
End Sub
Private Sub PopulateListCmdReset()
Dim sConfig As String = "HARD,STANDARD,FEED"
GetPrivateProfileString(S_GENERAL, "ResetCmd", sConfig, sConfig, m_MainWindow.GetIniFile())
Dim sItems As String() = sConfig.Split(",")
' VERIFICA della lettura configurazione
If sItems.Count <> 3 Then
If bFirstRun Then
EgtOutLog("WARNING configurazione: in Config.ini del programma nella sezione 'General/ResetCmd' " &
"non trovato una sequenza del tipo 'HARD,STANDARD,FEED'")
End If
Else
Dim bOk As Boolean = True
Dim sErrMsg As String = String.Empty
' popolo una lista di appoggio
Dim TempList As New List(Of RESET_TYPE) From {RESET_TYPE.STANDARD, RESET_TYPE.STANDARD, RESET_TYPE.STANDARD}
For Index As Integer = 0 To sItems.Count - 1
If sItems(Index).Trim = STANDARD_RESET Then
TempList(Index) = RESET_TYPE.STANDARD
ElseIf sItems(Index).Trim = HARD_RESET Then
TempList(Index) = RESET_TYPE.HARD
ElseIf sItems(Index).Trim = FEED_RESET Then
TempList(Index) = RESET_TYPE.FEED
Else
bOk = False
sErrMsg = sErrMsg & If(String.IsNullOrEmpty(sErrMsg), "", ",") & sItems(Index).Trim
End If
Next
' verifico che non ci siano elementi ripetuti nella lista
If Not bOk Then
If bFirstRun Then
EgtOutLog("WARNING configurazione: in Config.ini del programma nella sezione 'General/ResetCmd' " &
"non trovato una sequenza del tipo 'HARD,STANDARD,FEED' (i seguenti parametri non sono decodificati: " &
sErrMsg & " )")
End If
ElseIf TempList(0) = TempList(1) Or TempList(0) = TempList(2) Or TempList(1) = TempList(2) Then
If bFirstRun Then
EgtOutLog("WARNING configurazione: in Config.ini del programma nella sezione 'General/ResetCmd' " &
"non trovato una sequenza del tipo 'HARD,STANDARD,FEED' (due o più dati sono ripetuti)")
End If
Else
m_ListCmdReset = TempList
End If
End If
SetBtnResetContent(0, ResetCutBtn)
SetBtnResetContent(1, ResetCut1Btn)
SetBtnResetContent(2, ResetCut2Btn)
bFirstRun = False
End Sub
#End Region ' Reset
Private Sub SimulateBtn_Click(sender As Object, e As RoutedEventArgs) Handles SimulateBtn.Click
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
@@ -923,35 +1032,32 @@ Public Class ProjectMgrUC
End Sub
Public Sub UpdateFeedAllMachining()
' recupero il valore di Feed della lavorazione corrente
Dim SettedMachinig As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, SettedMachinig)
' Parametri della lavorazione letta da DB
Dim sMachiningName As String = String.Empty
If Not EgtMdbGetCurrMachiningParam(MCH_MP.NAME, sMachiningName) Then
' errore: lavorazione non trovata
EgtOutLog(" - Prima di 'Reset Feed' accedere alla pagina MACCHINA!")
'm_MainWindow.m_CurrentProjectPageUC.SetErrorMessage("Salvare la lavorazione corrente")
Return
End If
Dim dFeed As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dFeed)
Dim dFeedStarted As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dFeedStarted)
Dim dFeedEnded As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dFeedEnded)
Dim dFeedTipped As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dFeedTipped)
Dim dFeedBack As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, dFeedBack)
Dim dFeedSideAng As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, dFeedSideAng)
' Elenco delle lavorazioni
Dim MachiningList As New List(Of SplitMach)
' Recupero l'indice della fase corrente
Dim nCurrPhase As Integer = 1
' recupero in numero di fasi presenti nel progetto
Dim nCountPhase As Integer = EgtGetPhaseCount()
' ciclo su tutte le fasi di lavorazione
' Numero di lavorazioni del progetto (conteggiate nel ciclo for)
Dim nMach As Integer = 0
' Numero di lavorazioni aggiornate (conteggate nel ciclo for)
Dim nMachUpdated As Integer = 0
' Elenco dei nomi lavorazioni aggiorniate
Dim UpdateMachinigNameList As New List(Of String)
' ciclo su tutte le fasi di lavorazione
For IndexPhase As Integer = 1 To nCountPhase
' imposto la fase corrente
nCurrPhase = IndexPhase
@@ -963,6 +1069,31 @@ Public Class ProjectMgrUC
Dim nOperId As Integer = MachiningList(IndexMachining).m_nId
' setto la lavorazione come corrente
If EgtSetCurrMachining(nOperId) Then
Dim sCurrMachiningName As String = String.Empty
EgtGetMachiningParam(MCH_MP.NAME, sCurrMachiningName)
' Se la lavorazione corrente da DB è diversa da quella della lavorazione allora aggiorno i dati
If sCurrMachiningName <> sMachiningName Then
sMachiningName = sCurrMachiningName
' Recupero la lavorazione dell'operazione indicata
If Not EgtMdbSetCurrMachining(sMachiningName) Then
EgtOutLog("ERRORE: Machining '" & sMachiningName & "' does not exist in DB of machining.")
sMachiningName = String.Empty
Continue For
End If
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dFeed)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dFeedStarted)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dFeedEnded)
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dFeedTipped)
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, dFeedBack)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, dFeedSideAng)
Else
' verifico se è stata applicata una variazione delle Feed
If UpdateMachinigNameList.FindIndex(Function(x) x = sCurrMachiningName) = -1 Then
' La lavorazione corrente non ha nessun parametro nuovo
Continue For
End If
End If
Dim bUpdate As Boolean = False
' STANDARD
Dim dOrigFeed As Double
@@ -1021,10 +1152,24 @@ Public Class ProjectMgrUC
' conto il numero di lavorazioni aggiornate
If bUpdate Then
nMachUpdated += 1
If UpdateMachinigNameList.FindIndex(Function(x) x = sCurrMachiningName) = -1 Then
UpdateMachinigNameList.Add(sCurrMachiningName)
End If
End If
End If
Next
Next
If UpdateMachinigNameList.Count > 0 Then
Dim sMsg As String = String.Empty
For Each Item As String In UpdateMachinigNameList
sMsg = sMsg & If(String.IsNullOrEmpty(sMsg), "", ",") & Item
Next
EgtOutLog("Le lavorazioni aggiornate sono: " & sMsg)
Else
EgtOutLog("Nessuna lavorazione è stata aggiornata: Feed da DB uguali a quelle impostate nelle lavorazioni")
End If
m_MainWindow.m_CurrentProjectPageUC.SetInfoMessage(EgtMsg(91243) & nMachUpdated & "/ " & nMach) ' Lavorazione aggiornate:
End Sub
+2
View File
@@ -197,6 +197,8 @@ Public Class Camera
' OK: Avvio un processo per ogni tavola presente in macchina
Public Function CamerasHide() As Boolean
If Not m_bCameraLink Then Return False
' Lancio il programma in cieco, se già attivo lo nascondo
m_nCameraCount = GetTableCount()