From ee1ba471715d4d3761d013cfaf8ca8aa5edad7e1 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Thu, 24 Jun 2021 12:28:16 +0200 Subject: [PATCH 1/6] Selezione utensile "Scasso" e lavorazione (cherry picked from commit 712bfd24423ac48756ccbc7f37fe9756be45d76f) --- Machine/AlarmsPageUC.xaml | 13 +- Machine/AlarmsPageUC.xaml.vb | 242 ++++++++++++++++++++------- RawPhoto/ChooseMachining.xaml | 18 ++ RawPhoto/ChooseMachining.xaml.vb | 273 ++++++++++++++++++++++++++----- 4 files changed, 448 insertions(+), 98 deletions(-) diff --git a/Machine/AlarmsPageUC.xaml b/Machine/AlarmsPageUC.xaml index 9943cd4..4ae377e 100644 --- a/Machine/AlarmsPageUC.xaml +++ b/Machine/AlarmsPageUC.xaml @@ -289,7 +289,18 @@ - + + + + + + + + + diff --git a/Machine/AlarmsPageUC.xaml.vb b/Machine/AlarmsPageUC.xaml.vb index 5635a89..fe15f97 100644 --- a/Machine/AlarmsPageUC.xaml.vb +++ b/Machine/AlarmsPageUC.xaml.vb @@ -20,6 +20,7 @@ Public Class AlarmsPageUC Private m_SawList As New ObservableCollection(Of String) Private m_DrillList As New ObservableCollection(Of String) Private m_MillList As New ObservableCollection(Of String) + Private m_CupWheelList As New ObservableCollection(Of String) Private m_WaterJetList As New ObservableCollection(Of String) Private m_AuxToolTypeList As New List(Of StringIdCmBx) @@ -32,6 +33,7 @@ Public Class AlarmsPageUC CurrSawCmBx.ItemsSource = m_SawList CurrDrillCmBx.ItemsSource = m_DrillList CurrMillCmBx.ItemsSource = m_MillList + CurrCupWheelCmBx.ItemsSource = m_CupWheelList CurrWJetCmBx.ItemsSource = m_WaterJetList AuxiliaryToolCmBx.ItemsSource = m_AuxToolTypeList @@ -47,6 +49,7 @@ Public Class AlarmsPageUC CurrSawTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 1) AuxiliaryToolTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 2) CurrDrillTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 3) + CurrCupWheelTxBl.Text = EgtMsg(MSG_ALARMS2PAGEUC + 20) CurrMillTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 4) CurrWJetTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 0) HolesOffsetTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 9) @@ -184,30 +187,43 @@ Public Class AlarmsPageUC ' Verifico la configurazione della macchina per creare i combobox Select Case m_CurrentMachine.MountedToolConfig Case CurrentMachine.MountedToolConfigs.SAW - ' Non compio alcuna azione + ' Non compio alcuna azione (non sono previsti utensili ausiliari) + Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL m_AuxToolTypeList.Clear() + ' creo l'elenco degli utensili ausiliri If m_CurrentMachine.bDrill Then m_AuxToolTypeList.Add(New StringIdCmBx(1, EgtMsg(MSG_ALARMSPAGEUC + 21))) ' Foretto End If If m_CurrentMachine.bMill Then m_AuxToolTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_ALARMSPAGEUC + 22))) ' Fresa End If + If m_CurrentMachine.bCupWheel Then + m_AuxToolTypeList.Add(New StringIdCmBx(3, EgtMsg(MSG_TOOLSDBPAGEUC + 34))) ' Mola da scasso + End If If m_CurrentMachine.bWaterJet Then - m_AuxToolTypeList.Add(New StringIdCmBx(3, EgtMsg(MSG_TOOLSDBPAGEUC + 35))) ' WaterJet + m_AuxToolTypeList.Add(New StringIdCmBx(4, EgtMsg(MSG_TOOLSDBPAGEUC + 35))) ' WaterJet End If ' Aggiungo elemento nessuno in fondo alla lista m_AuxToolTypeList.Add(New StringIdCmBx(0, EgtMsg(MSG_ALARMSPAGEUC + 20))) ' Nessuno + ' ComboBox per la selezione dell'utensile ausiliario AuxiliaryToolTxBl.Visibility = Windows.Visibility.Visible AuxiliaryToolCmBx.Visibility = Windows.Visibility.Visible + ' Drilling CurrDrillTxBl.Visibility = Windows.Visibility.Hidden CurrDrillCmBx.Visibility = Windows.Visibility.Hidden + ' Milling CurrMillTxBl.Visibility = Windows.Visibility.Hidden CurrMillCmBx.Visibility = Windows.Visibility.Hidden + ' Pocketing + CurrCupWheelTxBl.Visibility = Windows.Visibility.Hidden + CurrCupWheelCmBx.Visibility = Windows.Visibility.Hidden + ' WaterJet CurrWJetTxBl.Visibility = Windows.Visibility.Hidden CurrWJetCmBx.Visibility = Windows.Visibility.Hidden + ' verifico quale utensile è attulamente "montato sulla macchina" If m_CurrentMachine.sCurrDrill <> String.Empty Then CreateToolList(MCH_TF.DRILLBIT, m_DrillList) m_DrillList.Add(NO_TOOL) @@ -216,17 +232,24 @@ Public Class AlarmsPageUC CurrDrillTxBl.Visibility = Windows.Visibility.Visible CurrDrillCmBx.Visibility = Windows.Visibility.Visible ElseIf m_CurrentMachine.sCurrMill <> String.Empty Then - CreateToolList(MCH_TF.MILL, m_MillList) + CreateToolList(MCH_TF.MILL, MCH_TY.MILL_STD, m_MillList) m_MillList.Add(NO_TOOL) CurrMillCmBx.SelectedItem = m_CurrentMachine.sCurrMill AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(2, m_AuxToolTypeList) CurrMillTxBl.Visibility = Windows.Visibility.Visible CurrMillCmBx.Visibility = Windows.Visibility.Visible + ElseIf m_CurrentMachine.sCurrMillNoTip <> String.Empty Then + CreateToolList(MCH_TF.MILL, MCH_TY.MILL_NOTIP, m_CupWheelList) + m_CupWheelList.Add(NO_TOOL) + CurrCupWheelCmBx.SelectedItem = m_CurrentMachine.sCurrMillNoTip + AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(3, m_AuxToolTypeList) + CurrCupWheelTxBl.Visibility = Windows.Visibility.Visible + CurrCupWheelCmBx.Visibility = Windows.Visibility.Visible ElseIf m_CurrentMachine.sCurrWaterJet <> String.Empty Then CreateToolList(MCH_TF.WATERJET, m_WaterJetList) m_WaterJetList.Add(NO_TOOL) CurrWJetCmBx.SelectedItem = m_CurrentMachine.sCurrWaterJet - AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(3, m_AuxToolTypeList) + AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(4, m_AuxToolTypeList) CurrWJetTxBl.Visibility = Windows.Visibility.Visible CurrWJetCmBx.Visibility = Windows.Visibility.Visible Else @@ -234,61 +257,13 @@ Public Class AlarmsPageUC End If Case CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER + ' attivo il bottone per l'apertura della pagina che mostra la configurazione degli utensili in parcheggio SetUpBtn.Visibility = Windows.Visibility.Visible End Select - ' Verifico la configurazione della macchina per creare i textbox delle lavorazioni - CurrSawingTxBl.Visibility = Windows.Visibility.Hidden - CurrSawingTxBx.Visibility = Windows.Visibility.Hidden - CurrDrillingTxBl.Visibility = Windows.Visibility.Hidden - CurrDrillingTxBx.Visibility = Windows.Visibility.Hidden - CurrMillingTxBl.Visibility = Windows.Visibility.Hidden - CurrMillingTxBx.Visibility = Windows.Visibility.Hidden - CurrPocketingTxBl.Visibility = Windows.Visibility.Hidden - CurrpocketingTxBx.Visibility = Windows.Visibility.Hidden - CurrWaterJettingTxBl.Visibility = Windows.Visibility.Hidden - CurrWaterJettingTxBx.Visibility = Windows.Visibility.Hidden - CurrDripSawingTxBl.Visibility = Windows.Visibility.Hidden - CurrDripSawingTxBx.Visibility = Windows.Visibility.Hidden - CurrDripDrillingTxBl.Visibility = Windows.Visibility.Hidden - CurrDripDrillingTxBx.Visibility = Windows.Visibility.Hidden - - If m_CurrentMachine.sCurrSawing <> String.Empty Then - CurrSawingTxBx.Text = m_CurrentMachine.sCurrSawing - CurrSawingTxBl.Visibility = Windows.Visibility.Visible - CurrSawingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrDrilling <> String.Empty Then - CurrDrillingTxBx.Text = m_CurrentMachine.sCurrDrilling - CurrDrillingTxBl.Visibility = Windows.Visibility.Visible - CurrDrillingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrMilling <> String.Empty Then - CurrMillingTxBx.Text = m_CurrentMachine.sCurrMilling - CurrMillingTxBl.Visibility = Windows.Visibility.Visible - CurrMillingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrPocketing <> String.Empty Then - CurrPocketingTxBx.Text = m_CurrentMachine.sCurrPocketing - CurrPocketingTxBl.Visibility = Windows.Visibility.Visible - CurrPocketingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrwaterJetting <> String.Empty Then - CurrWaterJettingTxBx.Text = m_CurrentMachine.sCurrwaterJetting - CurrWaterJettingTxBl.Visibility = Windows.Visibility.Visible - CurrWaterJettingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrDripSawing <> String.Empty Then - CurrDripSawingTxBx.Text = m_CurrentMachine.sCurrDripSawing - CurrDripSawingTxBl.Visibility = Windows.Visibility.Visible - CurrDripSawingTxBx.Visibility = Windows.Visibility.Visible - End If - If m_CurrentMachine.sCurrDripDrilling <> String.Empty Then - CurrDripDrillingTxBx.Text = m_CurrentMachine.sCurrDripDrilling - CurrDripDrillingTxBl.Visibility = Windows.Visibility.Visible - CurrDripDrillingTxBx.Visibility = Windows.Visibility.Visible - End If + ' aggiorno le TextBlock con le lavorazioni correnti + RefreschMachining() ' Leggo offset fori Dim dVal As Double @@ -396,11 +371,73 @@ Public Class AlarmsPageUC CfrPercTxBx.Text = DoubleToString(m_CurrentMachine.dFsevPerc, 0) End Sub + Private Sub RefreschMachining() + If m_CurrentMachine.sCurrSawing <> String.Empty Then + CurrSawingTxBx.Text = m_CurrentMachine.sCurrSawing + CurrSawingTxBl.Visibility = Windows.Visibility.Visible + CurrSawingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrSawingTxBl.Visibility = Windows.Visibility.Hidden + CurrSawingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrDrilling <> String.Empty Then + CurrDrillingTxBx.Text = m_CurrentMachine.sCurrDrilling + CurrDrillingTxBl.Visibility = Windows.Visibility.Visible + CurrDrillingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrDrillingTxBl.Visibility = Windows.Visibility.Hidden + CurrDrillingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrMilling <> String.Empty Then + CurrMillingTxBx.Text = m_CurrentMachine.sCurrMilling + CurrMillingTxBl.Visibility = Windows.Visibility.Visible + CurrMillingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrMillingTxBl.Visibility = Windows.Visibility.Hidden + CurrMillingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrPocketing <> String.Empty Then + CurrPocketingTxBx.Text = m_CurrentMachine.sCurrPocketing + CurrPocketingTxBl.Visibility = Windows.Visibility.Visible + CurrPocketingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrPocketingTxBl.Visibility = Windows.Visibility.Hidden + CurrPocketingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrWaterJetting <> String.Empty Then + CurrWaterJettingTxBx.Text = m_CurrentMachine.sCurrWaterJetting + CurrWaterJettingTxBl.Visibility = Windows.Visibility.Visible + CurrWaterJettingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrWaterJettingTxBl.Visibility = Windows.Visibility.Hidden + CurrWaterJettingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrDripSawing <> String.Empty Then + CurrDripSawingTxBx.Text = m_CurrentMachine.sCurrDripSawing + CurrDripSawingTxBl.Visibility = Windows.Visibility.Visible + CurrDripSawingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrDripSawingTxBl.Visibility = Windows.Visibility.Hidden + CurrDripSawingTxBx.Visibility = Windows.Visibility.Hidden + End If + If m_CurrentMachine.sCurrDripDrilling <> String.Empty Then + CurrDripDrillingTxBx.Text = m_CurrentMachine.sCurrDripDrilling + CurrDripDrillingTxBl.Visibility = Windows.Visibility.Visible + CurrDripDrillingTxBx.Visibility = Windows.Visibility.Visible + Else + CurrDripDrillingTxBl.Visibility = Windows.Visibility.Hidden + CurrDripDrillingTxBx.Visibility = Windows.Visibility.Hidden + End If + End Sub + + ' questo metodo è utilizzato solo per le macchine con utensile ausiliario (Assenza del bottone Attrezzaggio-> monta un solo utensila per volta Private Sub AuxiliaryToolCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles AuxiliaryToolCmBx.SelectionChanged CurrDrillTxBl.Visibility = Windows.Visibility.Hidden CurrDrillCmBx.Visibility = Windows.Visibility.Hidden CurrMillTxBl.Visibility = Windows.Visibility.Hidden CurrMillCmBx.Visibility = Windows.Visibility.Hidden + CurrCupWheelTxBl.Visibility = Windows.Visibility.Hidden + CurrCupWheelCmBx.Visibility = Windows.Visibility.Hidden CurrWJetTxBl.Visibility = Windows.Visibility.Hidden CurrWJetCmBx.Visibility = Windows.Visibility.Hidden Dim SelectedItem As StringIdCmBx = AuxiliaryToolCmBx.SelectedItem @@ -417,11 +454,15 @@ Public Class AlarmsPageUC CurrDrillCmBx.SelectedItem = m_CurrentMachine.sCurrDrill End If m_CurrentMachine.sCurrMill = String.Empty + m_CurrentMachine.sCurrMilling = String.Empty + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty m_CurrentMachine.sCurrWaterJet = String.Empty + m_CurrentMachine.sCurrWaterJetting = String.Empty CurrDrillTxBl.Visibility = Windows.Visibility.Visible CurrDrillCmBx.Visibility = Windows.Visibility.Visible Case 2 - CreateToolList(MCH_TF.MILL, m_MillList) + CreateToolList(MCH_TF.MILL, MCH_TY.MILL_STD, m_MillList) m_MillList.Add(NO_TOOL) If m_CurrentMachine.sCurrMill = String.Empty Then CurrMillCmBx.SelectedItem = NO_TOOL @@ -429,10 +470,30 @@ Public Class AlarmsPageUC CurrMillCmBx.SelectedItem = m_CurrentMachine.sCurrMill End If m_CurrentMachine.sCurrDrill = String.Empty + m_CurrentMachine.sCurrDrilling = String.Empty + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty m_CurrentMachine.sCurrWaterJet = String.Empty + m_CurrentMachine.sCurrWaterJetting = String.Empty CurrMillTxBl.Visibility = Windows.Visibility.Visible CurrMillCmBx.Visibility = Windows.Visibility.Visible Case 3 + CreateToolList(MCH_TF.MILL, MCH_TY.MILL_NOTIP, m_CupWheelList) + m_CupWheelList.Add(NO_TOOL) + If m_CurrentMachine.sCurrMillNoTip = String.Empty Then + CurrCupWheelCmBx.SelectedItem = NO_TOOL + Else + CurrCupWheelCmBx.SelectedItem = m_CurrentMachine.sCurrMillNoTip + End If + m_CurrentMachine.sCurrDrill = String.Empty + m_CurrentMachine.sCurrDrilling = String.Empty + m_CurrentMachine.sCurrMill = String.Empty + m_CurrentMachine.sCurrMilling = String.Empty + m_CurrentMachine.sCurrWaterJet = String.Empty + m_CurrentMachine.sCurrWaterJetting = String.Empty + CurrCupWheelTxBl.Visibility = Windows.Visibility.Visible + CurrCupWheelCmBx.Visibility = Windows.Visibility.Visible + Case 4 CreateToolList(MCH_TF.WATERJET, m_WaterJetList) m_WaterJetList.Add(NO_TOOL) If m_CurrentMachine.sCurrWaterJet = String.Empty Then @@ -441,12 +502,21 @@ Public Class AlarmsPageUC CurrWJetCmBx.SelectedItem = m_CurrentMachine.sCurrWaterJet End If m_CurrentMachine.sCurrDrill = String.Empty + m_CurrentMachine.sCurrDrilling = String.Empty m_CurrentMachine.sCurrMill = String.Empty + m_CurrentMachine.sCurrMilling = String.Empty + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty CurrWJetTxBl.Visibility = Windows.Visibility.Visible CurrWJetCmBx.Visibility = Windows.Visibility.Visible End Select + ' aggionro l'elenco delle lavoarzioni + RefreschMachining() + End Sub +#Region "Selection: SAW, DRILL, MILL, CUPWHEEL, WATERJET" + ' -- SAW -- Private Sub CurrSawCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrSawCmBx.SelectionChanged If IsNothing(CurrSawCmBx.SelectedItem) Then Return ' Assegno @@ -464,6 +534,7 @@ Public Class AlarmsPageUC m_MainWindow.m_WorkInProgressPageUC.UpdateTools() End Sub + ' -- DRILL -- Private Sub CurrDrillCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrDrillCmBx.SelectionChanged If IsNothing(CurrDrillCmBx.SelectedItem) Then Return ' Rimuovo foretto @@ -477,6 +548,8 @@ Public Class AlarmsPageUC If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then m_CurrentMachine.sCurrMill = String.Empty m_CurrentMachine.sCurrMilling = String.Empty + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty m_CurrentMachine.sCurrWaterJet = String.Empty m_CurrentMachine.sCurrWaterJetting = String.Empty End If @@ -494,6 +567,7 @@ Public Class AlarmsPageUC m_MainWindow.m_WorkInProgressPageUC.UpdateTools() End Sub + ' -- MILL -- Private Sub CurrMillCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrMillCmBx.SelectionChanged If IsNothing(CurrMillCmBx.SelectedItem) Then Return ' Rimuovo fresa @@ -507,6 +581,8 @@ Public Class AlarmsPageUC If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then m_CurrentMachine.sCurrDrill = String.Empty m_CurrentMachine.sCurrDrilling = String.Empty + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty m_CurrentMachine.sCurrWaterJet = String.Empty m_CurrentMachine.sCurrWaterJetting = String.Empty End If @@ -524,6 +600,40 @@ Public Class AlarmsPageUC m_MainWindow.m_WorkInProgressPageUC.UpdateTools() End Sub + ' -- CUPWHEEL -- + Private Sub CurrCupWheelCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrCupWheelCmBx.SelectionChanged + If IsNothing(CurrCupWheelCmBx.SelectedItem) Then Return + ' Rimuovo fresa + If CurrCupWheelCmBx.SelectedItem.ToString() = NO_TOOL Then + m_CurrentMachine.sCurrMillNoTip = String.Empty + m_CurrentMachine.sCurrPocketing = String.Empty + ' Assegno fresa + Else + m_CurrentMachine.sCurrMillNoTip = CurrCupWheelCmBx.SelectedItem.ToString() + ' Reset foretto, waterjet e relative lavorazioni + If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then + m_CurrentMachine.sCurrDrill = String.Empty + m_CurrentMachine.sCurrDrilling = String.Empty + m_CurrentMachine.sCurrMill = String.Empty + m_CurrentMachine.sCurrMilling = String.Empty + m_CurrentMachine.sCurrWaterJet = String.Empty + m_CurrentMachine.sCurrWaterJetting = String.Empty + End If + ' Se nuova fresa incompatibile con fresatura corrente, resetto quest'ultima + Dim sMchTuuid As String = String.Empty + Dim sMchTool As String = String.Empty + If Not EgtMdbSetCurrMachining(m_CurrentMachine.sCurrPocketing) Or + Not EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sMchTuuid) Or + Not EgtTdbGetToolFromUUID(sMchTuuid, sMchTool) Or + String.Compare(sMchTool, m_CurrentMachine.sCurrMillNoTip, True) <> 0 Then + m_CurrentMachine.sCurrPocketing = String.Empty + End If + End If + ' Aggiorno utensili per lavoro in corso + m_MainWindow.m_WorkInProgressPageUC.UpdateTools() + End Sub + + ' -- WATERJET -- Private Sub CurrWJetCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrWJetCmBx.SelectionChanged If IsNothing(CurrWJetCmBx.SelectedItem) Then Return ' Rimuovo Waterjet @@ -554,6 +664,8 @@ Public Class AlarmsPageUC m_MainWindow.m_WorkInProgressPageUC.UpdateTools() End Sub +#End Region 'Selection: SAW, DRILL, MILL, CUPWHEEL, WATERJET + Public Overloads Sub CreateToolList(ToolType As Integer, ToolList As ObservableCollection(Of String)) ToolList.Clear() Dim ToolName As String = String.Empty @@ -569,6 +681,24 @@ Public Class AlarmsPageUC End While End Sub + ' definisce l'elenco degli utensili in funzione della famiglia e del tipo (usata per distingure i diversi tipi di frese) + Public Overloads Sub CreateToolList(ToolFamily As Integer, ToolType As Integer, ToolList As ObservableCollection(Of String)) + ToolList.Clear() + Dim ToolName As String = String.Empty + Dim nType As Integer = ToolType + Dim bFound As Boolean = EgtTdbGetFirstTool(ToolType, ToolName, nType) + While bFound + ' Accetto utensili che non siano da sotto + If String.Compare(ToolName, m_CurrentMachine.sCurrDripSaw, True) <> 0 AndAlso + String.Compare(ToolName, m_CurrentMachine.sCurrDripDrill, True) <> 0 AndAlso + nType = ToolType Then + ToolList.Add(ToolName) + End If + bFound = EgtTdbGetNextTool(ToolType, ToolName, nType) + End While + + End Sub + Private Sub SetUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles SetUpBtn.Click m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Remove(Me) m_SetUpPage = New SetUpPage diff --git a/RawPhoto/ChooseMachining.xaml b/RawPhoto/ChooseMachining.xaml index 301e828..025a233 100644 --- a/RawPhoto/ChooseMachining.xaml +++ b/RawPhoto/ChooseMachining.xaml @@ -20,9 +20,11 @@ + + @@ -33,6 +35,7 @@ + @@ -43,6 +46,7 @@ + @@ -53,6 +57,7 @@ + @@ -63,6 +68,18 @@ + + + + + + + + + + + @@ -73,6 +90,7 @@ + diff --git a/RawPhoto/ChooseMachining.xaml.vb b/RawPhoto/ChooseMachining.xaml.vb index cf86e7b..2f6055c 100644 --- a/RawPhoto/ChooseMachining.xaml.vb +++ b/RawPhoto/ChooseMachining.xaml.vb @@ -12,9 +12,13 @@ Public Class ChooseMachining Private m_DrillingList As New List(Of String) Private m_MillingList As New List(Of String) Private m_WJettingList As New List(Of String) + Private m_PocketingList As New List(Of String) ' Numero righe della finestra, necessario per non ridimensionarla quando si cambia il tipo di utensile ausiliario Private m_RowNumber As Integer = 6 + ' attulmente questa ComboBox è spenta (ma potrebbe essere richiesta in futuro?) + Private m_bNotShowAuxilaryCmBx As Boolean = False + Sub New(Owner As Window) Me.Owner = Owner InitializeComponent() @@ -22,12 +26,13 @@ Public Class ChooseMachining End Sub Private Sub ChooseMachining_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized - Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2 + Me.Top = Owner.Top + Owner.Height / 2 - Me.Height Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2 CurrSawingCmBx.ItemsSource = m_SawingList AuxiliaryMachiningCmBx.ItemsSource = m_AuxMachTypeList CurrDrillingCmBx.ItemsSource = m_DrillingList CurrMillingCmBx.ItemsSource = m_MillingList + CurrPocketingCmBx.ItemsSource = m_PocketingList CurrWJettingCmBx.ItemsSource = m_WJettingList CurrSawingTxBl.Text = EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 1) @@ -35,6 +40,7 @@ Public Class ChooseMachining CurrDrillingTxBl.Text = EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 3) CurrMillingTxBl.Text = EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 4) CurrWJettingTxBl.Text = EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 10) + CurrPocketingTxBl.Text = EgtMsg(90550) End Sub @@ -44,15 +50,18 @@ Public Class ChooseMachining Private Sub InitializeMachiningLists() - ' Creo lista lavorazioni di lama + ' -- TAGLIO -- CreateMachiningList(MCH_MY.SAWING, m_CurrentMachine.sCurrSaw, m_SawingList) + ' aggiungo un campo vuoto m_SawingList.Add( "") ' Verifico la configurazione della macchina per creare i combobox Select Case m_CurrentMachine.MountedToolConfig Case CurrentMachine.MountedToolConfigs.SAW + ' se la macchina non è configurata con altre uscite rimuovo le ComboBox ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningTxBl) ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningCmBx) + Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL, CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER ' Creo lista lavorazioni foretto e fresa If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then @@ -60,88 +69,147 @@ Public Class ChooseMachining ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_DrillingList.Count = 0 Then m_CurrentMachine.sCurrDrilling = String.Empty + Else + ' aggiungo il campo vuoto + m_DrillingList.Add("") End If CreateMachiningList(MCH_MY.MILLING, m_CurrentMachine.sCurrMill, m_MillingList) ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_MillingList.Count = 0 Then m_CurrentMachine.sCurrMilling = String.Empty + Else + ' aggiungo il campo vuoto + m_MillingList.Add("") + End If + ' -- SVUOTATURA -- + CreateMachiningList(MCH_MY.POCKETING, m_CurrentMachine.sCurrMillNoTip, m_PocketingList) + If m_PocketingList.Count = 0 Then + m_CurrentMachine.sCurrPocketing = String.Empty + Else + m_PocketingList.Add("") End If CreateMachiningList(MCH_MY.WATERJETTING, m_CurrentMachine.sCurrWaterJet, m_WJettingList) ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_WJettingList.Count = 0 Then m_CurrentMachine.sCurrWaterJetting = String.Empty + Else + m_WJettingList.Add("") End If + + ' ---- MACCHINA CON CAMBIO UTENSILE ---- ElseIf m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then + ' -- FORATURA -- CreateMachiningList(MCH_MY.DRILLING, m_DrillingList) ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_DrillingList.Count = 0 Then m_CurrentMachine.sCurrDrilling = String.Empty + Else + ' aggiungo il campo vuoto + m_DrillingList.Add("") End If + ' -- FRESATURA -- CreateMachiningList(MCH_MY.MILLING, m_MillingList) ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_MillingList.Count = 0 Then m_CurrentMachine.sCurrMilling = String.Empty + Else + ' aggiungo il campo vuoto + m_MillingList.Add("") End If + ' -- SVUOTATURA -- + CreateMachiningList(MCH_MY.POCKETING, m_PocketingList) + If m_PocketingList.Count = 0 Then + m_CurrentMachine.sCurrPocketing = String.Empty + Else + ' aggiungo il campo vuoto + m_PocketingList.Add("") + End If + ' -- WATERJET -- CreateMachiningList(MCH_MY.WATERJETTING, m_WJettingList) ' Se la lista è vuota cancello la lavorazione corrente di questo tipo If m_WJettingList.Count = 0 Then m_CurrentMachine.sCurrWaterJetting = String.Empty + Else + ' aggiungo il campo vuoto + m_WJettingList.Add("") End If End If - ' Definizione di due righe della tabella con la giusta altezza - For Index As Integer = 0 To 1 - Dim Row As New RowDefinition - Row.Height = New GridLength(0.5, GridUnitType.Star) - ChooseMachiningGrid.RowDefinitions.Add(Row) - Next - AuxiliaryMachiningTxBl.SetValue(Grid.RowProperty, 2) - AuxiliaryMachiningCmBx.SetValue(Grid.RowProperty, 3) - ButtonsGrid.SetValue(Grid.RowProperty, 5) - AuxiliaryMachiningTxBl.Visibility = Windows.Visibility.Visible - AuxiliaryMachiningCmBx.Visibility = Windows.Visibility.Visible - Me.Height = 341.2 - m_RowNumber += 2 + + ' preparazione dello spazio necessario ad ospitare la ComboBox per selezionare la lavorazione secondaria -- DA RIMUOVERE COMPLETAMENTE -- + If m_bNotShowAuxilaryCmBx Then + ' Preparazione interfaccia, definizione di due righe della tabella con la giusta altezza (per inserire la lavorazione secondaria) + For Index As Integer = 0 To 1 + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + AuxiliaryMachiningTxBl.SetValue(Grid.RowProperty, 2) + AuxiliaryMachiningCmBx.SetValue(Grid.RowProperty, 3) + ButtonsGrid.SetValue(Grid.RowProperty, 5) + AuxiliaryMachiningTxBl.Visibility = Windows.Visibility.Visible + AuxiliaryMachiningCmBx.Visibility = Windows.Visibility.Visible + Me.Height = 341.2 + m_RowNumber += 2 + Else + ' se non visualizzato allora rimuovo + ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningTxBl) + ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningCmBx) + End If + End Select + + ' verifico che lista delle lavorazioni di lama non sia vuoto If m_SawingList.Count > 0 Then + ' provo ad assegnare la lama corrente (se l'associazione fallisce corrispoende ad impostare un campo vuoto) CurrSawingCmBx.SelectedItem = m_MainWindow.m_CurrentMachine.sCurrSawing Else m_MainWindow.m_CurrentMachine.sCurrSawing = String.Empty End If - If Not m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAW Then - If m_CurrentMachine.bDrilling Then - m_AuxMachTypeList.Add(New StringIdCmBx(1, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 6))) - If m_CurrentMachine.bMilling Then - m_AuxMachTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 7))) - If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or - m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then - m_AuxMachTypeList.Add(New StringIdCmBx(3, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 8))) + ' definizione della lista delle lavorazioni secondarie -- DA RIMUOVERE COMPLETAMENTE -- + If m_bNotShowAuxilaryCmBx Then + If Not m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAW Then + If m_CurrentMachine.bDrilling Then + m_AuxMachTypeList.Add(New StringIdCmBx(1, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 6))) + If m_CurrentMachine.bMilling Then + m_AuxMachTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 7))) + If m_CurrentMachine.bPocketing Then + m_AuxMachTypeList.Add(New StringIdCmBx(4, EgtMsg(91069))) + End If + If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or + m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then + m_AuxMachTypeList.Add(New StringIdCmBx(3, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 8))) + End If End If + ElseIf m_CurrentMachine.bMilling Then + m_AuxMachTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 7))) + ElseIf m_CurrentMachine.bPocketing Then + m_AuxMachTypeList.Add(New StringIdCmBx(4, EgtMsg(91069))) + ElseIf m_CurrentMachine.bWaterJetting Then + m_AuxMachTypeList.Add(New StringIdCmBx(5, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 11))) End If - ElseIf m_CurrentMachine.bMilling Then - m_AuxMachTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 7))) - ElseIf m_CurrentMachine.bWaterJetting Then - m_AuxMachTypeList.Add(New StringIdCmBx(4, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 11))) - End If - ' Aggiungo nessuna come ultimo elemento della lista - m_AuxMachTypeList.Add(New StringIdCmBx(0, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 5))) + ' Aggiungo "Nessuna" come ultimo elemento della lista + m_AuxMachTypeList.Add(New StringIdCmBx(0, EgtMsg(MSG_CHOOSEMACHININGPAGEUC + 5))) - If m_CurrentMachine.sCurrDrilling <> String.Empty Then - If m_CurrentMachine.sCurrMilling <> String.Empty Then - AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(3, m_AuxMachTypeList) + If m_CurrentMachine.sCurrDrilling <> String.Empty Then + If m_CurrentMachine.sCurrMilling <> String.Empty Then + AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(3, m_AuxMachTypeList) + Else + AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(1, m_AuxMachTypeList) + End If + ElseIf m_CurrentMachine.sCurrMilling <> String.Empty Then + AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(2, m_AuxMachTypeList) + ElseIf m_CurrentMachine.sCurrWaterJetting <> String.Empty Then + AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(4, m_AuxMachTypeList) Else - AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(1, m_AuxMachTypeList) + AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(0, m_AuxMachTypeList) End If - ElseIf m_CurrentMachine.sCurrMilling <> String.Empty Then - AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(2, m_AuxMachTypeList) - ElseIf m_CurrentMachine.sCurrWaterJetting <> String.Empty Then - AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(4, m_AuxMachTypeList) - Else - AuxiliaryMachiningCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(0, m_AuxMachTypeList) End If End If + RefreshMachiningPage() + End Sub Private Sub CreateMachiningList(MachiningType As Integer, CurrTool As String, MachiningList As List(Of String)) @@ -235,6 +303,8 @@ Public Class ChooseMachining CurrDrillingCmBx.Visibility = Windows.Visibility.Hidden CurrMillingTxBl.Visibility = Windows.Visibility.Hidden CurrMillingCmBx.Visibility = Windows.Visibility.Hidden + CurrPocketingTxBl.Visibility = Windows.Visibility.Hidden + CurrPocketingCmBx.Visibility = Windows.Visibility.Hidden CurrWJettingTxBl.Visibility = Windows.Visibility.Hidden CurrWJettingCmBx.Visibility = Windows.Visibility.Hidden Dim SelectedItem As StringIdCmBx = DirectCast(AuxiliaryMachiningCmBx.SelectedItem, StringIdCmBx) @@ -269,6 +339,7 @@ Public Class ChooseMachining End If m_MainWindow.m_CurrentMachine.sCurrMilling = String.Empty m_MainWindow.m_CurrentMachine.sCurrWaterJetting = String.Empty + m_MainWindow.m_CurrentMachine.sCurrPocketing = String.Empty CurrDrillingTxBl.Visibility = Windows.Visibility.Visible CurrDrillingCmBx.Visibility = Windows.Visibility.Visible Me.Height = 426.5 @@ -290,6 +361,7 @@ Public Class ChooseMachining End If m_MainWindow.m_CurrentMachine.sCurrDrilling = String.Empty m_MainWindow.m_CurrentMachine.sCurrWaterJetting = String.Empty + m_MainWindow.m_CurrentMachine.sCurrPocketing = String.Empty CurrMillingTxBl.Visibility = Windows.Visibility.Visible CurrMillingCmBx.Visibility = Windows.Visibility.Visible Me.Height = 426.5 @@ -320,7 +392,30 @@ Public Class ChooseMachining CurrMillingTxBl.Visibility = Windows.Visibility.Visible CurrMillingCmBx.Visibility = Windows.Visibility.Visible Me.Height = 511.8 - Case 4 ' WaterJetting + Case 4 ' Pocketing + ' Definizione di due righe della tabella con la giusta altezza + If m_RowNumber < 10 Then + For Index As Integer = 1 To 10 - m_RowNumber + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + m_RowNumber = 10 + End If + CurrPocketingTxBl.SetValue(Grid.RowProperty, 4) + CurrPocketingCmBx.SetValue(Grid.RowProperty, 5) + ButtonsGrid.SetValue(Grid.RowProperty, 7) + If m_CurrentMachine.sCurrPocketing <> String.Empty Then + CurrPocketingCmBx.SelectedItem = m_CurrentMachine.sCurrPocketing + End If + m_MainWindow.m_CurrentMachine.sCurrDrilling = String.Empty + m_MainWindow.m_CurrentMachine.sCurrMilling = String.Empty + m_MainWindow.m_CurrentMachine.sCurrWaterJetting = String.Empty + CurrPocketingTxBl.Visibility = Windows.Visibility.Visible + CurrPocketingCmBx.Visibility = Windows.Visibility.Visible + Me.Height = 426.5 + + Case 5 ' WaterJetting ' Definizione di due righe della tabella con la giusta altezza If m_RowNumber < 10 Then For Index As Integer = 1 To 10 - m_RowNumber @@ -344,6 +439,98 @@ Public Class ChooseMachining End Select End Sub + Private Sub RefreshMachiningPage() + Dim nDeltaRow As Integer = 4 + Dim nNewRow As Integer = 2 + ' nascondo tutte le CmBx e TxBl + CurrDrillingTxBl.Visibility = Windows.Visibility.Hidden + CurrDrillingCmBx.Visibility = Windows.Visibility.Hidden + CurrMillingTxBl.Visibility = Windows.Visibility.Hidden + CurrMillingCmBx.Visibility = Windows.Visibility.Hidden + CurrPocketingTxBl.Visibility = Windows.Visibility.Hidden + CurrPocketingCmBx.Visibility = Windows.Visibility.Hidden + CurrWJettingTxBl.Visibility = Windows.Visibility.Hidden + CurrWJettingCmBx.Visibility = Windows.Visibility.Hidden + + ' -- FORATURA -- se foretto presente + If m_CurrentMachine.bDrill And m_DrillingList.Count() > 0 Then + ' Definizione di due righe della tabella con la giusta altezza + For Index As Integer = 1 To nNewRow + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + m_RowNumber = m_RowNumber + nNewRow + CurrDrillingTxBl.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow) + CurrDrillingCmBx.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow + 1) + 'ButtonsGrid.SetValue(Grid.RowProperty, 5) + If m_CurrentMachine.sCurrDrilling <> String.Empty Then + CurrDrillingCmBx.SelectedItem = m_CurrentMachine.sCurrDrilling + End If + CurrDrillingTxBl.Visibility = Windows.Visibility.Visible + CurrDrillingCmBx.Visibility = Windows.Visibility.Visible + End If + + ' -- FRESATURA -- se fresa presente + If m_CurrentMachine.bMill And m_MillingList.Count() > 0 Then + ' Definizione di due righe della tabella con la giusta altezza + For Index As Integer = 1 To nNewRow + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + m_RowNumber = m_RowNumber + nNewRow + CurrMillingTxBl.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow) + CurrMillingCmBx.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow + 1) + ButtonsGrid.SetValue(Grid.RowProperty, 7) + If m_CurrentMachine.sCurrMilling <> String.Empty Then + CurrMillingCmBx.SelectedItem = m_CurrentMachine.sCurrMilling + End If + CurrMillingTxBl.Visibility = Windows.Visibility.Visible + CurrMillingCmBx.Visibility = Windows.Visibility.Visible + End If + + ' -- SVUOTATURA -- se fresa senza punta presente + If m_CurrentMachine.bCupWheel And m_PocketingList.Count > 0 Then + ' Definizione di due righe della tabella con la giusta altezza + For Index As Integer = 1 To nNewRow + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + m_RowNumber = m_RowNumber + nNewRow + CurrPocketingTxBl.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow) + CurrPocketingCmBx.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow + 1) + ButtonsGrid.SetValue(Grid.RowProperty, 7) + If m_CurrentMachine.sCurrPocketing <> String.Empty Then + CurrPocketingCmBx.SelectedItem = m_CurrentMachine.sCurrPocketing + End If + CurrPocketingTxBl.Visibility = Windows.Visibility.Visible + CurrPocketingCmBx.Visibility = Windows.Visibility.Visible + End If + + ' riga 8/9 + If m_CurrentMachine.bWaterJetting And m_WJettingList.Count > 0 Then + ' Definizione di due righe della tabella con la giusta altezza + For Index As Integer = 1 To nNewRow + Dim Row As New RowDefinition + Row.Height = New GridLength(0.5, GridUnitType.Star) + ChooseMachiningGrid.RowDefinitions.Add(Row) + Next + m_RowNumber = m_RowNumber + nNewRow + CurrWJettingTxBl.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow) + CurrWJettingCmBx.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow - nNewRow + 1) + If m_CurrentMachine.sCurrWaterJetting <> String.Empty Then + CurrWJettingCmBx.SelectedItem = m_CurrentMachine.sCurrWaterJetting + End If + CurrWJettingTxBl.Visibility = Windows.Visibility.Visible + CurrWJettingCmBx.Visibility = Windows.Visibility.Visible + End If + + Me.Height = 42 * m_RowNumber + ButtonsGrid.SetValue(Grid.RowProperty, m_RowNumber - nDeltaRow + 1) + End Sub + Private Sub CurrSawingCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrSawingCmBx.SelectionChanged m_MainWindow.m_CurrentMachine.sCurrSawing = CurrSawingCmBx.SelectedItem.ToString() End Sub @@ -356,6 +543,10 @@ Public Class ChooseMachining m_MainWindow.m_CurrentMachine.sCurrMilling = CurrMillingCmBx.SelectedItem.ToString() End Sub + Private Sub CurrPocketingCmBx_SekectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrPocketingCmBx.SelectionChanged + m_MainWindow.m_CurrentMachine.sCurrPocketing = CurrPocketingCmBx.SelectedItem.ToString() + End Sub + Private Sub CurrWJettingCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrWJettingCmBx.SelectionChanged m_MainWindow.m_CurrentMachine.sCurrWaterJetting = CurrWJettingCmBx.SelectedItem.ToString() End Sub From 073b616405acba2a5ee92255f3a6e1ec500db161 Mon Sep 17 00:00:00 2001 From: DarioS Date: Mon, 5 Jul 2021 15:45:49 +0200 Subject: [PATCH 2/6] =?UTF-8?q?OmagCUT=202.3g1=20:=20-=20per=20macchina=20?= =?UTF-8?q?Digitale5=20possibilit=C3=A0=20di=20tavola=20addizionale=20come?= =?UTF-8?q?=20scalatura=20in=20Z=20di=20tavola=20gi=C3=A0=20presente=20nel?= =?UTF-8?q?=20disegno=20macchina=20(con=20spessore=2010mm)=20ma=20nascosta?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MainWindow.xaml.vb | 4 ++-- My Project/AssemblyInfo.vb | 4 ++-- Project/CurrentProjectPageUC.xaml.vb | 24 ++++++++++++++++++------ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb index be334a4..92c7e41 100644 --- a/MainWindow.xaml.vb +++ b/MainWindow.xaml.vb @@ -323,8 +323,8 @@ Class MainWindow ' Verifico abilitazione nesting automatico m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey) ' Recupero opzioni della chiave - Dim bKey As Boolean = EgtGetKeyLevel(9423, 2305, 1, m_nKeyLevel) And - EgtGetKeyOptions(9423, 2305, 1, m_nKeyOptions) + Dim bKey As Boolean = EgtGetKeyLevel(9423, 2307, 1, m_nKeyLevel) And + EgtGetKeyOptions(9423, 2307, 1, m_nKeyOptions) ' Verifico abilitazione prodotto Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE) ' Inizializzazione generale di EgtInterface diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index cc32123..b5a2510 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -62,5 +62,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + + diff --git a/Project/CurrentProjectPageUC.xaml.vb b/Project/CurrentProjectPageUC.xaml.vb index 6daa78e..9ac9adb 100644 --- a/Project/CurrentProjectPageUC.xaml.vb +++ b/Project/CurrentProjectPageUC.xaml.vb @@ -423,16 +423,28 @@ Public Class CurrentProjectPageUC EgtErase(EgtGetFirstNameInGroup(nFixtId, MACH_ADD_TABLE)) ' Altezza eventuale tavola aggiuntiva Dim dAddTable As Double = m_MainWindow.m_CurrentMachine.dAdditionalTable - ' Se non esiste sovratavola, esco subito + ' Se non richiesta sovratavola, non c'è altro da fare ed esco If dAddTable < 10 * EPS_SMALL Then Return True ' Recupero box tavola Dim ptMin, ptMax As Point3d EgtGetTableArea(1, ptMin, ptMax) - ' Aggiungo sovratavola nel gruppo dei bloccaggi - ptMax.z -= DELTAZ_ADDTAB - ptMin.z = ptMax.z - ptMax.z += dAddTable - Dim nAddTabId As Integer = EgtCreateSurfTmBBox(nFixtId, ptMin, ptMax, GDB_RT.GLOB) + ' Nuova geometria + Dim nAddTabId As Integer = GDB_ID.NULL + ' Se esiste geometria di riferimento + Dim nRefAddTabId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetTableId( MAIN_TAB), "SOLID"), MACH_ADD_TABLE) + If nRefAddTabId <> GDB_ID.NULL Then + nAddTabId = EgtCopyGlob( nRefAddTabId, nFixtId) + EgtSetStatus( nAddTabId, GDB_ST.ON_) + EgtScale( nAddTabId, new Frame3d( ptMin), 1, 1, dAddTable / 10) + ' altrimenti la creo + Else + ' Aggiungo sovratavola nel gruppo dei bloccaggi + ptMax.z -= DELTAZ_ADDTAB + ptMin.z = ptMax.z + ptMax.z += dAddTable + nAddTabId = EgtCreateSurfTmBBox(nFixtId, ptMin, ptMax, GDB_RT.GLOB) + End If + ' Sistemazioni finali If nAddTabId = GDB_ID.NULL Then Return False EgtSetName(nAddTabId, MACH_ADD_TABLE) EgtSetColor(nAddTabId, New Color3d(150, 75, 0, 100), True) From 30965ac81d7d4974e74b4ca0467837323bf37a0d Mon Sep 17 00:00:00 2001 From: DarioS Date: Tue, 6 Jul 2021 12:59:46 +0200 Subject: [PATCH 3/6] OmagCUT : - modifiche per pretagli su uscite con lama. --- CAM/CamAuto.vb | 19 +++++++++++++++++++ CadCuts/SplitPageUC.xaml.vb | 2 ++ Constants/ConstGen.vb | 2 ++ Machine/AlarmsPageUC.xaml.vb | 9 +++++++-- 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/CAM/CamAuto.vb b/CAM/CamAuto.vb index 6dd362e..ba1affe 100644 --- a/CAM/CamAuto.vb +++ b/CAM/CamAuto.vb @@ -699,6 +699,25 @@ Friend Module CamAuto Return True End Function + Friend Function IsExitPreCut(nOperId As Integer) As Boolean + ' Deve essere una lavorazione + If Not EgtSetCurrMachining(nOperId) Then Return False + ' Verifico presenza Info di PreCut + Return EgtExistsInfo(nOperId, INFO_MCH_EPC) + End Function + + Friend Function RemoveAllExitPreCuts() As Boolean + Dim nOperId As Integer = EgtGetFirstOperation() + While nOperId <> GDB_ID.NULL + Dim nNextOperId As Integer = EgtGetNextOperation( nOperId) + If EgtGetType( nOperId) <> MCH_OY.DISP AndAlso EgtExistsInfo(nOperId, INFO_MCH_EPC) Then + EgtRemoveOperation( nOperId) + End If + nOperId = nNextOperId + End While + Return True + End Function + Private Function SetLuaStandardCamParams(Optional bDripOk As Boolean = True) As Boolean Dim sSawMch As String = m_MainWindow.m_CurrentMachine.sCurrSawing Dim sMillMch As String = m_MainWindow.m_CurrentMachine.sCurrMilling diff --git a/CadCuts/SplitPageUC.xaml.vb b/CadCuts/SplitPageUC.xaml.vb index 5a31eeb..09745a5 100644 --- a/CadCuts/SplitPageUC.xaml.vb +++ b/CadCuts/SplitPageUC.xaml.vb @@ -73,6 +73,8 @@ Public Class SplitPageUC ' Deseleziono pezzi EgtDeselectAll() EgtZoom(ZM.ALL) + ' Elimino eventuali pretagli su uscite + RemoveAllExitPreCuts() ' Se non sono in sola visualizzazione, faccio ordine automatico delle lavorazioni If Not m_bShow Then If m_MainWindow.m_CurrentMachine.WaterJettingActive Then ResetAllMachinings() diff --git a/Constants/ConstGen.vb b/Constants/ConstGen.vb index 8c25936..1b9b3ee 100644 --- a/Constants/ConstGen.vb +++ b/Constants/ConstGen.vb @@ -244,6 +244,8 @@ Module ConstGen Public Const INFO_MCH_USER_SAL As String = "Usal" ' Info allungamento finale lavorazione imposto dall'utente Public Const INFO_MCH_USER_EAL As String = "Ueal" + ' Info lavorazione di tipo pretaglio sull'uscita + Public Const INFO_MCH_EPC As String = "EPC" ' Nome contorno taglio Public Const NAME_PV_CUT As String = "CUT" ' Nome contorno pre-taglio diff --git a/Machine/AlarmsPageUC.xaml.vb b/Machine/AlarmsPageUC.xaml.vb index fe15f97..1254269 100644 --- a/Machine/AlarmsPageUC.xaml.vb +++ b/Machine/AlarmsPageUC.xaml.vb @@ -296,8 +296,13 @@ Public Class AlarmsPageUC EgtMdbSetGeneralParam(MCH_GP.EXTSAWARCMINRAD, dVal) ExtArcMinRadTxBx.Text = LenToString(dVal, 2) ' Leggo se PreCutExit attivo (per taglio ceramico) - PreCutExitChBx.IsChecked = - (GetPrivateProfileInt(S_MACH_NEST, K_MACH_PRECUTEXIT, 0, m_MainWindow.GetMachIniFile()) <> 0) + Dim nPreCutExit As Integer = GetPrivateProfileInt(S_MACH_NEST, K_MACH_PRECUTEXIT, -1, m_MainWindow.GetMachIniFile()) + If nPreCutExit = -1 Then + PreCutExitTxBl.Visibility = Visibility.Hidden + PreCutExitChBx.Visibility = Visibility.Hidden + Else + PreCutExitChBx.IsChecked = ( nPreCutExit <> 0) + End If ' Leggo angolo di fianco massimo arco interno dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_INTARCMAXSIDEANG, 45, m_MainWindow.GetMachIniFile()) EgtMdbSetGeneralParam(MCH_GP.INTSAWARCMAXSIDEANG, dVal) From 4037db6b6b9913669a28523393c3966c83a546da Mon Sep 17 00:00:00 2001 From: DarioS Date: Tue, 6 Jul 2021 16:50:47 +0200 Subject: [PATCH 4/6] OmagCUT : - migliorie a TestCheck. --- Constants/ConstIni.vb | 1 + MainWindow.xaml.vb | 3 +- Project/ProjectMgrUC.xaml.vb | 133 ++--------------------------------- 3 files changed, 9 insertions(+), 128 deletions(-) diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb index e800b15..84bc83d 100644 --- a/Constants/ConstIni.vb +++ b/Constants/ConstIni.vb @@ -45,6 +45,7 @@ Module ConstIni Public Const K_VIRTUALKEYBOARD As String = "VirtualKeyboard" Public Const K_THEME As String = "Theme" Public Const K_MANUAL_CUT As String = "ManualCut" + Public Const K_TEST As String = "Test" Public Const S_LANGUAGES As String = "Languages" Public Const K_LANGUAGE As String = "Language" diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb index 92c7e41..f8beec4 100644 --- a/MainWindow.xaml.vb +++ b/MainWindow.xaml.vb @@ -433,7 +433,8 @@ Class MainWindow End If ' abilito il bottone per la gestione del comando di Check-Up-Start (posziona lama prelavorazione) - If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 Then + If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 OrElse + Not File.Exists( m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Collapsed Else m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Visible diff --git a/Project/ProjectMgrUC.xaml.vb b/Project/ProjectMgrUC.xaml.vb index 68ce065..68df112 100644 --- a/Project/ProjectMgrUC.xaml.vb +++ b/Project/ProjectMgrUC.xaml.vb @@ -297,6 +297,7 @@ Public Class ProjectMgrUC ptMid.x = (ptEnd.x + ptStart.x) / 2 ptMid.y = (ptEnd.y + ptStart.y) / 2 ptMid.z = (ptEnd.z + ptStart.z) / 2 + dDiam / 2 + ptMid -= vtDirT * dThick '--------------------------- Imposto la posizione della macchina ---------------------------- @@ -310,14 +311,15 @@ Public Class ProjectMgrUC Dim nStat As Integer Dim dC1, dB1, dC2, dB2 As Double EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2) - ' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile) + ' calcolo la posizione degli assi lineari X, Y, Z Dim dX, dY, dZ As Double EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ) ' verifica assi lineari EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat) If nStat <> 0 Then - vtDirT.Rotate(Vector3d.Z_AX, 180) + vtDirT = - vtDirT + ptMid -= vtDirT * dThick EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2) ' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile) EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ) @@ -617,13 +619,6 @@ Public Class ProjectMgrUC ' ------------------------------------------------ GENERA COMANDI CNC MOVIMENTO ------------------------------------------------ Private Sub ExecuteCommandCNC(ptMid As Point3d, dAngC As Double, dAngB As Double) - 'If m_CurrNcComm.m_nNCType = 3 AndAlso m_CurrNcComm.m_CN.m_IsSiemensOne Then - ' SiemensMoveAxis(ptMid, dAngC, dAngB) - ' Return - 'End If - - Dim nTemp As Integer = 0 - Dim dTemp As Double = 0 Dim CmdString As String = String.Empty If Not EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then Return @@ -657,26 +652,8 @@ Public Class ProjectMgrUC '----------- ASSEGNO POSIZIONE DI ARRIVO MACCHINA ----------- ' Assegno valore ad ogni asse da muovere (in zero macchina) - Dim dAxVal As Double = ptMid.x - Dim bThickSaw As Boolean = True - If bThickSaw Then - If dAxVal > 0 Then - dAxVal += dThick - ElseIf dAxVal < 0 Then - dAxVal -= dThick - End If - End If - EgtLuaSetGlobNumVar("CMD.X_AXISMOVE", dAxVal) - dAxVal = ptMid.y - If bThickSaw Then - If dAxVal > 0 Then - dAxVal += dThick - ElseIf dAxVal < 0 Then - dAxVal -= dThick - End If - End If - EgtLuaSetGlobNumVar("CMD.Y_AXISMOVE", dAxVal) - dAxVal = ptMid.z + EgtLuaSetGlobNumVar("CMD.X_AXISMOVE", ptMid.x) + EgtLuaSetGlobNumVar("CMD.Y_AXISMOVE", ptMid.y) EgtLuaSetGlobNumVar("CMD.Z_AXISMOVE", ptMid.z) ' imposto gli angoli EgtLuaSetGlobNumVar("CMD.C_ANGMOVE", dAngC) @@ -692,15 +669,6 @@ Public Class ProjectMgrUC ' Log del comando EgtOutLog("CmdString=" & CmdString) - '' Eseguo in MDI - 'm_CurrNcComm.m_CN.DGeneralFunctions_WriteCncMode(2) ' Modalità MDI - 'System.Threading.Thread.Sleep(150) - 'm_CurrNcComm.m_CN.sz_ManualDataInput = CmdString - 'm_CurrNcComm.m_CN.MDI_command() - 'System.Threading.Thread.Sleep(150) - 'm_CurrNcComm.m_CN.DGeneralFunctions_CycleStart() - 'm_CurrNcComm.m_CN.DGeneralFunctions_WriteCncMode(7) ' Modalità manuale - ' Reset lua EgtLuaResetGlobVar("CMD") ' Modifico stringa per inserire i newline ( in questo caso non c'è bisogno perchè tutto sulla stessa linea) @@ -728,95 +696,6 @@ Public Class ProjectMgrUC End Sub - Private Sub SiemensMoveAxis(ptMid As Point3d, dAngC As Double, dAngB As Double) - Dim nTemp As Integer = 0 - Dim dTemp As Double = 0 - Dim CmdString As String = String.Empty - EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") - - '----------- DATI MOVIMENTO ----------- - ' imposto avanzamneto in rapido (non deve essere impostata feed e speed) - EgtLuaSetGlobBoolVar("CMD.G0", True) - '' fermo la rotazione dell'utensile (per sicure - 'EgtLuaSetGlobNumVar("CMD.F", 30000) - 'EgtLuaSetGlobNumVar("CMD.S", 0) - - '----------- POSIZINE MACCHINA ----------- - ' Leggo gli assi rispetto allo 0 macchina - m_CurrNcComm.m_CN.set_OP_OM(0) - - System.Threading.Thread.Sleep(50) - Dim dL1o, dL2o, dL3o As Double - m_CurrNcComm.GetLinearAxesPositions(dL1o, dL2o, dL3o) - Dim dR1, dR2 As Double - m_CurrNcComm.GetRotaryAxesPositions(dR1, dR2) - EgtLuaSetGlobNumVar("CMD.L1o", dL1o) - EgtLuaSetGlobNumVar("CMD.L2o", dL2o) - EgtLuaSetGlobNumVar("CMD.L3o", dL3o) - EgtLuaSetGlobNumVar("CMD.R1", dR1) - EgtLuaSetGlobNumVar("CMD.R2", dR2) - - ' Recupero spessore lama corrente - Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw - EgtTdbSetCurrTool(sSaw) - Dim dThick As Double = 0 - EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick) - EgtLuaSetGlobNumVar("CMD.SAWTH", dThick) - - '----------- ASSEGNO POSIZIONE DI ARRIVO MACCHINA ----------- - ' Assegno valore ad ogni asse da muovere (in zero macchina) - Dim dAxVal As Double = ptMid.x - Dim bThickSaw As Boolean = True - If bThickSaw Then - If dAxVal > 0 Then - dAxVal += dThick - ElseIf dAxVal < 0 Then - dAxVal -= dThick - End If - End If - EgtLuaSetGlobNumVar("CMD.X_AXISMOVE", dAxVal) - dAxVal = ptMid.y - If bThickSaw Then - If dAxVal > 0 Then - dAxVal += dThick - ElseIf dAxVal < 0 Then - dAxVal -= dThick - End If - End If - EgtLuaSetGlobNumVar("CMD.Y_AXISMOVE", dAxVal) - dAxVal = ptMid.z - EgtLuaSetGlobNumVar("CMD.Z_AXISMOVE", ptMid.z) - - EgtLuaSetGlobNumVar("CMD.C_ANGMOVE", dAngC) - EgtLuaSetGlobNumVar("CMD.B_ANGMOVE", dAngB) - - ' Calcolo stringa di comando risultante - EgtLuaCallFunction("CmdString") - EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString) - - ' Reset lua - EgtLuaResetGlobVar("CmdString") - EgtLuaResetGlobVar("CMD") - ' Log del comando - EgtOutLog("CmdString=" & CmdString) - - ' Creo file - Dim sFilePath As String = m_MainWindow.GetCncDir() & "\MANAXMOV.MPF" - Try - File.WriteAllLines(sFilePath, New List(Of String)({CmdString, "M30"}), Text.Encoding.UTF8) - Catch ex As Exception - EgtOutLog("Eccezione creazione programma: " & ex.Message) - End Try - ' Download programma (eventuali errori sono segnalati dalla funzione) - If m_CurrNcComm.m_CN.Download_NC_prog(sFilePath, "MANAXMOV") = 0 Then - EgtOutLog("Programma caricato") - System.Threading.Thread.Sleep(150) - Dim sActivateManAxMov As String = "/plc/OmagCUT_DB.CTRL.Start_Asup" - ' Attivo variabile per esecuzione comando manuale - m_CurrNcComm.m_CN.DVariables_WriteVariables3(sActivateManAxMov, 1, 1, 0, 0, "") - End If - End Sub - ' ------------------------------------------------ GENERA COMANDI CNC MOVIMENTO ------------------------------------------------ Private Sub TestBtn_Click(sender As Object, e As RoutedEventArgs) Handles TestBtn.Click From c581c52022d91c1cdb6ed83e68b65eadeadfd376 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Thu, 8 Jul 2021 10:41:28 +0200 Subject: [PATCH 5/6] Modifica/Correzione commenti --- DirectCuts/DirectCutPageUC.xaml.vb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DirectCuts/DirectCutPageUC.xaml.vb b/DirectCuts/DirectCutPageUC.xaml.vb index 20a12df..b52df8d 100644 --- a/DirectCuts/DirectCutPageUC.xaml.vb +++ b/DirectCuts/DirectCutPageUC.xaml.vb @@ -89,7 +89,7 @@ Public Class DirectCutPageUC m_ControlsMachineButton.SetValue(Grid.RowProperty, 1) m_VacuumMachineButton.SetValue(Grid.RowProperty, 1) - Dim bCollpsedNewBottonsConsole As Boolean = False + Dim bCollapsedNewBottonsConsole As Boolean = False m_NewMachineButtonsType = m_ControlsMachineButton.GetPrivateProfileMachineButtons(S_CONTROLMACHBUTTONS, "Button1", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, m_MainWindow.GetMachIniFile()) If Not m_NewMachineButtonsType Then 'Assegno MachineButtons alla pagina @@ -97,7 +97,7 @@ Public Class DirectCutPageUC ControlsMachineBtn.Visibility = Windows.Visibility.Collapsed VacuumMachineBtn.Visibility = Windows.Visibility.Collapsed ' per le configurazioni diverse dalla Digitale5 - bCollpsedNewBottonsConsole = True + bCollapsedNewBottonsConsole = True End If If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then @@ -115,7 +115,7 @@ Public Class DirectCutPageUC SawTestBtn.Content = EgtMsg(90207) ' nuovi bottoni 20/05/2021 - If GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile()) = 1 And Not bCollpsedNewBottonsConsole Then + If GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile()) = 1 And Not bCollapsedNewBottonsConsole Then XYBtn.Content = "X - Y" ZBtn.Content = "Z" BCBtn.Content = "B - C" @@ -128,7 +128,7 @@ Public Class DirectCutPageUC End Sub Private Sub DirectCutPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded - '------ NUOVI BOTTONI ---------- + '------ INIZIO NUOVI BOTTONI ---------- ' Lettura configurazione bottoni (per impostare l'uso del Joystick) da Ini di macchina m_ButtonJogList.Clear() Dim m_nCount As Integer = 1 @@ -164,8 +164,8 @@ Public Class DirectCutPageUC End If End While ' lo stato di questi comandi vieni carico dalla lettura del PLC (refresh) + '----------- FINE NUOVI BOTTONI------------ - '-----------NUOVI BOTTONI------------ ' Se rientro da simulazione If m_ActiveDirectCutPage = DirectCutPages.SingleCut Then LeftButtonGrid.Children.Add(m_SingleCut) From ddb7c9e7f4e37c6dfb0f0764e9f84e5048b81a37 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Mon, 19 Jul 2021 12:39:33 +0200 Subject: [PATCH 6/6] Selezione delle lavorazioni dalla pagina progetto --- Project/CurrentProjectPageUC.xaml | 2 +- Project/CurrentProjectPageUC.xaml.vb | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Project/CurrentProjectPageUC.xaml b/Project/CurrentProjectPageUC.xaml index c2fdb08..83b001f 100644 --- a/Project/CurrentProjectPageUC.xaml +++ b/Project/CurrentProjectPageUC.xaml @@ -30,7 +30,7 @@ - + diff --git a/Project/CurrentProjectPageUC.xaml.vb b/Project/CurrentProjectPageUC.xaml.vb index 9ac9adb..1e5c6fd 100644 --- a/Project/CurrentProjectPageUC.xaml.vb +++ b/Project/CurrentProjectPageUC.xaml.vb @@ -280,6 +280,15 @@ Public Class CurrentProjectPageUC 'End If End Sub + ' questo metodo è direttamente richiamato in caso di selezione della regione sinistra della pagina + Private Sub ChooseMachining() Handles CurrProjGrid.MouseDown + ' Apro pagina di selezione della lavorazione prima di chiudere il grezzo + Dim m_ChooseMachiningPage = New ChooseMachining(m_MainWindow) + If m_ChooseMachiningPage.DialogResult Then + + End If + End Sub + Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseDownScene If m_bSelectCurv Then RaiseEvent OnMouseDownSceneSelCurv(sender, e)