diff --git a/Constants/ConstMachIni.vb b/Constants/ConstMachIni.vb index 7e83cf0..1119149 100644 --- a/Constants/ConstMachIni.vb +++ b/Constants/ConstMachIni.vb @@ -276,6 +276,7 @@ Public Const K_CURRDRIPSAWING As String = "CurrDripSawing" Public Const K_CURRDRIPDRILLING As String = "CurrDripDrilling" Public Const K_CURRWATERJETTING As String = "CurrWaterJetting" + Public Const K_CURRWATERJETTINGQUALITY As String = "CurrWaterJettingQualilty" Public Const S_MATERIALS As String = "Materials" Public Const K_CURRMATERIAL As String = "CurrMaterial" diff --git a/Machine/AlarmsPageUC.xaml.vb b/Machine/AlarmsPageUC.xaml.vb index 8d1e2f9..65ceda1 100644 --- a/Machine/AlarmsPageUC.xaml.vb +++ b/Machine/AlarmsPageUC.xaml.vb @@ -184,6 +184,11 @@ Public Class AlarmsPageUC ' Seleziono lama corrente CurrSawCmBx.SelectedItem = m_CurrentMachine.sCurrSaw + ' nascondo la lista dei materiali solo se macchina WaterJet + If m_CurrentMachine.bWaterJet Then + MaterialsGpBx.Visibility = Visibility.Hidden + End If + ' Verifico la configurazione della macchina per creare i combobox Select Case m_CurrentMachine.MountedToolConfig Case CurrentMachine.MountedToolConfigs.SAW diff --git a/Machine/CurrentMachine.vb b/Machine/CurrentMachine.vb index 5588f9b..77b7c72 100644 --- a/Machine/CurrentMachine.vb +++ b/Machine/CurrentMachine.vb @@ -1,4 +1,5 @@ Imports System.Collections.ObjectModel +Imports EgtWPFLib5 Imports EgtUILib Public Class CurrentMachine @@ -114,6 +115,7 @@ Public Class CurrentMachine Private m_sCurrDripSawing As String = String.Empty Private m_sCurrDripDrilling As String = String.Empty Private m_sCurrWaterJetting As String = String.Empty + Private m_sCurrWaterJettingQuality As String = String.Empty ' Spessore sottopezzo Private m_dAdditionalTable As Double = 0 @@ -157,6 +159,9 @@ Public Class CurrentMachine ' Lista dei materiali Private m_Materials As New ObservableCollection(Of Material) + ' Lista delle qualità di lavorazioni disponibili nel WaterJet + Private m_Qaulities As New ObservableCollection(Of String) + ' Massimo id della lista materiali nel file ini Private m_MaxIdMat As Integer = 0 @@ -709,6 +714,17 @@ Public Class CurrentMachine End Set End Property + Friend Property sCurrWaterJettingQuality As String + Get + Return m_sCurrWaterJettingQuality + End Get + Set(value As String) + If WritePrivateProfileString(S_MACH_MACH, K_CURRWATERJETTINGQUALITY, value, sMachIniFile) Then + m_sCurrWaterJettingQuality = value + End If + End Set + End Property + Friend ReadOnly Property WaterJettingActive As Double Get Return m_bWaterJetting AndAlso Not String.IsNullOrWhiteSpace(m_sCurrWaterJetting) @@ -903,6 +919,12 @@ Public Class CurrentMachine End Get End Property + Friend ReadOnly Property Qualities As ObservableCollection(Of String) + Get + Return m_Qaulities + End Get + End Property + Friend Sub AddMaterial(value As Material) For Each Material As Material In Materials If Material.nId = value.nId Then @@ -984,7 +1006,11 @@ Public Class CurrentMachine End Get Set(value As Material) Dim CurrMatId As String = If(Not IsNothing(value), value.nId.ToString, "") - WritePrivateProfileString(S_MATERIALS, K_CURRMATERIAL, CurrMatId, sMachIniFile) + If bWaterJet Then + WritePrivateProfileString(S_MATERIALS, K_CURRMATERIAL, CurrMatId & If(Not IsNothing(value), "." & value.SubId, ""), sMachIniFile) + Else + WritePrivateProfileString(S_MATERIALS, K_CURRMATERIAL, CurrMatId, sMachIniFile) + End If m_CurrMat = value End Set End Property @@ -1157,6 +1183,8 @@ Public Class CurrentMachine GetPrivateProfileString(S_MACH_MACH, K_CURRDRIPDRILLING, Nothing, m_sCurrDripDrilling, sMachIniFile) ' waterjetting GetPrivateProfileString(S_MACH_MACH, K_CURRWATERJETTING, Nothing, m_sCurrWaterJetting, sMachIniFile) + ' waterjettingquality + GetPrivateProfileString(S_MACH_MACH, K_CURRWATERJETTINGQUALITY, Nothing, m_sCurrWaterJettingQuality, sMachIniFile) ' Leggo numero di portautensili m_ToolChangerNbr = GetPrivateProfileInt(S_TOOLCHANGER, K_NUMBER, 0, sMachIniFile) @@ -1218,27 +1246,84 @@ Public Class CurrentMachine ' Leggo la lista dei materiali Dim Material As Material = Nothing Dim nIndex As Integer = 1 - While (GetPrivateProfileMaterial(S_MATERIALS, K_MATERIAL & nIndex, Material, sMachIniFile)) - m_Materials.Add(Material) - nIndex += 1 - End While + + If m_bWaterJet Then + LoadWJMaterial(True) + Else + While (GetPrivateProfileMaterial(S_MATERIALS, K_MATERIAL & nIndex, Material, sMachIniFile)) + m_Materials.Add(Material) + nIndex += 1 + End While + End If + ' Salvo massimo indice a cui sono arrivato per usarlo quando devo aggiungere nuovi elementi alla lista m_MaxIdMat = nIndex - 1 ' Leggo materiale correntemente attivo - Dim CurrMatId As Integer = GetPrivateProfileInt(S_MATERIALS, K_CURRMATERIAL, 0, sMachIniFile) - For Each Material In Materials - If Material.nId = CurrMatId Then - m_CurrMat = Material - Exit For + Dim sCurrMatId As String = String.Empty + EgtUILib.GetPrivateProfileString(S_MATERIALS, K_CURRMATERIAL, "0", sCurrMatId, sMachIniFile) + If bWaterJet Then + Dim sCurrMatIds As String() + sCurrMatIds = sCurrMatId.Split("."c) + If sCurrMatIds.Length > 1 Then + Dim nCurrMatId As Integer + Dim nCurrSubMatId As Integer + If Not Integer.TryParse(sCurrMatIds(0), nCurrMatId) Then nCurrMatId = 0 + If Not Integer.TryParse(sCurrMatIds(1), nCurrSubMatId) Then nCurrSubMatId = 0 + For Each Material In Materials + If Material.nId = nCurrMatId AndAlso Material.SubId = nCurrSubMatId Then + m_CurrMat = Material + Exit For + End If + Next End If - Next + Else + Dim nCurrMatId As Integer + If Not Integer.TryParse(sCurrMatId, nCurrMatId) Then nCurrMatId = 0 + For Each Material In Materials + If Material.nId = nCurrMatId Then + m_CurrMat = Material + Exit For + End If + Next + End If ' leggo se la macchina ha il tastatore dello spessore tavola m_HasRawProbe = (GetPrivateProfileInt(S_MACH_PROBING, K_ENABLERAWPROBE, 1, sMachIniFile) <> 0) ' leggo se la macchina ha il lettore di codice a barre della lastra m_nEnableBarCodeReader = GetPrivateProfileInt(S_MACH_BARCODEREADER, K_ENABLEBCR, 0, sMachIniFile) End Sub + Public Sub LoadWJMaterial(Optional bIsStart As Boolean = False) + Dim TempCurrMat As Material = CurrMat + ' Svuoto l'attuale lista di materiali + m_Materials.Clear() + ' Leggo valori da file INI e li carico nelle proprietà + Dim sFilePath As String = sMachDir & "\" & "WaterjetDb" & ".ini" + Dim Local_MaterialList = New ObservableCollection(Of EgtWPFLib5.WjMaterial) + Local_MaterialList = EgtWPFLib5.WaterjetDbWindowVM.LoadWjMaterials(sFilePath) + ' definisco la lista delle qualità + m_Qaulities.Add("") + m_Qaulities.Add("Q1") + m_Qaulities.Add("Q2") + m_Qaulities.Add("Q3") + m_Qaulities.Add("Q4") + m_Qaulities.Add("Q5") + m_Qaulities.Add("QExtra") + ' inserisco il materiale generico di default -- IN SOSPESO + 'm_Materials.Add(New Material(0, "***", 0)) + ' costruiscoi la lista + Dim i As Integer = 0 + Dim sName As String = String.Empty + For i = 0 To Local_MaterialList.Count - 1 + sName = Local_MaterialList(i).Name + Dim j As Integer = 0 + For j = 0 To Local_MaterialList(i).SubMaterialList.Count - 1 + m_Materials.Add(New Material(i + 1, sName & "." & Local_MaterialList(i).SubMaterialList(j).Name, j + 1)) + Next + Next + If Not bIsStart Then CurrMat = TempCurrMat + End Sub + Friend Function IsVacuumMovePossible() As Boolean ' Recupero diametro lama corrente EgtTdbSetCurrTool(sCurrSaw) @@ -1333,6 +1418,7 @@ Friend Class Material Private m_nId As Integer Private m_sName As String + Private m_SubId As Integer = 0 Public ReadOnly Property nId As Integer Get @@ -1349,6 +1435,15 @@ Friend Class Material End Set End Property + Public Property SubId As Integer + Get + Return m_SubId + End Get + Set(value As Integer) + m_SubId = value + End Set + End Property + Sub New(sName As String, MaterialList As ObservableCollection(Of Material)) Dim nMaxId As Integer = 0 For Each Material As Material In MaterialList @@ -1365,4 +1460,11 @@ Friend Class Material m_sName = sName End Sub + Sub New(nId As Integer, sName As String, nSubId As Integer) + m_nId = nId + m_sName = sName + m_SubId = nSubId + End Sub + End Class + diff --git a/Machine/MachinePageUC.xaml b/Machine/MachinePageUC.xaml index add5cff..c884f5f 100644 --- a/Machine/MachinePageUC.xaml +++ b/Machine/MachinePageUC.xaml @@ -24,9 +24,10 @@ - - + + + @@ -41,10 +42,13 @@ - + + + + - + diff --git a/Machine/MachinePageUC.xaml.vb b/Machine/MachinePageUC.xaml.vb index 8fb3167..8b6c32c 100644 --- a/Machine/MachinePageUC.xaml.vb +++ b/Machine/MachinePageUC.xaml.vb @@ -10,6 +10,7 @@ Public Class MachinePageUC Friend m_ToolsDbPageUC As ToolsDbPageUC Friend m_MachiningDbPageUC As MachiningDbPageUC Friend m_PolishingsPageUC As PolishingsPageUC + Friend m_WaterJetPageUC As WaterJetPageUC Friend m_MachineCNPageUC As MachineCNPageUC Friend m_StatisticsPageUC As StatisticsPageUC @@ -21,6 +22,7 @@ Public Class MachinePageUC ToolsDb MachiningDb Polishings + WaterJet MachineCN Statistics End Enum @@ -32,6 +34,7 @@ Public Class MachinePageUC m_ToolsDbPageUC = New ToolsDbPageUC m_MachiningDbPageUC = New MachiningDbPageUC m_PolishingsPageUC = New PolishingsPageUC + m_WaterJetPageUC = New WaterJetPageUC m_MachineCNPageUC = New MachineCNPageUC m_StatisticsPageUC = New StatisticsPageUC @@ -40,6 +43,7 @@ Public Class MachinePageUC m_ToolsDbPageUC.SetValue(Grid.RowProperty, 1) m_MachiningDbPageUC.SetValue(Grid.RowProperty, 1) m_PolishingsPageUC.SetValue(Grid.RowProperty, 1) + m_WaterJetPageUC.SetValue(Grid.RowProperty, 1) m_MachineCNPageUC.SetValue(Grid.RowProperty, 1) m_StatisticsPageUC.SetValue(Grid.RowProperty, 1) @@ -47,6 +51,7 @@ Public Class MachinePageUC ToolsDBBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 6) MachiningDBBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 7) PolishingsBtn.Content = EgtMsg(91090) + WaterJetBtn.Content = EgtMsg(91128) TestingPageBtn.ToolTip = EgtMsg(MSG_MACHINEPAGEUC + 8) StatisticsBtn.Content = EgtMsg(90709) @@ -55,10 +60,14 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.Alarms ' Se lucidature non abilitate, disattivo la pagina DB lucidature - If Not m_MainWindow.m_CurrentMachine.bPolishing Then + If Not m_MainWindow.m_CurrentMachine.bPolishing Then PolishingsBtn.IsEnabled = False End If + If Not m_MainWindow.m_CurrentMachine.bWaterJet Then + WaterJetBtn.IsEnabled = False + End If + ' Se controllo numerico 0, disattivo la pagina macchina If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then TestingPageBtn.IsEnabled = False @@ -134,6 +143,22 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_AlarmsPageUC) m_ActiveMachinePage = MachinePages.Alarms + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + AlarmsBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + AlarmsBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_AlarmsPageUC) + m_ActiveMachinePage = MachinePages.Alarms Case MachinePages.MachineCN AlarmsBtn.IsChecked = True TestingPageBtn.IsChecked = False @@ -188,6 +213,22 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_ToolsDbPageUC) m_ActiveMachinePage = MachinePages.ToolsDb + Case MachinePages.WaterJet + 'Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + ToolsDBBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + ToolsDBBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_ToolsDbPageUC) + m_ActiveMachinePage = MachinePages.ToolsDb Case MachinePages.MachineCN ToolsDBBtn.IsChecked = True TestingPageBtn.IsChecked = False @@ -242,6 +283,22 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_MachiningDbPageUC) m_ActiveMachinePage = MachinePages.MachiningDb + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + MachiningDBBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + MachiningDBBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_MachiningDbPageUC) + m_ActiveMachinePage = MachinePages.MachiningDb Case MachinePages.MachineCN MachiningDBBtn.IsChecked = True TestingPageBtn.IsChecked = False @@ -299,6 +356,22 @@ Public Class MachinePageUC m_ActiveMachinePage = MachinePages.Polishings Case MachinePages.Polishings PolishingsBtn.IsChecked = True + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + PolishingsBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + PolishingsBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_PolishingsPageUC) + m_ActiveMachinePage = MachinePages.Polishings Case MachinePages.MachineCN PolishingsBtn.IsChecked = True TestingPageBtn.IsChecked = False @@ -314,6 +387,77 @@ Public Class MachinePageUC End Select End Sub + Private Sub WaterJetBtn_Click(sender As Object, e As RoutedEventArgs) Handles WaterJetBtn.Click + Select Case m_ActiveMachinePage + Case MachinePages.Alarms + AlarmsBtn.IsChecked = False + WaterJetBtn.IsChecked = True + MachinePageGrid.Children.Remove(m_AlarmsPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + 'DirectCast(m_WaterJetPageUC.DataContext, WaterjetDbWindowVM).RefreshDImensionPage() + Case MachinePages.ToolsDb + ' Verifica ed eventuale salvataggio utensile corrente + If Not m_ToolsDbPageUC.SaveCurrTool() Then + PolishingsBtn.IsChecked = False + ToolsDBBtn.IsChecked = True + Return + End If + ' salvo il DB utensili + EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) + EgtTdbSave() + ' passo alla pagina WaterJet + WaterJetBtn.IsChecked = True + ToolsDBBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_ToolsDbPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + Case MachinePages.MachiningDb + ' Verifica ed eventuale salvataggio lavorazione corrente + If Not m_MachiningDbPageUC.SaveCurrMachining() Then + WaterJetBtn.IsChecked = False + MachiningDBBtn.IsChecked = True + Return + End If + ' salvo il DB lavorazioni + EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) + EgtMdbSave() + ' passo alla pagina WaterJet + WaterJetBtn.IsChecked = True + MachiningDBBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_MachiningDbPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + Case MachinePages.Polishings + ' Verifica ed eventuale salvataggio Lucidatura corrente + If Not m_PolishingsPageUC.SaveKit() Then + WaterJetBtn.IsChecked = False + PolishingsBtn.IsChecked = True + Return + End If + ' passo alla pagina WaterJet + WaterJetBtn.IsChecked = True + PolishingsBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_PolishingsPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + Case MachinePages.WaterJet + WaterJetBtn.IsChecked = True + Case MachinePages.MachineCN + WaterJetBtn.IsChecked = True + TestingPageBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_MachineCNPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + Case MachinePages.Statistics + WaterJetBtn.IsChecked = True + StatisticsBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_StatisticsPageUC) + MachinePageGrid.Children.Add(m_WaterJetPageUC) + m_ActiveMachinePage = MachinePages.WaterJet + End Select + End Sub + Private Sub TestingPageBtn_Checked(sender As Object, e As RoutedEventArgs) Handles TestingPageBtn.Checked Select Case m_ActiveMachinePage Case MachinePages.Alarms @@ -367,6 +511,22 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_MachineCNPageUC) m_ActiveMachinePage = MachinePages.MachineCN + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + TestingPageBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + TestingPageBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_MachineCNPageUC) + m_ActiveMachinePage = MachinePages.MachineCN Case MachinePages.MachineCN TestingPageBtn.IsChecked = True Case MachinePages.Statistics @@ -431,6 +591,22 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_StatisticsPageUC) m_ActiveMachinePage = MachinePages.Statistics + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Db Waterjet + Dim nPressedBtn As Integer = DirectCast(m_WaterJetPageUC.DataContext, EgtWPFLib5.WaterjetDbWindowVM).CloseWaterjetDb_OmagCut(m_MainWindow) + If nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.CANCEL Then + StatisticsBtn.IsChecked = False + WaterJetBtn.IsChecked = True + Return + ElseIf nPressedBtn = EgtWPFLib5.WaterjetDbWindowVM.SaveWndBtnEnum.NO Then + m_WaterJetPageUC.WaterJetPage_Reinitialize() + End If + ' passo alla pagina Dati Macchina + TestingPageBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_StatisticsPageUC) + m_ActiveMachinePage = MachinePages.Statistics Case MachinePages.MachineCN StatisticsBtn.IsChecked = True TestingPageBtn.IsChecked = False @@ -467,6 +643,19 @@ Public Class MachinePageUC MachinePageGrid.Children.Remove(m_PolishingsPageUC) MachinePageGrid.Children.Add(m_AlarmsPageUC) m_ActiveMachinePage = MachinePages.Alarms + Case MachinePages.WaterJet + ' Verifica ed eventuale salvataggio Lucidatura corrente + 'If Not m_PolishingsPageUC.SaveKit() Then + ' AlarmsBtn.IsChecked = False + ' PolishingsBtn.IsChecked = True + ' Return + 'End If + ' passo alla pagina Dati Macchina + AlarmsBtn.IsChecked = True + WaterJetBtn.IsChecked = False + MachinePageGrid.Children.Remove(m_WaterJetPageUC) + MachinePageGrid.Children.Add(m_AlarmsPageUC) + m_ActiveMachinePage = MachinePages.Alarms Case MachinePages.MachineCN AlarmsBtn.IsChecked = True TestingPageBtn.IsChecked = False diff --git a/Machine/MachiningDbPageUC.xaml.vb b/Machine/MachiningDbPageUC.xaml.vb index 8e04934..6e1f699 100644 --- a/Machine/MachiningDbPageUC.xaml.vb +++ b/Machine/MachiningDbPageUC.xaml.vb @@ -705,7 +705,11 @@ Public Class MachiningDbPageUC ' Lista materiali m_MaterialsList.Clear() For Each Material As Material In m_MainWindow.m_CurrentMachine.Materials - m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName)) + If m_MainWindow.m_CurrentMachine.bWaterJet Then + m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName, Material.SubId)) + Else + m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName)) + End If Next EgtMdbGetCurrMachiningParam(MCH_MP.SYSNOTES, ToolString) If ToolString <> String.Empty Then @@ -713,14 +717,30 @@ Public Class MachiningDbPageUC Dim Index As Integer = 0 For Each Material As MachiningMaterial In m_MaterialsList Dim Param() As String = sItems(Index).Split(",".ToCharArray) + Dim SubParam() As String = Param(0).Split(".".ToCharArray) Dim nParId As Integer = 0 - If StringToInt(Param(0), nParId) AndAlso nParId = Material.nId Then - StringToDouble(Param(1), Material.dMinThickness) - StringToDouble(Param(2), Material.dMaxThickness) - Material.VerifyIfActive() - Index += 1 + Dim nSubParId As Integer = 0 + If m_MainWindow.m_CurrentMachine.bWaterJet Then + If StringToInt(SubParam(0), nParId) AndAlso nParId = Material.nId AndAlso SubParam.Count > 1 AndAlso + StringToInt(SubParam(1), nSubParId) AndAlso nSubParId = Material.nSubId Then + + StringToDouble(Param(1), Material.dMinThickness) + StringToDouble(Param(2), Material.dMaxThickness) + Material.VerifyIfActive() + Index += 1 + Else + Material.VerifyIfActive() + End If Else - Material.VerifyIfActive() + If StringToInt(Param(0), nParId) AndAlso nParId = Material.nId Then + + StringToDouble(Param(1), Material.dMinThickness) + StringToDouble(Param(2), Material.dMaxThickness) + Material.VerifyIfActive() + Index += 1 + Else + Material.VerifyIfActive() + End If End If Next End If @@ -874,8 +894,14 @@ Public Class MachiningDbPageUC ' Scrivo stringa materiali da lista Dim sMaterialString As String = String.Empty For Each Material As MachiningMaterial In m_MaterialsList - If Material.bIsActive Then - sMaterialString += Material.nId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";" + If m_MainWindow.m_CurrentMachine.bWaterJet Then + If Material.bIsActive Then + sMaterialString += Material.nId.ToString & "." & Material.nSubId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";" + End If + Else + If Material.bIsActive Then + sMaterialString += Material.nId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";" + End If End If Next EgtMdbSetCurrMachiningParam(MCH_MP.SYSNOTES, sMaterialString) @@ -2405,6 +2431,7 @@ Class MachiningMaterial Implements INotifyPropertyChanged Private m_nId As Integer + Private m_nSubId As Integer Private m_sName As String Private m_dMinThickness As Double Private m_dMaxThickness As Double @@ -2416,6 +2443,12 @@ Class MachiningMaterial End Get End Property + Public ReadOnly Property nSubId As Integer + Get + Return m_nSubId + End Get + End Property + Public ReadOnly Property Name As String Get Return m_sName @@ -2454,6 +2487,15 @@ Class MachiningMaterial m_bIsActive = False End Sub + Sub New(nId As Integer, sName As String, nSubId As Integer) + m_nId = nId + m_nSubId = nSubId + m_sName = sName + m_dMinThickness = 0 + m_dMaxThickness = 0 + m_bIsActive = False + End Sub + Public Sub VerifyIfActive() Dim bIsActive As Boolean = ( m_dMaxThickness > m_dMinThickness + EPS_SMALL) If bIsActive <> m_bIsActive Then diff --git a/Machine/ToolsDbPageUC.xaml.vb b/Machine/ToolsDbPageUC.xaml.vb index 074e30e..42bc070 100644 --- a/Machine/ToolsDbPageUC.xaml.vb +++ b/Machine/ToolsDbPageUC.xaml.vb @@ -56,8 +56,8 @@ Public Class ToolsDbPageUC NewBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 15) SaveBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 17) RemoveBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 18) - ExportBtn.Content = "Export" - ImportBtn.Content = "Import" + ExportBtn.Content = EgtMsg(91126) + ImportBtn.Content = EgtMsg(91127) NameTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 1) TCPosTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 2) diff --git a/Machine/WaterJetPageUC.xaml b/Machine/WaterJetPageUC.xaml new file mode 100644 index 0000000..7de4b93 --- /dev/null +++ b/Machine/WaterJetPageUC.xaml @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +