diff --git a/ConstMsg.vb b/ConstMsg.vb index c798c27..1af9a24 100644 --- a/ConstMsg.vb +++ b/ConstMsg.vb @@ -18,7 +18,7 @@ Public Const MSG_FRAMECUTPAGEUC As Integer = MSG_OMAGCUT + 600 Public Const MSG_MACHINEPAGEUC As Integer = MSG_OMAGCUT + 700 Public Const MSG_TOOLSDBPAGEUC As Integer = MSG_OMAGCUT + 730 - Public Const MSG_MACHININGSDBPAGEUC As Integer = MSG_OMAGCUT + 770 + Public Const MSG_MACHININGSDBPAGEUC As Integer = MSG_OMAGCUT + 760 Public Const MSG_ALARMSPAGEUC As Integer = MSG_OMAGCUT + 800 Public Const MSG_OPTIONSPAGEUC As Integer = MSG_OMAGCUT + 900 diff --git a/MachiningDbPageUC.xaml b/MachiningDbPageUC.xaml index 2449782..002d524 100644 --- a/MachiningDbPageUC.xaml +++ b/MachiningDbPageUC.xaml @@ -206,6 +206,8 @@ + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/MachiningDbPageUC.xaml.vb b/MachiningDbPageUC.xaml.vb index bc07985..ec3560c 100644 --- a/MachiningDbPageUC.xaml.vb +++ b/MachiningDbPageUC.xaml.vb @@ -23,7 +23,8 @@ Public Class MachiningDbPageUC Dim LeadOutType() As String = {"Centrata", "Interna", "Esterna"} Dim CurveUse() As String = {"Salta", "Approssima", "Convesso"} Dim StepType() As String = {"Step", "Una via", "Spirale"} - Dim Tool As New List(Of String) + Dim SawTool As New List(Of String) + Dim DrillTool As New List(Of String) 'Variabile che conserva la lavorazione precedentemente selezionata, usata nel caso si selezioni annulla quando si cambia lavorazione selezionata Private m_OldItem As Object @@ -41,7 +42,7 @@ Public Class MachiningDbPageUC LeadOutTypeCmBx.ItemsSource = LeadOutType CurveUseCmBx.ItemsSource = CurveUse StepTypeCmBx.ItemsSource = StepType - ToolCmBx.ItemsSource = Tool + 'ToolCmBx.ItemsSource = SawTool 'Imposto i messaggi letti dal file dei messaggi NameTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 1) @@ -56,7 +57,15 @@ Public Class MachiningDbPageUC LeadOutTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 10) CurveUseTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 11) ApproxTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 12) - ToolTxBl.Text = "Utensile" + + StartPosTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 13) + StartsLowLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 14) + EndsLowLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 15) + ThrouAddLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 16) + StepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 17) + ReturnPosTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 18) + + ToolTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 19) ' Associo TextBox e Label Dim TempLabel1 As New Label @@ -70,30 +79,51 @@ Public Class MachiningDbPageUC End Sub Private Sub MachiningDbPage_Loaded(sender As Object, e As RoutedEventArgs) + EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) + InitializeToolLists() If m_bFirst Then ' Inizializzo le famiglie di utensili nell'albero - EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) - InitializeToolFamily(K_SAWING, MCH_MY.SAWING, EgtMsg(MSG_MACHININGSDBPAGEUC + 21)) - 'InitializeToolFamily(K_DRILLING, MCH_MY.DRILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 22)) - 'InitializeToolFamily(K_MILLING, MCH_MY.MILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 23)) + InitializeToolLists() + InitializeMachiningFamily(K_SAWING, MCH_MY.SAWING, EgtMsg(MSG_MACHININGSDBPAGEUC + 31)) + InitializeMachiningFamily(K_DRILLING, MCH_MY.DRILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 32)) + 'InitializeToolFamily(K_MILLING, MCH_MY.MILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 33)) m_bFirst = False - Else - EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx()) End If InitializeFirstSelectedItem() End Sub + 'Funzione che permette di inizializzare le liste di utensili + Private Sub InitializeToolLists() + SawTool.Clear() + Dim sToolName As String = String.Empty + Dim nType As Integer = MCH_TY.NONE + If EgtTdbGetFirstTool(MCH_TF.SAWBLADE, sToolName, nType) Then + SawTool.Add(sToolName) + While EgtTdbGetNextTool(MCH_TF.SAWBLADE, sToolName, nType) + SawTool.Add(sToolName) + End While + End If + DrillTool.Clear() + If EgtTdbGetFirstTool(MCH_TF.DRILLBIT, sToolName, nType) Then + DrillTool.Add(sToolName) + While EgtTdbGetNextTool(MCH_TF.DRILLBIT, sToolName, nType) + DrillTool.Add(sToolName) + End While + End If + + End Sub + 'Funzione che permette l'inizializzazione di albero e parametri all'apertura della pagina ToolsDb Private Sub InitializeFirstSelectedItem() If MachiningsList.Count > 0 Then - For Each ToolFamily In MachiningsList - If ToolFamily.Items.Count > 0 Then - ToolFamily.IsExpanded = True - ToolFamily.Items(0).IsSelected = True - EgtMdbSetCurrMachining(ToolFamily.Items(0).Name) - m_OldItem = ToolFamily.Items(0) + For Each MachiningFamily In MachiningsList + If MachiningFamily.Items.Count > 0 Then + MachiningFamily.IsExpanded = True + MachiningFamily.Items(0).IsSelected = True + EgtMdbSetCurrMachining(MachiningFamily.Items(0).Name) + m_OldItem = MachiningFamily.Items(0) GetMachiningParams() ViewMachiningParams() Exit Sub @@ -142,11 +172,11 @@ Public Class MachiningDbPageUC Dim NewName As String = SelectedCathegory.Name EgtMdbGetMachiningNewName(NewName) If EgtMdbCopyMachining(SelectedCathegory.Name, NewName) Then - 'Dim CurrType As Integer - 'EgtMdbGetCurrMachiningParam(MCH_TP.TYPE, CurrType) + Dim CurrType As Integer + EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, CurrType) For Each MachiningFamily In MachiningsList - If (MachiningFamily.nFType And MCH_MY.SAWING) <> 0 Then 'CurrType al posto di MCH_MY.SAWING - Dim NewMachiningItem As New CustomItem(NewName, MCH_MY.SAWING) 'CurrType al posto di MCH_MY.SAWING + If MachiningFamily.nFType = CurrType Then + Dim NewMachiningItem As New CustomItem(NewName, CurrType) MachiningFamily.Items.Add(NewMachiningItem) NewMachiningItem.IsSelected = True GetMachiningParams() @@ -191,7 +221,7 @@ Public Class MachiningDbPageUC End If End Sub - Private Sub InitializeToolFamily(sFIniConst As String, nFType As Integer, sFName As String) + Private Sub InitializeMachiningFamily(sFIniConst As String, nFType As Integer, sFName As String) If GetPrivateProfileInt(S_MACHININGS, sFIniConst, 0, m_MainWindow.GetMachIniFile()) = 1 Then Dim MachiningCathegory As New CathegoryItem(sFName, nFType) Dim MachiningName As String = String.Empty @@ -231,6 +261,7 @@ Public Class MachiningDbPageUC NameTxBx.Text = m_sMachiningName EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, ToolString) DepthTxBx.Text = ToolString + 'Parametri Taglio EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, ToolDouble) SideAngleTxBx.Text = ToolDouble EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, ToolBool) @@ -251,18 +282,42 @@ Public Class MachiningDbPageUC CurveUseCmBx.SelectedIndex = ToolInt EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, ToolDouble) ApproxTxBx.Text = ToolDouble + 'Parametri Foratura + EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, ToolDouble) + StartPosTxBx.Text = ToolDouble + EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, ToolDouble) + StartsLowLenTxBx.Text = ToolDouble + EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, ToolDouble) + EndsLowLenTxBx.Text = ToolDouble + EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, ToolDouble) + ThrouAddLenTxBx.Text = ToolDouble + EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, ToolDouble) + StepTxBx.Text = ToolDouble + EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, ToolDouble) + ReturnPosTxBx.Text = ToolDouble + 'Parametri utensile + Dim nMachiningType As Integer + EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, nMachiningType) + Select Case nMachiningType + Case MCH_MY.SAWING 'Taglio + ToolCmBx.ItemsSource = SawTool + Case MCH_MY.DRILLING 'Foratura + ToolCmBx.ItemsSource = DrillTool + End Select EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, ToolString) - Tool.Clear() - Dim ToolName As String = String.Empty - Dim nType As Integer = MCH_TY.NONE - If EgtTdbGetFirstTool(MCH_TF.SAWBLADE, ToolName, nType) Then - Tool.Add(ToolName) - While EgtTdbGetNextTool(MCH_TF.SAWBLADE, ToolName, nType) - Tool.Add(ToolName) - End While + Dim bToolExist As Boolean = False + For Each CurrTool In SawTool + If CurrTool = ToolString Then + bToolExist = True + Exit For + End If + Next + If bToolExist Then + ToolCmBx.SelectedItem = ToolString + 'Else + ' SawTool.Add("") + ' ToolCmBx.SelectedItem = "" End If - ToolCmBx.SelectedItem = ToolString - End Sub Friend Sub SetMachiningParams() @@ -271,6 +326,7 @@ Public Class MachiningDbPageUC Dim bTemp As Boolean EgtMdbSetCurrMachiningParam(MCH_MP.NAME, NameTxBx.Text) EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthTxBx.Text) + 'Parametri Taglio StringToDouble(SideAngleTxBx.Text, dTemp) EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGLE, dTemp) bTemp = InvertChBx.IsChecked @@ -284,30 +340,93 @@ Public Class MachiningDbPageUC EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, CurveUseCmBx.SelectedIndex) StringToDouble(ApproxTxBx.Text, dTemp) EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dTemp) - EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, ToolCmBx.SelectedItem.ToString) + 'Parametri Foratura + StringToDouble(StartPosTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.STARTPOS, dTemp) + StringToDouble(StartsLowLenTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dTemp) + StringToDouble(EndsLowLenTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dTemp) + StringToDouble(ThrouAddLenTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.THROUADDLEN, dTemp) + StringToDouble(StepTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.STEP_, dTemp) + StringToDouble(ReturnPosTxBx.Text, dTemp) + EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, dTemp) + 'Parametri utensile + If Not IsNothing(ToolCmBx.SelectedItem) Then + EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, ToolCmBx.SelectedItem.ToString) + Else + EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, String.Empty) + End If End Sub Private Sub ViewMachiningParams() + Dim nMachiningType As Integer + EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, nMachiningType) NameTxBl.Visibility = Windows.Visibility.Visible NameTxBx.Visibility = Windows.Visibility.Visible DepthTxBl.Visibility = Windows.Visibility.Visible DepthTxBx.Visibility = Windows.Visibility.Visible - SideAngleTxBl.Visibility = Windows.Visibility.Visible - SideAngleTxBx.Visibility = Windows.Visibility.Visible - InvertTxBl.Visibility = Windows.Visibility.Visible - InvertChBx.Visibility = Windows.Visibility.Visible - StepTypeTxBl.Visibility = Windows.Visibility.Visible - StepTypeCmBx.Visibility = Windows.Visibility.Visible - SideBrd.Visibility = Windows.Visibility.Visible - TypeBrd.Visibility = Windows.Visibility.Visible - CurveBrd.Visibility = Windows.Visibility.Visible + Select Case nMachiningType + Case MCH_MY.SAWING 'Parametri Taglio + SideAngleTxBl.Visibility = Windows.Visibility.Visible + SideAngleTxBx.Visibility = Windows.Visibility.Visible + InvertTxBl.Visibility = Windows.Visibility.Visible + InvertChBx.Visibility = Windows.Visibility.Visible + StepTypeTxBl.Visibility = Windows.Visibility.Visible + StepTypeCmBx.Visibility = Windows.Visibility.Visible + SideBrd.Visibility = Windows.Visibility.Visible + TypeBrd.Visibility = Windows.Visibility.Visible + CurveBrd.Visibility = Windows.Visibility.Visible + StartPosTxBl.Visibility = Windows.Visibility.Hidden + StartPosTxBx.Visibility = Windows.Visibility.Hidden + StartsLowLenTxBl.Visibility = Windows.Visibility.Hidden + StartsLowLenTxBx.Visibility = Windows.Visibility.Hidden + EndsLowLenTxBl.Visibility = Windows.Visibility.Hidden + EndsLowLenTxBx.Visibility = Windows.Visibility.Hidden + ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden + ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden + StepTxBl.Visibility = Windows.Visibility.Hidden + StepTxBx.Visibility = Windows.Visibility.Hidden + ReturnPosTxBl.Visibility = Windows.Visibility.Hidden + ReturnPosTxBx.Visibility = Windows.Visibility.Hidden + Case MCH_MY.DRILLING 'Parametri Foratura + SideAngleTxBl.Visibility = Windows.Visibility.Hidden + SideAngleTxBx.Visibility = Windows.Visibility.Hidden + InvertTxBl.Visibility = Windows.Visibility.Hidden + InvertChBx.Visibility = Windows.Visibility.Hidden + StepTypeTxBl.Visibility = Windows.Visibility.Hidden + StepTypeCmBx.Visibility = Windows.Visibility.Hidden + SideBrd.Visibility = Windows.Visibility.Hidden + TypeBrd.Visibility = Windows.Visibility.Hidden + CurveBrd.Visibility = Windows.Visibility.Hidden + StartPosTxBl.Visibility = Windows.Visibility.Visible + StartPosTxBx.Visibility = Windows.Visibility.Visible + StartsLowLenTxBl.Visibility = Windows.Visibility.Visible + StartsLowLenTxBx.Visibility = Windows.Visibility.Visible + EndsLowLenTxBl.Visibility = Windows.Visibility.Visible + EndsLowLenTxBx.Visibility = Windows.Visibility.Visible + ThrouAddLenTxBl.Visibility = Windows.Visibility.Visible + ThrouAddLenTxBx.Visibility = Windows.Visibility.Visible + StepTxBl.Visibility = Windows.Visibility.Visible + StepTxBx.Visibility = Windows.Visibility.Visible + ReturnPosTxBl.Visibility = Windows.Visibility.Visible + ReturnPosTxBx.Visibility = Windows.Visibility.Visible + End Select + 'Parametri utensile + ToolTxBl.Visibility = Windows.Visibility.Visible + ToolCmBx.Visibility = Windows.Visibility.Visible End Sub Private Sub HideMachiningParams() + 'Dim nMachiningType As Integer + 'EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, nMachiningType) NameTxBl.Visibility = Windows.Visibility.Hidden NameTxBx.Visibility = Windows.Visibility.Hidden DepthTxBl.Visibility = Windows.Visibility.Hidden DepthTxBx.Visibility = Windows.Visibility.Hidden + 'Parametri Taglio SideAngleTxBl.Visibility = Windows.Visibility.Hidden SideAngleTxBx.Visibility = Windows.Visibility.Hidden InvertTxBl.Visibility = Windows.Visibility.Hidden @@ -317,6 +436,22 @@ Public Class MachiningDbPageUC SideBrd.Visibility = Windows.Visibility.Hidden TypeBrd.Visibility = Windows.Visibility.Hidden CurveBrd.Visibility = Windows.Visibility.Hidden + 'Parametri Foratura + StartPosTxBl.Visibility = Windows.Visibility.Hidden + StartPosTxBx.Visibility = Windows.Visibility.Hidden + StartsLowLenTxBl.Visibility = Windows.Visibility.Hidden + StartsLowLenTxBx.Visibility = Windows.Visibility.Hidden + EndsLowLenTxBl.Visibility = Windows.Visibility.Hidden + EndsLowLenTxBx.Visibility = Windows.Visibility.Hidden + ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden + ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden + StepTxBl.Visibility = Windows.Visibility.Hidden + StepTxBx.Visibility = Windows.Visibility.Hidden + ReturnPosTxBl.Visibility = Windows.Visibility.Hidden + ReturnPosTxBx.Visibility = Windows.Visibility.Hidden + 'Parametri utensile + ToolTxBl.Visibility = Windows.Visibility.Hidden + ToolCmBx.Visibility = Windows.Visibility.Hidden End Sub Private Sub MachiningTreeView_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs) Handles MachiningTreeView.PreviewMouseUp