diff --git a/AlarmsPageUC.xaml b/AlarmsPageUC.xaml
index 871347d..60b80dd 100644
--- a/AlarmsPageUC.xaml
+++ b/AlarmsPageUC.xaml
@@ -26,14 +26,15 @@
-
+
-
+
+
@@ -109,26 +110,36 @@
-
-
-
-
+
+
+
+
+
+
-
+
-
-
diff --git a/AlarmsPageUC.xaml.vb b/AlarmsPageUC.xaml.vb
index 7b74314..5c6aeb6 100644
--- a/AlarmsPageUC.xaml.vb
+++ b/AlarmsPageUC.xaml.vb
@@ -36,6 +36,8 @@ Public Class AlarmsPageUC
CutExtraLenTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 6)
AngleCutExtraLenTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 7)
CompleteCutsTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 8)
+ HolesOffsetTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 9)
+ HolesOverlapTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 10)
End Sub
@@ -207,6 +209,10 @@ Public Class AlarmsPageUC
End If
End Sub
+ Private Sub SetUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles SetUpBtn.Click
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Remove(Me)
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Add(New SetUpPage)
+ End Sub
Private Sub SafeZTxBx_EgtClosed(sender As Object, e As EventArgs) Handles SafeZTxBx.EgtClosed
Dim dSafeZ As Double = 0
@@ -234,7 +240,6 @@ Public Class AlarmsPageUC
End If
End Sub
-
Friend Sub NcError()
If m_CN.sz_NC_error_messages.Count > 0 Then
NCErrorMessages.Text = m_CN.sz_NC_error_messages(0)
diff --git a/CNCommunication.vb b/CNCommunication.vb
index fc9ece6..605b33e 100644
--- a/CNCommunication.vb
+++ b/CNCommunication.vb
@@ -150,6 +150,13 @@ Public Class CNCommunication
m_CN.SetCnDataVar(CN_generico.CnData.SpeedOvr, sVal)
GetPrivateProfileString(S_NCDATA, K_POWER, "", sVal, m_MainWindow.GetMachIniFile())
m_CN.SetCnDataVar(CN_generico.CnData.Power, sVal)
+ GetPrivateProfileString(S_NCDATA, "Spindle", "", sVal, m_MainWindow.GetMachIniFile())
+ m_CN.SetCnDataVar(CN_generico.CnData.Spindle, sVal)
+ GetPrivateProfileString(S_NCDATA, "Coolant", "", sVal, m_MainWindow.GetMachIniFile())
+ m_CN.SetCnDataVar(CN_generico.CnData.Coolant, sVal)
+ GetPrivateProfileString(S_NCDATA, "Laser", "", sVal, m_MainWindow.GetMachIniFile())
+ m_CN.SetCnDataVar(CN_generico.CnData.Laser, sVal)
+
' Inizializzo la comunicazione
m_CN.Init()
Catch ex As Exception
@@ -265,6 +272,13 @@ Public Class CNCommunication
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.FiveAxisBtn.IsChecked = False
End If
+ If m_CN.bLaserState Then
+ m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserStateChanged(True)
+ Else
+
+ End If
+
+
End Sub
Friend Function SendProgram(ByVal sCncPath As String, ByVal nNumProg As Integer) As Boolean
diff --git a/CN_generico.vb b/CN_generico.vb
index cb5d09f..c6c6f9a 100644
--- a/CN_generico.vb
+++ b/CN_generico.vb
@@ -8,15 +8,18 @@ Public MustInherit Class CN_generico
Public Const MAX_VAR As Short = 100
Public Const MAX_VALUES As Short = 9 ' Max. index to read the data from the FXServer array
Public Const MAX_TOOLS As Short = 100
- Public Const NUM_DATA = 7 ' Numero di dati del CN (Speed,Feed,...)
+ Public Const NUM_DATA = 10 ' Numero di dati del CN (Speed,Feed,...)
Public Enum CnData
- Mode = 0
- JogIncr = 1
- Feed = 2
- FeedOvr = 3
- Speed = 4
- SpeedOvr = 5
- Power = 6
+ Mode = 0
+ JogIncr = 1
+ Feed = 2
+ FeedOvr = 3
+ Speed = 4
+ SpeedOvr = 5
+ Power = 6
+ Spindle = 7
+ Coolant = 8
+ Laser = 9
End Enum
#End Region
@@ -88,7 +91,11 @@ Public MustInherit Class CN_generico
Public sz_NC_error_messages As ObservableCollection(Of String)
Public b_PLC_error As Boolean
Public b_NC_error As Boolean
- Public bIsErrorMessage As Boolean = True
+ Public bIsErrorMessage As Boolean = True
+
+ Public bSpindleState As Boolean
+ Public bCoolantState As Boolean
+ Public bLaserState As Boolean
Public m_szCnDataVar(NUM_DATA - 1) As String
@@ -96,7 +103,6 @@ Public MustInherit Class CN_generico
Public Event NewPosDeltaData(ByVal sender As Object)
Public Event NewVarChanged(ByVal sender As Object)
-
Protected Overridable Sub OnNewPositionData()
RaiseEvent NewPositionData(0)
End Sub
diff --git a/ChooseMachining.xaml.vb b/ChooseMachining.xaml.vb
index a21176c..72a89d9 100644
--- a/ChooseMachining.xaml.vb
+++ b/ChooseMachining.xaml.vb
@@ -49,7 +49,15 @@ Public Class ChooseMachining
ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningTxBl)
ChooseMachiningGrid.Children.Remove(AuxiliaryMachiningCmBx)
Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL, CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER
- ' Definizione di due riga della tabella con la giusta altezza
+ 'Creo lista lavorazioni froretto e fresa
+ If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then
+ CreateMachiningList(MCH_MY.DRILLING, m_CurrentMachine.sCurrDrill, m_DrillingList)
+ CreateMachiningList(MCH_MY.MILLING, m_CurrentMachine.sCurrMill, m_MillingList)
+ ElseIf m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then
+ CreateMachiningList(MCH_MY.DRILLING, m_DrillingList)
+ CreateMachiningList(MCH_MY.MILLING, m_MillingList)
+ End If
+ ' Definizione di due righe della tabella con la giusta altezza
For Index = 0 To 1
Dim Row As New RowDefinition
Row.Height = New GridLength(0.5, GridUnitType.Star)
@@ -65,26 +73,40 @@ Public Class ChooseMachining
End Select
CurrSawingCmBx.SelectedItem = If(Not IsNothing(m_SawingList(0)), m_SawingList(0), Nothing)
- m_AuxiliaryMachiningTypeList.Add("Nessuna")
- If m_CurrentMachine.bDrilling Then
- m_AuxiliaryMachiningTypeList.Add("Fresatura")
- If m_CurrentMachine.bMilling Then
- m_AuxiliaryMachiningTypeList.Add("Foratura")
- If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then
- m_AuxiliaryMachiningTypeList.Add("Entrambe")
+ If Not m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.SAW Then
+ m_AuxiliaryMachiningTypeList.Add("Nessuna")
+ If m_CurrentMachine.bDrilling Then
+ m_AuxiliaryMachiningTypeList.Add("Fresatura")
+ If m_CurrentMachine.bMilling Then
+ m_AuxiliaryMachiningTypeList.Add("Foratura")
+ If m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER Or m_CurrentMachine.MountedToolConfig = CurrentMachine.MountedToolConfigs.TOOLCHANGER Then
+ m_AuxiliaryMachiningTypeList.Add("Entrambe")
+ End If
+ End If
+ Else
+ If m_CurrentMachine.bMilling Then
+ m_AuxiliaryMachiningTypeList.Add("Foratura")
End If
End If
- Else
- If m_CurrentMachine.bMilling Then
- m_AuxiliaryMachiningTypeList.Add("Foratura")
+ If m_CurrentMachine.sCurrDrilling <> String.Empty Then
+ If m_CurrentMachine.sCurrMilling <> String.Empty Then
+ AuxiliaryMachiningCmBx.SelectedItem = "Entrambe"
+ Else
+ AuxiliaryMachiningCmBx.SelectedItem = "Foratura"
+ End If
+ Else
+ If m_CurrentMachine.sCurrMilling <> String.Empty Then
+ AuxiliaryMachiningCmBx.SelectedItem = "Fresatura"
+ Else
+ AuxiliaryMachiningCmBx.SelectedItem = "Nessuna"
+ End If
End If
End If
- AuxiliaryMachiningCmBx.SelectedItem = "Nessuna"
End Sub
Private Sub CreateMachiningList(MachiningType As Integer, CurrTool As String, MachiningList As List(Of String))
- 'Cerco tutte le lavorazioni che utilizzano l'utensile corrente le aggiungo alla lista
+ 'Cerco tutte le lavorazioni che utilizzano l'utensile corrente e le aggiungo alla lista
Dim MachiningTool As String = String.Empty
Dim MachiningName As String = String.Empty
If EgtMdbGetFirstMachining(MachiningType, MachiningName) Then
@@ -104,6 +126,53 @@ Public Class ChooseMachining
End Sub
+ Private Sub CreateMachiningList(MachiningType As Integer, MachiningList As List(Of String))
+ 'Cerco tutte le lavorazioni che utilizzano un utensile presente nel portautensile e le aggiungo alla lista
+ Dim MachiningTool As String = String.Empty
+ Dim MachiningName As String = String.Empty
+ Dim ToolFound As Boolean = False
+ If EgtMdbGetFirstMachining(MachiningType, MachiningName) Then
+ EgtMdbSetCurrMachining(MachiningName)
+ EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, MachiningTool)
+ For Each ToolChangerPos In m_CurrentMachine.ToolChanger
+ If MachiningTool = ToolChangerPos.sTool Then
+ MachiningList.Add(MachiningName)
+ ToolFound = True
+ Exit For
+ End If
+ Next
+ If Not ToolFound Then
+ For Each ToolChangerPos In m_CurrentMachine.ManualToolChanger
+ If MachiningTool = ToolChangerPos.sTool Then
+ MachiningList.Add(MachiningName)
+ Exit For
+ End If
+ Next
+ End If
+ While EgtMdbGetNextMachining(MachiningType, MachiningName)
+ ToolFound = False
+ EgtMdbSetCurrMachining(MachiningName)
+ EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, MachiningTool)
+ For Each ToolChangerPos In m_CurrentMachine.ToolChanger
+ If MachiningTool = ToolChangerPos.sTool Then
+ MachiningList.Add(MachiningName)
+ ToolFound = True
+ Exit For
+ End If
+ Next
+ If Not ToolFound Then
+ For Each ToolChangerPos In m_CurrentMachine.ManualToolChanger
+ If MachiningTool = ToolChangerPos.sTool Then
+ MachiningList.Add(MachiningName)
+ Exit For
+ End If
+ Next
+ End If
+ End While
+ End If
+
+ End Sub
+
Private Sub AuxiliaryMachiningCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles AuxiliaryMachiningCmBx.SelectionChanged
Select Case AuxiliaryMachiningCmBx.SelectedItem
Case "Nessuna"
@@ -114,13 +183,15 @@ Public Class ChooseMachining
m_RowNumber = 8
End If
ButtonsGrid.SetValue(Grid.RowProperty, 5)
+ m_MainWindow.m_CurrentMachine.sCurrDrilling = String.Empty
+ m_MainWindow.m_CurrentMachine.sCurrMilling = String.Empty
CurrDrillingTxBl.Visibility = Windows.Visibility.Hidden
CurrDrillingCmBx.Visibility = Windows.Visibility.Hidden
CurrMillingTxBl.Visibility = Windows.Visibility.Hidden
CurrMillingCmBx.Visibility = Windows.Visibility.Hidden
Me.Height = 341.2
Case "Foratura"
- ' Definizione di due riga della tabella con la giusta altezza
+ ' Definizione di due righe della tabella con la giusta altezza
If m_RowNumber < 10 Then
For Index = 1 To 10 - m_RowNumber
Dim Row As New RowDefinition
@@ -132,14 +203,17 @@ Public Class ChooseMachining
CurrDrillingTxBl.SetValue(Grid.RowProperty, 4)
CurrDrillingCmBx.SetValue(Grid.RowProperty, 5)
ButtonsGrid.SetValue(Grid.RowProperty, 7)
- CreateMachiningList(MCH_MY.DRILLING, m_CurrentMachine.sCurrDrill, m_DrillingList)
+ If m_CurrentMachine.sCurrDrilling <> String.Empty Then
+ CurrDrillingCmBx.SelectedItem = m_CurrentMachine.sCurrDrilling
+ End If
+ m_MainWindow.m_CurrentMachine.sCurrMilling = String.Empty
CurrDrillingTxBl.Visibility = Windows.Visibility.Visible
CurrDrillingCmBx.Visibility = Windows.Visibility.Visible
CurrMillingTxBl.Visibility = Windows.Visibility.Hidden
CurrMillingCmBx.Visibility = Windows.Visibility.Hidden
Me.Height = 426.5
Case "Fresatura"
- ' Definizione di due riga della tabella con la giusta altezza
+ ' Definizione di due righe della tabella con la giusta altezza
If m_RowNumber < 10 Then
For Index = 1 To 10 - m_RowNumber
Dim Row As New RowDefinition
@@ -151,14 +225,17 @@ Public Class ChooseMachining
CurrMillingTxBl.SetValue(Grid.RowProperty, 4)
CurrMillingCmBx.SetValue(Grid.RowProperty, 5)
ButtonsGrid.SetValue(Grid.RowProperty, 7)
- CreateMachiningList(MCH_MY.MILLING, m_CurrentMachine.sCurrMill, m_MillingList)
+ If m_CurrentMachine.sCurrMilling <> String.Empty Then
+ CurrMillingCmBx.SelectedItem = m_CurrentMachine.sCurrMilling
+ End If
+ m_MainWindow.m_CurrentMachine.sCurrDrilling = String.Empty
CurrDrillingTxBl.Visibility = Windows.Visibility.Hidden
CurrDrillingCmBx.Visibility = Windows.Visibility.Hidden
CurrMillingTxBl.Visibility = Windows.Visibility.Visible
CurrMillingCmBx.Visibility = Windows.Visibility.Visible
Me.Height = 426.5
Case "Entrambe"
- ' Definizione di quattro riga della tabella con la giusta altezza
+ ' Definizione di quattro righe della tabella con la giusta altezza
If m_RowNumber < 12 Then
For Index = 1 To 12 - m_RowNumber
Dim Row As New RowDefinition
@@ -167,13 +244,17 @@ Public Class ChooseMachining
Next
m_RowNumber = 12
End If
+ If m_CurrentMachine.sCurrDrilling <> String.Empty Then
+ CurrDrillingCmBx.SelectedItem = m_CurrentMachine.sCurrDrilling
+ End If
+ If m_CurrentMachine.sCurrMilling <> String.Empty Then
+ CurrMillingCmBx.SelectedItem = m_CurrentMachine.sCurrMilling
+ End If
CurrDrillingTxBl.SetValue(Grid.RowProperty, 4)
CurrDrillingCmBx.SetValue(Grid.RowProperty, 5)
CurrMillingTxBl.SetValue(Grid.RowProperty, 6)
CurrMillingCmBx.SetValue(Grid.RowProperty, 7)
ButtonsGrid.SetValue(Grid.RowProperty, 9)
- CreateMachiningList(MCH_MY.DRILLING, m_CurrentMachine.sCurrDrill, m_DrillingList)
- CreateMachiningList(MCH_MY.MILLING, m_CurrentMachine.sCurrMill, m_MillingList)
CurrDrillingTxBl.Visibility = Windows.Visibility.Visible
CurrDrillingCmBx.Visibility = Windows.Visibility.Visible
CurrMillingTxBl.Visibility = Windows.Visibility.Visible
@@ -186,6 +267,14 @@ Public Class ChooseMachining
m_MainWindow.m_CurrentMachine.sCurrSawing = CurrSawingCmBx.SelectedItem
End Sub
+ Private Sub CurrDrillingCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrDrillingCmBx.SelectionChanged
+ m_MainWindow.m_CurrentMachine.sCurrDrilling = CurrDrillingCmBx.SelectedItem
+ End Sub
+
+ Private Sub CurrMillingCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles CurrMillingCmBx.SelectionChanged
+ m_MainWindow.m_CurrentMachine.sCurrMilling = CurrMillingCmBx.SelectedItem
+ End Sub
+
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
DialogResult = True
End Sub
diff --git a/ConstMachIni.vb b/ConstMachIni.vb
index df38e40..ca9153d 100644
--- a/ConstMachIni.vb
+++ b/ConstMachIni.vb
@@ -51,6 +51,14 @@
Public Const S_MACH_NEST As String = "Nest"
Public Const K_MACH_REDUCEDCUT As String = "ReducedCut"
+ Public Const S_TOOLCHANGER As String = "ToolChanger"
+ Public Const K_NUMBER As String = "Number"
+ Public Const K_POS As String = "Pos"
+ Public Const K_NAME As String = "Name"
+ Public Const K_MANUALNUMBER As String = "ManualNumber"
+ Public Const K_MANUALPOS As String = "ManualPos"
+ Public Const K_MANUALNAME As String = "ManualName"
+
Public Const S_MACHBUTTONS As String = "MachButtons"
Public Const K_BUTTON As String = "Button"
diff --git a/CurrentMachine.vb b/CurrentMachine.vb
index 285dc94..b8ced7c 100644
--- a/CurrentMachine.vb
+++ b/CurrentMachine.vb
@@ -42,6 +42,18 @@ Public Class CurrentMachine
' Spessore sottopezzo
Private m_dAdditionalTable As Double
+ ' Numero portautensili presenti
+ Private m_ToolChangerNum As Double
+
+ ' Lista portautensili
+ Private m_ToolChanger As New List(Of ToolChangerPos)
+
+ ' Numero portautensili manuali
+ Private m_ManualToolChangerNum As Double
+
+ ' Lista portautensili
+ Private m_ManualToolChanger As New List(Of ToolChangerPos)
+
Friend Enum MountedToolConfigs As Integer
SAW = 0
SAWANDAUXTOOL = 1
@@ -199,6 +211,68 @@ Public Class CurrentMachine
End Set
End Property
+ Friend ReadOnly Property dToolChangerNum As Double
+ Get
+ Return m_ToolChangerNum
+ End Get
+ End Property
+
+ Friend ReadOnly Property ToolChanger As List(Of ToolChangerPos)
+ Get
+ Return m_ToolChanger
+ End Get
+ End Property
+
+ Friend ReadOnly Property ToolChangerName(Index As Integer) As String
+ Get
+ If Index >= 0 And Index < m_ToolChanger.Count Then
+ Return m_ToolChanger(Index).sName
+ Else
+ Return String.Empty
+ End If
+ End Get
+ End Property
+
+ Friend WriteOnly Property ToolPos(Index As Integer) As String
+ Set(value As String)
+ If value <> m_ToolChanger(Index).sTool Then
+ m_ToolChanger(Index).sTool = value
+ WritePrivateProfileString(S_TOOLCHANGER, K_POS & Index + 1, value, sMachIniFile)
+ End If
+ End Set
+ End Property
+
+ Friend ReadOnly Property dManualToolChangerNum As Double
+ Get
+ Return m_ManualToolChangerNum
+ End Get
+ End Property
+
+ Friend ReadOnly Property ManualToolChanger As List(Of ToolChangerPos)
+ Get
+ Return m_ManualToolChanger
+ End Get
+ End Property
+
+ Friend ReadOnly Property ManualToolChangerName(Index As Integer) As String
+ Get
+ If Index >= 0 And Index < m_ManualToolChanger.Count Then
+ Return m_ManualToolChanger(Index).sName
+ Else
+ Return String.Empty
+ End If
+ End Get
+ End Property
+
+ Friend WriteOnly Property ManualToolPos(Index As Integer) As String
+ Set(value As String)
+ If value <> m_ManualToolChanger(Index).sTool Then
+ m_ManualToolChanger(Index).sTool = value
+ WritePrivateProfileString(S_TOOLCHANGER, K_MANUALPOS & Index + 1, value, sMachIniFile)
+ End If
+ End Set
+ End Property
+
#End Region
Sub New()
@@ -264,6 +338,64 @@ Public Class CurrentMachine
' fresa
GetPrivateProfileString(S_MACH, K_CURRMILLING, Nothing, m_sCurrMilling, m_MainWindow.GetIniFile())
+ ' Leggo numero di portautensili
+ m_ToolChangerNum = GetPrivateProfileInt(S_TOOLCHANGER, K_NUMBER, 0, sMachIniFile)
+
+ ' Leggo da file ini nomi e utensili presenti in portautensili
+ For Index = 1 To m_ToolChangerNum
+ Dim sName As String = String.Empty
+ Dim sTool As String = String.Empty
+ GetPrivateProfileString(S_TOOLCHANGER, K_NAME & Index, Nothing, sName, sMachIniFile)
+ GetPrivateProfileString(S_TOOLCHANGER, K_POS & Index, Nothing, sTool, sMachIniFile)
+ m_ToolChanger.Add(New ToolChangerPos(Index, sName, sTool))
+ Next
+ ' Leggo numero portautensili manuali
+ m_ManualToolChangerNum = GetPrivateProfileInt(S_TOOLCHANGER, K_MANUALNUMBER, 0, sMachIniFile)
+
+ ' Leggo da file ini nomi e utensili manuali presenti
+ For Index = 1 To m_ManualToolChangerNum
+ Dim sName As String = String.Empty
+ Dim sTool As String = String.Empty
+ GetPrivateProfileString(S_TOOLCHANGER, K_MANUALNAME & Index, Nothing, sName, sMachIniFile)
+ GetPrivateProfileString(S_TOOLCHANGER, K_MANUALPOS & Index, Nothing, sTool, sMachIniFile)
+ m_ManualToolChanger.Add(New ToolChangerPos(Index, sName, sTool))
+ Next
+
End Sub
End Class
+
+Class ToolChangerPos
+
+ Private m_sPosition As Integer
+ Private m_sName As String = String.Empty
+ Private m_sTool As String = String.Empty
+
+ Public ReadOnly Property sPosition As Integer
+ Get
+ Return m_sPosition
+ End Get
+ End Property
+
+ Public ReadOnly Property sName As String
+ Get
+ Return m_sName
+ End Get
+ End Property
+
+ Public Property sTool As String
+ Get
+ Return m_sTool
+ End Get
+ Set(value As String)
+ m_sTool = value
+ End Set
+ End Property
+
+ Sub New(sPosition As Integer, sName As String, sTool As String)
+ m_sPosition = sPosition
+ m_sName = sName
+ m_sTool = sTool
+ End Sub
+
+End Class
\ No newline at end of file
diff --git a/Keyboard.xaml.vb b/Keyboard.xaml.vb
deleted file mode 100644
index 2ae0322..0000000
--- a/Keyboard.xaml.vb
+++ /dev/null
@@ -1,427 +0,0 @@
-Imports System.Windows.Interop
-
-Public Class Keyboard
-
- ' '' Codice che permette di mantenere le proporzioni(Aspect Ratio) della finestra dopo l'ingrondimento o rimpicciolimento della stessa
-
- ''Public Const ASPECTRATIO As Double = 12 / 5
-
- ''Protected Overrides Sub OnSourceInitialized(e As EventArgs)
- '' MyBase.OnSourceInitialized(e)
- '' Dim source As HwndSource = TryCast(HwndSource.FromVisual(Me), HwndSource)
- '' If source IsNot Nothing Then
- '' source.AddHook(New HwndSourceHook(AddressOf WinProc))
- '' End If
- ''End Sub
-
- ''Public Const WM_EXITSIZEMOVE As Integer = &H232
-
- ''Private Function WinProc(hwnd As IntPtr, msg As Int32, wParam As IntPtr, lParam As IntPtr, ByRef handled As [Boolean]) As IntPtr
- '' Dim result As IntPtr = IntPtr.Zero
- '' Select Case msg
- '' Case WM_EXITSIZEMOVE
- '' If True Then
- '' Me.Width = Me.Height * ASPECTRATIO
- '' Exit Select
- '' End If
- '' End Select
-
- '' Return result
- ''End Function
-
- Private m_MainWindow As MainWindow = Application.Current.MainWindow
- Friend m_StringResult As String = String.Empty
- Friend m_CurrTxBx As TextBox
- Friend m_CurrentLbl As String = String.Empty
-
- ' Variabili che contengono lo stato dei tasti Shift, Alt, Caps Lock
- Private m_bShift As Boolean = False
- Private m_bAlt As Boolean = False
- Private m_CapsLock As Boolean = False
-
- Sub New()
- ' This call is required by the designer.
- InitializeComponent()
- ' Altre inizializzazioni
- Owner = m_MainWindow
- ' Imposto Dimensioni e posizione della tastiera
- Top = m_MainWindow.Top + (m_MainWindow.Height / 2 - Height / 2)
- Left = m_MainWindow.Left + (m_MainWindow.Width / 2 - Width / 2)
- End Sub
-
- Sub New(ByVal sTitle As String, ByVal sValue As String, Optional ByVal CurrentTxBx As TextBox = Nothing)
- ' This call is required by the designer.
- InitializeComponent()
- ' Altre inizializzazioni
- Owner = m_MainWindow
- CurrNameTxBl.Text = sTitle
- CurrTextTxBx.Text = sValue
- ' Text box per valore di ritorno
- m_CurrTxBx = CurrentTxBx
- ' Imposto Dimensioni e posizione della tastiera
- Top = m_MainWindow.Top + (m_MainWindow.Height / 2 - Height / 2)
- Left = m_MainWindow.Left + (m_MainWindow.Width / 2 - Width / 2)
- End Sub
-
- 'Evita che venga selezionato il testo all'interno della textbox
- Private Sub CurrTextTxBx_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs) Handles CurrTextTxBx.PreviewMouseDown
- e.Handled = True
- CurrTextTxBx.SelectedText = String.Empty
- End Sub
-
- Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
- m_StringResult = CurrTextTxBx.Text
- If Not IsNothing(m_CurrTxBx) Then
- m_CurrTxBx.Text = CurrTextTxBx.Text
- End If
- Me.DialogResult = True
- Me.Close()
- End Sub
-
- Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
- m_StringResult = String.Empty
- Me.DialogResult = False
- Me.Close()
- End Sub
-
- Private Sub UpperLowerCase(Value As Boolean)
- If Value Then
- qBtn.Content = "Q"
- wBtn.Content = "W"
- eBtn.Content = "E"
- rBtn.Content = "R"
- tBtn.Content = "T"
- yBtn.Content = "Y"
- uBtn.Content = "U"
- iBtn.Content = "I"
- oBtn.Content = "O"
- pBtn.Content = "P"
- aBtn.Content = "A"
- sBtn.Content = "S"
- dBtn.Content = "D"
- fBtn.Content = "F"
- gBtn.Content = "G"
- hBtn.Content = "H"
- jBtn.Content = "J"
- kBtn.Content = "K"
- lBtn.Content = "L"
- zBtn.Content = "Z"
- xBtn.Content = "X"
- cBtn.Content = "C"
- vBtn.Content = "V"
- bBtn.Content = "B"
- nBtn.Content = "N"
- mBtn.Content = "M"
- Else
- qBtn.Content = "q"
- wBtn.Content = "w"
- eBtn.Content = "e"
- rBtn.Content = "r"
- tBtn.Content = "t"
- yBtn.Content = "y"
- uBtn.Content = "u"
- iBtn.Content = "i"
- oBtn.Content = "o"
- pBtn.Content = "p"
- aBtn.Content = "a"
- sBtn.Content = "s"
- dBtn.Content = "d"
- fBtn.Content = "f"
- gBtn.Content = "g"
- hBtn.Content = "h"
- jBtn.Content = "j"
- kBtn.Content = "k"
- lBtn.Content = "l"
- zBtn.Content = "z"
- xBtn.Content = "x"
- cBtn.Content = "c"
- vBtn.Content = "v"
- bBtn.Content = "b"
- nBtn.Content = "n"
- mBtn.Content = "m"
- End If
- End Sub
-
- ' Tasti azione
- Private Sub ShiftBtn_Click(sender As Object, e As RoutedEventArgs) Handles Shift1Btn.Click, Shift2Btn.Click
- If m_bShift Then
- m_bShift = False
- UpperLowerCase(False)
- Shift1Btn.IsChecked = False
- Shift2Btn.IsChecked = False
- Else
- m_bShift = True
- If m_CapsLock Then
- UpperLowerCase(False)
- Else
- UpperLowerCase(True)
- End If
- Shift1Btn.IsChecked = True
- Shift2Btn.IsChecked = True
- End If
- End Sub
-
- Private Sub CapsLockBtn_Click(sender As Object, e As RoutedEventArgs) Handles CapsLockBtn.Click
- If m_CapsLock Then
- If m_bShift Then
- UpperLowerCase(True)
- Else
- UpperLowerCase(False)
- End If
- m_CapsLock = False
- CapsLockBtn.IsChecked = False
- Else
- If m_bShift Then
- m_bShift = False
- Shift1Btn.IsChecked = False
- Shift2Btn.IsChecked = False
- End If
- m_CapsLock = True
- UpperLowerCase(True)
- CapsLockBtn.IsChecked = True
- End If
- End Sub
-
- Private Sub AltBtn_Click(sender As Object, e As RoutedEventArgs) Handles AltBtn.Click, AltGrBtn.Click
- 'Per il momento non fa' nulla
- End Sub
-
- ' Funzione che gestisce il click di una lettera
- Private Sub LetterClick(Uppercase As Char, Lowercase As Char)
- If m_CapsLock Then
- If m_bShift Then
- CurrTextTxBx.Text &= Lowercase
- m_bShift = False
- UpperLowerCase(True)
- Shift1Btn.IsChecked = False
- Shift2Btn.IsChecked = False
- Else
- CurrTextTxBx.Text &= Uppercase
- End If
- Else
- If m_bShift Then
- CurrTextTxBx.Text &= Uppercase
- m_bShift = False
- UpperLowerCase(False)
- Shift1Btn.IsChecked = False
- Shift2Btn.IsChecked = False
- Else
- CurrTextTxBx.Text &= Lowercase
- End If
- End If
- End Sub
-
- ' Funzione che gestisce il click di numeri e simboli
- Private Sub NumberClick(Uppercase As Char, Lowercase As Char)
- If m_bShift Then
- If m_CapsLock Then
- UpperLowerCase(True)
- Else
- UpperLowerCase(False)
- End If
- CurrTextTxBx.Text &= Uppercase
- m_bShift = False
- Shift1Btn.IsChecked = False
- Shift2Btn.IsChecked = False
- Else
- CurrTextTxBx.Text &= Lowercase
- End If
- End Sub
-
- Private Sub BackslashBtn_Click(sender As Object, e As RoutedEventArgs) Handles BackslashBtn.Click
- NumberClick("|", "\")
- End Sub
-
- Private Sub OneBtn_Click(sender As Object, e As RoutedEventArgs) Handles OneBtn.Click
- NumberClick("!", "1")
- End Sub
-
- Private Sub TwoBtn_Click(sender As Object, e As RoutedEventArgs) Handles TwoBtn.Click
- NumberClick("""", "2")
- End Sub
-
- Private Sub ThreeBtn_Click(sender As Object, e As RoutedEventArgs) Handles ThreeBtn.Click
- NumberClick("£", "3")
- End Sub
-
- Private Sub FourBtn_Click(sender As Object, e As RoutedEventArgs) Handles FourBtn.Click
- NumberClick("$", "4")
- End Sub
-
- Private Sub FiveBtn_Click(sender As Object, e As RoutedEventArgs) Handles FiveBtn.Click
- NumberClick("%", "5")
- End Sub
-
- Private Sub SixBtn_Click(sender As Object, e As RoutedEventArgs) Handles SixBtn.Click
- NumberClick("&", "6")
- End Sub
-
- Private Sub SevenBtn_Click(sender As Object, e As RoutedEventArgs) Handles SevenBtn.Click
- NumberClick("/", "7")
- End Sub
-
- Private Sub EightBtn_Click(sender As Object, e As RoutedEventArgs) Handles EightBtn.Click
- NumberClick("(", "8")
- End Sub
-
- Private Sub NineBtn_Click(sender As Object, e As RoutedEventArgs) Handles NineBtn.Click
- NumberClick(")", "9")
- End Sub
-
- Private Sub ZeroBtn_Click(sender As Object, e As RoutedEventArgs) Handles ZeroBtn.Click
- NumberClick("=", "0")
- End Sub
-
- Private Sub BackspaceBtn_Click(sender As Object, e As RoutedEventArgs) Handles BackspaceBtn.Click
- If CurrTextTxBx.Text = String.Empty Then
- Return
- Else
- CurrTextTxBx.Text = CurrTextTxBx.Text.Substring(0, CurrTextTxBx.Text.Length - 1)
- End If
- End Sub
-
- Private Sub TabBtn_Click(sender As Object, e As RoutedEventArgs) Handles TabBtn.Click
-
- End Sub
-
- Private Sub qBtn_Click(sender As Object, e As RoutedEventArgs) Handles qBtn.Click
- LetterClick("Q", "q")
- End Sub
-
- Private Sub wBtn_Click(sender As Object, e As RoutedEventArgs) Handles wBtn.Click
- LetterClick("W", "w")
- End Sub
-
- Private Sub eBtn_Click(sender As Object, e As RoutedEventArgs) Handles eBtn.Click
- LetterClick("E", "e")
- End Sub
-
- Private Sub rBtn_Click(sender As Object, e As RoutedEventArgs) Handles rBtn.Click
- LetterClick("R", "r")
- End Sub
-
- Private Sub tBtn_Click(sender As Object, e As RoutedEventArgs) Handles tBtn.Click
- LetterClick("T", "t")
- End Sub
-
- Private Sub yBtn_Click(sender As Object, e As RoutedEventArgs) Handles yBtn.Click
- LetterClick("Y", "y")
- End Sub
-
- Private Sub uBtn_Click(sender As Object, e As RoutedEventArgs) Handles uBtn.Click
- LetterClick("U", "u")
- End Sub
-
- Private Sub iBtn_Click(sender As Object, e As RoutedEventArgs) Handles iBtn.Click
- LetterClick("I", "i")
- End Sub
-
- Private Sub oBtn_Click(sender As Object, e As RoutedEventArgs) Handles oBtn.Click
- LetterClick("O", "o")
- End Sub
-
- Private Sub pBtn_Click(sender As Object, e As RoutedEventArgs) Handles pBtn.Click
- LetterClick("P", "p")
- End Sub
-
- Private Sub Enter1Btn_Click(sender As Object, e As RoutedEventArgs) Handles Enter1Btn.Click
-
- End Sub
-
- Private Sub aBtn_Click(sender As Object, e As RoutedEventArgs)
- LetterClick("A", "a")
- End Sub
-
- Private Sub sBtn_Click(sender As Object, e As RoutedEventArgs) Handles sBtn.Click
- LetterClick("S", "s")
- End Sub
-
- Private Sub dBtn_Click(sender As Object, e As RoutedEventArgs) Handles dBtn.Click
- LetterClick("D", "d")
- End Sub
-
- Private Sub fBtn_Click(sender As Object, e As RoutedEventArgs) Handles fBtn.Click
- LetterClick("F", "f")
- End Sub
-
- Private Sub gBtn_Click(sender As Object, e As RoutedEventArgs) Handles gBtn.Click
- LetterClick("G", "g")
- End Sub
-
- Private Sub hBtn_Click(sender As Object, e As RoutedEventArgs) Handles hBtn.Click
- LetterClick("H", "h")
- End Sub
-
- Private Sub jBtn_Click(sender As Object, e As RoutedEventArgs) Handles jBtn.Click
- LetterClick("J", "j")
- End Sub
-
- Private Sub kBtn_Click(sender As Object, e As RoutedEventArgs) Handles kBtn.Click
- LetterClick("K", "k")
- End Sub
-
- Private Sub lBtn_Click(sender As Object, e As RoutedEventArgs) Handles lBtn.Click
- LetterClick("L", "l")
- End Sub
-
- Private Sub PlusBtn_Click(sender As Object, e As RoutedEventArgs) Handles PlusBtn.Click
- NumberClick("*", "+")
- End Sub
-
- Private Sub Enter2Btn_Click(sender As Object, e As RoutedEventArgs) Handles Enter2Btn.Click
-
- End Sub
-
- Private Sub MinorBtn_Click(sender As Object, e As RoutedEventArgs) Handles MinorBtn.Click
- NumberClick(">", "<")
- End Sub
-
- Private Sub zBtn_Click(sender As Object, e As RoutedEventArgs) Handles zBtn.Click
- LetterClick("Z", "z")
- End Sub
-
- Private Sub xBtn_Click(sender As Object, e As RoutedEventArgs) Handles xBtn.Click
- LetterClick("X", "x")
- End Sub
-
- Private Sub cBtn_Click(sender As Object, e As RoutedEventArgs) Handles cBtn.Click
- LetterClick("C", "c")
- End Sub
-
- Private Sub vBtn_Click(sender As Object, e As RoutedEventArgs) Handles vBtn.Click
- LetterClick("V", "v")
- End Sub
-
- Private Sub bBtn_Click(sender As Object, e As RoutedEventArgs) Handles bBtn.Click
- LetterClick("B", "b")
- End Sub
-
- Private Sub nBtn_Click(sender As Object, e As RoutedEventArgs) Handles nBtn.Click
- LetterClick("N", "n")
- End Sub
-
- Private Sub mBtn_Click(sender As Object, e As RoutedEventArgs) Handles mBtn.Click
- LetterClick("M", "m")
- End Sub
-
- Private Sub MinusBtn_Click(sender As Object, e As RoutedEventArgs) Handles MinusBtn.Click
- NumberClick("_", "-")
- End Sub
-
- Private Sub DotBtn_Click(sender As Object, e As RoutedEventArgs) Handles DotBtn.Click
- NumberClick(":", ".")
- End Sub
-
- Private Sub CommaBtn_Click(sender As Object, e As RoutedEventArgs) Handles CommaBtn.Click
- NumberClick(";", ",")
- End Sub
-
- Private Sub SpaceBtn_Click(sender As Object, e As RoutedEventArgs) Handles SpaceBtn.Click
- CurrTextTxBx.Text &= " "
- End Sub
-
- Private Sub ClearBtn_Click(sender As Object, e As RoutedEventArgs) Handles ClearBtn.Click
- CurrTextTxBx.Text = String.Empty
- End Sub
-
-End Class
diff --git a/M_Num.vb b/M_Num.vb
index 5c058e9..48702db 100644
--- a/M_Num.vb
+++ b/M_Num.vb
@@ -985,6 +985,12 @@ Namespace Num
Case CnData.Power ' (6) Ampère = * 0.01
d_spindle_power = CDbl(CLng(values(n))) * 0.01
b_spindle_power_changed = True
+ Case CnData.Spindle ' (7) Stato rotazione mandrino
+ bSpindleState = CBool(values(n))
+ Case CnData.Coolant ' (8) Stato acqua
+ bCoolantState = CBool(values(n))
+ Case CnData.Laser ' (9) Stato laser
+ bLaserState = CBool(values(n))
End Select
Next
diff --git a/MachineButtonsUC.xaml b/MachineButtonsUC.xaml
index 7478f84..b698f6e 100644
--- a/MachineButtonsUC.xaml
+++ b/MachineButtonsUC.xaml
@@ -26,9 +26,9 @@
-
+
@@ -38,41 +38,41 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/MachineButtonsUC.xaml.vb b/MachineButtonsUC.xaml.vb
index d96464e..754eacf 100644
--- a/MachineButtonsUC.xaml.vb
+++ b/MachineButtonsUC.xaml.vb
@@ -10,7 +10,14 @@ Public Class MachineButtonsUC
Private m_bFirst As Boolean = True
Private Const MAX_BUTTONS As Integer = 10
- Private CommandArray(MAX_BUTTONS - 1) As String
+ Private ImageArrayY(MAX_BUTTONS - 1) As String
+ Private ImageArrayN(MAX_BUTTONS - 1) As String
+ Private CommandArrayY(MAX_BUTTONS - 1) As String
+ Private CommandArrayN(MAX_BUTTONS - 1) As String
+ Private StateFlagArray(MAX_BUTTONS - 1) As String
+
+ ' Creazione converter da String a ImageSource
+ Dim ImageConverter As New ImageSourceConverter
Private Sub MachineButtons_Loaded(sender As Object, e As RoutedEventArgs)
@@ -18,8 +25,6 @@ Public Class MachineButtonsUC
m_DirectCutPage = m_MainWindow.m_DirectCutPageUC
m_bFirst = False
End If
- ' Creazione converter da String a ImageSource
- Dim ImageConverter As New ImageSourceConverter
' Rendo invisibili bottoni 3 e 5 assi per poi attivarli solo se presenti
ThreeAxisBtn.Visibility = Windows.Visibility.Hidden
@@ -28,107 +33,73 @@ Public Class MachineButtonsUC
Dim sButtonImage As String = String.Empty
Dim sButtonImageSource As ImageSource
Dim sButtonCommand As String = String.Empty
+ Dim sButtonStateFlag As String = String.Empty
Dim nIndex As Integer = 0
- While nIndex < MAX_BUTTONS And GetPrivateProfileMachineButtons(S_MACHBUTTONS, K_BUTTON & (nIndex + 1), sButtonImage, sButtonCommand, m_MainWindow.GetMachIniFile())
- CommandArray(nIndex) = sButtonCommand
- If CommandArray(nIndex) = "3Axes.lua" Then
- MachineButtonsGrid.Children.Remove(GetButton(nIndex + 1))
- ThreeAxisBtn.SetValue(Grid.ColumnProperty, nIndex)
- ThreeAxisBtn.Visibility = Windows.Visibility.Visible
- Try
- Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
- sButtonImageSource = ImageConverter.ConvertFromString(s)
- ThreeAxisImg.Source = sButtonImageSource
- Catch ex As Exception
- EgtOutLog("Error loading image " & sButtonImage)
- End Try
- End If
- If CommandArray(nIndex) = "5Axes.lua" Then
- MachineButtonsGrid.Children.Remove(GetButton(nIndex + 1))
- FiveAxisBtn.SetValue(Grid.ColumnProperty, nIndex)
- FiveAxisBtn.Visibility = Windows.Visibility.Visible
- Try
- Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
- sButtonImageSource = ImageConverter.ConvertFromString(s)
- FiveAxisImg.Source = sButtonImageSource
- Catch ex As Exception
- EgtOutLog("Error loading image " & sButtonImage)
- End Try
- End If
- Try
- Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
- sButtonImageSource = ImageConverter.ConvertFromString(s)
- GetImage(nIndex + 1).Source = sButtonImageSource
- Catch ex As Exception
- EgtOutLog("Error loading image " & sButtonImage)
- End Try
+ While nIndex < MAX_BUTTONS And GetPrivateProfileMachineButtons(S_MACHBUTTONS, K_BUTTON & (nIndex + 1) & "Y", sButtonImage, sButtonCommand, sButtonStateFlag, m_MainWindow.GetMachIniFile())
+ ImageArrayY(nIndex) = sButtonImage
+ CommandArrayY(nIndex) = sButtonCommand
+ StateFlagArray(nIndex) = sButtonStateFlag
+ 'If CommandArray(nIndex) = "3Axes.lua" Then
+ ' MachineButtonsGrid.Children.Remove(GetButton(nIndex + 1))
+ ' ThreeAxisBtn.SetValue(Grid.ColumnProperty, nIndex)
+ ' ThreeAxisBtn.Visibility = Windows.Visibility.Visible
+ ' Try
+ ' Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
+ ' sButtonImageSource = ImageConverter.ConvertFromString(s)
+ ' ThreeAxisImg.Source = sButtonImageSource
+ ' Catch ex As Exception
+ ' EgtOutLog("Error loading image " & sButtonImage)
+ ' End Try
+ 'ElseIf CommandArray(nIndex) = "5Axes.lua" Then
+ ' MachineButtonsGrid.Children.Remove(GetButton(nIndex + 1))
+ ' FiveAxisBtn.SetValue(Grid.ColumnProperty, nIndex)
+ ' FiveAxisBtn.Visibility = Windows.Visibility.Visible
+ ' Try
+ ' Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
+ ' sButtonImageSource = ImageConverter.ConvertFromString(s)
+ ' FiveAxisImg.Source = sButtonImageSource
+ ' Catch ex As Exception
+ ' EgtOutLog("Error loading image " & sButtonImage)
+ ' End Try
+ 'Else
+
+ 'End If
+ 'Try
+ ' Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sButtonImage
+ ' sButtonImageSource = ImageConverter.ConvertFromString(s)
+ ' GetImage(nIndex + 1).Source = sButtonImageSource
+ 'Catch ex As Exception
+ ' EgtOutLog("Error loading image " & sButtonImage)
+ 'End Try
nIndex += 1
End While
- While nIndex < MAX_BUTTONS
- GetButton(nIndex + 1).Visibility = Windows.Visibility.Hidden
+ nIndex = 0
+ While nIndex < MAX_BUTTONS And GetPrivateProfileMachineButtons(S_MACHBUTTONS, K_BUTTON & (nIndex + 1) & "N", sButtonImage, sButtonCommand, sButtonStateFlag, m_MainWindow.GetMachIniFile())
+ ImageArrayN(nIndex) = sButtonImage
+ CommandArrayN(nIndex) = sButtonCommand
nIndex += 1
End While
+ 'While nIndex < MAX_BUTTONS
+ ' GetButton(nIndex + 1).Visibility = Windows.Visibility.Hidden
+ ' nIndex += 1
+ 'End While
+
End Sub
Private Sub MachineButton_Click(sender As Object, e As RoutedEventArgs) Handles MachineButton1.Click, MachineButton2.Click, MachineButton3.Click, MachineButton4.Click, MachineButton5.Click, MachineButton6.Click, MachineButton7.Click,
MachineButton8.Click, MachineButton9.Click, MachineButton10.Click
- Dim CurrentBtn As Button = e.Source
- Dim nTemp As Integer = 0
- Dim dTemp As Double = 0
- Dim sTemp As String = String.Empty
- Dim b2Start As Boolean = False
- Dim CmdString As String = String.Empty
- EgtLuaExecFile(m_MainWindow.GetMachinesRootDir() & "\" & m_MainWindow.GetCurrMachine() & "\DirectCmd\" & CommandArray(GetButtonIndex(CurrentBtn) - 1))
- StringToDouble(m_DirectCutPage.m_ManualAxesMove.FeedTxBx.Text, dTemp)
- EgtLuaSetGlobNumVar("CMD.F", dTemp)
- StringToDouble(m_DirectCutPage.m_ManualAxesMove.SpeedTxBx.Text, dTemp)
- EgtLuaSetGlobNumVar("CMD.S", dTemp)
- nTemp = GetPrivateProfileInt(S_AXES, K_L1ID, 0, m_MainWindow.GetMachIniFile())
- dTemp = m_CN.d_axis_position(nTemp)
- EgtLuaSetGlobNumVar("CMD.L1", dTemp)
- nTemp = GetPrivateProfileInt(S_AXES, K_L2ID, 1, m_MainWindow.GetMachIniFile())
- dTemp = m_CN.d_axis_position(nTemp)
- EgtLuaSetGlobNumVar("CMD.L2", dTemp)
- nTemp = GetPrivateProfileInt(S_AXES, K_L3ID, 2, m_MainWindow.GetMachIniFile())
- dTemp = m_CN.d_axis_position(nTemp)
- EgtLuaSetGlobNumVar("CMD.L3", dTemp)
- nTemp = GetPrivateProfileInt(S_AXES, K_R1ID, 8, m_MainWindow.GetMachIniFile())
- dTemp = m_CN.d_axis_position(nTemp)
- EgtLuaSetGlobNumVar("CMD.R1", dTemp)
- nTemp = GetPrivateProfileInt(S_AXES, K_R2ID, 7, m_MainWindow.GetMachIniFile())
- dTemp = m_CN.d_axis_position(nTemp)
- EgtLuaSetGlobNumVar("CMD.R2", dTemp)
- EgtLuaExecLine("CmdString()")
- ' Leggo variabili
- EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
- EgtLuaGetGlobBoolVar("CMD.DOUBLESTART", b2Start)
- ' Reset lua
- EgtLuaResetGlobVar("CmdString")
- EgtLuaResetGlobVar("CMD")
-
- Dim nResult As Short
- nResult = m_CN.DGeneralFunctions_WriteCncMode(2) ' Modalità MDI
- m_CN.sz_ManualDataInput = CmdString
- m_CN.MDI_command()
- System.Threading.Thread.Sleep(150)
- m_CN.DGeneralFunctions_CycleStart()
- If b2Start Then
- System.Threading.Thread.Sleep(150)
- m_CN.DGeneralFunctions_CycleStart()
- End If
- nResult = m_CN.DGeneralFunctions_WriteCncMode(7) ' Modalità manuale
-
- End Sub
-
- Private Sub MachineToggleButton_Click(sender As Object, e As RoutedEventArgs) Handles ThreeAxisBtn.Click, FiveAxisBtn.Click
Dim CurrentBtn As Primitives.ToggleButton = e.Source
Dim nTemp As Integer = 0
Dim dTemp As Double = 0
Dim sTemp As String = String.Empty
Dim b2Start As Boolean = False
Dim CmdString As String = String.Empty
- EgtLuaExecFile(m_MainWindow.GetMachinesRootDir() & "\" & m_MainWindow.GetCurrMachine() & "\DirectCmd\" & GetToggleButtonIndex(CurrentBtn))
+ If CurrentBtn.IsChecked Then
+ EgtLuaExecFile(m_MainWindow.GetMachinesRootDir() & "\" & m_MainWindow.GetCurrMachine() & "\DirectCmd\" & CommandArrayY(GetToggleButtonIndex(CurrentBtn) - 1))
+ Else
+ EgtLuaExecFile(m_MainWindow.GetMachinesRootDir() & "\" & m_MainWindow.GetCurrMachine() & "\DirectCmd\" & CommandArrayN(GetToggleButtonIndex(CurrentBtn) - 1))
+ End If
StringToDouble(m_DirectCutPage.m_ManualAxesMove.FeedTxBx.Text, dTemp)
EgtLuaSetGlobNumVar("CMD.F", dTemp)
StringToDouble(m_DirectCutPage.m_ManualAxesMove.SpeedTxBx.Text, dTemp)
@@ -170,8 +141,80 @@ Public Class MachineButtonsUC
End Sub
+ 'Private Sub MachineToggleButton_Click(sender As Object, e As RoutedEventArgs) Handles ThreeAxisBtn.Click, FiveAxisBtn.Click
+ ' Dim CurrentBtn As Primitives.ToggleButton = e.Source
+ ' Dim nTemp As Integer = 0
+ ' Dim dTemp As Double = 0
+ ' Dim sTemp As String = String.Empty
+ ' Dim b2Start As Boolean = False
+ ' Dim CmdString As String = String.Empty
+ ' EgtLuaExecFile(m_MainWindow.GetMachinesRootDir() & "\" & m_MainWindow.GetCurrMachine() & "\DirectCmd\" & GetToggleButtonIndex(CurrentBtn))
+ ' StringToDouble(m_DirectCutPage.m_ManualAxesMove.FeedTxBx.Text, dTemp)
+ ' EgtLuaSetGlobNumVar("CMD.F", dTemp)
+ ' StringToDouble(m_DirectCutPage.m_ManualAxesMove.SpeedTxBx.Text, dTemp)
+ ' EgtLuaSetGlobNumVar("CMD.S", dTemp)
+ ' nTemp = GetPrivateProfileInt(S_AXES, K_L1ID, 0, m_MainWindow.GetMachIniFile())
+ ' dTemp = m_CN.d_axis_position(nTemp)
+ ' EgtLuaSetGlobNumVar("CMD.L1", dTemp)
+ ' nTemp = GetPrivateProfileInt(S_AXES, K_L2ID, 1, m_MainWindow.GetMachIniFile())
+ ' dTemp = m_CN.d_axis_position(nTemp)
+ ' EgtLuaSetGlobNumVar("CMD.L2", dTemp)
+ ' nTemp = GetPrivateProfileInt(S_AXES, K_L3ID, 2, m_MainWindow.GetMachIniFile())
+ ' dTemp = m_CN.d_axis_position(nTemp)
+ ' EgtLuaSetGlobNumVar("CMD.L3", dTemp)
+ ' nTemp = GetPrivateProfileInt(S_AXES, K_R1ID, 8, m_MainWindow.GetMachIniFile())
+ ' dTemp = m_CN.d_axis_position(nTemp)
+ ' EgtLuaSetGlobNumVar("CMD.R1", dTemp)
+ ' nTemp = GetPrivateProfileInt(S_AXES, K_R2ID, 7, m_MainWindow.GetMachIniFile())
+ ' dTemp = m_CN.d_axis_position(nTemp)
+ ' EgtLuaSetGlobNumVar("CMD.R2", dTemp)
+ ' EgtLuaExecLine("CmdString()")
+ ' ' Leggo variabili
+ ' EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
+ ' EgtLuaGetGlobBoolVar("CMD.DOUBLESTART", b2Start)
+ ' ' Reset lua
+ ' EgtLuaResetGlobVar("CmdString")
+ ' EgtLuaResetGlobVar("CMD")
- Private Function GetButton(ByVal nIndex As Integer) As Button
+ ' Dim nResult As Short
+ ' nResult = m_CN.DGeneralFunctions_WriteCncMode(2) ' Modalità MDI
+ ' m_CN.sz_ManualDataInput = CmdString
+ ' m_CN.MDI_command()
+ ' System.Threading.Thread.Sleep(150)
+ ' m_CN.DGeneralFunctions_CycleStart()
+ ' If b2Start Then
+ ' System.Threading.Thread.Sleep(150)
+ ' m_CN.DGeneralFunctions_CycleStart()
+ ' End If
+ ' nResult = m_CN.DGeneralFunctions_WriteCncMode(7) ' Modalità manuale
+
+ 'End Sub
+
+ Friend Sub LaserStateChanged(LaserState As Boolean)
+ Dim nIndex As Integer = Array.IndexOf(StateFlagArray, "Laser")
+ If LaserState Then
+ GetToggleButton(nIndex).IsChecked = True
+ Try
+ Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex + 1)
+ Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
+ GetImage(nIndex + 1).Source = sButtonImageSource
+ Catch ex As Exception
+ EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
+ End Try
+ Else
+ GetToggleButton(nIndex).IsChecked = False
+ Try
+ Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex + 1)
+ Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
+ GetImage(nIndex + 1).Source = sButtonImageSource
+ Catch ex As Exception
+ EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
+ End Try
+
+ End If
+ End Sub
+
+ Private Function GetToggleButton(ByVal nIndex As Integer) As Primitives.ToggleButton
Select Case nIndex
Case 1
Return MachineButton1
@@ -196,7 +239,7 @@ Public Class MachineButtonsUC
End Select
End Function
- Private Function GetButtonIndex(ByVal nBtnName As Button) As Integer
+ Private Function GetToggleButtonIndex(ByVal nBtnName As Primitives.ToggleButton) As Integer
Select Case nBtnName.Name
Case MachineButton1.Name
Return 1
@@ -221,14 +264,14 @@ Public Class MachineButtonsUC
End Select
End Function
- Private Function GetToggleButtonIndex(ByVal nBtnName As Primitives.ToggleButton) As String
- Select Case nBtnName.Name
- Case ThreeAxisBtn.Name
- Return "3Axes.lua"
- Case Else
- Return "5Axes.lua"
- End Select
- End Function
+ 'Private Function GetToggleButtonIndex(ByVal nBtnName As Primitives.ToggleButton) As String
+ ' Select Case nBtnName.Name
+ ' Case ThreeAxisBtn.Name
+ ' Return "3Axes.lua"
+ ' Case Else
+ ' Return "5Axes.lua"
+ ' End Select
+ 'End Function
Private Function GetImage(ByVal nInd As Integer) As Image
@@ -261,6 +304,7 @@ Public Class MachineButtonsUC
ByVal lpKeyName As String,
ByRef lpButtonImage As String,
ByRef lpCommand As String,
+ ByRef lpStateFlag As String,
ByVal lpFileName As String) As Boolean
Dim sVal As String = String.Empty
@@ -269,6 +313,11 @@ Public Class MachineButtonsUC
If sItems.Count() >= 2 Then
lpButtonImage = sItems(0)
lpCommand = sItems(1)
+ If sItems.Count() >= 3 Then
+ lpStateFlag = sItems(2)
+ Else
+ lpStateFlag = String.Empty
+ End If
Return True
End If
Return False
diff --git a/MainWindow.xaml.vb b/MainWindow.xaml.vb
index d3a94f6..09bf00a 100644
--- a/MainWindow.xaml.vb
+++ b/MainWindow.xaml.vb
@@ -34,7 +34,7 @@ Class MainWindow
Friend m_OptionsPageUC As OptionsPageUC
' Riferimento alla NumericKeyboard necessario per poter impedire il click fuori da essa quando attiva
- Friend m_NumericKeyboardWD As NumericKeyboardWD
+ 'Friend m_NumericKeyboardWD As NumericKeyboardWD
' Dichiarazione variabili direttori
Private m_sDataRoot As String = String.Empty
@@ -725,13 +725,6 @@ Class MainWindow
If m_CurrentProjectPageUC.OutMessageBrd.IsMouseOver Then
m_CurrentProjectPageUC.ClearMessage()
End If
- ' Impedisce di clickare fuori dal NumericKeyboard finchè questo è aperto
- If Not m_NumericKeyboardWD Is Nothing Then
- If (m_NumericKeyboardWD.IsVisible And Not m_NumericKeyboardWD.IsMouseOver) Then
- e.Handled = True
- Return
- End If
- End If
End Sub
Private Sub MainWindow_KeyDown(sender As Object, e As KeyEventArgs)
diff --git a/OmagCUT.vbproj b/OmagCUT.vbproj
index f850008..42273c9 100644
--- a/OmagCUT.vbproj
+++ b/OmagCUT.vbproj
@@ -197,21 +197,12 @@
MainComponentPageUC.xaml
-
- MissingKeyWD.xaml
-
-
- NumericKeyboardWD.xaml
- OmagCUTDictionary.xamlOptionsPageUC.xaml
-
- SaveCurrProjWD.xaml
- SceneButtonsUC.xaml
@@ -233,6 +224,9 @@
TestingPageUC.xaml
+
+ ToolChangerPosUC.xaml
+ ToolsDbPageUC.xaml
@@ -342,14 +336,6 @@
MainWindow.xamlCode
-
- MSBuild:Compile
- Designer
-
-
- Designer
- MSBuild:Compile
- DesignerMSBuild:Compile
@@ -358,10 +344,6 @@
DesignerMSBuild:Compile
-
- Designer
- MSBuild:Compile
- MSBuild:CompileDesigner
@@ -390,6 +372,10 @@
DesignerMSBuild:Compile
+
+ MSBuild:Compile
+ Designer
+ DesignerMSBuild:Compile
@@ -527,6 +513,9 @@
+
+
+ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
diff --git a/OmagCUTDictionary.xaml b/OmagCUTDictionary.xaml
index ca202f4..497b1d6 100644
--- a/OmagCUTDictionary.xaml
+++ b/OmagCUTDictionary.xaml
@@ -881,11 +881,11 @@
-
+ -->
diff --git a/OmagCUTDictionary.xaml.vb b/OmagCUTDictionary.xaml.vb
index eea6462..c99e4fe 100644
--- a/OmagCUTDictionary.xaml.vb
+++ b/OmagCUTDictionary.xaml.vb
@@ -1,43 +1,176 @@
-Partial Class OmagCUTDictionary
+Imports System.Collections.ObjectModel
+Imports System.ComponentModel
+
+Partial Class OmagCUTDictionary
Inherits ResourceDictionary
Dim m_MainWindow As MainWindow = Application.Current.MainWindow
' Evento della TextBox con Style che permette di aprire in automatico la calcolatrice
- Friend Sub NumericKeyboard_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
- ' Recupero dati da sorgente
- Dim sTitle As String = String.Empty
- Dim sText As String = String.Empty
- Dim TxBx As TextBox = CType(e.Source, TextBox)
- If Not IsNothing(TxBx) Then
- sText = TxBx.Text
- Dim AssocLabel As Label = TxBx.Tag
- If Not IsNothing(AssocLabel) Then
- sTitle = AssocLabel.Content
- End If
- End If
- ' Creo calcolatrice
- Dim NumericKeyboardWD As New NumericKeyboardWD(sTitle, sText, e.Source)
- ' La visualizzo
- NumericKeyboardWD.ShowDialog()
- End Sub
+ 'Friend Sub NumericKeyboard_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
+ ' ' Recupero dati da sorgente
+ ' Dim sTitle As String = String.Empty
+ ' Dim sText As String = String.Empty
+ ' Dim TxBx As TextBox = CType(e.Source, TextBox)
+ ' If Not IsNothing(TxBx) Then
+ ' sText = TxBx.Text
+ ' Dim AssocLabel As Label = TxBx.Tag
+ ' If Not IsNothing(AssocLabel) Then
+ ' sTitle = AssocLabel.Content
+ ' End If
+ ' End If
+ ' ' Creo calcolatrice
+ ' Dim NumericKeyboardWD As New NumericKeyboardWD(sTitle, sText, e.Source)
+ ' ' La visualizzo
+ ' NumericKeyboardWD.ShowDialog()
+ 'End Sub
' Evento della TextBox con Style che permette di aggiornare in automatico il componente con il nuovo valore
- Private Sub NumericKeyboard_TextChanged(sender As Object, e As TextChangedEventArgs)
- Select Case m_MainWindow.m_ActivePage
- Case MainWindow.Pages.Draw
- If Not m_MainWindow.m_DrawPageUC.m_bShowVar Then
- m_MainWindow.m_DrawPageUC.UpdateView()
- End If
- Case MainWindow.Pages.RawPart
- If Not m_MainWindow.m_RawPartPage.m_bShowVar Then
- m_MainWindow.m_RawPartPage.UpdateRawPart()
- End If
- End Select
- End Sub
+ 'Private Sub NumericKeyboard_TextChanged(sender As Object, e As TextChangedEventArgs)
+ ' Select Case m_MainWindow.m_ActivePage
+ ' Case MainWindow.Pages.Draw
+ ' If Not m_MainWindow.m_DrawPageUC.m_bShowVar Then
+ ' m_MainWindow.m_DrawPageUC.UpdateView()
+ ' End If
+ ' Case MainWindow.Pages.RawPart
+ ' If Not m_MainWindow.m_RawPartPage.m_bShowVar Then
+ ' m_MainWindow.m_RawPartPage.UpdateRawPart()
+ ' End If
+ ' End Select
+ 'End Sub
End Class
+Namespace TreeViewItem
+
+ Public Class CathegoryItem
+ Inherits TreeViewItemBase
+
+ 'Private m_sTitle As String
+ Private m_sPictureString As String
+ Private m_nFType As Integer
+ Private m_Items As ObservableCollection(Of CustomItem)
+
+ 'Public Property Name As String
+ ' Get
+ ' Return m_sTitle
+ ' End Get
+ ' Set(value As String)
+ ' m_sTitle = value
+ ' End Set
+ 'End Property
+
+ Public ReadOnly Property PictureString As String
+ Get
+ Return "/Resources/ToolsTreeViewImages/Lama.png"
+ End Get
+ End Property
+
+ Public ReadOnly Property nFType As Integer
+ Get
+ Return m_nFType
+ End Get
+ End Property
+
+ Public Property Items As ObservableCollection(Of CustomItem)
+ Get
+ Return m_Items
+ End Get
+ Set(value As ObservableCollection(Of CustomItem))
+ m_Items = value
+ End Set
+ End Property
+
+ Sub New(sName As String, nType As Integer)
+ Name = sName
+ m_nFType = nType
+ Me.Items = New ObservableCollection(Of CustomItem)
+ End Sub
+
+ End Class
+
+ Public Class CustomItem
+ Inherits TreeViewItemBase
+
+ 'Private m_sTitle As String
+ Private m_nType As Integer
+
+ 'Public Property Name As String
+ ' Get
+ ' Return m_sTitle
+ ' End Get
+ ' Set(value As String)
+ ' m_sTitle = value
+ ' End Set
+ 'End Property
+
+ Public ReadOnly Property nType As Integer
+ Get
+ Return m_nType
+ End Get
+ End Property
+
+ Sub New(Title As String, nType As Integer)
+ Me.Name = Title
+ m_nType = nType
+ End Sub
+
+ End Class
+
+ Public Class TreeViewItemBase
+ Implements INotifyPropertyChanged
+
+ Private m_Name As String
+ Public Property Name As String
+ Get
+ Return m_Name
+ End Get
+ Set(value As String)
+ If (value <> m_Name) Then
+ m_Name = value
+ NotifyPropertyChanged("Name")
+ End If
+ End Set
+ End Property
+
+ Private m_isSelected As Boolean
+ Public Property IsSelected As Boolean
+ Get
+ Return m_isSelected
+ End Get
+ Set(value As Boolean)
+ If (value <> m_isSelected) Then
+ m_isSelected = value
+ NotifyPropertyChanged("IsSelected")
+ End If
+ End Set
+ End Property
+
+ Private m_isExpanded As Boolean
+ Public Property IsExpanded As Boolean
+ Get
+ Return m_isExpanded
+ End Get
+ Set(value As Boolean)
+ If (value <> m_isExpanded) Then
+ m_isExpanded = value
+ NotifyPropertyChanged("IsExpanded")
+ End If
+ End Set
+ End Property
+
+ Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+
+
+ Public Sub NotifyPropertyChanged(propName As String)
+ RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
+ End Sub
+
+ End Class
+
+End Namespace
+
+
Namespace ArithmeticConverterNameSpace
Public Class CheckboxConverter
diff --git a/Resources/ToolChangerPos.png b/Resources/ToolChangerPos.png
new file mode 100644
index 0000000..3231418
Binary files /dev/null and b/Resources/ToolChangerPos.png differ
diff --git a/SetUpPage.xaml b/SetUpPage.xaml
index bade387..da4b37a 100644
--- a/SetUpPage.xaml
+++ b/SetUpPage.xaml
@@ -1,13 +1,15 @@

-
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:self="clr-namespace:OmagCUT.TreeViewItem"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:OmagCUT="clr-namespace:OmagCUT"
+ mc:Ignorable="d"
+ d:DesignHeight="768" d:DesignWidth="1280">
+
-
+
@@ -17,50 +19,424 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
-
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SetUpPage.xaml.vb b/SetUpPage.xaml.vb
index 9ad1a49..ee4e270 100644
--- a/SetUpPage.xaml.vb
+++ b/SetUpPage.xaml.vb
@@ -1,3 +1,775 @@
-Public Class SetUpPage
+Imports System.Collections.ObjectModel
+Imports System.ComponentModel
+Imports OmagCUT.TreeViewItem
+Imports EgtUILib
+
+Public Class SetUpPage
+
+ ' Riferimento alla MainWindow
+ Private m_MainWindow As MainWindow = Application.Current.MainWindow
+
+ Private m_ToolTreeList As New ObservableCollection(Of CathegoryItem)
+ Private m_DrillbitsList As CathegoryItem
+ Private m_MillsList As CathegoryItem
+ Private m_SetUpToolsList As New CathegoryItem(String.Empty, 0)
+
+ Private Sub SetUpPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
+ ' Posiziono la pagina
+ Me.SetValue(Grid.RowProperty, 1)
+
+ ' Assegno la lista utensili come sorgente dell'albero
+ ToolTree.ItemsSource = m_ToolTreeList
+
+ ' Modifico numero colonne della griglia in base al numero di porta utensili disponibili sulla macchina per cambio utensile macchina
+ Dim ColNum As Integer = Math.Ceiling(m_MainWindow.m_CurrentMachine.dToolChangerNum / 5)
+ For Index = 5 To ColNum + 1 Step -1
+ For Index2 = Index * 5 To (Index - 1) * 5 + 1 Step -1
+ TlChGrid.Children.Remove(GetTlChPosFromIndex(Index2))
+ TlChGrid.Children.Remove(GetTxBxFromIndex(Index2))
+ Next
+ TlChGrid.ColumnDefinitions.RemoveAt(Index * 2 - 1)
+ TlChGrid.ColumnDefinitions.RemoveAt(Index * 2 - 2)
+ Next
+
+ ' Modifico numero colonne della griglia in base al numero di porta utensili disponibili sulla macchina per cambio utensile manuale
+ Dim ManColNum As Integer = Math.Ceiling(m_MainWindow.m_CurrentMachine.dManualToolChangerNum / 5)
+ For Index = 12 To ManColNum + 1 Step -1
+ For Index2 = Index * 5 To (Index - 1) * 5 + 1 Step -1
+ ManTlChGrid.Children.Remove(GetManTlChPosFromIndex(Index2))
+ ManTlChGrid.Children.Remove(GetManTxBxFromIndex(Index2))
+ Next
+ ManTlChGrid.ColumnDefinitions.RemoveAt(Index * 2 - 1)
+ ManTlChGrid.ColumnDefinitions.RemoveAt(Index * 2 - 2)
+ Next
+
+ ' Modifico il numero di elementi presenti sull'ultima colonna sia macchina che manuale
+ For Index = ColNum * 5 To m_MainWindow.m_CurrentMachine.dToolChangerNum + 1 Step -1
+ TlChGrid.Children.Remove(GetTlChPosFromIndex(Index))
+ TlChGrid.Children.Remove(GetTxBxFromIndex(Index))
+ Next
+ For Index = ManColNum * 5 To m_MainWindow.m_CurrentMachine.dManualToolChangerNum + 1 Step -1
+ ManTlChGrid.Children.Remove(GetManTlChPosFromIndex(Index))
+ ManTlChGrid.Children.Remove(GetManTxBxFromIndex(Index))
+ Next
+
+ ' Assegno lunghezza alle scrollviewer
+ TlChGrid.Width = m_MainWindow.ActualWidth / 15 * 1.6 * ColNum * 2
+ ManTlChGrid.Width = m_MainWindow.ActualWidth / 15 * 1.6 * ManColNum * 2
+
+ ' Visualizzo il portautensile della macchina
+ TlChScVw.Visibility = Windows.Visibility.Visible
+ ToolChangerBtn.IsChecked = True
+
+ ' Carico tutti i nomi dei portautensili
+ For Index = 1 To m_MainWindow.m_CurrentMachine.dToolChangerNum
+ GetTlChPosFromIndex(Index).PositionNameTxBl.Text = m_MainWindow.m_CurrentMachine.ToolChangerName(Index - 1)
+ Next
+ For Index = 1 To m_MainWindow.m_CurrentMachine.dManualToolChangerNum
+ GetManTlChPosFromIndex(Index).PositionNameTxBl.Text = m_MainWindow.m_CurrentMachine.ManualToolChangerName(Index - 1)
+ Next
+ End Sub
+
+ Private Sub SetUpPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
+ ' Inizializzo le famiglie di utensili nell'albero
+ EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
+ InitializeToolFamily(K_DRILLBIT, MCH_TF.DRILLBIT, EgtMsg(MSG_TOOLSDBPAGEUC + 32), m_DrillbitsList)
+ InitializeToolFamily(K_MILL, MCH_TF.MILL, EgtMsg(MSG_TOOLSDBPAGEUC + 33), m_MillsList)
+
+ ' Posiziono utensili già posizionati sul portautensili
+ For Each ToolPosition In m_MainWindow.m_CurrentMachine.ToolChanger
+ If ToolPosition.sTool <> String.Empty Then
+ For Each Item In m_DrillbitsList.Items
+ If Item.Name = ToolPosition.sTool Then
+ m_SetUpToolsList.Items.Add(Item)
+ m_DrillbitsList.Items.Remove(Item)
+ Exit For
+ End If
+ Next
+ For Each Item In m_MillsList.Items
+ If Item.Name = ToolPosition.sTool Then
+ m_SetUpToolsList.Items.Add(Item)
+ m_MillsList.Items.Remove(Item)
+ Exit For
+ End If
+ Next
+ GetTlChPosFromIndex(ToolPosition.sPosition).Tool.IsChecked = True
+ GetTxBxFromIndex(ToolPosition.sPosition).Text = ToolPosition.sTool
+ End If
+ Next
+
+ ' Posiziono utensili già posizionati sul portautensili manuale
+ For Each ToolPosition In m_MainWindow.m_CurrentMachine.ManualToolChanger
+ If ToolPosition.sTool <> String.Empty Then
+ For Each Item In m_DrillbitsList.Items
+ If Item.Name = ToolPosition.sTool Then
+ m_SetUpToolsList.Items.Add(Item)
+ m_DrillbitsList.Items.Remove(Item)
+ Exit For
+ End If
+ Next
+ For Each Item In m_MillsList.Items
+ If Item.Name = ToolPosition.sTool Then
+ m_SetUpToolsList.Items.Add(Item)
+ m_MillsList.Items.Remove(Item)
+ Exit For
+ End If
+ Next
+ GetManTlChPosFromIndex(ToolPosition.sPosition).Tool.IsChecked = True
+ GetManTxBxFromIndex(ToolPosition.sPosition).Text = ToolPosition.sTool
+ End If
+ Next
+
+ End Sub
+
+ Private Function GetTlChPosFromIndex(nIndex As Integer) As ToolChangerPosUC
+ Select Case nIndex
+ Case 1
+ Return TlChPos1
+ Case 2
+ Return TlChPos2
+ Case 3
+ Return TlChPos3
+ Case 4
+ Return TlChPos4
+ Case 5
+ Return TlChPos5
+ Case 6
+ Return TlChPos6
+ Case 7
+ Return TlChPos7
+ Case 8
+ Return TlChPos8
+ Case 9
+ Return TlChPos9
+ Case 10
+ Return TlChPos10
+ Case 11
+ Return TlChPos11
+ Case 12
+ Return TlChPos12
+ Case 13
+ Return TlChPos13
+ Case 14
+ Return TlChPos14
+ Case 15
+ Return TlChPos15
+ Case 16
+ Return TlChPos16
+ Case 17
+ Return TlChPos17
+ Case 18
+ Return TlChPos18
+ Case 19
+ Return TlChPos19
+ Case 20
+ Return TlChPos20
+ Case 21
+ Return TlChPos21
+ Case 22
+ Return TlChPos22
+ Case 23
+ Return TlChPos23
+ Case 24
+ Return TlChPos24
+ Case 25
+ Return TlChPos25
+ End Select
+ End Function
+
+ Private Function GetManTlChPosFromIndex(nIndex As Integer) As ToolChangerPosUC
+ Select Case nIndex
+ Case 1
+ Return ManTlChPos1
+ Case 2
+ Return ManTlChPos2
+ Case 3
+ Return ManTlChPos3
+ Case 4
+ Return ManTlChPos4
+ Case 5
+ Return ManTlChPos5
+ Case 6
+ Return ManTlChPos6
+ Case 7
+ Return ManTlChPos7
+ Case 8
+ Return ManTlChPos8
+ Case 9
+ Return ManTlChPos9
+ Case 10
+ Return ManTlChPos10
+ Case 11
+ Return ManTlChPos11
+ Case 12
+ Return ManTlChPos12
+ Case 13
+ Return ManTlChPos13
+ Case 14
+ Return ManTlChPos14
+ Case 15
+ Return ManTlChPos15
+ Case 16
+ Return ManTlChPos16
+ Case 17
+ Return ManTlChPos17
+ Case 18
+ Return ManTlChPos18
+ Case 19
+ Return ManTlChPos19
+ Case 20
+ Return ManTlChPos20
+ Case 21
+ Return ManTlChPos21
+ Case 22
+ Return ManTlChPos22
+ Case 23
+ Return ManTlChPos23
+ Case 24
+ Return ManTlChPos24
+ Case 25
+ Return ManTlChPos25
+ Case 26
+ Return ManTlChPos26
+ Case 27
+ Return ManTlChPos27
+ Case 28
+ Return ManTlChPos28
+ Case 29
+ Return ManTlChPos29
+ Case 30
+ Return ManTlChPos30
+ Case 31
+ Return ManTlChPos31
+ Case 32
+ Return ManTlChPos32
+ Case 33
+ Return ManTlChPos33
+ Case 34
+ Return ManTlChPos34
+ Case 35
+ Return ManTlChPos35
+ Case 36
+ Return ManTlChPos36
+ Case 37
+ Return ManTlChPos37
+ Case 38
+ Return ManTlChPos38
+ Case 39
+ Return ManTlChPos39
+ Case 40
+ Return ManTlChPos40
+ Case 41
+ Return ManTlChPos41
+ Case 42
+ Return ManTlChPos42
+ Case 43
+ Return ManTlChPos43
+ Case 44
+ Return ManTlChPos44
+ Case 45
+ Return ManTlChPos45
+ Case 46
+ Return ManTlChPos46
+ Case 47
+ Return ManTlChPos47
+ Case 48
+ Return ManTlChPos48
+ Case 49
+ Return ManTlChPos49
+ Case 50
+ Return ManTlChPos50
+ Case 51
+ Return ManTlChPos51
+ Case 52
+ Return ManTlChPos52
+ Case 53
+ Return ManTlChPos53
+ Case 54
+ Return ManTlChPos54
+ Case 55
+ Return ManTlChPos55
+ Case 56
+ Return ManTlChPos56
+ Case 57
+ Return ManTlChPos57
+ Case 58
+ Return ManTlChPos58
+ Case 59
+ Return ManTlChPos59
+ Case 60
+ Return ManTlChPos60
+ End Select
+ End Function
+
+ Private Function GetTxBxFromIndex(nIndex As Integer) As TextBox
+ Select Case nIndex
+ Case 1
+ Return TxBx1
+ Case 2
+ Return TxBx2
+ Case 3
+ Return TxBx3
+ Case 4
+ Return TxBx4
+ Case 5
+ Return TxBx5
+ Case 6
+ Return TxBx6
+ Case 7
+ Return TxBx7
+ Case 8
+ Return TxBx8
+ Case 9
+ Return TxBx9
+ Case 10
+ Return TxBx10
+ Case 11
+ Return TxBx11
+ Case 12
+ Return TxBx12
+ Case 13
+ Return TxBx13
+ Case 14
+ Return TxBx14
+ Case 15
+ Return TxBx15
+ Case 16
+ Return TxBx16
+ Case 17
+ Return TxBx17
+ Case 18
+ Return TxBx18
+ Case 19
+ Return TxBx19
+ Case 20
+ Return TxBx20
+ Case 21
+ Return TxBx21
+ Case 22
+ Return TxBx22
+ Case 23
+ Return TxBx23
+ Case 24
+ Return TxBx24
+ Case 25
+ Return TxBx25
+ End Select
+ End Function
+
+ Private Function GetManTxBxFromIndex(nIndex As Integer) As TextBox
+ Select Case nIndex
+ Case 1
+ Return ManTxBx1
+ Case 2
+ Return ManTxBx2
+ Case 3
+ Return ManTxBx3
+ Case 4
+ Return ManTxBx4
+ Case 5
+ Return ManTxBx5
+ Case 6
+ Return ManTxBx6
+ Case 7
+ Return ManTxBx7
+ Case 8
+ Return ManTxBx8
+ Case 9
+ Return ManTxBx9
+ Case 10
+ Return ManTxBx10
+ Case 11
+ Return ManTxBx11
+ Case 12
+ Return ManTxBx12
+ Case 13
+ Return ManTxBx13
+ Case 14
+ Return ManTxBx14
+ Case 15
+ Return ManTxBx15
+ Case 16
+ Return ManTxBx16
+ Case 17
+ Return ManTxBx17
+ Case 18
+ Return ManTxBx18
+ Case 19
+ Return ManTxBx19
+ Case 20
+ Return ManTxBx20
+ Case 21
+ Return ManTxBx21
+ Case 22
+ Return ManTxBx22
+ Case 23
+ Return ManTxBx23
+ Case 24
+ Return ManTxBx24
+ Case 25
+ Return ManTxBx25
+ Case 26
+ Return ManTxBx26
+ Case 27
+ Return ManTxBx27
+ Case 28
+ Return ManTxBx28
+ Case 29
+ Return ManTxBx29
+ Case 30
+ Return ManTxBx30
+ Case 31
+ Return ManTxBx31
+ Case 32
+ Return ManTxBx32
+ Case 33
+ Return ManTxBx33
+ Case 34
+ Return ManTxBx34
+ Case 35
+ Return ManTxBx35
+ Case 36
+ Return ManTxBx36
+ Case 37
+ Return ManTxBx37
+ Case 38
+ Return ManTxBx38
+ Case 39
+ Return ManTxBx39
+ Case 40
+ Return ManTxBx40
+ Case 41
+ Return ManTxBx41
+ Case 42
+ Return ManTxBx42
+ Case 43
+ Return ManTxBx43
+ Case 44
+ Return ManTxBx44
+ Case 45
+ Return ManTxBx45
+ Case 46
+ Return ManTxBx46
+ Case 47
+ Return ManTxBx47
+ Case 48
+ Return ManTxBx48
+ Case 49
+ Return ManTxBx49
+ Case 50
+ Return ManTxBx50
+ Case 51
+ Return ManTxBx51
+ Case 52
+ Return ManTxBx52
+ Case 53
+ Return ManTxBx53
+ Case 54
+ Return ManTxBx54
+ Case 55
+ Return ManTxBx55
+ Case 56
+ Return ManTxBx56
+ Case 57
+ Return ManTxBx57
+ Case 58
+ Return ManTxBx58
+ Case 59
+ Return ManTxBx59
+ Case 60
+ Return ManTxBx60
+ End Select
+ End Function
+
+
+ ' Funzione che carica gli utensili del Db nell'albero
+ Friend Sub InitializeToolFamily(sFIniConst As String, nFType As Integer, sFName As String, ByRef ToolCathegory As CathegoryItem)
+ If GetPrivateProfileInt(S_TOOLS, sFIniConst, 0, m_MainWindow.GetMachIniFile()) = 1 Then
+ ToolCathegory = New CathegoryItem(sFName, nFType)
+ Dim nType As Integer = 0
+ Dim ToolName As String = String.Empty
+ If EgtTdbGetFirstTool(nFType, ToolName, nType) Then
+ ToolCathegory.Items.Add(New CustomItem(ToolName, nType))
+ While EgtTdbGetNextTool(nFType, ToolName, nType)
+ ToolCathegory.Items.Add(New CustomItem(ToolName, nType))
+ End While
+ End If
+ m_ToolTreeList.Add(ToolCathegory)
+ End If
+ End Sub
+
+ ' Funzione che attrezza l'utensile quando viene clickato il portautensile
+ Private Sub ToolHolder_ToolClick(sender As Object, e As RoutedEventArgs) Handles TlChPos1.ToolClick, TlChPos2.ToolClick, TlChPos3.ToolClick, TlChPos4.ToolClick, TlChPos5.ToolClick, TlChPos6.ToolClick, TlChPos7.ToolClick, TlChPos8.ToolClick,
+ TlChPos9.ToolClick, TlChPos10.ToolClick, TlChPos11.ToolClick, TlChPos12.ToolClick, TlChPos13.ToolClick, TlChPos14.ToolClick, TlChPos15.ToolClick, TlChPos16.ToolClick,
+ TlChPos17.ToolClick, TlChPos18.ToolClick, TlChPos19.ToolClick, TlChPos20.ToolClick, TlChPos21.ToolClick, TlChPos22.ToolClick, TlChPos23.ToolClick, TlChPos24.ToolClick,
+ TlChPos25.ToolClick,
+ ManTlChPos1.ToolClick, ManTlChPos2.ToolClick, ManTlChPos3.ToolClick, ManTlChPos4.ToolClick, ManTlChPos5.ToolClick, ManTlChPos6.ToolClick, ManTlChPos7.ToolClick,
+ ManTlChPos8.ToolClick, ManTlChPos9.ToolClick, ManTlChPos10.ToolClick, ManTlChPos11.ToolClick, ManTlChPos12.ToolClick, ManTlChPos13.ToolClick, ManTlChPos14.ToolClick,
+ ManTlChPos15.ToolClick, ManTlChPos16.ToolClick, ManTlChPos17.ToolClick, ManTlChPos18.ToolClick, ManTlChPos19.ToolClick, ManTlChPos20.ToolClick, ManTlChPos21.ToolClick,
+ ManTlChPos22.ToolClick, ManTlChPos23.ToolClick, ManTlChPos24.ToolClick, ManTlChPos25.ToolClick, ManTlChPos26.ToolClick, ManTlChPos27.ToolClick, ManTlChPos28.ToolClick,
+ ManTlChPos29.ToolClick, ManTlChPos30.ToolClick, ManTlChPos31.ToolClick, ManTlChPos32.ToolClick, ManTlChPos33.ToolClick, ManTlChPos34.ToolClick, ManTlChPos35.ToolClick,
+ ManTlChPos36.ToolClick, ManTlChPos37.ToolClick, ManTlChPos38.ToolClick, ManTlChPos39.ToolClick, ManTlChPos40.ToolClick, ManTlChPos41.ToolClick, ManTlChPos42.ToolClick,
+ ManTlChPos43.ToolClick, ManTlChPos44.ToolClick, ManTlChPos45.ToolClick, ManTlChPos46.ToolClick, ManTlChPos47.ToolClick, ManTlChPos48.ToolClick, ManTlChPos49.ToolClick,
+ ManTlChPos50.ToolClick, ManTlChPos51.ToolClick, ManTlChPos52.ToolClick, ManTlChPos53.ToolClick, ManTlChPos54.ToolClick, ManTlChPos55.ToolClick, ManTlChPos56.ToolClick,
+ ManTlChPos57.ToolClick, ManTlChPos58.ToolClick, ManTlChPos59.ToolClick, ManTlChPos60.ToolClick
+ Dim ToolHolderClicked As ToolChangerPosUC = e.Source
+ If ToolHolderClicked.Tool.IsChecked Then
+ If Not IsNothing(ToolTree.SelectedItem) And TypeOf ToolTree.SelectedItem Is CustomItem Then
+ Dim Tool As CustomItem = ToolTree.SelectedItem
+ m_SetUpToolsList.Items.Add(Tool)
+ GetTxBxFromTlChPos(ToolHolderClicked.Name).Text = Tool.Name
+ RemoveToolFromList()
+ Else
+ ToolHolderClicked.Tool.IsChecked = False
+ GetTxBxFromTlChPos(ToolHolderClicked.Name).Text = String.Empty
+ End If
+ Else
+ RestoreToolInList(GetTxBxFromTlChPos(ToolHolderClicked.Name).Text)
+ GetTxBxFromTlChPos(ToolHolderClicked.Name).Text = String.Empty
+ End If
+
+ End Sub
+
+ ' Funzione che rimuove l'utensile selezionato dall'albero
+ Private Sub RemoveToolFromList()
+ If m_DrillbitsList.Items.Contains(ToolTree.SelectedItem) Then
+ m_DrillbitsList.Items.Remove(ToolTree.SelectedItem)
+ ElseIf m_MillsList.Items.Contains(ToolTree.SelectedItem) Then
+ m_MillsList.Items.Remove(ToolTree.SelectedItem)
+ End If
+ End Sub
+
+ ' Funzione che rimette un utensile nell'albero
+ Private Sub RestoreToolInList(sToolName As String)
+ For Each Tool In m_SetUpToolsList.Items
+ If Tool.Name = sToolName Then
+ If Tool.nType = 256 Then
+ m_DrillbitsList.Items.Add(Tool)
+ ElseIf Tool.nType = 1024 Then
+ m_MillsList.Items.Add(Tool)
+ End If
+ m_SetUpToolsList.Items.Remove(Tool)
+ Return
+ End If
+ Next
+ End Sub
+
+ Private Function GetTxBxFromTlChPos(TlChPos As String) As TextBox
+ Select Case TlChPos
+ Case "TlChPos1"
+ Return TxBx1
+ Case "TlChPos2"
+ Return TxBx2
+ Case "TlChPos3"
+ Return TxBx3
+ Case "TlChPos4"
+ Return TxBx4
+ Case "TlChPos5"
+ Return TxBx5
+ Case "TlChPos6"
+ Return TxBx6
+ Case "TlChPos7"
+ Return TxBx7
+ Case "TlChPos8"
+ Return TxBx8
+ Case "TlChPos9"
+ Return TxBx9
+ Case "TlChPos10"
+ Return TxBx10
+ Case "TlChPos11"
+ Return TxBx11
+ Case "TlChPos12"
+ Return TxBx12
+ Case "TlChPos13"
+ Return TxBx13
+ Case "TlChPos14"
+ Return TxBx14
+ Case "TlChPos15"
+ Return TxBx15
+ Case "TlChPos16"
+ Return TxBx16
+ Case "TlChPos17"
+ Return TxBx17
+ Case "TlChPos18"
+ Return TxBx18
+ Case "TlChPos19"
+ Return TxBx19
+ Case "TlChPos20"
+ Return TxBx20
+ Case "TlChPos21"
+ Return TxBx21
+ Case "TlChPos22"
+ Return TxBx22
+ Case "TlChPos23"
+ Return TxBx23
+ Case "TlChPos24"
+ Return TxBx24
+ Case "TlChPos25"
+ Return TxBx25
+ Case "ManTlChPos1"
+ Return ManTxBx1
+ Case "ManTlChPos2"
+ Return ManTxBx2
+ Case "ManTlChPos3"
+ Return ManTxBx3
+ Case "ManTlChPos4"
+ Return ManTxBx4
+ Case "ManTlChPos5"
+ Return ManTxBx5
+ Case "ManTlChPos6"
+ Return ManTxBx6
+ Case "ManTlChPos7"
+ Return ManTxBx7
+ Case "ManTlChPos8"
+ Return ManTxBx8
+ Case "ManTlChPos9"
+ Return ManTxBx9
+ Case "ManTlChPos10"
+ Return ManTxBx10
+ Case "ManTlChPos11"
+ Return ManTxBx11
+ Case "ManTlChPos12"
+ Return ManTxBx12
+ Case "ManTlChPos13"
+ Return ManTxBx13
+ Case "ManTlChPos14"
+ Return ManTxBx14
+ Case "ManTlChPos15"
+ Return ManTxBx15
+ Case "ManTlChPos16"
+ Return ManTxBx16
+ Case "ManTlChPos17"
+ Return ManTxBx17
+ Case "ManTlChPos18"
+ Return ManTxBx18
+ Case "ManTlChPos19"
+ Return ManTxBx19
+ Case "ManTlChPos20"
+ Return ManTxBx20
+ Case "ManTlChPos21"
+ Return ManTxBx21
+ Case "ManTlChPos22"
+ Return ManTxBx22
+ Case "ManTlChPos23"
+ Return ManTxBx23
+ Case "ManTlChPos24"
+ Return ManTxBx24
+ Case "ManTlChPos25"
+ Return ManTxBx25
+ Case "ManTlChPos26"
+ Return ManTxBx26
+ Case "ManTlChPos27"
+ Return ManTxBx27
+ Case "ManTlChPos28"
+ Return ManTxBx28
+ Case "ManTlChPos29"
+ Return ManTxBx29
+ Case "ManTlChPos30"
+ Return ManTxBx30
+ Case "ManTlChPos31"
+ Return ManTxBx31
+ Case "ManTlChPos32"
+ Return ManTxBx32
+ Case "ManTlChPos33"
+ Return ManTxBx33
+ Case "ManTlChPos34"
+ Return ManTxBx34
+ Case "ManTlChPos35"
+ Return ManTxBx35
+ Case "ManTlChPos36"
+ Return ManTxBx36
+ Case "ManTlChPos37"
+ Return ManTxBx37
+ Case "ManTlChPos38"
+ Return ManTxBx38
+ Case "ManTlChPos39"
+ Return ManTxBx39
+ Case "ManTlChPos40"
+ Return ManTxBx40
+ Case "ManTlChPos41"
+ Return ManTxBx41
+ Case "ManTlChPos42"
+ Return ManTxBx42
+ Case "ManTlChPos43"
+ Return ManTxBx43
+ Case "ManTlChPos44"
+ Return ManTxBx44
+ Case "ManTlChPos45"
+ Return ManTxBx45
+ Case "ManTlChPos46"
+ Return ManTxBx46
+ Case "ManTlChPos47"
+ Return ManTxBx47
+ Case "ManTlChPos48"
+ Return ManTxBx48
+ Case "ManTlChPos49"
+ Return ManTxBx49
+ Case "ManTlChPos50"
+ Return ManTxBx50
+ Case "ManTlChPos51"
+ Return ManTxBx51
+ Case "ManTlChPos52"
+ Return ManTxBx52
+ Case "ManTlChPos53"
+ Return ManTxBx53
+ Case "ManTlChPos54"
+ Return ManTxBx54
+ Case "ManTlChPos55"
+ Return ManTxBx55
+ Case "ManTlChPos56"
+ Return ManTxBx56
+ Case "ManTlChPos57"
+ Return ManTxBx57
+ Case "ManTlChPos58"
+ Return ManTxBx58
+ Case "ManTlChPos59"
+ Return ManTxBx59
+ Case "ManTlChPos60"
+ Return ManTxBx60
+ End Select
+ End Function
+
+ Private Sub AutomaticToolChangerBtn_Click(sender As Object, e As RoutedEventArgs) Handles ToolChangerBtn.Click
+ If ToolChangerBtn.IsChecked Then
+ ManualToolChangerBtn.IsChecked = False
+ TlChScVw.Visibility = Windows.Visibility.Visible
+ ManTlChScVw.Visibility = Windows.Visibility.Hidden
+ Else
+ ToolChangerBtn.IsChecked = True
+ ManualToolChangerBtn.IsChecked = False
+ End If
+ End Sub
+
+ Private Sub ManualToolChangerBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualToolChangerBtn.Click
+ If ManualToolChangerBtn.IsChecked Then
+ ToolChangerBtn.IsChecked = False
+ ManTlChScVw.Visibility = Windows.Visibility.Visible
+ TlChScVw.Visibility = Windows.Visibility.Hidden
+ Else
+ ToolChangerBtn.IsChecked = False
+ ManualToolChangerBtn.IsChecked = True
+ End If
+ End Sub
+
+ ' Funzione che salva lo stato dei portautensili
+ Private Sub SaveToolChangerStatus()
+ For Index = 1 To m_MainWindow.m_CurrentMachine.dToolChangerNum
+ m_MainWindow.m_CurrentMachine.ToolPos(Index - 1) = GetTxBxFromIndex(Index).Text
+ Next
+ For Index = 1 To m_MainWindow.m_CurrentMachine.dManualToolChangerNum
+ m_MainWindow.m_CurrentMachine.ManualToolPos(Index - 1) = GetManTxBxFromIndex(Index).Text
+ Next
+ End Sub
+
+ Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
+ SaveToolChangerStatus()
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Add(m_MainWindow.m_MachinePageUC.m_AlarmsPageUC)
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Remove(Me)
+ End Sub
+
+ Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Add(m_MainWindow.m_MachinePageUC.m_AlarmsPageUC)
+ m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Remove(Me)
+ End Sub
End Class
diff --git a/ToolChangerPosUC.xaml b/ToolChangerPosUC.xaml
new file mode 100644
index 0000000..2238835
--- /dev/null
+++ b/ToolChangerPosUC.xaml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ToolChangerPosUC.xaml.vb b/ToolChangerPosUC.xaml.vb
new file mode 100644
index 0000000..f84f689
--- /dev/null
+++ b/ToolChangerPosUC.xaml.vb
@@ -0,0 +1,10 @@
+Public Class ToolChangerPosUC
+
+ Friend Event ToolClick As RoutedEventHandler
+
+ Private Sub Tool_Click(sender As Object, e As RoutedEventArgs) Handles Tool.Click
+ e.Source = Me
+ RaiseEvent ToolClick(sender, e)
+ End Sub
+
+End Class
diff --git a/ToolsDbPageUC.xaml.vb b/ToolsDbPageUC.xaml.vb
index eec0a6a..085c069 100644
--- a/ToolsDbPageUC.xaml.vb
+++ b/ToolsDbPageUC.xaml.vb
@@ -325,7 +325,7 @@ Public Class ToolsDbPageUC
m_MainWindow.m_MachinePageUC.AlarmsBtn.IsChecked = True
End Sub
- Private Sub InitializeToolFamily(sFIniConst As String, nFType As Integer, sFName As String)
+ Friend Sub InitializeToolFamily(sFIniConst As String, nFType As Integer, sFName As String)
If GetPrivateProfileInt(S_TOOLS, sFIniConst, 0, m_MainWindow.GetMachIniFile()) = 1 Then
Dim ToolCathegory As New CathegoryItem(sFName, nFType)
Dim nType As Integer = 0
@@ -895,132 +895,132 @@ Public Class ToolsDbPageUC
End Class
-Namespace TreeViewItem
+'Namespace TreeViewItem
- Public Class CathegoryItem
- Inherits TreeViewItemBase
+' Public Class CathegoryItem
+' Inherits TreeViewItemBase
- 'Private m_sTitle As String
- Private m_sPictureString As String
- Private m_nFType As Integer
- Private m_Items As ObservableCollection(Of CustomItem)
+' 'Private m_sTitle As String
+' Private m_sPictureString As String
+' Private m_nFType As Integer
+' Private m_Items As ObservableCollection(Of CustomItem)
- 'Public Property Name As String
- ' Get
- ' Return m_sTitle
- ' End Get
- ' Set(value As String)
- ' m_sTitle = value
- ' End Set
- 'End Property
+' 'Public Property Name As String
+' ' Get
+' ' Return m_sTitle
+' ' End Get
+' ' Set(value As String)
+' ' m_sTitle = value
+' ' End Set
+' 'End Property
- Public ReadOnly Property PictureString As String
- Get
- Return "/Resources/ToolsTreeViewImages/Lama.png"
- End Get
- End Property
+' Public ReadOnly Property PictureString As String
+' Get
+' Return "/Resources/ToolsTreeViewImages/Lama.png"
+' End Get
+' End Property
- Public ReadOnly Property nFType As Integer
- Get
- Return m_nFType
- End Get
- End Property
+' Public ReadOnly Property nFType As Integer
+' Get
+' Return m_nFType
+' End Get
+' End Property
- Public Property Items As ObservableCollection(Of CustomItem)
- Get
- Return m_Items
- End Get
- Set(value As ObservableCollection(Of CustomItem))
- m_Items = value
- End Set
- End Property
+' Public Property Items As ObservableCollection(Of CustomItem)
+' Get
+' Return m_Items
+' End Get
+' Set(value As ObservableCollection(Of CustomItem))
+' m_Items = value
+' End Set
+' End Property
- Sub New(sName As String, nType As Integer)
- Name = sName
- m_nFType = nType
- Me.Items = New ObservableCollection(Of CustomItem)
- End Sub
+' Sub New(sName As String, nType As Integer)
+' Name = sName
+' m_nFType = nType
+' Me.Items = New ObservableCollection(Of CustomItem)
+' End Sub
- End Class
+' End Class
- Public Class CustomItem
- Inherits TreeViewItemBase
+' Public Class CustomItem
+' Inherits TreeViewItemBase
- 'Private m_sTitle As String
- Private m_nType As Integer
+' 'Private m_sTitle As String
+' Private m_nType As Integer
- 'Public Property Name As String
- ' Get
- ' Return m_sTitle
- ' End Get
- ' Set(value As String)
- ' m_sTitle = value
- ' End Set
- 'End Property
+' 'Public Property Name As String
+' ' Get
+' ' Return m_sTitle
+' ' End Get
+' ' Set(value As String)
+' ' m_sTitle = value
+' ' End Set
+' 'End Property
- Public ReadOnly Property nType As Integer
- Get
- Return m_nType
- End Get
- End Property
+' Public ReadOnly Property nType As Integer
+' Get
+' Return m_nType
+' End Get
+' End Property
- Sub New(Title As String, nType As Integer)
- Me.Name = Title
- m_nType = nType
- End Sub
+' Sub New(Title As String, nType As Integer)
+' Me.Name = Title
+' m_nType = nType
+' End Sub
- End Class
+' End Class
- Public Class TreeViewItemBase
- Implements INotifyPropertyChanged
+' Public Class TreeViewItemBase
+' Implements INotifyPropertyChanged
- Private m_Name As String
- Public Property Name As String
- Get
- Return m_Name
- End Get
- Set(value As String)
- If (value <> m_Name) Then
- m_Name = value
- NotifyPropertyChanged("Name")
- End If
- End Set
- End Property
+' Private m_Name As String
+' Public Property Name As String
+' Get
+' Return m_Name
+' End Get
+' Set(value As String)
+' If (value <> m_Name) Then
+' m_Name = value
+' NotifyPropertyChanged("Name")
+' End If
+' End Set
+' End Property
- Private m_isSelected As Boolean
- Public Property IsSelected As Boolean
- Get
- Return m_isSelected
- End Get
- Set(value As Boolean)
- If (value <> m_isSelected) Then
- m_isSelected = value
- NotifyPropertyChanged("IsSelected")
- End If
- End Set
- End Property
+' Private m_isSelected As Boolean
+' Public Property IsSelected As Boolean
+' Get
+' Return m_isSelected
+' End Get
+' Set(value As Boolean)
+' If (value <> m_isSelected) Then
+' m_isSelected = value
+' NotifyPropertyChanged("IsSelected")
+' End If
+' End Set
+' End Property
- Private m_isExpanded As Boolean
- Public Property IsExpanded As Boolean
- Get
- Return m_isExpanded
- End Get
- Set(value As Boolean)
- If (value <> m_isExpanded) Then
- m_isExpanded = value
- NotifyPropertyChanged("IsExpanded")
- End If
- End Set
- End Property
+' Private m_isExpanded As Boolean
+' Public Property IsExpanded As Boolean
+' Get
+' Return m_isExpanded
+' End Get
+' Set(value As Boolean)
+' If (value <> m_isExpanded) Then
+' m_isExpanded = value
+' NotifyPropertyChanged("IsExpanded")
+' End If
+' End Set
+' End Property
- Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
+' Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
- Public Sub NotifyPropertyChanged(propName As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
- End Sub
+' Public Sub NotifyPropertyChanged(propName As String)
+' RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
+' End Sub
- End Class
+' End Class
-End Namespace
+'End Namespace
diff --git a/WorkInProgressPageUC.xaml.vb b/WorkInProgressPageUC.xaml.vb
index 4ff1583..e54b801 100644
--- a/WorkInProgressPageUC.xaml.vb
+++ b/WorkInProgressPageUC.xaml.vb
@@ -1,6 +1,7 @@
Imports System.Windows.Threading
Imports System.Threading
Imports EgtUILib
+Imports EgtWPFLib
Public Class WorkInProgressPageUC
@@ -89,11 +90,10 @@ Public Class WorkInProgressPageUC
WorkInProgressScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
If Not WorkInProgressScene.Init() Then
- Dim m_MissingKeyWindow As New MissingKeyWD
- m_MissingKeyWindow.Top = m_MainWindow.Top + (m_MainWindow.Height / 2 - m_MissingKeyWindow.Height / 2)
- m_MissingKeyWindow.Left = m_MainWindow.Left + (m_MainWindow.Width / 2 - m_MissingKeyWindow.Width / 2)
+ ' Rimuovo l'host della scena perchè altrimenti rimarrebbe il buco!!
+ Me.WorkInProgressPageGrid.Children.Remove(WorkInProgressSceneHost)
+ Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
m_MainWindow.Close()
- m_MissingKeyWindow.Show()
End If
' Inizializzo gestore lavorazioni
EgtInitMachMgr(m_MainWindow.GetMachinesRootDir())