Files
OmagCUT/MachiningDbPageUC.xaml.vb
T
Renzo Lanza 4e5e38ef5d OmagCUT:
- Aggiunti Mola (MillNoTip) al DB Utensili e Svuotatura (Pocketing) al DB Lavorazioni, con parametri uguali a Fresa e Fresatura
2019-06-13 11:08:35 +00:00

1340 lines
69 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports OmagCUT.TreeViewItem
Imports EgtUILib
Imports EgtWPFLib
Public Class MachiningDbPageUC
' Riferimento alla MainWindow
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
' Lista degli utensili
Dim MachiningsList As New ObservableCollection(Of CathegoryItem)
' Lista dei materiali
Private m_MaterialsList As New ObservableCollection(Of MachiningMaterial)
' Proprietà
Private m_bFirst As Boolean = True
Private m_sMachiningName As String = String.Empty
'Array che contengono le variabili per Combobox
Dim WorkSide() As String
Dim HeadSide() As String
Dim LeadInType() As String
Dim ExtLinkType() As String
Dim LeadOutType() As String
Dim LeadLinkType() As String
Dim LeLiFinType() As String
Dim CurveUse() As String
Dim StepType() As String
Dim RouFinStepType() As String
Dim SawTool As New ObservableCollection(Of String)
Dim DrillTool As New ObservableCollection(Of String)
Dim MillTool As New ObservableCollection(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
Private Sub MachiningDbPage_Initialized(sender As Object, e As EventArgs)
' Assegno la lista degli utensili come sorgente del treeview
MachiningTreeView.ItemsSource = MachiningsList
' Assegno la lista dei materiali come sorgente della listbox
MaterialsList.ItemsSource = m_MaterialsList
' Imposto testo delle combobox da file dei messaggi
WorkSide = {EgtMsg(MSG_COMBOBOXPARAM + 21), EgtMsg(MSG_COMBOBOXPARAM + 22), EgtMsg(MSG_COMBOBOXPARAM + 23)}
HeadSide = {EgtMsg(MSG_COMBOBOXPARAM + 22), EgtMsg(MSG_COMBOBOXPARAM + 23)}
LeadInType = {EgtMsg(MSG_COMBOBOXPARAM + 24), EgtMsg(MSG_COMBOBOXPARAM + 25), EgtMsg(MSG_COMBOBOXPARAM + 26), EgtMsg(MSG_COMBOBOXPARAM + 27), EgtMsg(MSG_COMBOBOXPARAM + 28)}
ExtLinkType = {EgtMsg(MSG_COMBOBOXPARAM + 24), EgtMsg(MSG_COMBOBOXPARAM + 29), EgtMsg(MSG_COMBOBOXPARAM + 30), EgtMsg(MSG_COMBOBOXPARAM + 31)}
LeadOutType = {EgtMsg(MSG_COMBOBOXPARAM + 32), EgtMsg(MSG_COMBOBOXPARAM + 33), EgtMsg(MSG_COMBOBOXPARAM + 34)}
LeadLinkType = {EgtMsg(MSG_COMBOBOXPARAM + 24), EgtMsg(MSG_COMBOBOXPARAM + 26)}
LeLiFinType = {EgtMsg(MSG_COMBOBOXPARAM + 42), EgtMsg(MSG_COMBOBOXPARAM + 24), EgtMsg(MSG_COMBOBOXPARAM + 26)}
CurveUse = {EgtMsg(MSG_COMBOBOXPARAM + 35), EgtMsg(MSG_COMBOBOXPARAM + 36), EgtMsg(MSG_COMBOBOXPARAM + 37), EgtMsg(MSG_COMBOBOXPARAM + 41)}
StepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39), EgtMsg(MSG_COMBOBOXPARAM + 40)}
RouFinStepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39)}
' Assegno array a combobox
WorkSideCmBx.ItemsSource = WorkSide
HeadSideCmBx.ItemsSource = HeadSide
LeadInTypeCmBx.ItemsSource = LeadInType
ExtLinkTypeCmBx.ItemsSource = ExtLinkType
LeadOutTypeCmBx.ItemsSource = LeadOutType
LeadLinkTypeCmBx.ItemsSource = LeadLinkType
CurveUseCmBx.ItemsSource = CurveUse
StepTypeCmBx.ItemsSource = StepType
' Imposto i messaggi letti dal file dei messaggi
NewBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 16)
SaveBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 17)
RemoveBtn.Content = EgtMsg(MSG_MACHINEPAGEUC + 18)
NameTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 1)
DepthTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 2)
SideAngleTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 3)
InvertTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 4)
AcrossTxBl.Text = EgtMsg(MSG_OMAGCUT + 861)
StepTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 5)
WorkSideTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 6)
HeadSideTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 7)
StartPosTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 8)
LeadInTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 9)
ExtLinkTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 10)
LeadOutTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 11)
LeadLinkTypeTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 10)
CurveUseTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 12)
ApproxTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 13)
SawStepGpBx.Header = EgtMsg(MSG_MACHININGSDBPAGEUC + 14)
ForwardSawStepTxBl.Text = EgtMsg(MSG_OMAGCUT + 864)
BackwardSawStepTxBl.Text = EgtMsg(MSG_OMAGCUT + 865)
DrillStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 16)
SawRouStepGpBx.Header = EgtMsg(MSG_MACHININGSDBPAGEUC + 27)
SawRouStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 28)
SideStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 29)
ForwardStepSideAngTxBl.Text = EgtMsg(MSG_OMAGCUT + 862)
BackwardStepSideAngTxBl.Text = EgtMsg(MSG_OMAGCUT + 863)
ArcIntTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 17)
ArcExtTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 18)
LowLenGpBx.Header = EgtMsg(MSG_MACHININGSDBPAGEUC + 19)
StartsLowLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 20)
EndsLowLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 21)
ThrouAddLenTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 22)
ReturnPosTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 23)
ToolTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 24)
SpeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 5)
FeedGpBx.Header = EgtMsg(MSG_TOOLSDBPAGEUC + 8)
FeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 9)
TipFeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 10)
StartFeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 11)
EndFeedTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 12)
VertFeedTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 30)
BackFeedTxBl.Text = EgtMsg(MSG_OMAGCUT + 866)
OffsetGpBx.Header = EgtMsg(MSG_TOOLSDBPAGEUC + 15)
LonOffsetTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 16)
RadOffsetTxBl.Text = EgtMsg(MSG_TOOLSDBPAGEUC + 17)
MinThicknessTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 25)
MaxThicknessTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 26)
' Associo TextBox e Label
Dim TempLabel1 As New Label
TempLabel1.Content = SideAngleTxBl.Text
SideAngleTxBx.Tag = TempLabel1
Dim TempLabel2 As New Label
TempLabel2.Content = ApproxTxBl.Text
ApproxTxBx.Tag = TempLabel2
End Sub
Private Sub MachiningDbPage_Loaded(sender As Object, e As RoutedEventArgs)
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
' Carico le liste di utensili
InitializeToolLists()
' Carico elenco lavorazioni
If m_bFirst Then
Dim CurrMachine As CurrentMachine = m_MainWindow.m_CurrentMachine
InitializeMachiningFamily(CurrMachine.bSawing, MCH_MY.SAWING, EgtMsg(MSG_MACHININGSDBPAGEUC + 31))
InitializeMachiningFamily(CurrMachine.bDrilling, MCH_MY.DRILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 32))
InitializeMachiningFamily(CurrMachine.bMilling, MCH_MY.MILLING, EgtMsg(MSG_MACHININGSDBPAGEUC + 33))
InitializeMachiningFamily(CurrMachine.bSawRoughing, MCH_MY.SAWROUGHING, EgtMsg(MSG_MACHININGSDBPAGEUC + 34))
InitializeMachiningFamily(CurrMachine.bSawFinishing, MCH_MY.SAWFINISHING, EgtMsg(MSG_MACHININGSDBPAGEUC + 35))
InitializeMachiningFamily(CurrMachine.bPocketing, MCH_MY.POCKETING, EgtMsg(MSG_MACHININGSDBPAGEUC + 36))
m_bFirst = False
End If
' Imposto la prima lavorazione
InitializeFirstSelectedItem()
End Sub
'Funzione che permette di inizializzare le liste di utensili
Private Sub InitializeToolLists()
Dim sToolName As String = String.Empty
Dim nType As Integer = MCH_TY.NONE
SawTool.Clear()
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
MillTool.Clear()
If EgtTdbGetFirstTool(MCH_TF.MILL, sToolName, nType) Then
MillTool.Add(sToolName)
While EgtTdbGetNextTool(MCH_TF.MILL, sToolName, nType)
MillTool.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 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
End If
Next
MachiningsList.Item(0).IsSelected = True
HideMachiningParams()
End If
End Sub
Private Sub NewBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewBtn.Click
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
If TypeOf MachiningTreeView.SelectedItem Is CathegoryItem Then
Dim SelectedCathegory As CathegoryItem = MachiningTreeView.SelectedItem
Dim NewName As String = SelectedCathegory.Name
EgtMdbGetMachiningNewName(NewName)
If EgtMdbAddMachining(NewName, SelectedCathegory.nFType) Then
For Each MachiningFamily In MachiningsList
If MachiningFamily.nFType = SelectedCathegory.nFType Then
Dim NewMachiningItem As New CustomItem(NewName, SelectedCathegory.nFType)
MachiningFamily.Items.Add(NewMachiningItem)
NewMachiningItem.IsSelected = True
MachiningFamily.IsExpanded = True
m_OldItem = MachiningTreeView.SelectedItem
Exit For
End If
Next
GetMachiningParams()
ViewMachiningParams()
End If
ElseIf TypeOf MachiningTreeView.SelectedItem Is CustomItem Then
Dim SelectedCathegory As CustomItem = MachiningTreeView.SelectedItem
Dim NewName As String = SelectedCathegory.Name
EgtMdbGetMachiningNewName(NewName)
If EgtMdbCopyMachining(SelectedCathegory.Name, NewName) Then
Dim CurrType As Integer
EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, CurrType)
For Each MachiningFamily In MachiningsList
If MachiningFamily.nFType = CurrType Then
Dim NewMachiningItem As New CustomItem(NewName, CurrType)
MachiningFamily.Items.Add(NewMachiningItem)
NewMachiningItem.IsSelected = True
GetMachiningParams()
m_OldItem = MachiningTreeView.SelectedItem
Exit For
End If
Next
End If
End If
End Sub
Private Sub SaveBtn_Click(sender As Object, e As RoutedEventArgs) Handles SaveBtn.Click
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
SetMachiningParams()
EgtMdbSaveCurrMachining()
m_sMachiningName = NameTxBx.Text
Dim Machining As CustomItem = TryCast(m_OldItem, CustomItem)
If Machining IsNot Nothing Then
Machining.Name = m_sMachiningName
End If
End Sub
Private Sub RemoveBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemoveBtn.Click
If TypeOf MachiningTreeView.SelectedItem Is CustomItem Then
Dim SelectedItem As CustomItem = MachiningTreeView.SelectedItem
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
' Cancello la lavorazione
EgtMdbRemoveMachining(SelectedItem.Name)
' Rimuovo dall'albero
For Each MachiningFamily In MachiningsList
If (MachiningFamily.nFType And SelectedItem.nType) <> 0 Then
MachiningFamily.Items.Remove(SelectedItem)
If MachiningFamily.Items.Count = 0 Then
MachiningFamily.IsSelected = True
HideMachiningParams()
Else
MachiningFamily.Items(0).IsSelected = True
EgtMdbSetCurrMachining(MachiningFamily.Items(0).Name)
m_OldItem = MachiningFamily.Items(0)
GetMachiningParams()
ViewMachiningParams()
End If
End If
Next
End If
End Sub
Private Sub InitializeMachiningFamily(bEnabled As Boolean, nFType As Integer, sFName As String)
If Not bEnabled Then Return
' Inserisco categoria ed eventuali elementi
Dim MachiningCathegory As New CathegoryItem(sFName, nFType)
Dim MachiningName As String = String.Empty
If EgtMdbGetFirstMachining(nFType, MachiningName) Then
MachiningCathegory.Items.Add(New CustomItem(MachiningName, nFType))
While EgtMdbGetNextMachining(nFType, MachiningName)
MachiningCathegory.Items.Add(New CustomItem(MachiningName, nFType))
End While
End If
MachiningsList.Add(MachiningCathegory)
End Sub
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
' Se necessario, chiedo se salvare ll lavorazione corrente
If Not SaveCurrMachining() Then
Exit Sub
End If
' Salvo il DB utensili
EgtMdbSave()
' Esco dalla pagina
m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Remove(m_MainWindow.m_MachinePageUC.m_MachiningDbPageUC)
m_MainWindow.m_MachinePageUC.MachinePageGrid.Children.Add(m_MainWindow.m_MachinePageUC.m_AlarmsPageUC)
m_MainWindow.m_MachinePageUC.m_ActiveMachinePage = MachinePageUC.MachinePages.Alarms
m_MainWindow.m_MachinePageUC.MachiningDBBtn.IsChecked = False
m_MainWindow.m_MachinePageUC.AlarmsBtn.IsChecked = True
End Sub
Private Sub GetMachiningParams()
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
Dim nMachiningType As Integer
EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, nMachiningType)
Dim ToolString As String = String.Empty
Dim ToolInt As Integer = 0
Dim ToolDouble As Double = 0
Dim ToolBool As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, m_sMachiningName)
NameTxBx.Text = m_sMachiningName
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, ToolString)
DepthTxBx.Text = ExprToUIExpr(ToolString)
' Parametri Taglio
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, ToolDouble)
SideAngleTxBx.Text = DoubleToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, ToolBool)
InvertChBx.IsChecked = ToolBool
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, ToolInt)
StepTypeCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, ToolInt)
WorkSideCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, ToolInt)
HeadSideCmBx.SelectedIndex = ToolInt - 1
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, ToolInt)
LeadInTypeCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, ToolInt)
ExtLinkTypeCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, ToolInt)
LeadOutTypeCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, ToolInt)
CurveUseCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, ToolDouble)
ApproxTxBx.Text = LenToString(ToolDouble, 3)
' Parametri Foratura
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, ToolDouble)
StartPosTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, ToolDouble)
StartsLowLenTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, ToolDouble)
EndsLowLenTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, ToolDouble)
ThrouAddLenTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, ToolDouble)
StepTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPBACK, ToolDouble)
BackwardSawStepTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, ToolDouble)
ReturnPosTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANG, ToolDouble)
ForwardStepSideAngTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANGBACK, ToolDouble)
BackwardStepSideAngTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, ToolDouble)
ArcExtTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, ToolDouble)
ArcIntTxBx.Text = LenToString(ToolDouble, 3)
' Parametri Sgrossatura/Finitura con lama
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, ToolInt)
AcrossChBx.IsChecked = (ToolInt = MCH_SAWFIN_SUB.ACROSS)
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, ToolInt)
LeadLinkTypeCmBx.SelectedIndex = ToolInt
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, ToolDouble)
SideStepTxBx.Text = LenToString(ToolDouble, 3)
' Parametri utensile
Select Case nMachiningType
Case MCH_MY.SAWING 'Taglio
ToolCmBx.ItemsSource = SawTool
Case MCH_MY.MILLING 'Fresatura
ToolCmBx.ItemsSource = MillTool
Case MCH_MY.POCKETING 'Svuotatura
ToolCmBx.ItemsSource = MillTool
Case MCH_MY.DRILLING 'Foratura
ToolCmBx.ItemsSource = DrillTool
Case MCH_MY.SAWROUGHING 'Sgrossatura con lama
ToolCmBx.ItemsSource = SawTool
Case MCH_MY.SAWFINISHING 'Finitura con lama
ToolCmBx.ItemsSource = SawTool
End Select
' Recupero nome utensile tramite TUUID
Dim sTuuid As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sTuuid)
EgtTdbGetToolFromUUID(sTuuid, ToolString)
Dim bToolExist As Boolean = False
For Each CurrTool In ToolCmBx.ItemsSource
If CurrTool.ToString() = ToolString Then
bToolExist = True
Exit For
End If
Next
If bToolExist Then
ToolCmBx.SelectedItem = ToolString
Else
ToolCmBx.SelectedItem = Nothing
End If
' Speed e Feed
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, ToolDouble)
SpeedTxBx.Text = DoubleToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, ToolDouble)
FeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, ToolDouble)
StartFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, ToolDouble)
EndFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, ToolDouble)
TipFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, ToolDouble)
VertFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, ToolDouble)
BackFeedTxBx.Text = LenToString(ToolDouble, 3)
' Sovramateriale
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, ToolDouble)
LonOffsetTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, ToolDouble)
RadOffsetTxBx.Text = LenToString(ToolDouble, 3)
' Lista materiali
m_MaterialsList.Clear()
For Each Material In m_MainWindow.m_CurrentMachine.Materials
m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName))
Next
EgtMdbGetCurrMachiningParam(MCH_MP.SYSNOTES, ToolString)
If ToolString <> String.Empty Then
Dim sItems() = ToolString.Split(";".ToCharArray)
Dim Index As Integer = 0
For Each Material In m_MaterialsList
Dim Param() As String = sItems(Index).Split(",".ToCharArray)
Dim nParId As Integer = 0
If StringToInt(Param(0), nParId) AndAlso nParId = Material.nId Then
StringToDouble(Param(1), Material.dMinThickness)
StringToDouble(Param(2), Material.dMaxThickness)
Material.bIsActive = True
Index += 1
Else
Material.bIsActive = False
End If
Next
End If
If MaterialsList.Items.Count > 0 Then
MaterialsList.SelectedItem = m_MaterialsList(0)
End If
End Sub
Friend Sub SetMachiningParams()
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
Dim nMachiningType As Integer
EgtMdbGetCurrMachiningParam(MCH_MP.TYPE, nMachiningType)
Dim bTemp As Boolean
Dim nTemp As Integer
Dim dTemp As Double
EgtMdbSetCurrMachiningParam(MCH_MP.NAME, NameTxBx.Text)
EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, UIExprToExpr(DepthTxBx.Text))
' Parametri Taglio
StringToDouble(SideAngleTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGLE, dTemp)
bTemp = If(InvertChBx.IsChecked(), True, False)
EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, bTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPTYPE, StepTypeCmBx.SelectedIndex)
EgtMdbSetCurrMachiningParam(MCH_MP.WORKSIDE, WorkSideCmBx.SelectedIndex)
EgtMdbSetCurrMachiningParam(MCH_MP.HEADSIDE, HeadSideCmBx.SelectedIndex + 1)
EgtMdbSetCurrMachiningParam(MCH_MP.LEADINTYPE, LeadInTypeCmBx.SelectedIndex)
EgtMdbSetCurrMachiningParam(MCH_MP.EXTLINKTYPE, ExtLinkTypeCmBx.SelectedIndex)
EgtMdbSetCurrMachiningParam(MCH_MP.LEADOUTTYPE, LeadOutTypeCmBx.SelectedIndex)
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, If(CurveUseCmBx.IsVisible, CurveUseCmBx.SelectedIndex, MCH_SAW_CU.KEEP))
StringToLen(ApproxTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dTemp)
StringToLen(ForwardStepSideAngTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPSIDEANG, dTemp)
StringToLen(BackwardStepSideAngTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPSIDEANGBACK, dTemp)
StringToLen(ArcExtTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPEXTARC, dTemp)
StringToLen(ArcIntTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPINTARC, dTemp)
' Parametri Foratura
StringToLen(StartPosTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTPOS, dTemp)
StringToLen(StartsLowLenTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dTemp)
StringToLen(EndsLowLenTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dTemp)
StringToLen(ThrouAddLenTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.THROUADDLEN, dTemp)
StringToLen(StepTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEP_, dTemp)
StringToLen(BackwardSawStepTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPBACK, dTemp)
StringToLen(ReturnPosTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, dTemp)
' Parametri Sgrossatura/Finitura con lama
EgtMdbSetCurrMachiningParam(MCH_MP.LEADLINKTYPE, LeadLinkTypeCmBx.SelectedIndex)
StringToLen(SideStepTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDESTEP, dTemp)
If nMachiningType = MCH_MY.SAWFINISHING Then
nTemp = If(AcrossChBx.IsChecked(), MCH_SAWFIN_SUB.ACROSS, MCH_SAWFIN_SUB.ALONG)
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, nTemp)
End If
' Parametri utensile
If Not IsNothing(ToolCmBx.SelectedItem) Then
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, ToolCmBx.SelectedItem.ToString)
Else
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, String.Empty)
End If
' Speed e Feed
StringToDouble(SpeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.SPEED, dTemp)
StringToLen(FeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.FEED, dTemp)
StringToLen(StartFeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTFEED, dTemp)
StringToLen(EndFeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDFEED, dTemp)
StringToLen(TipFeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.TIPFEED, dTemp)
StringToLen(VertFeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.VERTFEED, dTemp)
StringToLen(BackFeedTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.BACKFEED, dTemp)
' Sovramateriale
StringToLen(LonOffsetTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, dTemp)
StringToLen(RadOffsetTxBx.Text, dTemp)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, dTemp)
' Scrivo stringa materiali da lista
Dim sMaterialString As String = String.Empty
For Each Material In m_MaterialsList
If Material.bIsActive Then
sMaterialString += Material.nId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";"
End If
Next
EgtMdbSetCurrMachiningParam(MCH_MP.SYSNOTES, sMaterialString)
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
MaterialsBrd.Visibility = Windows.Visibility.Visible
SpeedGrd.Visibility = Windows.Visibility.Visible
FeedGpBx.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
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.Visibility = Windows.Visibility.Hidden
StepTypeTxBl.Visibility = Windows.Visibility.Visible
StepTypeCmBx.Visibility = Windows.Visibility.Visible
StepTypeCmBx.ItemsSource = StepType
SideBrd.Visibility = Windows.Visibility.Visible
WorkSideTxBl.Visibility = Windows.Visibility.Visible
WorkSideCmBx.Visibility = Windows.Visibility.Visible
HeadSideTxBl.Visibility = Windows.Visibility.Visible
HeadSideCmBx.Visibility = Windows.Visibility.Visible
TypeBrd.Visibility = Windows.Visibility.Visible
LeadInTypeTxBl.Visibility = Windows.Visibility.Visible
LeadInTypeCmBx.Visibility = Windows.Visibility.Visible
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Visible
ExtLinkTypeCmBx.Visibility = Windows.Visibility.Visible
LeadOutTypeTxBl.Visibility = Windows.Visibility.Visible
LeadOutTypeCmBx.Visibility = Windows.Visibility.Visible
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
CurveBrd.Visibility = Windows.Visibility.Hidden
If MachParamGrd.Children.Contains(StartPosTxBl) Then
MachParamGrd.Children.Remove(StartPosTxBl)
MachParamGrd.Children.Remove(StartPosTxBx)
TypeGrd.Children.Add(StartPosTxBl)
TypeGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 0)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 0)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.Style = Application.Current.FindResource("OmagCut_MachLeftCalculatorTextBoxInBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
If DrillStepGrd.Children.Contains(StepTxBx) Then
DrillStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
ElseIf SawRouStepGrd.Children.Contains(StepTxBx) Then
SawRouStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
End If
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
SawStepGpBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.SetValue(Grid.RowProperty, 18)
SawStepGpBx.SetValue(Grid.RowSpanProperty, 9)
BackwardSawStepTxBl.Visibility = Windows.Visibility.Visible
BackwardSawStepTxBx.Visibility = Windows.Visibility.Visible
ForwardStepSideAngTxBl.Visibility = Windows.Visibility.Visible
ForwardStepSideAngTxBx.Visibility = Windows.Visibility.Visible
BackwardStepSideAngTxBl.Visibility = Windows.Visibility.Visible
BackwardStepSideAngTxBx.Visibility = Windows.Visibility.Visible
ForwardSawStepTxBl.Text = EgtMsg(MSG_OMAGCUT + 864)
If Not SawStepGrd.Children.Contains(ArcIntTxBl) Then
Dim Row As New RowDefinition
Row.Height = New GridLength(1, GridUnitType.Star)
SawStepGrd.RowDefinitions.Add(Row)
SawStepGrd.Children.Add(ArcIntTxBl)
SawStepGrd.Children.Add(ArcIntTxBx)
SawStepGrd.Children.Add(ArcExtTxBl)
SawStepGrd.Children.Add(ArcExtTxBx)
End If
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Hidden
' Definizione di una riga della tabella con la giusta altezza
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum > 4 Then
For Index = RowNum - 1 To 4 Step -1
FeedGrd.RowDefinitions.RemoveAt(Index)
Next
End If
FeedGpBx.SetValue(Grid.RowSpanProperty, 12)
' Definizione di una riga della tabella Feed
RowNum = FeedGrd.RowDefinitions.Count
If RowNum < 5 Then
Dim Row As New RowDefinition
Row.Height = New GridLength(1, GridUnitType.Star)
FeedGrd.RowDefinitions.Add(Row)
FeedGpBx.SetValue(Grid.RowSpanProperty, 14)
BackFeedTxBl.SetValue(Grid.RowProperty, 4)
BackFeedTxBx.SetValue(Grid.ColumnProperty, 1)
BackFeedTxBx.SetValue(Grid.RowProperty, 4)
End If
VertFeedTxBl.Visibility = Windows.Visibility.Hidden
VertFeedTxBx.Visibility = Windows.Visibility.Hidden
BackFeedTxBl.Visibility = Windows.Visibility.Visible
BackFeedTxBx.Visibility = Windows.Visibility.Visible
Case MCH_MY.MILLING 'Parametri Fresatura
SideAngleTxBl.Visibility = Windows.Visibility.Hidden
SideAngleTxBx.Visibility = Windows.Visibility.Hidden
InvertTxBl.Visibility = Windows.Visibility.Hidden
InvertChBx.Visibility = Windows.Visibility.Hidden
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.Visibility = Windows.Visibility.Hidden
StepTypeTxBl.Visibility = Windows.Visibility.Hidden
StepTypeCmBx.Visibility = Windows.Visibility.Hidden
SideBrd.Visibility = Windows.Visibility.Visible
WorkSideTxBl.Visibility = Windows.Visibility.Visible
WorkSideCmBx.Visibility = Windows.Visibility.Visible
HeadSideTxBl.Visibility = Windows.Visibility.Hidden
HeadSideCmBx.Visibility = Windows.Visibility.Hidden
TypeBrd.Visibility = Windows.Visibility.Visible
LeadInTypeTxBl.Visibility = Windows.Visibility.Visible
LeadInTypeCmBx.Visibility = Windows.Visibility.Visible
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
ExtLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadOutTypeTxBl.Visibility = Windows.Visibility.Visible
LeadOutTypeCmBx.Visibility = Windows.Visibility.Visible
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
CurveBrd.Visibility = Windows.Visibility.Hidden
If MachParamGrd.Children.Contains(StartPosTxBl) Then
MachParamGrd.Children.Remove(StartPosTxBl)
MachParamGrd.Children.Remove(StartPosTxBx)
TypeGrd.Children.Add(StartPosTxBl)
TypeGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 0)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 0)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 1)
'StartPosTxBx.Style = Application.Current.FindResource("OmagCut_LeftCalculatorTextBoxInBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
If DrillStepGrd.Children.Contains(StepTxBx) Then
DrillStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
'StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInBorder")
ElseIf SawRouStepGrd.Children.Contains(StepTxBx) Then
SawRouStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
'StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInBorder")
End If
StepTxBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.SetValue(Grid.RowProperty, 21)
SawStepGpBx.SetValue(Grid.RowSpanProperty, 6)
BackwardSawStepTxBl.Visibility = Windows.Visibility.Hidden
BackwardSawStepTxBx.Visibility = Windows.Visibility.Hidden
ForwardStepSideAngTxBl.Visibility = Windows.Visibility.Hidden
ForwardStepSideAngTxBx.Visibility = Windows.Visibility.Hidden
BackwardStepSideAngTxBl.Visibility = Windows.Visibility.Hidden
BackwardStepSideAngTxBx.Visibility = Windows.Visibility.Hidden
ForwardSawStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 15)
If SawStepGrd.Children.Contains(ArcIntTxBl) Then
SawStepGrd.Children.Remove(ArcIntTxBl)
SawStepGrd.Children.Remove(ArcIntTxBx)
SawStepGrd.Children.Remove(ArcExtTxBl)
SawStepGrd.Children.Remove(ArcExtTxBx)
SawStepGrd.RowDefinitions.RemoveAt(2)
End If
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Hidden
' Definizione di una riga della tabella con la giusta altezza
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum > 4 Then
For Index = RowNum - 1 To 4 Step -1
FeedGrd.RowDefinitions.RemoveAt(Index)
Next
End If
FeedGpBx.SetValue(Grid.RowSpanProperty, 12)
VertFeedTxBl.Visibility = Windows.Visibility.Hidden
VertFeedTxBx.Visibility = Windows.Visibility.Hidden
BackFeedTxBl.Visibility = Windows.Visibility.Hidden
BackFeedTxBx.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
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.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
If TypeGrd.Children.Contains(StartPosTxBl) Then
TypeGrd.Children.Remove(StartPosTxBl)
TypeGrd.Children.Remove(StartPosTxBx)
MachParamGrd.Children.Add(StartPosTxBl)
MachParamGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 6)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 6)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 3)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 3)
StartPosTxBx.Style = Application.Current.FindResource("OmagCut_LeftCalculatorTextBoxNoBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Visible
ThrouAddLenTxBl.Visibility = Windows.Visibility.Visible
ThrouAddLenTxBx.Visibility = Windows.Visibility.Visible
If SawStepGrd.Children.Contains(StepTxBx) Then
SawStepGrd.Children.Remove(StepTxBx)
DrillStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 2)
StepTxBx.Style = Application.Current.FindResource("OmagCut_MachLeftCalculatorTextBoxInBorder")
ElseIf SawRouStepGrd.Children.Contains(StepTxBx) Then
SawRouStepGrd.Children.Remove(StepTxBx)
DrillStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 2)
StepTxBx.Style = Application.Current.FindResource("OmagCut_MachLeftCalculatorTextBoxInBorder")
End If
StepTxBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.Visibility = Windows.Visibility.Hidden
DrillStepBrd.Visibility = Windows.Visibility.Visible
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
ReturnPosTxBl.Visibility = Windows.Visibility.Visible
ReturnPosTxBx.Visibility = Windows.Visibility.Visible
OffsetGpBx.Visibility = Windows.Visibility.Hidden
' Definizione di una riga della tabella con la giusta altezza
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum > 4 Then
For Index = RowNum - 1 To 4 Step -1
FeedGrd.RowDefinitions.RemoveAt(Index)
Next
End If
FeedGpBx.SetValue(Grid.RowSpanProperty, 12)
VertFeedTxBl.Visibility = Windows.Visibility.Hidden
VertFeedTxBx.Visibility = Windows.Visibility.Hidden
BackFeedTxBl.Visibility = Windows.Visibility.Hidden
BackFeedTxBx.Visibility = Windows.Visibility.Hidden
Case MCH_MY.SAWROUGHING 'Parametri Sgrossatura con lama
SideAngleTxBl.Visibility = Windows.Visibility.Hidden
SideAngleTxBx.Visibility = Windows.Visibility.Hidden
InvertTxBl.Visibility = Windows.Visibility.Hidden
InvertChBx.Visibility = Windows.Visibility.Hidden
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.Visibility = Windows.Visibility.Hidden
StepTypeTxBl.Visibility = Windows.Visibility.Visible
StepTypeCmBx.Visibility = Windows.Visibility.Visible
StepTypeCmBx.ItemsSource = RouFinStepType
SideBrd.Visibility = Windows.Visibility.Visible
WorkSideTxBl.Visibility = Windows.Visibility.Hidden
WorkSideCmBx.Visibility = Windows.Visibility.Hidden
HeadSideTxBl.Visibility = Windows.Visibility.Visible
HeadSideCmBx.Visibility = Windows.Visibility.Visible
TypeBrd.Visibility = Windows.Visibility.Visible
LeadInTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadInTypeCmBx.Visibility = Windows.Visibility.Hidden
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
ExtLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadOutTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadOutTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Visible
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Visible
LeadLinkTypeCmBx.ItemsSource = LeadLinkType
CurveBrd.Visibility = Windows.Visibility.Hidden
If MachParamGrd.Children.Contains(StartPosTxBl) Then
MachParamGrd.Children.Remove(StartPosTxBl)
MachParamGrd.Children.Remove(StartPosTxBx)
TypeGrd.Children.Add(StartPosTxBl)
TypeGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 0)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 0)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.Style = Application.Current.FindResource("OmagCut_MachLeftCalculatorTextBoxInBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
If DrillStepGrd.Children.Contains(StepTxBx) Then
DrillStepGrd.Children.Remove(StepTxBx)
SawRouStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
ElseIf SawStepGrd.Children.Contains(StepTxBx) Then
SawStepGrd.Children.Remove(StepTxBx)
SawRouStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
End If
StepTxBx.Visibility = Windows.Visibility.Visible
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawStepGpBx.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Visible
SawRouStepTxBl.Visibility = Windows.Visibility.Visible
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Visible
RadOffsetTxBl.Visibility = Windows.Visibility.Visible
RadOffsetTxBx.Visibility = Windows.Visibility.Visible
LonOffsetTxBl.Visibility = Windows.Visibility.Visible
LonOffsetTxBx.Visibility = Windows.Visibility.Visible
' Definizione di una riga della tabella con la giusta altezza
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum > 4 Then
For Index = RowNum - 1 To 4 Step -1
FeedGrd.RowDefinitions.RemoveAt(Index)
Next
End If
FeedGpBx.SetValue(Grid.RowSpanProperty, 12)
VertFeedTxBl.Visibility = Windows.Visibility.Hidden
VertFeedTxBx.Visibility = Windows.Visibility.Hidden
BackFeedTxBl.Visibility = Windows.Visibility.Hidden
BackFeedTxBx.Visibility = Windows.Visibility.Hidden
'Spostamento gruppo sovramateriale
OffsetGpBx.SetValue(Grid.RowProperty, 18)
' Definizione di una riga della tabella Offset
RowNum = OffsetGrd.RowDefinitions.Count
If RowNum < 2 Then
Dim Row As New RowDefinition
Row.Height = New GridLength(1, GridUnitType.Star)
OffsetGrd.RowDefinitions.Add(Row)
OffsetGpBx.SetValue(Grid.RowSpanProperty, 6)
LonOffsetTxBl.SetValue(Grid.RowProperty, 2)
LonOffsetTxBx.SetValue(Grid.ColumnProperty, 1)
LonOffsetTxBx.SetValue(Grid.RowProperty, 2)
End If
Case MCH_MY.SAWFINISHING 'Parametri Finitura con lama
SideAngleTxBl.Visibility = Windows.Visibility.Hidden
SideAngleTxBx.Visibility = Windows.Visibility.Hidden
InvertTxBl.Visibility = Windows.Visibility.Visible
InvertChBx.Visibility = Windows.Visibility.Visible
AcrossTxBl.Visibility = Windows.Visibility.Visible
AcrossChBx.Visibility = Windows.Visibility.Visible
StepTypeTxBl.Visibility = Windows.Visibility.Visible
StepTypeCmBx.Visibility = Windows.Visibility.Visible
StepTypeCmBx.ItemsSource = RouFinStepType
SideBrd.Visibility = Windows.Visibility.Visible
WorkSideTxBl.Visibility = Windows.Visibility.Hidden
WorkSideCmBx.Visibility = Windows.Visibility.Hidden
HeadSideTxBl.Visibility = Windows.Visibility.Visible
HeadSideCmBx.Visibility = Windows.Visibility.Visible
TypeBrd.Visibility = Windows.Visibility.Visible
LeadInTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadInTypeCmBx.Visibility = Windows.Visibility.Hidden
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
ExtLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadOutTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadOutTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Visible
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Visible
LeadLinkTypeCmBx.ItemsSource = LeLiFinType
CurveBrd.Visibility = Windows.Visibility.Hidden
If MachParamGrd.Children.Contains(StartPosTxBl) Then
MachParamGrd.Children.Remove(StartPosTxBl)
MachParamGrd.Children.Remove(StartPosTxBx)
TypeGrd.Children.Add(StartPosTxBl)
TypeGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 0)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 0)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.Style = Application.Current.FindResource("OmagCut_MachLeftCalculatorTextBoxInBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawStepGpBx.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Visible
SawRouStepTxBl.Visibility = Windows.Visibility.Visible
If DrillStepGrd.Children.Contains(StepTxBx) Then
DrillStepGrd.Children.Remove(StepTxBx)
SawRouStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
ElseIf SawStepGrd.Children.Contains(StepTxBx) Then
SawStepGrd.Children.Remove(StepTxBx)
SawRouStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInGroupBox")
End If
StepTxBx.Visibility = Windows.Visibility.Visible
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Visible
RadOffsetTxBl.Visibility = Windows.Visibility.Visible
RadOffsetTxBx.Visibility = Windows.Visibility.Visible
LonOffsetTxBl.Visibility = Windows.Visibility.Hidden
LonOffsetTxBx.Visibility = Windows.Visibility.Hidden
' Definizione di una riga della tabella Feed
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum < 5 Then
Dim Row As New RowDefinition
Row.Height = New GridLength(1, GridUnitType.Star)
FeedGrd.RowDefinitions.Add(Row)
FeedGpBx.SetValue(Grid.RowSpanProperty, 14)
VertFeedTxBl.SetValue(Grid.RowProperty, 4)
VertFeedTxBx.SetValue(Grid.ColumnProperty, 1)
VertFeedTxBx.SetValue(Grid.RowProperty, 4)
End If
VertFeedTxBl.Visibility = Windows.Visibility.Visible
VertFeedTxBx.Visibility = Windows.Visibility.Visible
BackFeedTxBl.Visibility = Windows.Visibility.Hidden
BackFeedTxBx.Visibility = Windows.Visibility.Hidden
'Spostamento gruppo sovramateriale
OffsetGpBx.SetValue(Grid.RowProperty, 20)
' Eliminazione di una riga della tabella Offset
RowNum = OffsetGrd.RowDefinitions.Count
If RowNum > 1 Then
For Index = RowNum - 1 To 1 Step -1
OffsetGrd.RowDefinitions.RemoveAt(Index)
OffsetGpBx.SetValue(Grid.RowSpanProperty, 4)
Next
End If
Case MCH_MY.POCKETING 'Parametri Svuotatura
SideAngleTxBl.Visibility = Windows.Visibility.Hidden
SideAngleTxBx.Visibility = Windows.Visibility.Hidden
InvertTxBl.Visibility = Windows.Visibility.Hidden
InvertChBx.Visibility = Windows.Visibility.Hidden
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.Visibility = Windows.Visibility.Hidden
StepTypeTxBl.Visibility = Windows.Visibility.Hidden
StepTypeCmBx.Visibility = Windows.Visibility.Hidden
SideBrd.Visibility = Windows.Visibility.Visible
WorkSideTxBl.Visibility = Windows.Visibility.Visible
WorkSideCmBx.Visibility = Windows.Visibility.Visible
HeadSideTxBl.Visibility = Windows.Visibility.Hidden
HeadSideCmBx.Visibility = Windows.Visibility.Hidden
TypeBrd.Visibility = Windows.Visibility.Visible
LeadInTypeTxBl.Visibility = Windows.Visibility.Visible
LeadInTypeCmBx.Visibility = Windows.Visibility.Visible
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
ExtLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
LeadOutTypeTxBl.Visibility = Windows.Visibility.Visible
LeadOutTypeCmBx.Visibility = Windows.Visibility.Visible
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
CurveBrd.Visibility = Windows.Visibility.Hidden
If MachParamGrd.Children.Contains(StartPosTxBl) Then
MachParamGrd.Children.Remove(StartPosTxBl)
MachParamGrd.Children.Remove(StartPosTxBx)
TypeGrd.Children.Add(StartPosTxBl)
TypeGrd.Children.Add(StartPosTxBx)
StartPosTxBl.SetValue(Grid.ColumnProperty, 0)
StartPosTxBl.SetValue(Grid.RowProperty, 0)
StartPosTxBx.SetValue(Grid.ColumnProperty, 1)
StartPosTxBx.SetValue(Grid.RowProperty, 0)
StartPosTxBl.SetValue(Grid.RowSpanProperty, 1)
StartPosTxBx.SetValue(Grid.RowSpanProperty, 1)
'StartPosTxBx.Style = Application.Current.FindResource("OmagCut_LeftCalculatorTextBoxInBorder")
End If
StartPosTxBl.Visibility = Windows.Visibility.Visible
StartPosTxBx.Visibility = Windows.Visibility.Visible
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
If DrillStepGrd.Children.Contains(StepTxBx) Then
DrillStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
'StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInBorder")
ElseIf SawRouStepGrd.Children.Contains(StepTxBx) Then
SawRouStepGrd.Children.Remove(StepTxBx)
SawStepGrd.Children.Add(StepTxBx)
StepTxBx.SetValue(Grid.ColumnProperty, 1)
StepTxBx.SetValue(Grid.RowProperty, 0)
'StepTxBx.Style = Application.Current.FindResource("OmagCut_CalculatorTextBoxInBorder")
End If
StepTxBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.Visibility = Windows.Visibility.Visible
SawStepGpBx.SetValue(Grid.RowProperty, 21)
SawStepGpBx.SetValue(Grid.RowSpanProperty, 6)
BackwardSawStepTxBl.Visibility = Windows.Visibility.Hidden
BackwardSawStepTxBx.Visibility = Windows.Visibility.Hidden
ForwardStepSideAngTxBl.Visibility = Windows.Visibility.Hidden
ForwardStepSideAngTxBx.Visibility = Windows.Visibility.Hidden
BackwardStepSideAngTxBl.Visibility = Windows.Visibility.Hidden
BackwardStepSideAngTxBx.Visibility = Windows.Visibility.Hidden
ForwardSawStepTxBl.Text = EgtMsg(MSG_MACHININGSDBPAGEUC + 15)
If SawStepGrd.Children.Contains(ArcIntTxBl) Then
SawStepGrd.Children.Remove(ArcIntTxBl)
SawStepGrd.Children.Remove(ArcIntTxBx)
SawStepGrd.Children.Remove(ArcExtTxBl)
SawStepGrd.Children.Remove(ArcExtTxBx)
SawStepGrd.RowDefinitions.RemoveAt(2)
End If
DrillStepBrd.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Hidden
' Definizione di una riga della tabella con la giusta altezza
Dim RowNum As Integer = FeedGrd.RowDefinitions.Count
If RowNum > 4 Then
For Index = RowNum - 1 To 4 Step -1
FeedGrd.RowDefinitions.RemoveAt(Index)
Next
End If
FeedGpBx.SetValue(Grid.RowSpanProperty, 12)
VertFeedTxBl.Visibility = Windows.Visibility.Hidden
VertFeedTxBx.Visibility = Windows.Visibility.Hidden
BackFeedTxBl.Visibility = Windows.Visibility.Hidden
BackFeedTxBx.Visibility = Windows.Visibility.Hidden
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
MaterialsBrd.Visibility = Windows.Visibility.Hidden
SpeedGrd.Visibility = Windows.Visibility.Hidden
FeedGpBx.Visibility = Windows.Visibility.Hidden
'Parametri Taglio
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
SawStepGpBx.Visibility = Windows.Visibility.Hidden
'Parametri Foratura
StartPosTxBl.Visibility = Windows.Visibility.Hidden
StartPosTxBx.Visibility = Windows.Visibility.Hidden
LowLenGpBx.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBl.Visibility = Windows.Visibility.Hidden
ThrouAddLenTxBx.Visibility = Windows.Visibility.Hidden
ReturnPosTxBl.Visibility = Windows.Visibility.Hidden
ReturnPosTxBx.Visibility = Windows.Visibility.Hidden
DrillStepBrd.Visibility = Windows.Visibility.Hidden
'Parametri Sgrossatura con lama
LeadLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
LeadLinkTypeCmBx.Visibility = Windows.Visibility.Hidden
SawRouStepGpBx.Visibility = Windows.Visibility.Hidden
' Parametri finitura con lama
AcrossTxBl.Visibility = Windows.Visibility.Hidden
AcrossChBx.Visibility = Windows.Visibility.Hidden
'Parametri utensile
ToolTxBl.Visibility = Windows.Visibility.Hidden
ToolCmBx.Visibility = Windows.Visibility.Hidden
OffsetGpBx.Visibility = Windows.Visibility.Hidden
End Sub
Private Sub MachiningTreeView_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs) Handles MachiningTreeView.PreviewMouseUp
' Se necessario, chiedo se salvare l'utensile corrente
If Not SaveCurrMachining() Then
Dim PreviousMachining As CustomItem = m_OldItem
PreviousMachining.IsSelected = True
Exit Sub
End If
' Aggiorno
If TypeOf MachiningTreeView.SelectedItem Is CathegoryItem Then
Dim SelectedCathegory As CathegoryItem = MachiningTreeView.SelectedItem
SelectedCathegory.IsExpanded = Not SelectedCathegory.IsExpanded
HideMachiningParams()
ElseIf TypeOf MachiningTreeView.SelectedItem Is CustomItem Then
Dim SelectedMachining As CustomItem = MachiningTreeView.SelectedItem
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
EgtMdbSetCurrMachining(SelectedMachining.Name)
ViewMachiningParams()
GetMachiningParams()
End If
m_OldItem = MachiningTreeView.SelectedItem
End Sub
Friend Function SaveCurrMachining() As Boolean
SetMachiningParams()
If EgtMdbIsCurrMachiningModified() Then
Dim SaveCurrMachiningWnd As New EgtMsgBox(m_MainWindow, "", EgtMsg(MSG_EGTMSGBOX + 3), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL)
Select Case SaveCurrMachiningWnd.m_nPressedBtn
Case 0 ' Annulla
Return False
Case 1 ' Si
EgtMdbSaveCurrMachining()
Dim CurrMachining As CustomItem = TryCast(m_OldItem, CustomItem)
If CurrMachining IsNot Nothing Then
CurrMachining.Name = NameTxBx.Text
End If
Case 2 ' No
EgtMdbSetCurrMachining(m_sMachiningName)
GetMachiningParams()
End Select
End If
Return True
End Function
Private Sub NameTxBx_EgtClosed(sender As Object, e As EventArgs) Handles NameTxBx.EgtClosed
' Elimino spazi iniziali e finali
NameTxBx.Text = NameTxBx.Text.Trim()
' Se cambiato nome
If NameTxBx.Text <> m_sMachiningName Then
' Imposto contesto macchina
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
' Verifico se nome già esistente
Dim TempName As String = NameTxBx.Text
EgtMdbGetMachiningNewName(TempName)
' se già esistente, avviso e rifiuto
If TempName <> NameTxBx.Text Then
' Nome già utilizzato
Dim InfoBox As New EgtMsgBox(m_MainWindow, "", EgtMsg(91104), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.ESCLAMATION)
' Ripristino il precedente
NameTxBx.Text = m_sMachiningName
End If
End If
End Sub
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
' Non devo fare alcunchè
End Sub
Private Sub MaterialsList_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles MaterialsList.SelectionChanged
Dim Selectedmaterial As MachiningMaterial = MaterialsList.SelectedItem
If Not IsNothing(Selectedmaterial) Then
If Selectedmaterial.bIsActive Then
MinThicknessTxBx.Text = LenToString(Selectedmaterial.dMinThickness, 3)
MaxThicknessTxBx.Text = LenToString(Selectedmaterial.dMaxThickness, 3)
Else
MinThicknessTxBx.Text = "0"
MaxThicknessTxBx.Text = "0"
End If
End If
End Sub
Private Sub MinThicknessTxBx_EgtClosed(sender As Object, e As EventArgs) Handles MinThicknessTxBx.EgtClosed
Dim SelectedMaterial As MachiningMaterial = MaterialsList.SelectedItem
If MinThicknessTxBx.Text = "0" And MaxThicknessTxBx.Text = "0" Then
SelectedMaterial.bIsActive = False
Else
StringToLen(MinThicknessTxBx.Text, SelectedMaterial.dMinThickness)
SelectedMaterial.bIsActive = True
End If
End Sub
Private Sub MaxThicknessTxBx_EgtClosed(sender As Object, e As EventArgs) Handles MaxThicknessTxBx.EgtClosed
Dim SelectedMaterial As MachiningMaterial = MaterialsList.SelectedItem
If MinThicknessTxBx.Text = "0" And MaxThicknessTxBx.Text = "0" Then
SelectedMaterial.bIsActive = False
Else
StringToLen(MaxThicknessTxBx.Text, SelectedMaterial.dMaxThickness)
SelectedMaterial.bIsActive = True
End If
End Sub
Private Sub ToolCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ToolCmBx.SelectionChanged
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
' Utensile selezionato
If IsNothing(ToolCmBx.SelectedItem) Then Return
Dim SelTool As String = ToolCmBx.SelectedItem.ToString()
' Utensile della lavorazione
Dim CurrTool As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, CurrTool)
' Se uguali non devo fare alcunchè
If String.Compare(SelTool, CurrTool, True) = 0 Then Return
' Imposto il nuovo utensile
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, SelTool)
' rendo default speed, feed e sovramateriali
EgtMdbSetCurrMachiningParam(MCH_MP.SPEED, 0.0)
EgtMdbSetCurrMachiningParam(MCH_MP.FEED, 0.0)
EgtMdbSetCurrMachiningParam(MCH_MP.TIPFEED, 0.0)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTFEED, 0.0)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDFEED, 0.0)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, 9999999.0)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, 9999999.0)
' aggiorno i valori in interfaccia
Dim ToolDouble As Double
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, ToolDouble)
SpeedTxBx.Text = DoubleToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, ToolDouble)
FeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, ToolDouble)
StartFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, ToolDouble)
EndFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, ToolDouble)
TipFeedTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, ToolDouble)
RadOffsetTxBx.Text = LenToString(ToolDouble, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, ToolDouble)
LonOffsetTxBx.Text = LenToString(ToolDouble, 3)
End Sub
End Class
Class MachiningMaterial
Implements INotifyPropertyChanged
' Riferimento alla MainWindow
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private m_nId As Integer
Private m_sName As String
Private m_dMinThickness As Double
Private m_dMaxThickness As Double
Private m_bIsActive As Boolean
Public ReadOnly Property nId As Integer
Get
Return m_nId
End Get
End Property
Public ReadOnly Property Name As String
Get
Return m_sName
End Get
End Property
Public Property dMinThickness As Double
Get
Return m_dMinThickness
End Get
Set(value As Double)
m_dMinThickness = value
End Set
End Property
Public Property dMaxThickness As Double
Get
Return m_dMaxThickness
End Get
Set(value As Double)
m_dMaxThickness = value
End Set
End Property
Public Property bIsActive As Boolean
Get
Return m_bIsActive
End Get
Set(value As Boolean)
If value <> m_bIsActive Then
m_bIsActive = value
NotifyPropertyChanged("bIsActive")
End If
End Set
End Property
Sub New(nId As Integer, sName As String)
m_nId = nId
m_sName = sName
m_dMinThickness = 0
m_dMaxThickness = 0
m_bIsActive = False
End Sub
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Public Sub NotifyPropertyChanged(propName As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
End Sub
End Class