6f0b489967
- sistemata gestione sovratavola da interfaccia - sistemata gestione assi CN fino a 9.
525 lines
26 KiB
VB.net
525 lines
26 KiB
VB.net
Imports System.Windows.Threading
|
|
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib
|
|
|
|
Public Class AlarmsPageUC
|
|
|
|
' Riferimento alla MainWindow
|
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Private m_CurrentMachine As CurrentMachine
|
|
Friend m_CN As CN_generico
|
|
|
|
' Definizione pagina attrezzaggio
|
|
Friend m_SetUpPage As SetUpPage
|
|
' Properties
|
|
Private m_bFirst As Boolean = True
|
|
|
|
'Lista che contiene le lame disponibili (per Combobox pagina Alarms)
|
|
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_AuxToolTypeList As New List(Of StringIdCmBx)
|
|
|
|
' Costante per nessun utensile definito
|
|
Private Const NO_TOOL As String = "-----"
|
|
|
|
Private Sub AlarmsPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
|
|
'Assegno liste a combobox
|
|
CurrSawCmBx.ItemsSource = m_SawList
|
|
CurrDrillCmBx.ItemsSource = m_DrillList
|
|
CurrMillCmBx.ItemsSource = m_MillList
|
|
AuxiliaryToolCmBx.ItemsSource = m_AuxToolTypeList
|
|
|
|
' Assegno lista ad elenco materiali
|
|
MaterialsLstBx.ItemsSource = m_MainWindow.m_CurrentMachine.Materials
|
|
|
|
'Imposto i messaggi letti dal file dei messaggi
|
|
CurrSawTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 1)
|
|
AuxiliaryToolTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 2)
|
|
CurrDrillTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 3)
|
|
CurrMillTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 4)
|
|
HolesOffsetTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 9)
|
|
HolesOverlapTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 10)
|
|
HolesToleranceTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 11)
|
|
OneHoleInCornerTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 26)
|
|
CutExtraLenTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 6)
|
|
AngleCutExtraLenTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 7)
|
|
CompleteCutsTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 8)
|
|
SafeZTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 5)
|
|
MaterialsGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 13)
|
|
NewMatBtn.Content = EgtMsg(MSG_ALARMSPAGEUC + 14)
|
|
RemoveMatBtn.Content = EgtMsg(MSG_ALARMSPAGEUC + 15)
|
|
SetUpGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 16)
|
|
HolesGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 17)
|
|
ExtArcMinRadTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 18)
|
|
MachineParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 19)
|
|
SawGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 25)
|
|
DirectCutsParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 27) ' Tagli diretti
|
|
FinalHomeTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 28) ' Home finale
|
|
MillingsParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 29) ' Parametri fresature
|
|
InternalCutsTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 30) ' Sempre sugli interni
|
|
NestingParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 31) ' Nesting
|
|
AlignTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 32) ' Allineato
|
|
SetUpBtn.Content = EgtMsg(MSG_ALARMSPAGEUC + 33)
|
|
NewMatBtn.Content = EgtMsg(MSG_ALARMSPAGEUC + 34)
|
|
RemoveMatBtn.Content = EgtMsg(MSG_ALARMSPAGEUC + 35)
|
|
AdditionalTableTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 36)
|
|
End Sub
|
|
|
|
Private Sub AlarmsPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
|
|
|
If m_bFirst Then
|
|
|
|
' Variabile che accorcia il riferimento alla macchina corrente
|
|
m_CurrentMachine = m_MainWindow.m_CurrentMachine
|
|
|
|
' Verifico la configurazione della macchina per creare i combobox
|
|
Select Case m_CurrentMachine.MountedToolConfig
|
|
Case CurrentMachine.MountedToolConfigs.SAW
|
|
' Elimino le righe inutili e riduco il groupbox utensili correnti
|
|
For Index = 7 - 1 To 2 Step -1
|
|
CurrToolsGrid.RowDefinitions.RemoveAt(Index)
|
|
Next
|
|
Dim EndRow As New RowDefinition
|
|
EndRow.Height = New GridLength(0.25, GridUnitType.Star)
|
|
CurrToolsGrid.RowDefinitions.Add(EndRow)
|
|
SetUpGpBx.SetValue(Grid.RowSpanProperty, 1)
|
|
' Disattivo il gruppo dei parametri fori
|
|
HolesGpBx.Visibility = Windows.Visibility.Hidden
|
|
Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL
|
|
'Non faccio alcunchè
|
|
Case CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER
|
|
'Da implementare
|
|
End Select
|
|
|
|
m_bFirst = False
|
|
End If
|
|
|
|
' Aggiorno lista delle lame per pagina macchina in cui scegliere quella corrente
|
|
CreateToolList(MCH_TF.SAWBLADE, m_SawList)
|
|
' Seleziono lama corrente
|
|
CurrSawCmBx.SelectedItem = m_CurrentMachine.sCurrSaw
|
|
|
|
' Verifico la configurazione della macchina per creare i combobox
|
|
Select Case m_CurrentMachine.MountedToolConfig
|
|
Case CurrentMachine.MountedToolConfigs.SAW
|
|
' Non compio alcuna azione
|
|
Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL
|
|
m_AuxToolTypeList.Clear()
|
|
If m_CurrentMachine.bDrilling Then
|
|
m_AuxToolTypeList.Add(New StringIdCmBx(1, EgtMsg(MSG_ALARMSPAGEUC + 21))) ' Foretto
|
|
If m_CurrentMachine.bMilling Then
|
|
m_AuxToolTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_ALARMSPAGEUC + 22))) ' Fresa
|
|
End If
|
|
Else
|
|
If m_CurrentMachine.bMilling Then
|
|
m_AuxToolTypeList.Add(New StringIdCmBx(2, EgtMsg(MSG_ALARMSPAGEUC + 22))) ' Fresa
|
|
End If
|
|
End If
|
|
' Aggiungo elemento nessuno in fondo alla lista
|
|
m_AuxToolTypeList.Add(New StringIdCmBx(0, EgtMsg(MSG_ALARMSPAGEUC + 20))) ' Nessuno
|
|
|
|
AuxiliaryToolTxBl.Visibility = Windows.Visibility.Visible
|
|
AuxiliaryToolCmBx.Visibility = Windows.Visibility.Visible
|
|
CurrDrillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrDrillCmBx.Visibility = Windows.Visibility.Hidden
|
|
CurrMillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrMillCmBx.Visibility = Windows.Visibility.Hidden
|
|
|
|
If m_CurrentMachine.sCurrDrill <> String.Empty Then
|
|
CreateToolList(MCH_TF.DRILLBIT, m_DrillList)
|
|
m_DrillList.Add(NO_TOOL)
|
|
CurrDrillCmBx.SelectedItem = m_CurrentMachine.sCurrDrill
|
|
AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(1, m_AuxToolTypeList)
|
|
CurrDrillTxBl.SetValue(Grid.RowProperty, 4)
|
|
CurrDrillCmBx.SetValue(Grid.RowProperty, 5)
|
|
CurrDrillTxBl.Visibility = Windows.Visibility.Visible
|
|
CurrDrillCmBx.Visibility = Windows.Visibility.Visible
|
|
ElseIf m_CurrentMachine.sCurrMill <> String.Empty Then
|
|
CreateToolList(MCH_TF.MILL, 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
|
|
Else
|
|
AuxiliaryToolCmBx.SelectedItem = StringIdCmBx.FromIdToStringIdCmBx(0, m_AuxToolTypeList)
|
|
End If
|
|
|
|
Case CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER
|
|
SetUpBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
End Select
|
|
|
|
' Leggo offset fori
|
|
Dim dVal As Double
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_HOLES_OFFSET, 0, m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTRARONDRIREG, dVal)
|
|
HolesOffsetTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo sovrapposizione fori
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_HOLES_OVERLAP, 0, m_MainWindow.GetMachIniFile())
|
|
HolesOverlapTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo tolleranza diametro fori
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_HOLES_DIAMTOLER, 0, m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.HOLEDIAMTOLER, dVal)
|
|
HolesToleranceTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo un solo foro in corner
|
|
OneHoleInCornerChBx.IsChecked =
|
|
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_ONEHOLE_INTCORNER, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
|
' Leggo sicurezza su tagli
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_SAFE_LEN_CUT, 0, m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTRALONCUTREG, dVal)
|
|
CutExtraLenTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo sicurezza su tagli in angoli interni
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_SAFE_LEN_INTCORNER, 0, m_MainWindow.GetMachIniFile())
|
|
AngleCutExtraLenTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo tagli ridotti per interferenza in nesting
|
|
CompleteCutsChBx.IsChecked =
|
|
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_REDUCEDCUT, 0, m_MainWindow.GetMachIniFile()) = 0)
|
|
' Leggo distanza di sicurezza
|
|
dVal = 0
|
|
EgtMdbGetGeneralParam(MCH_GP.SAFEZ, dVal)
|
|
SafeZTxBx.Text = LenToString(dVal, 2)
|
|
' Leggo raggio minimo arco esterno
|
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_EXTARCMINRAD, 0, m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTSAWARCMINRAD, dVal)
|
|
ExtArcMinRadTxBx.Text = LenToString(dVal, 2)
|
|
' Salvo DB lavorazioni con aggiornamenti parametri generali
|
|
EgtMdbSave()
|
|
' Leggo lavorazione interni con fresa
|
|
InternalCutsChBx.IsChecked =
|
|
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
|
' Flag per movimento in home alla fine dei tagli diretti
|
|
FinalHomeChBx.IsChecked = m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome
|
|
' Flag per nesting allineato
|
|
AlignChBx.IsChecked =
|
|
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_NEST_ALIGNED, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
|
' Leggo altezza sovratavola
|
|
dVal = m_MainWindow.m_CurrentMachine.dAdditionalTable
|
|
AdditionalTableTxBx.Text = LenToString(dVal, 2)
|
|
End Sub
|
|
|
|
Private Sub AuxiliaryToolCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles AuxiliaryToolCmBx.SelectionChanged
|
|
Dim SelectedItem As StringIdCmBx = AuxiliaryToolCmBx.SelectedItem
|
|
Select Case SelectedItem.nId
|
|
Case 0
|
|
CurrDrillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrDrillCmBx.Visibility = Windows.Visibility.Hidden
|
|
CurrMillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrMillCmBx.Visibility = Windows.Visibility.Hidden
|
|
m_CurrentMachine.sCurrDrill = String.Empty
|
|
m_CurrentMachine.sCurrMill = String.Empty
|
|
Case 1
|
|
CreateToolList(MCH_TF.DRILLBIT, m_DrillList)
|
|
m_DrillList.Add(NO_TOOL)
|
|
CurrDrillCmBx.SelectedItem = m_CurrentMachine.sCurrDrill
|
|
CurrDrillTxBl.SetValue(Grid.RowProperty, 4)
|
|
CurrDrillCmBx.SetValue(Grid.RowProperty, 5)
|
|
If m_CurrentMachine.sCurrDrill = String.Empty Then
|
|
CurrDrillCmBx.SelectedItem = NO_TOOL
|
|
Else
|
|
CurrDrillCmBx.SelectedItem = m_CurrentMachine.sCurrDrill
|
|
End If
|
|
m_CurrentMachine.sCurrMill = String.Empty
|
|
CurrDrillTxBl.Visibility = Windows.Visibility.Visible
|
|
CurrDrillCmBx.Visibility = Windows.Visibility.Visible
|
|
CurrMillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrMillCmBx.Visibility = Windows.Visibility.Hidden
|
|
Case 2
|
|
CreateToolList(MCH_TF.MILL, m_MillList)
|
|
m_MillList.Add(NO_TOOL)
|
|
CurrMillCmBx.SelectedItem = m_CurrentMachine.sCurrMill
|
|
If m_CurrentMachine.sCurrMill = String.Empty Then
|
|
CurrMillCmBx.SelectedItem = NO_TOOL
|
|
Else
|
|
CurrMillCmBx.SelectedItem = m_CurrentMachine.sCurrMill
|
|
End If
|
|
m_CurrentMachine.sCurrDrill = String.Empty
|
|
CurrMillCmBx.SelectedItem = m_CurrentMachine.sCurrMill
|
|
CurrDrillTxBl.Visibility = Windows.Visibility.Hidden
|
|
CurrDrillCmBx.Visibility = Windows.Visibility.Hidden
|
|
CurrMillTxBl.Visibility = Windows.Visibility.Visible
|
|
CurrMillCmBx.Visibility = Windows.Visibility.Visible
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub CurrSawCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrSawCmBx.SelectionChanged
|
|
If IsNothing(CurrSawCmBx.SelectedItem) Then Return
|
|
' Assegno
|
|
m_CurrentMachine.sCurrSaw = CurrSawCmBx.SelectedItem.ToString()
|
|
' Se nuova lama incompatibile con lavorazione di taglio corrente, resetto quest'ultima
|
|
Dim sMchTool As String = String.Empty
|
|
If Not EgtMdbSetCurrMachining(m_CurrentMachine.sCurrSawing) Or
|
|
Not EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMchTool) Or
|
|
String.Compare(sMchTool, m_CurrentMachine.sCurrSaw, True) <> 0 Then
|
|
m_CurrentMachine.sCurrSawing = String.Empty
|
|
End If
|
|
' Aggiorno utensili per lavoro in corso
|
|
m_MainWindow.m_WorkInProgressPageUC.UpdateTools()
|
|
End Sub
|
|
|
|
Private Sub CurrDrillCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrDrillCmBx.SelectionChanged
|
|
If IsNothing(CurrDrillCmBx.SelectedItem) Then Return
|
|
' Rimuovo foretto
|
|
If CurrDrillCmBx.SelectedItem.ToString() = NO_TOOL Then
|
|
m_CurrentMachine.sCurrDrill = String.Empty
|
|
m_CurrentMachine.sCurrDrilling = String.Empty
|
|
' Assegno foretto
|
|
Else
|
|
m_CurrentMachine.sCurrDrill = CurrDrillCmBx.SelectedItem.ToString()
|
|
' Reset fresa e relativa lavorazione
|
|
If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then
|
|
m_CurrentMachine.sCurrMill = String.Empty
|
|
m_CurrentMachine.sCurrMilling = String.Empty
|
|
End If
|
|
' Se nuovo foretto incompatibile con foratura corrente, resetto quest'ultima
|
|
Dim sMchTool As String = String.Empty
|
|
If Not EgtMdbSetCurrMachining(m_CurrentMachine.sCurrDrilling) Or
|
|
Not EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMchTool) Or
|
|
String.Compare(sMchTool, m_CurrentMachine.sCurrDrill, True) <> 0 Then
|
|
m_CurrentMachine.sCurrDrilling = String.Empty
|
|
End If
|
|
End If
|
|
' Aggiorno utensili per lavoro in corso
|
|
m_MainWindow.m_WorkInProgressPageUC.UpdateTools()
|
|
End Sub
|
|
|
|
Private Sub CurrMillCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrMillCmBx.SelectionChanged
|
|
If IsNothing(CurrMillCmBx.SelectedItem) Then Return
|
|
' Rimuovo fresa
|
|
If CurrMillCmBx.SelectedItem.ToString() = NO_TOOL Then
|
|
m_CurrentMachine.sCurrMill = String.Empty
|
|
m_CurrentMachine.sCurrMilling = String.Empty
|
|
' Assegno fresa
|
|
Else
|
|
m_CurrentMachine.sCurrMill = CurrMillCmBx.SelectedItem.ToString()
|
|
' Reset foretto e relativa lavorazione
|
|
If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then
|
|
m_CurrentMachine.sCurrDrill = String.Empty
|
|
m_CurrentMachine.sCurrDrilling = String.Empty
|
|
End If
|
|
' Se nuova fresa incompatibile con fresatura corrente, resetto quest'ultima
|
|
Dim sMchTool As String = String.Empty
|
|
If Not EgtMdbSetCurrMachining(m_CurrentMachine.sCurrMilling) Or
|
|
Not EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMchTool) Or
|
|
String.Compare(sMchTool, m_CurrentMachine.sCurrMill, True) <> 0 Then
|
|
m_CurrentMachine.sCurrMilling = String.Empty
|
|
End If
|
|
End If
|
|
' Aggiorno utensili per lavoro in corso
|
|
m_MainWindow.m_WorkInProgressPageUC.UpdateTools()
|
|
End Sub
|
|
|
|
Private Overloads Sub CreateToolList(ToolType As Integer, ToolList As ObservableCollection(Of String))
|
|
ToolList.Clear()
|
|
Dim ToolName As String = String.Empty
|
|
Dim nType As Integer = MCH_TY.NONE
|
|
Dim bFound As Boolean = EgtTdbGetFirstTool(ToolType, ToolName, nType)
|
|
While bFound
|
|
ToolList.Add(ToolName)
|
|
bFound = EgtTdbGetNextTool(ToolType, ToolName, nType)
|
|
End While
|
|
End Sub
|
|
|
|
Private Overloads Sub CreateToolList(ToolType As Integer, ToolList As List(Of String))
|
|
ToolList.Clear()
|
|
Dim ToolName As String = String.Empty
|
|
Dim nType As Integer = MCH_TY.NONE
|
|
Dim bFound As Boolean = EgtTdbGetFirstTool(ToolType, ToolName, nType)
|
|
While bFound
|
|
ToolList.Add(ToolName)
|
|
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
|
|
m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Add(m_SetUpPage)
|
|
End Sub
|
|
|
|
Private Sub HolesOffsetTxBx_EgtClosed(sender As Object, e As EventArgs) Handles HolesOffsetTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(HolesOffsetTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_HOLES_OFFSET, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTRARONDRIREG, dVal)
|
|
EgtMdbSave()
|
|
End Sub
|
|
|
|
Private Sub HolesOverlapTxBx_EgtClosed(sender As Object, e As EventArgs) Handles HolesOverlapTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(HolesOverlapTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_HOLES_OVERLAP, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
End Sub
|
|
|
|
Private Sub HolesToleranceTxBx_EgtClosed(sender As Object, e As EventArgs) Handles HolesToleranceTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(HolesToleranceTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_HOLES_DIAMTOLER, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.HOLEDIAMTOLER, dVal)
|
|
EgtMdbSave()
|
|
End Sub
|
|
|
|
Private Sub OneHoleInCornerChBx_Click(sender As Object, e As RoutedEventArgs) Handles OneHoleInCornerChBx.Click
|
|
If OneHoleInCornerChBx.IsChecked() Then
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_ONEHOLE_INTCORNER, "1", m_MainWindow.GetMachIniFile())
|
|
Else
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_ONEHOLE_INTCORNER, "0", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CutExtraLenTxBx_EgtClosed(sender As Object, e As EventArgs) Handles CutExtraLenTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(CutExtraLenTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_SAFE_LEN_CUT, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTRALONCUTREG, dVal)
|
|
EgtMdbSave()
|
|
End Sub
|
|
|
|
Private Sub AngleCutExtraLenTxBx_EgtClosed(sender As Object, e As EventArgs) Handles AngleCutExtraLenTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(AngleCutExtraLenTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_SAFE_LEN_INTCORNER, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
End Sub
|
|
|
|
Private Sub SafeZTxBx_EgtClosed(sender As Object, e As EventArgs) Handles SafeZTxBx.EgtClosed
|
|
Dim dSafeZ As Double = 0
|
|
StringToLen(SafeZTxBx.Text, dSafeZ)
|
|
EgtMdbSetGeneralParam(MCH_GP.SAFEZ, dSafeZ)
|
|
EgtMdbSave()
|
|
End Sub
|
|
|
|
Private Sub ExtArcMinRadTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ExtArcMinRadTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(ExtArcMinRadTxBx.Text, dVal)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_EXTARCMINRAD, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
|
|
EgtMdbSetGeneralParam(MCH_GP.EXTSAWARCMINRAD, dVal)
|
|
EgtMdbSave()
|
|
End Sub
|
|
|
|
Private Sub CompleteCutsChBx_Click(sender As Object, e As RoutedEventArgs) Handles CompleteCutsChBx.Click
|
|
Dim NestPage As NestPageUC = m_MainWindow.m_CadCutPageUC.m_NestPage
|
|
If CompleteCutsChBx.IsChecked() Then
|
|
' Se pezzi in interferenza
|
|
If Not NestPage.VerifyPartsNesting(False) Then
|
|
' Ci sono interferenze, alcuni pezzi saranno parcheggiati. Vuoi continuare ?
|
|
Dim Dlg As EgtMsgBox
|
|
If m_MainWindow.IsSiemensPc Then
|
|
Dlg = New EgtMsgBox(m_MainWindow, Me.ActualWidth / 15 * 5.5, EgtMsgBox.WidthType.PIXEL, "", EgtMsg(91105), EgtMsgBox.Buttons.OK_CANCEL, EgtMsgBox.Icons.NULL, 1, 1)
|
|
Else
|
|
Dlg = New EgtMsgBox(m_MainWindow, "", EgtMsg(91105), EgtMsgBox.Buttons.OK_CANCEL, EgtMsgBox.Icons.NULL, 1, 1)
|
|
End If
|
|
If Dlg.DialogResult = 1 Then ' Ok
|
|
NestPage.StoreCollisionParts(False)
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_REDUCEDCUT, "0", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
Else
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_REDUCEDCUT, "0", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
Else
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_REDUCEDCUT, "1", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub InternalCutsChBx_Click(sender As Object, e As RoutedEventArgs) Handles InternalCutsChBx.Click
|
|
If InternalCutsChBx.IsChecked() Then
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, "1", m_MainWindow.GetMachIniFile())
|
|
Else
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, "0", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub FinalHomeChBx_Click(sender As Object, e As RoutedEventArgs) Handles FinalHomeChBx.Click
|
|
If FinalHomeChBx.IsChecked() Then
|
|
m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome = True
|
|
Else
|
|
m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub AlignChBx_Click(sender As Object, e As RoutedEventArgs) Handles AlignChBx.Click
|
|
If AlignChBx.IsChecked() Then
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_NEST_ALIGNED, "1", m_MainWindow.GetMachIniFile())
|
|
Else
|
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_NEST_ALIGNED, "0", m_MainWindow.GetMachIniFile())
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub AdditionalTableTxBx_EgtClosed(sender As Object, e As EventArgs) Handles AdditionalTableTxBx.EgtClosed
|
|
Dim dVal As Double = 0
|
|
StringToLen(AdditionalTableTxBx.Text, dVal)
|
|
m_MainWindow.m_CurrentMachine.dAdditionalTable = dVal
|
|
End Sub
|
|
|
|
Friend Sub NcError()
|
|
If m_CN.sz_NC_error_messages.Count > 0 Then
|
|
'NCErrorMessages.Text = m_CN.sz_NC_error_messages(0)
|
|
If m_CN.bIsErrorMessage Then
|
|
m_MainWindow.m_MachineStatusUC.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Red")
|
|
Else
|
|
m_MainWindow.m_MachineStatusUC.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
|
End If
|
|
Else
|
|
'NCErrorMessages.Text = ""
|
|
Dim BackColor As SolidColorBrush = m_MainWindow.m_MachineStatusUC.MachineStatusGrid.Background
|
|
If Colors.Red.Equals(BackColor.Color) Then
|
|
m_MainWindow.m_MachineStatusUC.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub PlcError(ErrorMsg As String)
|
|
' m_MainWindow.m_MachineStatusUC.Background = Brushes.Red
|
|
' Dim sFilePath As String = m_MainWindow.GetMachinesRootDir() & "/PLCMessages/" & EgtMsg(MSG_MACHINEPAGEUC + 1)
|
|
' Try
|
|
' Dim sErrorText As String = File.ReadLines(sFilePath).Skip(m_CN.sz_PLC_error_messages).Take(1).First()
|
|
' sErrorText = sErrorText.Substring(sErrorText.IndexOf("$"))
|
|
' If sErrorText(0) = " " Then
|
|
' sErrorText = sErrorText.Substring(1)
|
|
' End If
|
|
' PLCErrorMessages.Text = sErrorText
|
|
' Catch ex As Exception
|
|
' MsgBox("Errore lettura errori PLC")
|
|
' End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub NewMatBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewMatBtn.Click
|
|
' Mostro textbox per il nome
|
|
MatNameTxBx.Text = String.Empty
|
|
MatNameTxBx.Visibility = Windows.Visibility.Visible
|
|
MaterialsLstBx.SetValue(Grid.RowSpanProperty, 1)
|
|
End Sub
|
|
|
|
Private Sub MatNameTxBx_EgtClosed(sender As Object, e As EventArgs) Handles MatNameTxBx.EgtClosed
|
|
' Verifico che il nome non sia vuoto
|
|
If Not String.IsNullOrWhiteSpace(MatNameTxBx.Text) Then
|
|
' Verifico che il nome non sia già utilizzato
|
|
Dim bNameExist As Boolean = False
|
|
For Each Material In m_CurrentMachine.Materials
|
|
If Material.sName = MatNameTxBx.Text Then
|
|
bNameExist = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Not bNameExist Then
|
|
m_CurrentMachine.AddMaterial(New Material(MatNameTxBx.Text, m_CurrentMachine.Materials))
|
|
End If
|
|
End If
|
|
' Nascondo textbox per il nome
|
|
MaterialsLstBx.SetValue(Grid.RowSpanProperty, 2)
|
|
MatNameTxBx.Visibility = Windows.Visibility.Hidden
|
|
End Sub
|
|
|
|
Private Sub RemoveMatBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemoveMatBtn.Click
|
|
Dim SelectedMat As Material = DirectCast(MaterialsLstBx.SelectedItem, Material)
|
|
If Not IsNothing(SelectedMat) Then
|
|
m_CurrentMachine.RemoveMaterial(SelectedMat)
|
|
End If
|
|
End Sub
|
|
|
|
End Class
|