Files
EgtWPFLib5/MachiningDbWindow/MachiningTreeView.vb
T
2025-08-01 08:42:19 +02:00

8190 lines
347 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
''' <summary>
''' Class that represent a FamilyMachining in the treeview.
''' It's an element in the treeview that represent a folder, but also a machining family
''' </summary>
Public Class FamilyMachiningTreeViewItem
Inherits InheritableTreeViewItem
' Actions
Public Shared m_delIsEnabledBtns As Action(Of Boolean, Boolean, Boolean)
Public Shared m_delNotifyPropertyChanged As Action(Of String)
''' <summary>
''' Property that determines if the Machining is selected or not
''' </summary>
Public Overrides Property IsSelected As Boolean
Get
Return m_IsSelected
End Get
Set(value As Boolean)
If value <> m_IsSelected Then
m_IsSelected = value
If value Then
m_delNotifyPropertyChanged(NameOf(LibMap.refMachiningDbWindowVM.ParamPageV))
m_delIsEnabledBtns(True, False, False)
End If
End If
End Set
End Property
Private m_MachiningType As MCH_MY
''' <summary>
''' Property that determines the machining type of the family
''' </summary>
Public Property MachiningType As MCH_MY
Get
Return m_MachiningType
End Get
Set(value As MCH_MY)
m_MachiningType = value
End Set
End Property
' Proprietà che permette di nascondere tutti i parametri di lavorazione grazie al binding ed al converter
Public ReadOnly Property Type As Integer
Get
Return MCH_MY.NONE
End Get
End Property
Public ReadOnly Property FamilyColor As Brush
Get
If m_HaveInvalidMachining Then
Return Brushes.Red
Else
Return Brushes.Transparent
End If
End Get
End Property
Private m_HaveInvalidMachining As Boolean
Friend ReadOnly Property HaveInvalidMachining As Boolean
Get
Return m_HaveInvalidMachining
End Get
End Property
''' <summary>
''' Constructor that receive the name of the FamilyMachiningTreeViewItem, the MachiningType, and set
''' the picture(Folder.png)
''' </summary>
Sub New(Name As String, MachiningType As MCH_MY, Parent As InheritableTreeViewItem)
MyBase.New(Name, Parent)
Me.MachiningType = MachiningType
Me.PictureString = "/Resources/TreeView/Folder.png"
' Aggiungo il gestore d'evento di modifica lista degli item per poter mettere e togliere il pallino che indica se ci sono utensili da attrezzare
VerifyMachiningValidity()
End Sub
Public Sub VerifyMachiningValidity()
m_HaveInvalidMachining = False
For Index = 0 To Items.Count - 1
Dim ToolItem As MachiningTreeViewItem = DirectCast(Items(Index), MachiningTreeViewItem)
If Not ToolItem.m_IsValidTool Then
m_HaveInvalidMachining = True
End If
Next
NotifyPropertyChanged(NameOf(FamilyColor))
End Sub
End Class
''' <summary>
''' Class that represent a Machining in the treeview.
''' It's an element in the treeview that represent the child of familymachiningtreeviewitem, but also the class that read and write in the machining's database
''' </summary>
Public Class MachiningTreeViewItem
Inherits InheritableTreeViewItem
' Riferimento alla lista utensili
Public Shared sh_SelMach As MachiningTreeViewItem
' Actions
Public Shared m_delRemoveMachining As Action(Of MachiningTreeViewItem)
Public Shared m_delErrorOnMachining As Action(Of Boolean)
Public Shared m_delIsEnabledBtns As Action(Of Boolean, Boolean, Boolean)
Public Shared m_delNotifyPropertyChanged As Action(Of String)
Public Shared m_delGetSelectedMachining As Func(Of MachiningTreeViewItem)
' Events
Public Event m_IsModified(bIsModified As Boolean)
Public Event m_ErrorOnOperation(bErrorOnOperation As Boolean)
Public Shared m_MatType As MaterialType = Nothing
Public Property MatType As MaterialType
Get
Return m_MatType
End Get
Set(value As MaterialType)
m_MatType = value
End Set
End Property
' Variabile che viene settata da EgtCAM5 per la visibilità delle SystemNotes nelle Operazioni
Public Shared m_MPE_SysNotes_Visibility As Boolean
' Variabile che stabilisce se l'oggetto MachiningTreeViewItem è stato creato per il Db Lavorazioni o per le Operazioni
Friend m_CurrMachTreeViewItemType As MachTreeViewItemType = MachTreeViewItemType.MACH_DB
Public Enum MachTreeViewItemType As Integer
MACH_DB = 0
OPERATION = 1
End Enum
#Region "Parametri Expander sistemare"
'Private m_Type As Integer
'''' <summary>
'''' Property that read from the Machining's database the Type
'''' </summary>
'Public ReadOnly Property Type As Integer
' Get
' Return m_Type
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox WorkSide
'Private m_WorkSideList As ObservableCollection(Of Object)
'Public ReadOnly Property WorkSideList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.MORTISING
' m_WorkSideList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_MORTISE_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
' New IdNameStruct(MCH_MORTISE_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
' Case MCH_MY.CHISELING
' m_WorkSideList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_CHISEL_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
' New IdNameStruct(MCH_CHISEL_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
' Case Else
' m_WorkSideList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_WS.CENTER, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAW_WS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
' New IdNameStruct(MCH_SAW_WS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
' End Select
' Return m_WorkSideList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox HeadSide
'Private m_HeadSideList As New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_HS.LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 121)),
' New IdNameStruct(MCH_SAW_HS.RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 122))})
'Public ReadOnly Property HeadSideList As ObservableCollection(Of Object)
' Get
' Return m_HeadSideList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox LeadInType
'Private m_LeadInTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property LeadInTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.SAWING
' m_LeadInTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_LI.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAW_LI.STRICT, EgtMsg(MSG_MACHININGSDBPAGE + 125)),
' New IdNameStruct(MCH_SAW_LI.OUT, EgtMsg(MSG_MACHININGSDBPAGE + 126)),
' New IdNameStruct(MCH_SAW_LI.EXT_CENT, EgtMsg(MSG_MACHININGSDBPAGE + 127)),
' New IdNameStruct(MCH_SAW_LI.EXT_OUT, EgtMsg(MSG_MACHININGSDBPAGE + 128))})
' Case MCH_MY.MILLING
' m_LeadInTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_MIL_LI.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_MIL_LI.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
' New IdNameStruct(MCH_MIL_LI.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
' New IdNameStruct(MCH_MIL_LI.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_MIL_LI.HELIX, EgtMsg(MSG_MACHININGSDBPAGE + 133))})
' Case MCH_MY.POCKETING
' m_LeadInTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_POCK_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_POCK_LI.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
' New IdNameStruct(MCH_POCK_LI.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_POCK_LI.HELIX, EgtMsg(MSG_MACHININGSDBPAGE + 133))})
' Case MCH_MY.SURFFINISHING
' m_LeadInTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SURFFIN_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_SURFFIN_LI.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_SURFFIN_LI.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131))})
' Case MCH_MY.WATERJETTING
' m_LeadInTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_WATERJET_LI.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_WATERJET_LI.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_WATERJET_LI.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131))})
' Case Else
' m_LeadInTypeList = Nothing
' End Select
' Return m_LeadInTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox ExtLinkType
'Private m_ExtLinkTypeList As New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_EL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAW_EL.EXT_PREV, EgtMsg(MSG_MACHININGSDBPAGE + 134)),
' New IdNameStruct(MCH_SAW_EL.EXT_NEXT, EgtMsg(MSG_MACHININGSDBPAGE + 135)),
' New IdNameStruct(MCH_SAW_EL.EXT_BOTH, EgtMsg(MSG_MACHININGSDBPAGE + 136))})
'Public ReadOnly Property ExtLinkTypeList As ObservableCollection(Of Object)
' Get
' Return m_ExtLinkTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox LeadOutType
'Private m_LeadOutTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property LeadOutTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.SAWING
' m_LeadOutTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_LO.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAW_LO.STRICT, EgtMsg(MSG_MACHININGSDBPAGE + 125)),
' New IdNameStruct(MCH_SAW_LO.EXT_CENT, EgtMsg(MSG_MACHININGSDBPAGE + 127)),
' New IdNameStruct(MCH_SAW_LO.OUT, EgtMsg(MSG_MACHININGSDBPAGE + 126)),
' New IdNameStruct(MCH_SAW_LO.EXT_OUT, EgtMsg(MSG_MACHININGSDBPAGE + 128))})
' Case MCH_MY.MILLING
' m_LeadOutTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_MIL_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_MIL_LO.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_MIL_LO.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
' New IdNameStruct(MCH_MIL_LO.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132)),
' New IdNameStruct(MCH_MIL_LO.AS_LI, EgtMsg(MSG_MACHININGSDBPAGE + 137))})
' Case MCH_MY.POCKETING
' m_LeadOutTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_POCK_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_POCK_LO.GLIDE, EgtMsg(MSG_MACHININGSDBPAGE + 132))})
' Case MCH_MY.SURFFINISHING
' m_LeadOutTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SURFFIN_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_SURFFIN_LO.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_SURFFIN_LO.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
' New IdNameStruct(MCH_SURFFIN_LO.AS_LI, EgtMsg(MSG_MACHININGSDBPAGE + 137))})
' Case MCH_MY.WATERJETTING
' m_LeadOutTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_WATERJET_LO.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 129)),
' New IdNameStruct(MCH_WATERJET_LO.LINEAR, EgtMsg(MSG_MACHININGSDBPAGE + 130)),
' New IdNameStruct(MCH_WATERJET_LO.TANGENT, EgtMsg(MSG_MACHININGSDBPAGE + 131)),
' New IdNameStruct(MCH_WATERJET_LO.AS_LI, EgtMsg(MSG_MACHININGSDBPAGE + 137))})
' Case Else
' m_LeadOutTypeList = Nothing
' End Select
' Return m_LeadOutTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox CurveUse
'Private m_CurveUseList As ObservableCollection(Of Object)
'Public ReadOnly Property CurveUseList As ObservableCollection(Of Object)
' Get
' If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWINGONARCS, 0, IniFile.m_sCurrMachIniFilePath) <> 0 Then
' m_CurveUseList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(MSG_MACHININGSDBPAGE + 138)),
' New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(MSG_MACHININGSDBPAGE + 139)),
' New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(MSG_MACHININGSDBPAGE + 140)),
' New IdNameStruct(MCH_SAW_CU.KEEP, EgtMsg(MSG_MACHININGSDBPAGE + 141))})
' Else
' m_CurveUseList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(MSG_MACHININGSDBPAGE + 138)),
' New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(MSG_MACHININGSDBPAGE + 139)),
' New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(MSG_MACHININGSDBPAGE + 140))})
' End If
' Return m_CurveUseList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox StepType
'Private m_StepTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property StepTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.SAWING
' m_StepTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAW_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_SAW_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
' New IdNameStruct(MCH_SAW_ST.TOANDFROM, EgtMsg(MSG_MACHININGSDBPAGE + 145))})
' Case MCH_MY.MILLING
' m_StepTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_MIL_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_MIL_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
' New IdNameStruct(MCH_MIL_ST.SPIRAL, EgtMsg(MSG_MACHININGSDBPAGE + 144))})
' Case MCH_MY.MORTISING
' m_StepTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_MORTISE_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_MORTISE_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143))})
' Case MCH_MY.SAWROUGHING, MCH_MY.SAWFINISHING
' m_StepTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAWROU_ST.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_SAWROU_ST.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143))})
' Case Else
' m_StepTypeList = Nothing
' End Select
' Return m_StepTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox SubType
'Private m_SubTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property SubTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.POCKETING
' m_SubTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_POCK_SUB.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_POCK_SUB.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
' New IdNameStruct(MCH_POCK_SUB.SPIRALIN, EgtMsg(MSG_MACHININGSDBPAGE + 148)),
' New IdNameStruct(MCH_POCK_SUB.SPIRALOUT, EgtMsg(MSG_MACHININGSDBPAGE + 149))})
' Case MCH_MY.SAWFINISHING
' m_SubTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAWFIN_SUB.ALONG, EgtMsg(MSG_MACHININGSDBPAGE + 146)),
' New IdNameStruct(MCH_SAWFIN_SUB.ACROSS, EgtMsg(MSG_MACHININGSDBPAGE + 147))})
' Case MCH_MY.GENMACHINING
' Dim Index = 1
' Dim sGenScript As String = String.Empty
' m_SubTypeList = New ObservableCollection(Of Object)
' While EgtUILib.GetPrivateProfileString(S_GENMACHINING, K_GENSCRIPT & Index, "", sGenScript, IniFile.m_sCurrMachIniFilePath) > 0
' m_SubTypeList.Add(New IdNameStruct(Index, sGenScript))
' Index += 1
' End While
' If m_SubTypeList.Count = 0 Then
' m_SubTypeList.Add(New IdNameStruct(0, ""))
' End If
' Case MCH_MY.SURFFINISHING
' m_SubTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SURFFIN_SUB.ZIGZAG, EgtMsg(MSG_MACHININGSDBPAGE + 142)),
' New IdNameStruct(MCH_SURFFIN_SUB.ONEWAY, EgtMsg(MSG_MACHININGSDBPAGE + 143)),
' New IdNameStruct(MCH_SURFFIN_SUB.SPIRALIN, EgtMsg(MSG_MACHININGSDBPAGE + 148)),
' New IdNameStruct(MCH_SURFFIN_SUB.SPIRALOUT, EgtMsg(MSG_MACHININGSDBPAGE + 149))})
' Case Else
' m_SubTypeList = Nothing
' End Select
' Return m_SubTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox LeadLinkType
'Private m_LeadLinkTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property LeadLinkTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.SAWROUGHING
' m_LeadLinkTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAWROU_LL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAWROU_LL.EXT, EgtMsg(MSG_MACHININGSDBPAGE + 123))})
' Case MCH_MY.SAWFINISHING
' m_LeadLinkTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SAWFIN_LL.STD, EgtMsg(MSG_MACHININGSDBPAGE + 124)),
' New IdNameStruct(MCH_SAWFIN_LL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120)),
' New IdNameStruct(MCH_SAWFIN_LL.EXT, EgtMsg(MSG_MACHININGSDBPAGE + 123))})
' Case MCH_MY.SURFFINISHING
' m_LeadLinkTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SURFFIN_LL.STD, EgtMsg(MSG_MACHININGSDBPAGE + 124)),
' New IdNameStruct(MCH_SURFFIN_LL.CENT, EgtMsg(MSG_MACHININGSDBPAGE + 120))})
' Case Else
' m_LeadLinkTypeList = Nothing
' End Select
' Return m_LeadLinkTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox FaceUseType
'Private m_FaceUseTypeList As ObservableCollection(Of Object)
'Public ReadOnly Property FaceUseTypeList As ObservableCollection(Of Object)
' Get
' Select Case m_Type
' Case MCH_MY.MORTISING
' m_FaceUseTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 153)),
' New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 154))})
' Case Else
' m_FaceUseTypeList = New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 153)),
' New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 154)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTHO_CONT, EgtMsg(MSG_MACHININGSDBPAGE + 163) & EgtMsg(MSG_MACHININGSDBPAGE + 155)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_DOWN, EgtMsg(MSG_MACHININGSDBPAGE + 157) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_TOP, EgtMsg(MSG_MACHININGSDBPAGE + 158) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_FRONT, EgtMsg(MSG_MACHININGSDBPAGE + 159) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_BACK, EgtMsg(MSG_MACHININGSDBPAGE + 160) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_LEFT, EgtMsg(MSG_MACHININGSDBPAGE + 161) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_RIGHT, EgtMsg(MSG_MACHININGSDBPAGE + 162) & EgtMsg(MSG_MACHININGSDBPAGE + 156)),
' New IdNameStruct(MCH_MIL_FU.ORTUP_CONT, EgtMsg(MSG_MACHININGSDBPAGE + 163) & EgtMsg(MSG_MACHININGSDBPAGE + 156))})
' End Select
' Return m_FaceUseTypeList
' End Get
'End Property
''ObservableCollection che contiene le variabili per il combobox SolChoiceType
'Private m_SolChoiceTypeList As New ObservableCollection(Of Object)(
' {New IdNameStruct(MCH_SCC.NONE, EgtMsg(MSG_MACHININGSDBPAGE + 105)),
' New IdNameStruct(MCH_SCC.STD, EgtMsg(MSG_MACHININGSDBPAGE + 106)),
' New IdNameStruct(MCH_SCC.OPPOSITE, EgtMsg(MSG_MACHININGSDBPAGE + 107)),
' New IdNameStruct(MCH_SCC.ADIR_XP, EgtMsg(MSG_MACHININGSDBPAGE + 108)),
' New IdNameStruct(MCH_SCC.ADIR_XM, EgtMsg(MSG_MACHININGSDBPAGE + 109)),
' New IdNameStruct(MCH_SCC.ADIR_YP, EgtMsg(MSG_MACHININGSDBPAGE + 110)),
' New IdNameStruct(MCH_SCC.ADIR_YM, EgtMsg(MSG_MACHININGSDBPAGE + 111)),
' New IdNameStruct(MCH_SCC.ADIR_ZP, EgtMsg(MSG_MACHININGSDBPAGE + 112)),
' New IdNameStruct(MCH_SCC.ADIR_ZM, EgtMsg(MSG_MACHININGSDBPAGE + 113)),
' New IdNameStruct(MCH_SCC.ADIR_NEAR, EgtMsg(MSG_MACHININGSDBPAGE + 114)),
' New IdNameStruct(MCH_SCC.ADIR_FAR, EgtMsg(MSG_MACHININGSDBPAGE + 115))})
'Public ReadOnly Property SolChoiceTypeList As ObservableCollection(Of Object)
' Get
' Return m_SolChoiceTypeList
' End Get
'End Property
'Private m_UpdateMachiningBtnIsEnabled As Boolean
'Public ReadOnly Property UpdateMachiningBtnIsEnabled As Boolean
' Get
' Return m_IsModifiedInvert OrElse m_IsModifiedSelectedWorkSide OrElse m_IsModifiedSelectedHeadSide OrElse m_IsModifiedSelectedLeadInType OrElse m_IsModifiedSelectedExtLinkType _
' OrElse m_IsModifiedSelectedLeadOutType OrElse m_IsModifiedSelectedCurveUse OrElse m_IsModifiedSelectedStepType OrElse m_IsModifiedSelectedSubType OrElse m_IsModifiedSelectedLeadLinkType _
' OrElse m_IsModifiedSpeed OrElse m_IsModifiedFeed OrElse m_IsModifiedStartFeed OrElse m_IsModifiedEndFeed OrElse m_IsModifiedTipFeed OrElse m_IsModifiedOffSr OrElse m_IsModifiedOffSl _
' OrElse m_IsModifiedSideAngle OrElse m_IsModifiedApprox OrElse m_IsModifiedStartPos OrElse m_IsModifiedStartSlowLen OrElse m_IsModifiedEndSlowLen OrElse m_IsModifiedThrouAddLen _
' OrElse m_IsModifiedStepPar OrElse m_IsModifiedReturnPos OrElse m_IsModifiedOverLap OrElse m_IsModifiedTabLen OrElse m_IsModifiedTabDist OrElse m_IsModifiedTabHeight _
' OrElse m_IsModifiedTabAngle OrElse m_IsModifiedLiTang OrElse m_IsModifiedLiPerp OrElse m_IsModifiedLiElev OrElse m_IsModifiedLiCompLen OrElse m_IsModifiedLoTang OrElse m_IsModifiedLoPerp _
' OrElse m_IsModifiedLoElev OrElse m_IsModifiedLoCompLen OrElse m_IsModifiedStartAddLen OrElse m_IsModifiedEndAddLen OrElse m_IsModifiedStepExtArc OrElse m_IsModifiedStepIntArc _
' OrElse m_IsModifiedSideStep OrElse m_IsModifiedVertFeed OrElse m_IsModifiedDepthStr OrElse m_IsModifiedUserNotes OrElse m_IsModifiedBackFeed OrElse m_IsModifiedStepBack _
' OrElse m_IsModifiedStepSideAng OrElse m_IsModifiedStepSideAngBack OrElse m_IsModifiedOscEnable OrElse m_IsModifiedOscFlatLen OrElse m_IsModifiedOscHeight OrElse m_IsModifiedOscRampLen
' End Get
'End Property
Private m_bPreviewTool As Boolean = False
Private m_nPtEntId As Integer = GDB_ID.NULL
Public Property ViewTool As Boolean
Get
Return m_bPreviewTool
End Get
Set(value As Boolean)
If value Then
EgtPreparePreviewMachiningTool()
m_nPtEntId = EgtPreviewMachiningTool(GDB_ID.NULL, MCH_PTM.AFTER)
m_bPreviewTool = True
Else
EgtRemovePreviewMachiningTool()
m_bPreviewTool = False
End If
EgtDraw()
NotifyPropertyChanged("ViewTool")
End Set
End Property
#End Region
#Region "Machining Property"
' Variabile che indica quando non lanciare l'update dei parametri dell'utensile col comando automatico
' (utile per evitare di rifare l'update più volte quando vengono caricati i parametri alla selezione di un utensile)
Private Shared m_SuspendAutoToolParamUpdate As Boolean = False
Public Shared Property SuspendAutoToolParamUpdate As Boolean
Get
Return m_SuspendAutoToolParamUpdate
End Get
Set(value As Boolean)
m_SuspendAutoToolParamUpdate = value
End Set
End Property
' Variabile che indica se la lavorazione è appena stata creata
Dim m_NewMachining As Boolean = False
Public Property NewMachining As Boolean
Get
Return m_NewMachining
End Get
Set(value As Boolean)
m_NewMachining = value
End Set
End Property
''' <summary>
''' Property that determines if the Machining is selected or not
''' </summary>
Public Overrides Property IsSelected As Boolean
Get
Return m_IsSelected
End Get
Set(value As Boolean)
If (value <> m_IsSelected) Then
m_IsSelected = value
If value Then
EgtSetCurrentContext(MachiningDbWindowVM.m_ProjectSceneContext)
EgtMdbSetCurrMachining(Me.Name)
ReadMachiningParam()
IsModifiedReset()
NotifyPropertyChanged(NameOf(Type))
'm_delNotifyPropertyChanged("ParamPageV")
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
Else
WriteMachiningParam()
If EgtMdbIsCurrMachiningModified() Or m_IsModifiedName Or Me.NewMachining Then
Select Case MsgBox(EgtMsg(31401), MsgBoxStyle.YesNo, EgtMsg(31402))
'Select Case EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(31401), EgtMsg(31402), MessageBoxButton.YesNo) ' Salvare la lavorazione modificata? SALVA
Case MsgBoxResult.Yes
m_NewMachining = False
m_Name = m_Name.Trim()
WriteMachiningName()
EgtMdbSaveCurrMachining()
Case MsgBoxResult.No
If m_NewMachining Then
m_delRemoveMachining(Me)
ElseIf m_IsModifiedName Then
Dim DbName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, DbName)
NamePar = DbName
End If
End Select
End If
End If
NotifyPropertyChanged(NameOf(IsSelected))
End If
End Set
End Property
Friend Sub ResetSelected()
m_IsSelected = False
NotifyPropertyChanged(NameOf(IsSelected))
End Sub
Private m_IsModifiedInvert As Boolean = False
Private m_Invert As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Invert
''' </summary>
Public Property Invert As Boolean
Get
Return m_Invert
End Get
Set(value As Boolean)
If value <> m_Invert Then
m_Invert = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbInvert As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, DbInvert)
m_IsModifiedInvert = value <> DbInvert
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(Invert))
Else
Dim OrigInvert As Boolean = False
EgtGetMachiningParam(MCH_MP.INVERT, OrigInvert)
m_IsModifiedInvert = value <> OrigInvert
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLeaveTab As Boolean = False
Private m_LeaveTab As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Leave Tab
''' </summary>
Public Property LeaveTab As Boolean
Get
Return m_LeaveTab
End Get
Set(value As Boolean)
If value <> m_LeaveTab Then
If m_MatType = MaterialType.WOOD Then
If Not IsNothing(OscEnable) AndAlso OscEnable Then
' L'abilitazione di {0} disabiliterà {1}. Procedere? - Tab - Oscillazione
Dim sMsg As String = String.Format(EgtMsg(31419), EgtMsg(31252), EgtMsg(31382))
' Chiedo autorizzazione a procedere : ATTENZIONE
If MessageBox.Show(sMsg, EgtMsg(31614), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then
'If EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(31614), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then
Return
Else
OscEnable = Not OscEnable
End If
End If
End If
m_LeaveTab = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLeaveTab As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, DbLeaveTab)
m_IsModifiedLeaveTab = value <> DbLeaveTab
If m_LeaveTab AndAlso
(Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabLen) Or
Not GetValidationError("TabDist") Or GetNonNumericTextBox(m_TabDist) Or
Not GetValidationError("TabHeight") Or GetNonNumericTextBox(m_TabHeight) Or
Not GetValidationError("TabAngle") Or GetNonNumericTextBox(m_TabAngle) Or
Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMin) Or
Not GetValidationError("TabMax") Or GetNonNumericTextBox(m_TabMax)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
' resetto gli errori presenti sui parametri Tab per poter abilitare i bottoni e la selezione di altre Lavorazioni
ResetTabErrors()
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigLeaveTab As Boolean = False
EgtGetMachiningParam(MCH_MP.LEAVETAB, OrigLeaveTab)
m_IsModifiedLeaveTab = value <> OrigLeaveTab
If m_LeaveTab AndAlso
(Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabLen) Or
Not GetValidationError("TabDist") Or GetNonNumericTextBox(m_TabDist) Or
Not GetValidationError("TabHeight") Or GetNonNumericTextBox(m_TabHeight) Or
Not GetValidationError("TabAngle") Or GetNonNumericTextBox(m_TabAngle) Or
Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMin) Or
Not GetValidationError("TabMax") Or GetNonNumericTextBox(m_TabMax)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
' resetto gli errori presenti sui parametri Tab per poter abilitare i bottoni e la selezione di altre Lavorazioni
ResetTabErrors()
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(LeaveTab))
End If
End Set
End Property
Private m_IsModifiedToolInvert As Boolean = False
Private m_ToolInvert As Boolean = False
''' <summary>
''' Property that read and write to the Machining's database the Invert
''' </summary>
Public Property InvertToolDir As Boolean
Get
Return m_ToolInvert
End Get
Set(value As Boolean)
If value <> m_ToolInvert Then
m_ToolInvert = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbToolInvert As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.TOOLINVERT, DbToolInvert)
m_IsModifiedToolInvert = value <> DbToolInvert
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(InvertToolDir))
Else
Dim OrigToolInvert As Boolean = False
EgtGetMachiningParam(MCH_MP.TOOLINVERT, OrigToolInvert)
m_IsModifiedToolInvert = value <> OrigToolInvert
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_Type As MCH_MY
''' <summary>
''' Property that read from the Machining's database the Type
''' </summary>
Public ReadOnly Property Type As Integer
Get
Return m_Type
End Get
End Property
'ObservableCollection che contiene le variabili per il combobox WorkSide
Private m_WorkSideList As ObservableCollection(Of Object)
Public ReadOnly Property WorkSideList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.MORTISING
m_WorkSideList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MORTISE_WS.LEFT, EgtMsg(31321)), ' Sinistra
New IdNameStruct(MCH_MORTISE_WS.RIGHT, EgtMsg(31322))}) ' Destra
Case MCH_MY.CHISELING
m_WorkSideList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_CHISEL_WS.LEFT, EgtMsg(31321)), ' Sinistra
New IdNameStruct(MCH_CHISEL_WS.RIGHT, EgtMsg(31322))}) ' Destra
Case Else
m_WorkSideList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_WS.CENTER, EgtMsg(31320)), ' Centro
New IdNameStruct(MCH_SAW_WS.LEFT, EgtMsg(31321)), ' Sinistra
New IdNameStruct(MCH_SAW_WS.RIGHT, EgtMsg(31322))}) ' Destra
End Select
Return m_WorkSideList
End Get
End Property
Private m_IsModifiedSelectedWorkSide As Boolean = False
Private m_SelectedWorkSide As Integer
' Proprietà che indica il WorkSide (MCH_SAW_WS)
Public Property SelectedWorkSide As Integer
Get
If IsNothing(WorkSideList) Then Return Nothing
Return m_SelectedWorkSide
End Get
Set(value As Integer)
If value <> m_SelectedWorkSide Then
If Not IsNothing(WorkSideList) Then
m_SelectedWorkSide = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbWorkSide As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, DbWorkSide)
DbWorkSide = IdNameStruct.IndFromId(DbWorkSide, WorkSideList)
m_IsModifiedSelectedWorkSide = value <> DbWorkSide
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedWorkSide))
Else
Dim OrigWorkSide As Integer = 0
EgtGetMachiningParam(MCH_MP.WORKSIDE, OrigWorkSide)
OrigWorkSide = IdNameStruct.IndFromId(OrigWorkSide, WorkSideList)
m_IsModifiedSelectedWorkSide = value <> OrigWorkSide
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox HeadSide
Private m_HeadSideList As New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAW_HS.LEFT, EgtMsg(31321)), New IdNameStruct(MCH_SAW_HS.RIGHT, EgtMsg(31322))}) ' Sinistra - Destra
Public ReadOnly Property HeadSideList As ObservableCollection(Of Object)
Get
Return m_HeadSideList
End Get
End Property
Private m_IsModifiedSelectedHeadSide As Boolean = False
Private m_SelectedHeadSide As Integer
' Proprietà che indica il HeadSide (MCH_SAW_HS)
Public Property SelectedHeadSide As Integer
Get
If IsNothing(HeadSideList) Then Return Nothing
Return m_SelectedHeadSide
End Get
Set(value As Integer)
If value <> m_SelectedHeadSide Then
If Not IsNothing(HeadSideList) Then
m_SelectedHeadSide = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbHeadSide As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, DbHeadSide)
DbHeadSide = IdNameStruct.IndFromId(DbHeadSide, HeadSideList)
m_IsModifiedSelectedHeadSide = value <> DbHeadSide
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedHeadSide))
Else
Dim OrigHeadSide As Integer = 0
EgtGetMachiningParam(MCH_MP.HEADSIDE, OrigHeadSide)
OrigHeadSide = IdNameStruct.IndFromId(OrigHeadSide, HeadSideList)
m_IsModifiedSelectedHeadSide = value <> OrigHeadSide
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadInType
Private m_LeadInTypeList As ObservableCollection(Of Object)
Public ReadOnly Property LeadInTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_LI.CENT, EgtMsg(31320)), ' Centro
New IdNameStruct(MCH_SAW_LI.STRICT, EgtMsg(31325)), ' Interno
New IdNameStruct(MCH_SAW_LI.OUT, EgtMsg(31326)), ' Esterno
New IdNameStruct(MCH_SAW_LI.EXT_CENT, EgtMsg(31327)), ' Esteso centrato
New IdNameStruct(MCH_SAW_LI.EXT_OUT, EgtMsg(31328))}) ' Esteso esternos
Case MCH_MY.MILLING
If m_MatType = MaterialType.STONE Then
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LI.GLIDE, EgtMsg(31332))}) ' Inseguimento
Else
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LI.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_MIL_LI.TANGENT, EgtMsg(31331)), ' Tangente
New IdNameStruct(MCH_MIL_LI.GLIDE, EgtMsg(31332)), ' Inseguimento
New IdNameStruct(MCH_MIL_LI.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_MIL_LI.HELIX, EgtMsg(31333)), ' Elica
New IdNameStruct(MCH_MIL_LI.TG_PERP, EgtMsg(31388))}) ' Tang+Perp
End If
Case MCH_MY.POCKETING
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_POCK_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_POCK_LI.GLIDE, EgtMsg(31332)), ' Inseguimento
New IdNameStruct(MCH_POCK_LI.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_POCK_LI.HELIX, EgtMsg(31333))}) ' Elica
Case MCH_MY.SURFFINISHING
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFFIN_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_SURFFIN_LI.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_SURFFIN_LI.TANGENT, EgtMsg(31331))}) ' Tangente
Case MCH_MY.SURFROUGHING
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFROU_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_SURFROU_LI.GLIDE, EgtMsg(31332)), ' Inseguimento
New IdNameStruct(MCH_SURFROU_LI.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_SURFROU_LI.HELIX, EgtMsg(31333))}) ' Elica
Case MCH_MY.WATERJETTING
m_LeadInTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LI.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_MIL_LI.TANGENT, EgtMsg(31331))}) ' Tangente
Case Else
m_LeadInTypeList = Nothing
End Select
Return m_LeadInTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadInType As Boolean = False
Private m_SelectedLeadInType As Integer
' Proprietà che indica il LeadInType
Public Property SelectedLeadInType As Integer
Get
If IsNothing(LeadInTypeList) Then Return Nothing
Return m_SelectedLeadInType
End Get
Set(value As Integer)
If value <> m_SelectedLeadInType Then
If Not IsNothing(LeadInTypeList) Then
m_SelectedLeadInType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLeadInType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, DbLeadInType)
DbLeadInType = IdNameStruct.IndFromId(DbLeadInType, LeadInTypeList)
m_IsModifiedSelectedLeadInType = value <> DbLeadInType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedLeadInType))
Else
Dim OrigLeadInType As Integer = 0
EgtGetMachiningParam(MCH_MP.LEADINTYPE, OrigLeadInType)
OrigLeadInType = IdNameStruct.IndFromId(OrigLeadInType, LeadInTypeList)
m_IsModifiedSelectedLeadInType = value <> OrigLeadInType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox ExtLinkType
Private m_ExtLinkTypeList As New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAW_EL.CENT, EgtMsg(31320)), New IdNameStruct(MCH_SAW_EL.EXT_PREV, EgtMsg(31334)), New IdNameStruct(MCH_SAW_EL.EXT_NEXT, EgtMsg(31335)), New IdNameStruct(MCH_SAW_EL.EXT_BOTH, EgtMsg(31336))}) ' Centro - stendi precedente - Estendi successivo - Estendi entrambi
Public ReadOnly Property ExtLinkTypeList As ObservableCollection(Of Object)
Get
Return m_ExtLinkTypeList
End Get
End Property
Private m_IsModifiedSelectedExtLinkType As Boolean = False
Private m_SelectedExtLinkType As Integer
' Proprietà che indica il ExtLinkType (MCH_SAW_EL)
Public Property SelectedExtLinkType As Integer
Get
If IsNothing(ExtLinkTypeList) Then Return Nothing
Return m_SelectedExtLinkType
End Get
Set(value As Integer)
If value <> m_SelectedExtLinkType Then
If Not IsNothing(ExtLinkTypeList) Then
m_SelectedExtLinkType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbExtLinkType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, DbExtLinkType)
DbExtLinkType = IdNameStruct.IndFromId(DbExtLinkType, ExtLinkTypeList)
m_IsModifiedSelectedExtLinkType = value <> DbExtLinkType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedExtLinkType))
Else
Dim OrigExtLinkType As Integer = 0
EgtGetMachiningParam(MCH_MP.EXTLINKTYPE, OrigExtLinkType)
OrigExtLinkType = IdNameStruct.IndFromId(OrigExtLinkType, ExtLinkTypeList)
m_IsModifiedSelectedExtLinkType = value <> OrigExtLinkType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadOutType
Private m_LeadOutTypeList As ObservableCollection(Of Object)
Public ReadOnly Property LeadOutTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_LO.CENT, EgtMsg(31320)), ' Centro
New IdNameStruct(MCH_SAW_LO.STRICT, EgtMsg(31325)), ' Interno
New IdNameStruct(MCH_SAW_LO.OUT, EgtMsg(31326)), ' Esterno
New IdNameStruct(MCH_SAW_LO.EXT_CENT, EgtMsg(31327)), ' Esteso centrato
New IdNameStruct(MCH_SAW_LO.EXT_OUT, EgtMsg(31328))}) ' Esteso esterno
Case MCH_MY.MILLING
If m_MatType = MaterialType.STONE Then
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LO.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LO.GLIDE, EgtMsg(31332)), ' Inseguimento
New IdNameStruct(MCH_MIL_LO.AS_LI, EgtMsg(31337))}) ' Come attacco
Else
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LO.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LO.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_MIL_LO.TANGENT, EgtMsg(31331)), ' Tangente
New IdNameStruct(MCH_MIL_LO.GLIDE, EgtMsg(31332)), ' Inseguimento
New IdNameStruct(MCH_MIL_LO.AS_LI, EgtMsg(31337)), ' Come attacco
New IdNameStruct(MCH_MIL_LO.PERP_TG, EgtMsg(31389))}) ' Perp+Tang
End If
Case MCH_MY.POCKETING
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_POCK_LO.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_POCK_LO.GLIDE, EgtMsg(31332))}) ' Inseguimento
Case MCH_MY.SURFFINISHING
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFFIN_LO.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_SURFFIN_LO.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_SURFFIN_LO.TANGENT, EgtMsg(31331)), ' Tangente
New IdNameStruct(MCH_SURFFIN_LO.AS_LI, EgtMsg(31337))}) ' Come attacco
Case MCH_MY.SURFROUGHING
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFROU_LO.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_SURFROU_LO.GLIDE, EgtMsg(31332))}) ' Inseguimento
Case MCH_MY.WATERJETTING
m_LeadOutTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_LI.NONE, EgtMsg(31329)), ' Nessuno
New IdNameStruct(MCH_MIL_LI.LINEAR, EgtMsg(31330)), ' Lineare
New IdNameStruct(MCH_MIL_LI.TANGENT, EgtMsg(31331)), ' Tangente
New IdNameStruct(MCH_MIL_LO.AS_LI, EgtMsg(31337))}) ' Come attacco
Case Else
m_LeadOutTypeList = Nothing
End Select
Return m_LeadOutTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadOutType As Boolean = False
Private m_SelectedLeadOutType As Integer
' Proprietà che indica il LeadOutType
Public Property SelectedLeadOutType As Integer
Get
If IsNothing(LeadOutTypeList) Then Return Nothing
Return m_SelectedLeadOutType
End Get
Set(value As Integer)
If value <> m_SelectedLeadOutType Then
If Not IsNothing(LeadOutTypeList) Then
m_SelectedLeadOutType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLeadOutType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, DbLeadOutType)
DbLeadOutType = IdNameStruct.IndFromId(DbLeadOutType, LeadOutTypeList)
m_IsModifiedSelectedLeadOutType = value <> DbLeadOutType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedLeadOutType))
Else
Dim OrigLeadOutType As Integer = 0
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, OrigLeadOutType)
OrigLeadOutType = IdNameStruct.IndFromId(OrigLeadOutType, LeadOutTypeList)
m_IsModifiedSelectedLeadOutType = value <> OrigLeadOutType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox CurveUse
Private m_CurveUseList As ObservableCollection(Of Object)
Public ReadOnly Property CurveUseList As ObservableCollection(Of Object)
Get
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWINGONARCS, 0, MachiningDbWindowVM.m_sMachineIniPath) <> 0 Then
m_CurveUseList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(31338)), ' Salta
New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(31339)), ' Approssima
New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(31340)), ' Convesso
New IdNameStruct(MCH_SAW_CU.KEEP, EgtMsg(31341))}) ' Mantieni
Else
m_CurveUseList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_CU.SKIP, EgtMsg(31338)), ' Salta
New IdNameStruct(MCH_SAW_CU.APPROX, EgtMsg(31339)), ' Approssima
New IdNameStruct(MCH_SAW_CU.CONVEX, EgtMsg(31340))}) ' Convesso
End If
Return m_CurveUseList
End Get
End Property
Private m_IsModifiedSelectedCurveUse As Boolean = False
Private m_SelectedCurveUse As Integer
' Proprietà che indica il CurveUse (MCH_SAW_CU)
Public Property SelectedCurveUse As Integer
Get
If IsNothing(CurveUseList) Then Return Nothing
Return m_SelectedCurveUse
End Get
Set(value As Integer)
If value <> m_SelectedCurveUse Then
If Not IsNothing(CurveUseList) Then
m_SelectedCurveUse = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbCurveUse As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, DbCurveUse)
DbCurveUse = IdNameStruct.IndFromId(DbCurveUse, CurveUseList)
m_IsModifiedSelectedCurveUse = value <> DbCurveUse
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedCurveUse))
Else
Dim OrigCurveUse As Integer = 0
EgtGetMachiningParam(MCH_MP.CURVEUSE, OrigCurveUse)
OrigCurveUse = IdNameStruct.IndFromId(OrigCurveUse, CurveUseList)
m_IsModifiedSelectedCurveUse = value <> OrigCurveUse
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox StepType
Private m_StepTypeList As ObservableCollection(Of Object)
Public ReadOnly Property StepTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.SAWING
m_StepTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAW_ST.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_SAW_ST.ONEWAY, EgtMsg(31343)), ' OneWay
New IdNameStruct(MCH_SAW_ST.TOANDFROM, EgtMsg(31345))}) ' Va e torna
Case MCH_MY.MILLING
m_StepTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_ST.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_MIL_ST.ONEWAY, EgtMsg(31343)), ' OneWay
New IdNameStruct(MCH_MIL_ST.SPIRAL, EgtMsg(31344))}) ' Spirale
Case MCH_MY.MORTISING
m_StepTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MORTISE_ST.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_MORTISE_ST.ONEWAY, EgtMsg(31343))}) ' OneWay
Case MCH_MY.SAWROUGHING, MCH_MY.SAWFINISHING
m_StepTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAWROU_ST.ZIGZAG, EgtMsg(31342)), ' ZigZag
New IdNameStruct(MCH_SAWROU_ST.ONEWAY, EgtMsg(31343))}) ' OneWay
Case Else
m_StepTypeList = Nothing
End Select
Return m_StepTypeList
End Get
End Property
Private m_IsModifiedSelectedStepType As Boolean = False
Private m_SelectedStepType As Integer
' Proprietà che indica lo StepType
Public Property SelectedStepType As Integer
Get
If IsNothing(StepTypeList) Then Return Nothing
Return m_SelectedStepType
End Get
Set(value As Integer)
If value <> m_SelectedStepType Then
If Not IsNothing(StepTypeList) Then
m_SelectedStepType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, DbStepType)
DbStepType = IdNameStruct.IndFromId(DbStepType, StepTypeList)
m_IsModifiedSelectedStepType = value <> DbStepType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedStepType))
Else
Dim OrigStepType As Integer = 0
EgtGetMachiningParam(MCH_MP.STEPTYPE, OrigStepType)
OrigStepType = IdNameStruct.IndFromId(OrigStepType, StepTypeList)
m_IsModifiedSelectedStepType = value <> OrigStepType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox SubType
Private m_SubTypeList As ObservableCollection(Of Object)
Public ReadOnly Property SubTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.POCKETING
m_SubTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_POCK_SUB.ZIGZAG, EgtMsg(6342)),
New IdNameStruct(MCH_POCK_SUB.ONEWAY, EgtMsg(6343)),
New IdNameStruct(MCH_POCK_SUB.SPIRALIN, EgtMsg(6348)),
New IdNameStruct(MCH_POCK_SUB.SPIRALOUT, EgtMsg(6349)),
New IdNameStruct(MCH_POCK_SUB.CONFORMAL_ZIGZAG, EgtMsg(6230)),
New IdNameStruct(MCH_POCK_SUB.CONFORMAL_ONEWAY, EgtMsg(6231))})
Case MCH_MY.SAWFINISHING
m_SubTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SAWFIN_SUB.ALONG, EgtMsg(6346)),
New IdNameStruct(MCH_SAWFIN_SUB.ACROSS, EgtMsg(6347))})
Case MCH_MY.GENMACHINING
Dim Index = 1
Dim sGenScript As String = String.Empty
m_SubTypeList = New ObservableCollection(Of Object)
While EgtUILib.GetPrivateProfileString(S_GENMACHINING, K_GENSCRIPT & Index, "", sGenScript, MachiningDbWindowVM.m_sMachineIniPath) > 0
m_SubTypeList.Add(New IdNameStruct(Index, sGenScript))
Index += 1
End While
If m_SubTypeList.Count = 0 Then
m_SubTypeList.Add(New IdNameStruct(0, ""))
End If
Case MCH_MY.SURFFINISHING
m_SubTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFFIN_SUB.ZIGZAG, EgtMsg(6342)),
New IdNameStruct(MCH_SURFFIN_SUB.ONEWAY, EgtMsg(6343)),
New IdNameStruct(MCH_SURFFIN_SUB.SPIRALIN, EgtMsg(6348)),
New IdNameStruct(MCH_SURFFIN_SUB.SPIRALOUT, EgtMsg(6349)),
New IdNameStruct(MCH_SURFFIN_SUB.Z_CONST, EgtMsg(6232)),
New IdNameStruct(MCH_SURFFIN_SUB.OPTIMAL, EgtMsg(6233)),
New IdNameStruct(MCH_SURFFIN_SUB.PROJECT, EgtMsg(6234))})
Case MCH_MY.SURFROUGHING
m_SubTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SURFROU_SUB.ZIGZAG, EgtMsg(6342)),
New IdNameStruct(MCH_SURFROU_SUB.ONEWAY, EgtMsg(6343)),
New IdNameStruct(MCH_SURFROU_SUB.SPIRALIN, EgtMsg(6348)),
New IdNameStruct(MCH_SURFROU_SUB.SPIRALOUT, EgtMsg(6349)),
New IdNameStruct(MCH_SURFROU_SUB.CONFORMAL_ZIGZAG, EgtMsg(6230)),
New IdNameStruct(MCH_SURFROU_SUB.CONFORMAL_ONEWAY, EgtMsg(6231))})
Case MCH_MY.FIVEAXISMILLING
Dim Index = 1
Dim s5AxScript As String = String.Empty
m_SubTypeList = New ObservableCollection(Of Object)
While EgtUILib.GetPrivateProfileString(S_5AXMILLING, K_5AXSCRIPT & Index, "", s5AxScript, MachiningDbWindowVM.m_sMachineIniPath) > 0
m_SubTypeList.Add(New IdNameStruct(Index, s5AxScript))
Index += 1
End While
If m_SubTypeList.Count = 0 Then
m_SubTypeList.Add(New IdNameStruct(0, ""))
End If
Case MCH_MY.PROBING
Dim Index = 1
Dim sPrbScript As String = String.Empty
m_SubTypeList = New ObservableCollection(Of Object)
While EgtUILib.GetPrivateProfileString(S_PROBING, K_PRBSCRIPT & Index, "", sPrbScript, MachiningDbWindowVM.m_sMachineIniPath) > 0
m_SubTypeList.Add(New IdNameStruct(Index, sPrbScript))
Index += 1
End While
If m_SubTypeList.Count = 0 Then
m_SubTypeList.Add(New IdNameStruct(0, ""))
End If
Case Else
m_SubTypeList = Nothing
End Select
Return m_SubTypeList
End Get
End Property
Private m_IsModifiedSelectedSubType As Boolean = False
Private m_SelectedSubType As Integer
' Proprietà che indica il SubType
Public Property SelectedSubType As Integer
Get
If IsNothing(SubTypeList) Then Return Nothing
Return m_SelectedSubType
End Get
Set(value As Integer)
If value <> m_SelectedSubType Then
If Not IsNothing(SubTypeList) Then
m_SelectedSubType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSubType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, DbSubType)
DbSubType = IdNameStruct.IndFromId(DbSubType, SubTypeList)
m_IsModifiedSelectedSubType = value <> DbSubType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedSubType))
Else
Dim OrigSubType As Integer = 0
EgtGetMachiningParam(MCH_MP.SUBTYPE, OrigSubType)
OrigSubType = IdNameStruct.IndFromId(OrigSubType, SubTypeList)
m_IsModifiedSelectedSubType = value <> OrigSubType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadLinkType
Private m_LeadLinkTypeList As ObservableCollection(Of Object)
Public ReadOnly Property LeadLinkTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.SAWROUGHING
m_LeadLinkTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAWROU_LL.CENT, EgtMsg(31320)), New IdNameStruct(MCH_SAWROU_LL.EXT, EgtMsg(31323))}) ' Centro - Estendi
Case MCH_MY.SAWFINISHING
m_LeadLinkTypeList = New ObservableCollection(Of Object)({New IdNameStruct(MCH_SAWFIN_LL.STD, EgtMsg(31324)), New IdNameStruct(MCH_SAWFIN_LL.CENT, EgtMsg(31320)), New IdNameStruct(MCH_SAWFIN_LL.EXT, EgtMsg(31323))}) ' Standard - Centro - Estendi
Case Else
m_LeadLinkTypeList = Nothing
End Select
Return m_LeadLinkTypeList
End Get
End Property
Private m_IsModifiedSelectedLeadLinkType As Boolean = False
Private m_SelectedLeadLinkType As Integer
' Proprietà che indica il LeadLinkType
Public Property SelectedLeadLinkType As Integer
Get
If IsNothing(LeadLinkTypeList) Then Return Nothing
Return m_SelectedLeadLinkType
End Get
Set(value As Integer)
If value <> m_SelectedLeadLinkType Then
If Not IsNothing(LeadLinkTypeList) Then
m_SelectedLeadLinkType = IdNameStruct.IndFromId(value, LeadLinkTypeList)
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLeadLinkType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, DbLeadLinkType)
DbLeadLinkType = IdNameStruct.IndFromId(DbLeadLinkType, LeadLinkTypeList)
m_IsModifiedSelectedLeadLinkType = value <> DbLeadLinkType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedLeadLinkType))
Else
Dim OrigLeadLinkType As Integer = 0
EgtGetMachiningParam(MCH_MP.LEADLINKTYPE, OrigLeadLinkType)
OrigLeadLinkType = IdNameStruct.IndFromId(OrigLeadLinkType, LeadLinkTypeList)
m_IsModifiedSelectedLeadLinkType = value <> OrigLeadLinkType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox FaceUseType
Private m_FaceUseTypeList As ObservableCollection(Of Object)
Public ReadOnly Property FaceUseTypeList As ObservableCollection(Of Object)
Get
Select Case m_Type
Case MCH_MY.MORTISING
m_FaceUseTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(31353)), ' Non definito
New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(31357) & EgtMsg(31354)), ' Sotto Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(31358) & EgtMsg(31354)), ' Sopra Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(31359) & EgtMsg(31354)), ' Davanti Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(31360) & EgtMsg(31354)), ' Dietro Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(31361) & EgtMsg(31354)), ' Sinistra Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(31362) & EgtMsg(31354))}) ' Destra Parallelo
Case Else
m_FaceUseTypeList = New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_MIL_FU.NONE, EgtMsg(31353)), ' Non definito
New IdNameStruct(MCH_MIL_FU.PARAL_DOWN, EgtMsg(31357) & EgtMsg(31354)), ' Sotto Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_TOP, EgtMsg(31358) & EgtMsg(31354)), ' Sopra Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_FRONT, EgtMsg(31359) & EgtMsg(31354)), ' Davanti Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_BACK, EgtMsg(31360) & EgtMsg(31354)), ' Dietro Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_LEFT, EgtMsg(31361) & EgtMsg(31354)), ' Sinistra Parallelo
New IdNameStruct(MCH_MIL_FU.PARAL_RIGHT, EgtMsg(31362) & EgtMsg(31354)), ' Destra Parallelo
New IdNameStruct(MCH_MIL_FU.ORTHO_DOWN, EgtMsg(31357) & EgtMsg(31355)), ' Sotto Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_TOP, EgtMsg(31358) & EgtMsg(31355)), ' Sopra Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_FRONT, EgtMsg(31359) & EgtMsg(31355)), ' Davanti Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_BACK, EgtMsg(31360) & EgtMsg(31355)), ' Dietro Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_LEFT, EgtMsg(31361) & EgtMsg(31355)), ' Sinistra Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_RIGHT, EgtMsg(31362) & EgtMsg(31355)), ' Destra Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTHO_CONT, EgtMsg(31363) & EgtMsg(31355)), ' Contorno Ortogonale
New IdNameStruct(MCH_MIL_FU.ORTUP_DOWN, EgtMsg(31357) & EgtMsg(31356)), ' Sotto Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_TOP, EgtMsg(31358) & EgtMsg(31356)), ' Sopra Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_FRONT, EgtMsg(31359) & EgtMsg(31356)), ' Davanti Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_BACK, EgtMsg(31360) & EgtMsg(31356)), ' Dietro Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_LEFT, EgtMsg(31361) & EgtMsg(31356)), ' Sinistra Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_RIGHT, EgtMsg(31362) & EgtMsg(31356)), ' Destra Ortog. Su
New IdNameStruct(MCH_MIL_FU.ORTUP_CONT, EgtMsg(31363) & EgtMsg(31356))}) ' Contorno Ortog. Su
End Select
Return m_FaceUseTypeList
End Get
End Property
Public m_IsModifiedSelectedFaceUseType As Boolean = False
Private m_SelectedFaceUseType As Integer = 0
' Proprietà che indica il FaceUseType (MCH_MIL_FU)
Public Property SelectedFaceUseType As Integer
Get
If IsNothing(FaceUseTypeList) Then Return Nothing
Return m_SelectedFaceUseType
End Get
Set(value As Integer)
If value <> m_SelectedFaceUseType Then
If Not IsNothing(FaceUseTypeList) Then
m_SelectedFaceUseType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim OrigFaceUseType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FACEUSE, OrigFaceUseType)
OrigFaceUseType = IdNameStruct.IndFromId(OrigFaceUseType, FaceUseTypeList)
m_IsModifiedSelectedFaceUseType = value <> OrigFaceUseType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedFaceUseType))
Else
Dim OrigFaceUseType As Integer = 0
EgtGetMachiningParam(MCH_MP.FACEUSE, OrigFaceUseType)
OrigFaceUseType = IdNameStruct.IndFromId(OrigFaceUseType, FaceUseTypeList)
m_IsModifiedSelectedFaceUseType = value <> OrigFaceUseType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox SolChoiceType
Private m_SolChoiceTypeList As New ObservableCollection(Of Object)(
{New IdNameStruct(MCH_SCC.NONE, EgtMsg(31305)), ' Nessuno
New IdNameStruct(MCH_SCC.STD, EgtMsg(31306)), ' Standard
New IdNameStruct(MCH_SCC.OPPOSITE, EgtMsg(31307)), ' Opposto
New IdNameStruct(MCH_SCC.ADIR_XP, EgtMsg(31308)), ' AuxDir Destra
New IdNameStruct(MCH_SCC.ADIR_XM, EgtMsg(31309)), ' AuxDir Sinistra
New IdNameStruct(MCH_SCC.ADIR_YP, EgtMsg(31310)), ' AuxDir Dietro
New IdNameStruct(MCH_SCC.ADIR_YM, EgtMsg(31311)), ' AuxDir Davanti
New IdNameStruct(MCH_SCC.ADIR_ZP, EgtMsg(31312)), ' AuxDir Sopra
New IdNameStruct(MCH_SCC.ADIR_ZM, EgtMsg(31313)), ' AuxDir Sotto
New IdNameStruct(MCH_SCC.ADIR_NEAR, EgtMsg(31314)), ' Più Vicino AuxDir
New IdNameStruct(MCH_SCC.ADIR_FAR, EgtMsg(31315))}) ' Più Lontano AuxDir
Public ReadOnly Property SolChoiceTypeList As ObservableCollection(Of Object)
Get
Return m_SolChoiceTypeList
End Get
End Property
Private m_IsModifiedSelectedSolChoiceType As Boolean = False
Private m_SelectedSolChoiceType As Integer
' Proprietà che indica il SolChoiceType (MCH_SAW_EL)
Public Property SelectedSolChoiceType As Integer
Get
If IsNothing(SolChoiceTypeList) Then Return Nothing
Return m_SelectedSolChoiceType
End Get
Set(value As Integer)
If value <> m_SelectedSolChoiceType Then
If Not IsNothing(SolChoiceTypeList) Then
m_SelectedSolChoiceType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSolChoiceType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, DbSolChoiceType)
DbSolChoiceType = IdNameStruct.IndFromId(DbSolChoiceType, SolChoiceTypeList)
m_IsModifiedSelectedSolChoiceType = value <> DbSolChoiceType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedSolChoiceType))
Else
Dim OrigSolChoiceType As Integer = 0
EgtGetMachiningParam(MCH_MP.SOLCHOICETYPE, OrigSolChoiceType)
OrigSolChoiceType = IdNameStruct.IndFromId(OrigSolChoiceType, SolChoiceTypeList)
m_IsModifiedSelectedSolChoiceType = value <> OrigSolChoiceType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
Private m_IsModifiedSpeed As Boolean = False
Private m_Speed As String
''' <summary>
''' Property that read and write to the Machining's database the Speed
''' </summary>
Public Property Speed As String
Get
Return m_Speed
End Get
Set(value As String)
If value <> m_Speed Then
m_Speed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSpeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, DbSpeed)
StringToDouble(value, dValue)
m_IsModifiedSpeed = Math.Abs(dValue - DbSpeed) > 10 * EPS_ANG_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.SPEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
SpeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
If Not GetValidationError("Speed") Or GetNonNumericTextBox(m_Speed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigSpeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.SPEED, OrigSpeed)
StringToDouble(value, dValue)
m_IsModifiedSpeed = Math.Abs(dValue - OrigSpeed) > 10 * EPS_ANG_SMALL
If Not GetValidationError("Speed") Or GetNonNumericTextBox(m_Speed) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(Speed))
End If
End Set
End Property
Private m_IsModifiedFeed As Boolean = False
Private m_Feed As String
''' <summary>
''' Property that read and write to the Machining's database the Feed
''' </summary>
Public Property Feed As String
Get
Return m_Feed
End Get
Set(value As String)
If value <> m_Feed Then
m_Feed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, DbFeed)
StringToLen(value, dValue)
m_IsModifiedFeed = Math.Abs(dValue - DbFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
FeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(Feed))
Else
Dim OrigFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.FEED, OrigFeed)
StringToLen(value, dValue)
m_IsModifiedFeed = Math.Abs(dValue - OrigFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_Feed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(Feed))
End If
End Set
End Property
Private m_IsModifiedStartFeed As Boolean = False
Private m_StartFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Start Feed
''' </summary>
Public Property StartFeed As String
Get
Return m_StartFeed
End Get
Set(value As String)
If value <> m_StartFeed Then
m_StartFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStartFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, DbStartFeed)
StringToLen(value, dValue)
m_IsModifiedStartFeed = Math.Abs(dValue - DbStartFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.STARTFEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
StartFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(StartFeed))
Else
Dim OrigStartFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STARTFEED, OrigStartFeed)
StringToLen(value, dValue)
m_IsModifiedStartFeed = Math.Abs(dValue - OrigStartFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_StartFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StartFeed))
End If
End Set
End Property
Private m_IsModifiedEndFeed As Boolean = False
Private m_EndFeed As String
''' <summary>
''' Property that read and write to the Machining's database the End Feed
''' </summary>
Public Property EndFeed As String
Get
Return m_EndFeed
End Get
Set(value As String)
If value <> m_EndFeed Then
m_EndFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbEndFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, DbEndFeed)
StringToLen(value, dValue)
m_IsModifiedEndFeed = Math.Abs(dValue - DbEndFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.ENDFEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
EndFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(EndFeed))
Else
Dim OrigEndFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.ENDFEED, OrigEndFeed)
StringToLen(value, dValue)
m_IsModifiedEndFeed = Math.Abs(dValue - OrigEndFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_EndFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(EndFeed))
End If
End Set
End Property
Private m_IsModifiedTipFeed As Boolean = False
Private m_TipFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Tip Feed
''' </summary>
Public Property TipFeed As String
Get
Return m_TipFeed
End Get
Set(value As String)
If value <> m_TipFeed Then
m_TipFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTipFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, DbTipFeed)
StringToLen(value, dValue)
m_IsModifiedTipFeed = Math.Abs(dValue - DbTipFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.TIPFEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
TipFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(TipFeed))
Else
Dim OrigTipFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.TIPFEED, OrigTipFeed)
StringToLen(value, dValue)
m_IsModifiedTipFeed = Math.Abs(dValue - OrigTipFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_TipFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(TipFeed))
End If
End Set
End Property
Private m_IsModifiedBackFeed As Boolean = False
Private m_BackFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Tip Feed
''' </summary>
Public Property BackFeed As String
Get
Return m_BackFeed
End Get
Set(value As String)
If value <> m_BackFeed Then
m_BackFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbBackFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, DbBackFeed)
StringToLen(value, dValue)
m_IsModifiedBackFeed = Math.Abs(dValue - DbBackFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
BackFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(BackFeed))
Else
Dim OrigBackFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.BACKFEED, OrigBackFeed)
StringToLen(value, dValue)
m_IsModifiedBackFeed = Math.Abs(dValue - OrigBackFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_BackFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(BackFeed))
End If
End Set
End Property
Private m_IsModifiedSideAngFeed As Boolean = False
Private m_SideAngFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Tip Feed
''' </summary>
Public Property SideAngFeed As String
Get
Return m_SideAngFeed
End Get
Set(value As String)
If value <> m_SideAngFeed Then
m_SideAngFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSideAngFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, DbSideAngFeed)
StringToLen(value, dValue)
m_IsModifiedSideAngFeed = Math.Abs(dValue - DbSideAngFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
SideAngFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SideAngFeed))
Else
Dim OrigSideAngFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.SIDEANGFEED, OrigSideAngFeed)
StringToLen(value, dValue)
m_IsModifiedSideAngFeed = Math.Abs(dValue - OrigSideAngFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_SideAngFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(SideAngFeed))
End If
End Set
End Property
Private m_IsModifiedThicknessFeed As Boolean = False
Private m_ThicknessFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Thickness Feed
''' </summary>
Public Property ThicknessFeed As String
Get
Return m_ThicknessFeed
End Get
Set(value As String)
If value <> m_ThicknessFeed Then
m_ThicknessFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbThicknessFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.THICKREF, DbThicknessFeed)
StringToLen(value, dValue)
m_IsModifiedThicknessFeed = Math.Abs(dValue - DbThicknessFeed) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ThicknessFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigThicknessFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.THICKREF, OrigThicknessFeed)
StringToLen(value, dValue)
m_IsModifiedThicknessFeed = Math.Abs(dValue - OrigThicknessFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(ThicknessFeed))
End If
End Set
End Property
Private m_IsModifiedOffSr As Boolean = False
Private m_OffSr As String
''' <summary>
''' Property that read and write to the Machining's database the Offset Sr
''' </summary>
Public Property OffSr As String
Get
Return m_OffSr
End Get
Set(value As String)
If value <> m_OffSr Then
m_OffSr = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbOffSr As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, DbOffSr)
StringToLen(value, dValue)
m_IsModifiedOffSr = Math.Abs(dValue - DbOffSr) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.RADOFFSET, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
OffSrChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(OffSr))
Else
Dim OrigOffSr As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OFFSR, OrigOffSr)
StringToLen(value, dValue)
m_IsModifiedOffSr = Math.Abs(dValue - OrigOffSr) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_OffSr) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OffSr))
End If
End Set
End Property
Private m_IsModifiedOffSl As Boolean = False
Private m_OffSl As String
''' <summary>
''' Property that read and write to the Machining's database the Offset Sl
''' </summary>
Public Property OffSl As String
Get
Return m_OffSl
End Get
Set(value As String)
If value <> m_OffSl Then
m_OffSl = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbOffSl As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, DbOffSl)
StringToLen(value, dValue)
m_IsModifiedOffSl = Math.Abs(dValue - DbOffSl) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.LONOFFSET, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
OffSlChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(OffSl))
Else
Dim OrigOffSl As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OFFSL, OrigOffSl)
StringToLen(value, dValue)
m_IsModifiedOffSl = Math.Abs(dValue - OrigOffSl) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_OffSl) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OffSl))
End If
End Set
End Property
Private m_IsModifiedEpicyclesRad As Boolean = False
Private m_EpicyclesRad As String
''' <summary>
''' Property that read and write to the Machining's database the Epicycles Rad
''' </summary>
Public Property EpicyclesRad As String
Get
Return m_EpicyclesRad
End Get
Set(value As String)
If value <> m_EpicyclesRad Then
m_EpicyclesRad = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbEpicyclesRad As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.EPICYCLESRAD, DbEpicyclesRad)
StringToLen(value, dValue)
m_IsModifiedEpicyclesRad = Math.Abs(dValue - DbEpicyclesRad) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(EpicyclesRad))
Else
Dim OrigEpicyclesRad As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.EPICYCLESRAD, OrigEpicyclesRad)
StringToLen(value, dValue)
m_IsModifiedEpicyclesRad = Math.Abs(dValue - OrigEpicyclesRad) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_EpicyclesRad) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(EpicyclesRad))
End If
End Set
End Property
Private m_IsModifiedEpicyclesDist As Boolean = False
Private m_EpicyclesDist As String
''' <summary>
''' Property that read and write to the Machining's database the Epicycles Dist
''' </summary>
Public Property EpicyclesDist As String
Get
Return m_EpicyclesDist
End Get
Set(value As String)
If value <> m_EpicyclesDist Then
m_EpicyclesDist = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbEpicyclesDist As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.EPICYCLESDIST, DbEpicyclesDist)
StringToLen(value, dValue)
m_IsModifiedEpicyclesDist = Math.Abs(dValue - DbEpicyclesDist) > 10 * EPS_SMALL
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(EpicyclesDist))
Else
Dim OrigEpicyclesDist As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.EPICYCLESDIST, OrigEpicyclesDist)
StringToLen(value, dValue)
m_IsModifiedEpicyclesDist = Math.Abs(dValue - OrigEpicyclesDist) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_EpicyclesDist) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(EpicyclesDist))
End If
End Set
End Property
''' <summary>
''' Property that read the Epicycles radius and distance visibility
''' </summary>
Private m_Epicycles_Visibility As Visibility = Visibility.Collapsed
Public Property Epicycles_Visibility As Visibility
Get
Return m_Epicycles_Visibility
End Get
Set(value As Visibility)
m_Epicycles_Visibility = value
NotifyPropertyChanged(NameOf(Epicycles_Visibility))
End Set
End Property
Private m_IsModifiedSideAngle As Boolean = False
Private m_SideAngle As String
''' <summary>
''' Property that read and write to the Machining's database the Side Angle
''' </summary>
Public Property SideAngle As String
Get
Return m_SideAngle
End Get
Set(value As String)
If value <> m_SideAngle Then
m_SideAngle = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSideAngle As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, DbSideAngle)
StringToLen(value, dValue)
m_IsModifiedSideAngle = Math.Abs(dValue - DbSideAngle) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_SideAngle) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(SideAngle))
Else
Dim OrigSideAngle As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.SIDEANGLE, OrigSideAngle)
StringToLen(value, dValue)
m_IsModifiedSideAngle = Math.Abs(dValue - OrigSideAngle) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedApprox As Boolean = False
Private m_Approx As String
''' <summary>
''' Property that read and write to the Machining's database the Approx
''' </summary>
Public Property Approx As String
Get
Return m_Approx
End Get
Set(value As String)
If value <> m_Approx Then
m_Approx = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbApprox As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, DbApprox)
StringToLen(value, dValue)
m_IsModifiedApprox = Math.Abs(dValue - DbApprox) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_Approx) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(Approx))
Else
Dim OrigApprox As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.APPROX, OrigApprox)
StringToLen(value, dValue)
m_IsModifiedApprox = Math.Abs(dValue - OrigApprox) > EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStartPos As Boolean = False
Private m_StartPos As String
''' <summary>
''' Property that read and write to the Machining's database the Start Position
''' </summary>
Public Property StartPos As String
Get
Return m_StartPos
End Get
Set(value As String)
If value <> m_StartPos Then
m_StartPos = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStartPos As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, DbStartPos)
StringToLen(value, dValue)
m_IsModifiedStartPos = Math.Abs(dValue - DbStartPos) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StartPos) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StartPos))
Else
Dim OrigStartPos As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STARTPOS, OrigStartPos)
StringToLen(value, dValue)
m_IsModifiedStartPos = Math.Abs(dValue - OrigStartPos) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStartSlowLen As Boolean = False
Private m_StartSlowLen As String
''' <summary>
''' Property that read and write to the Machining's database the Start Slow Len
''' </summary>
Public Property StartSlowLen As String
Get
Return m_StartSlowLen
End Get
Set(value As String)
If value <> m_StartSlowLen Then
m_StartSlowLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStartSlowLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, DbStartSlowLen)
StringToLen(value, dValue)
m_IsModifiedStartSlowLen = Math.Abs(dValue - DbStartSlowLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StartSlowLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StartSlowLen))
Else
Dim OrigStartSlowLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STARTSLOWLEN, OrigStartSlowLen)
StringToLen(value, dValue)
m_IsModifiedStartSlowLen = Math.Abs(dValue - OrigStartSlowLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedEndSlowLen As Boolean = False
Private m_EndSlowLen As String
''' <summary>
''' Property that read and write to the Machining's database the End Slow Len
''' </summary>
Public Property EndSlowLen As String
Get
Return m_EndSlowLen
End Get
Set(value As String)
If value <> m_EndSlowLen Then
m_EndSlowLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbEndSlowLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, DbEndSlowLen)
StringToLen(value, dValue)
m_IsModifiedEndSlowLen = Math.Abs(dValue - DbEndSlowLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_EndSlowLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(EndSlowLen))
Else
Dim OrigEndSlowLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.ENDSLOWLEN, OrigEndSlowLen)
StringToLen(value, dValue)
m_IsModifiedEndSlowLen = Math.Abs(dValue - OrigEndSlowLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedThrouAddLen As Boolean = False
Private m_ThrouAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the Throu Add Len
''' </summary>
Public Property ThrouAddLen As String
Get
Return m_ThrouAddLen
End Get
Set(value As String)
If value <> m_ThrouAddLen Then
m_ThrouAddLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbThrouAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, DbThrouAddLen)
StringToLen(value, dValue)
m_IsModifiedThrouAddLen = Math.Abs(dValue - DbThrouAddLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ThrouAddLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged("ThrouAddLen")
Else
Dim OrigThrouAddLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.THROUADDLEN, OrigThrouAddLen)
StringToLen(value, dValue)
m_IsModifiedThrouAddLen = Math.Abs(dValue - OrigThrouAddLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepPar As Boolean = False
Private m_StepPar As String
''' <summary>
''' Property that read and write to the Machining's database the Step Par
''' </summary>
Public Property StepPar As String
Get
Return m_StepPar
End Get
Set(value As String)
If value <> m_StepPar Then
m_StepPar = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepPar As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, DbStepPar)
StringToLen(value, dValue)
m_IsModifiedStepPar = Math.Abs(dValue - DbStepPar) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepPar) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepPar))
Else
Dim OrigStepPar As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEP_, OrigStepPar)
StringToLen(value, dValue)
m_IsModifiedStepPar = Math.Abs(dValue - OrigStepPar) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepBack As Boolean = False
Private m_StepBack As String
''' <summary>
''' Property that read and write to the Machining's database the Step Par
''' </summary>
Public Property StepBack As String
Get
Return m_StepBack
End Get
Set(value As String)
If value <> m_StepBack Then
m_StepBack = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepBack As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPBACK, DbStepBack)
StringToLen(value, dValue)
m_IsModifiedStepBack = Math.Abs(dValue - DbStepBack) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepBack) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepBack))
Else
Dim OrigStepBack As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEPBACK, OrigStepBack)
StringToLen(value, dValue)
m_IsModifiedStepBack = Math.Abs(dValue - OrigStepBack) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepLast As Boolean = False
Private m_StepLast As String
''' <summary>
''' Property that read and write to the Machining's database the StepLast
''' </summary>
Public Property StepLast As String
Get
Return m_StepLast
End Get
Set(value As String)
If value <> m_StepLast Then
m_StepLast = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepLast As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPLAST, DbStepLast)
StringToLen(value, dValue)
m_IsModifiedStepLast = Math.Abs(dValue - DbStepLast) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepLast) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepLast))
Else
Dim OrigStepLast As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEPLAST, OrigStepLast)
StringToLen(value, dValue)
m_IsModifiedStepLast = Math.Abs(dValue - OrigStepLast) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedReturnPos As Boolean = False
Private m_ReturnPos As String
''' <summary>
''' Property that read and write to the Machining's database the Return Position
''' </summary>
Public Property ReturnPos As String
Get
Return m_ReturnPos
End Get
Set(value As String)
If value <> m_ReturnPos Then
m_ReturnPos = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbReturnPos As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, DbReturnPos)
StringToLen(value, dValue)
m_IsModifiedReturnPos = Math.Abs(dValue - DbReturnPos) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ReturnPos) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(ReturnPos))
Else
Dim OrigReturnPos As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.RETURNPOS, OrigReturnPos)
StringToLen(value, dValue)
m_IsModifiedReturnPos = Math.Abs(dValue - OrigReturnPos) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedOverLap As Boolean = False
Private m_OverLap As String
''' <summary>
''' Property that read and write to the Machining's database the Over Lap Str
''' </summary>
Public Property OverLap As String
Get
Return m_OverLap
End Get
Set(value As String)
If value = String.Empty Or value <> m_OverLap Then
m_OverLap = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbOverLap As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OVERL, DbOverLap)
StringToLen(value, dValue)
m_IsModifiedOverLap = Math.Abs(dValue - DbOverLap) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_OverLap) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OverLap))
Else
Dim OrigOverLap As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OVERL, OrigOverLap)
StringToLen(value, dValue)
m_IsModifiedOverLap = Math.Abs(dValue - OrigOverLap) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedTabLen As Boolean = False
Private m_TabLen As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Len
''' </summary>
Public Property TabLen As String
Get
Return m_TabLen
End Get
Set(value As String)
If value <> m_TabLen Then
m_TabLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABLEN, DbTabLen)
StringToLen(value, dValue)
m_IsModifiedTabLen = Math.Abs(dValue - DbTabLen) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabLen)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(TabLen))
Else
Dim OrigTabLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.TABLEN, OrigTabLen)
StringToLen(value, dValue)
m_IsModifiedTabLen = Math.Abs(dValue - OrigTabLen) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabLen)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedTabDist As Boolean = False
Private m_TabDist As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Dist
''' </summary>
Public Property TabDist As String
Get
Return m_TabDist
End Get
Set(value As String)
If value <> m_TabDist Then
m_TabDist = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabDist As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABDIST, DbTabDist)
StringToLen(value, dValue)
m_IsModifiedTabDist = Math.Abs(dValue - DbTabDist) > 10 * EPS_SMALL
If m_LeaveTab AndAlso Not (GetValidationError("TabDist") Or Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabDist)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(TabDist))
Else
Dim OrigTabDist As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.TABDIST, OrigTabDist)
StringToLen(value, dValue)
m_IsModifiedTabDist = Math.Abs(dValue - OrigTabDist) > 10 * EPS_SMALL
If m_LeaveTab AndAlso Not (GetValidationError("TabDist") Or Not GetValidationError("TabLen") Or GetNonNumericTextBox(m_TabDist)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedTabHeight As Boolean = False
Private m_TabHeight As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Height
''' </summary>
Public Property TabHeight As String
Get
Return m_TabHeight
End Get
Set(value As String)
If value <> m_TabHeight Then
m_TabHeight = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabHeight As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABHEIGHT, DbTabHeight)
StringToLen(value, dValue)
m_IsModifiedTabHeight = Math.Abs(dValue - DbTabHeight) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabHeight") Or GetNonNumericTextBox(m_TabHeight)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(TabHeight))
Else
Dim OrigTabHeight As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.TABHEIGHT, OrigTabHeight)
StringToLen(value, dValue)
m_IsModifiedTabHeight = Math.Abs(dValue - OrigTabHeight) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabHeight") Or GetNonNumericTextBox(m_TabHeight)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedTabAngle As Boolean = False
Private m_TabAngle As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Angle
''' </summary>
Public Property TabAngle As String
Get
Return m_TabAngle
End Get
Set(value As String)
If value <> m_TabAngle Then
m_TabAngle = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabAngle As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, DbTabAngle)
StringToDouble(value, dValue)
m_IsModifiedTabAngle = Math.Abs(dValue - DbTabAngle) > 10 * EPS_ANG_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabAngle") Or GetNonNumericTextBox(m_TabAngle)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(TabAngle))
Else
Dim OrigTabAngle As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.TABANGLE, OrigTabAngle)
StringToLen(value, dValue)
m_IsModifiedTabAngle = Math.Abs(dValue - OrigTabAngle) > 10 * EPS_ANG_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabAngle") Or GetNonNumericTextBox(m_TabAngle)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedTabMax As Boolean = False
Private m_TabMax As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Max
''' </summary>
Public Property TabMax As String
Get
Return m_TabMax
End Get
Set(value As String)
If value <> m_TabMax Then
m_TabMax = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabMax As Integer = 0
Dim nValue As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABMAX, DbTabMax)
Int32.TryParse(value, nValue)
m_IsModifiedTabMax = Math.Abs(nValue - DbTabMax) > 10 * EPS_ANG_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabMax") Or Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMax)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigTabMax As Integer = 0
Dim nValue As Integer = 0
EgtGetMachiningParam(MCH_MP.TABMAX, OrigTabMax)
Int32.TryParse(value, nValue)
m_IsModifiedTabMax = Math.Abs(nValue - OrigTabMax) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabMax") Or Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMax)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(TabMax))
End If
End Set
End Property
Private m_IsModifiedTabMin As Boolean = False
Private m_TabMin As String
''' <summary>
''' Property that read and write to the Machining's database the Tab Min
''' </summary>
Public Property TabMin As String
Get
Return m_TabMin
End Get
Set(value As String)
If value <> m_TabMin Then
m_TabMin = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbTabMin As Integer = 0
Dim nValue As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.TABMIN, DbTabMin)
Int32.TryParse(value, nValue)
m_IsModifiedTabMin = Math.Abs(nValue - DbTabMin) > 10 * EPS_ANG_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMin)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigTabMin As Integer = 0
Dim nValue As Integer = 0
EgtGetMachiningParam(MCH_MP.TABMIN, OrigTabMin)
Int32.TryParse(value, nValue)
m_IsModifiedTabMin = Math.Abs(nValue - OrigTabMin) > 10 * EPS_SMALL
If m_LeaveTab AndAlso (Not GetValidationError("TabMin") Or GetNonNumericTextBox(m_TabMin)) Then
RaiseEvent m_ErrorOnOperation(True)
Else
RaiseEvent m_ErrorOnOperation(Not IsValid)
End If
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(TabMin))
End If
End Set
End Property
Private m_IsModifiedLiTang As Boolean = False
Private m_LiTang As String
''' <summary>
''' Property that read and write to the Machining's database the Li Tang
''' </summary>
Public Property LiTang As String
Get
Return m_LiTang
End Get
Set(value As String)
If value <> m_LiTang Then
m_LiTang = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiTang As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, DbLiTang)
StringToLen(value, dValue)
m_IsModifiedLiTang = Math.Abs(dValue - DbLiTang) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LiTang) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LiTang))
Else
Dim OrigLiTang As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LITANG, OrigLiTang)
StringToLen(value, dValue)
m_IsModifiedLiTang = Math.Abs(dValue - OrigLiTang) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLiPerp As Boolean = False
Private m_LiPerp As String
''' <summary>
''' Property that read and write to the Machining's database the Li Perp
''' </summary>
Public Property LiPerp As String
Get
Return m_LiPerp
End Get
Set(value As String)
If value <> m_LiPerp Then
m_LiPerp = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiPerp As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, DbLiPerp)
StringToLen(value, dValue)
m_IsModifiedLiPerp = Math.Abs(dValue - DbLiPerp) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LiPerp) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LiPerp))
Else
Dim OrigLiPerp As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LIPERP, OrigLiPerp)
StringToLen(value, dValue)
m_IsModifiedLiPerp = Math.Abs(dValue - OrigLiPerp) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLiElev As Boolean = False
Private m_LiElev As String
''' <summary>
''' Property that read and write to the Machining's database the Li Elev
''' </summary>
Public Property LiElev As String
Get
Return m_LiElev
End Get
Set(value As String)
If value <> m_LiElev Then
m_LiElev = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiElev As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LIELEV, DbLiElev)
StringToLen(value, dValue)
m_IsModifiedLiElev = Math.Abs(dValue - DbLiElev) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LiElev) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LiElev))
Else
Dim OrigLiElev As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LIELEV, OrigLiElev)
StringToLen(value, dValue)
m_IsModifiedLiElev = Math.Abs(dValue - OrigLiElev) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLiCompLen As Boolean = False
Private m_LiCompLen As String
''' <summary>
''' Property that read and write to the Machining's database the Li Comp Len
''' </summary>
Public Property LiCompLen As String
Get
Return m_LiCompLen
End Get
Set(value As String)
If value <> m_LiCompLen Then
m_LiCompLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiCompLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LICOMPLEN, DbLiCompLen)
StringToLen(value, dValue)
m_IsModifiedLiCompLen = Math.Abs(dValue - DbLiCompLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LiCompLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LiCompLen))
Else
Dim OrigLiCompLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LICOMPLEN, OrigLiCompLen)
StringToLen(value, dValue)
m_IsModifiedLiCompLen = Math.Abs(dValue - OrigLiCompLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLoTang As Boolean = False
Private m_LoTang As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Tang
''' </summary>
Public Property LoTang As String
Get
Return m_LoTang
End Get
Set(value As String)
If value <> m_LoTang Then
m_LoTang = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLoTang As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, DbLoTang)
StringToLen(value, dValue)
m_IsModifiedLoTang = Math.Abs(dValue - DbLoTang) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LoTang) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LoTang))
Else
Dim OrigLoTang As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LOTANG, OrigLoTang)
StringToLen(value, dValue)
m_IsModifiedLoTang = Math.Abs(dValue - OrigLoTang) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLoPerp As Boolean = False
Private m_LoPerp As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Perp
''' </summary>
Public Property LoPerp As String
Get
Return m_LoPerp
End Get
Set(value As String)
If value <> m_LoPerp Then
m_LoPerp = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLoPerp As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, DbLoPerp)
StringToLen(value, dValue)
m_IsModifiedLoPerp = Math.Abs(dValue - DbLoPerp) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LoPerp) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LoPerp))
Else
Dim OrigLoPerp As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LOPERP, OrigLoPerp)
StringToLen(value, dValue)
m_IsModifiedLoPerp = Math.Abs(dValue - OrigLoPerp) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLoElev As Boolean = False
Private m_LoElev As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Elev
''' </summary>
Public Property LoElev As String
Get
Return m_LoElev
End Get
Set(value As String)
If value <> m_LoElev Then
m_LoElev = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLoElev As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOELEV, DbLoElev)
StringToLen(value, dValue)
m_IsModifiedLoElev = Math.Abs(dValue - DbLoElev) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LoElev) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LoElev))
Else
Dim OrigLoElev As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LOELEV, OrigLoElev)
StringToLen(value, dValue)
m_IsModifiedLoElev = Math.Abs(dValue - OrigLoElev) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedLoCompLen As Boolean = False
Private m_LoCompLen As String
''' <summary>
''' Property that read and write to the Machining's database the Lo Comp Len
''' </summary>
Public Property LoCompLen As String
Get
Return m_LoCompLen
End Get
Set(value As String)
If value <> m_LoCompLen Then
m_LoCompLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLoCompLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LOCOMPLEN, DbLoCompLen)
StringToLen(value, dValue)
m_IsModifiedLoCompLen = Math.Abs(dValue - DbLoCompLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LoCompLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(LoCompLen))
Else
Dim OrigLoCompLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LOCOMPLEN, OrigLoCompLen)
StringToLen(value, dValue)
m_IsModifiedLoCompLen = Math.Abs(dValue - OrigLoCompLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStartAddLen As Boolean = False
Private m_StartAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the Start Add Len
''' </summary>
Public Property StartAddLen As String
Get
Return m_StartAddLen
End Get
Set(value As String)
If value <> m_StartAddLen Then
m_StartAddLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStartAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STARTADDLEN, DbStartAddLen)
StringToLen(value, dValue)
m_IsModifiedStartAddLen = Math.Abs(dValue - DbStartAddLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StartAddLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StartAddLen))
Else
Dim OrigStartAddLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STARTADDLEN, OrigStartAddLen)
StringToLen(value, dValue)
m_IsModifiedStartAddLen = Math.Abs(dValue - OrigStartAddLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedEndAddLen As Boolean = False
Private m_EndAddLen As String
''' <summary>
''' Property that read and write to the Machining's database the End Add Len
''' </summary>
Public Property EndAddLen As String
Get
Return m_EndAddLen
End Get
Set(value As String)
If value <> m_EndAddLen Then
m_EndAddLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbEndAddLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.ENDADDLEN, DbEndAddLen)
StringToLen(value, dValue)
m_IsModifiedEndAddLen = Math.Abs(dValue - DbEndAddLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_EndAddLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(EndAddLen))
Else
Dim OrigEndAddLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.ENDADDLEN, OrigEndAddLen)
StringToLen(value, dValue)
m_IsModifiedEndAddLen = Math.Abs(dValue - OrigEndAddLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepExtArc As Boolean = False
Private m_StepExtArc As String
''' <summary>
''' Property that read and write to the Machining's database the Step Ext Arc
''' </summary>
Public Property StepExtArc As String
Get
Return m_StepExtArc
End Get
Set(value As String)
If value <> m_StepExtArc Then
m_StepExtArc = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepExtArc As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, DbStepExtArc)
StringToLen(value, dValue)
m_IsModifiedStepExtArc = Math.Abs(dValue - DbStepExtArc) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepExtArc) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepExtArc))
Else
Dim OrigStepExtArc As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEPEXTARC, OrigStepExtArc)
StringToLen(value, dValue)
m_IsModifiedStepExtArc = Math.Abs(dValue - OrigStepExtArc) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepIntArc As Boolean = False
Private m_StepIntArc As String
''' <summary>
''' Property that read and write to the Machining's database the Step Int Arc
''' </summary>
Public Property StepIntArc As String
Get
Return m_StepIntArc
End Get
Set(value As String)
If value <> m_StepIntArc Then
m_StepIntArc = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepIntArc As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, DbStepIntArc)
StringToLen(value, dValue)
m_IsModifiedStepIntArc = Math.Abs(dValue - DbStepIntArc) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepIntArc) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepIntArc))
Else
Dim OrigStepIntArc As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEPINTARC, OrigStepIntArc)
StringToLen(value, dValue)
m_IsModifiedStepIntArc = Math.Abs(dValue - OrigStepIntArc) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedSideStep As Boolean = False
Private m_SideStep As String
''' <summary>
''' Property that read and write to the Machining's database the Side Step
''' </summary>
Public Property SideStep As String
Get
Return m_SideStep
End Get
Set(value As String)
If value <> m_SideStep Then
m_SideStep = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbSideStep As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, DbSideStep)
StringToLen(value, dValue)
m_IsModifiedSideStep = Math.Abs(dValue - DbSideStep) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_SideStep) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(SideStep))
Else
Dim OrigSideStep As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.SIDESTEP, OrigSideStep)
StringToLen(value, dValue)
m_IsModifiedSideStep = Math.Abs(dValue - OrigSideStep) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedSubStep As Boolean = False
Private m_SubStep As String
''' <summary>
''' Property that read and write to the Machining's database the Sub Step
''' </summary>
Public Property SubStep As String
Get
Return m_SubStep
End Get
Set(value As String)
If value <> m_SubStep Then
m_SubStep = value
If m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB Then
Dim DbSubStep As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.SUBSTEP, DbSubStep)
StringToLen(value, dValue)
m_IsModifiedSubStep = Math.Abs(dValue - DbSubStep) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_SubStep) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(SubStep))
Else
Dim OrigSubStep As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.SUBSTEP, OrigSubStep)
StringToLen(value, dValue)
m_IsModifiedSubStep = Math.Abs(dValue - OrigSubStep) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepSideAng As Boolean = False
Private m_StepSideAng As String
''' <summary>
''' Property that read and write to the Machining's database the Side Step
''' </summary>
Public Property StepSideAng As String
Get
Return m_StepSideAng
End Get
Set(value As String)
If value <> m_StepSideAng Then
m_StepSideAng = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepSideAng As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANG, DbStepSideAng)
StringToLen(value, dValue)
m_IsModifiedStepSideAng = Math.Abs(dValue - DbStepSideAng) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepSideAng) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepSideAng))
Else
Dim OrigStepSideAng As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEP_, OrigStepSideAng)
StringToLen(value, dValue)
m_IsModifiedStepSideAng = Math.Abs(dValue - OrigStepSideAng) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedStepSideAngBack As Boolean = False
Private m_StepSideAngBack As String
''' <summary>
''' Property that read and write to the Machining's database the Side Step
''' </summary>
Public Property StepSideAngBack As String
Get
Return m_StepSideAngBack
End Get
Set(value As String)
If value <> m_StepSideAngBack Then
m_StepSideAngBack = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbStepSideAngBack As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANGBACK, DbStepSideAngBack)
StringToLen(value, dValue)
m_IsModifiedStepSideAngBack = Math.Abs(dValue - DbStepSideAngBack) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_StepSideAngBack) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(StepSideAngBack))
Else
Dim OrigStepSideAngBack As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.STEP_, OrigStepSideAngBack)
StringToLen(value, dValue)
m_IsModifiedStepSideAngBack = Math.Abs(dValue - OrigStepSideAngBack) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedVertFeed As Boolean = False
Private m_VertFeed As String
''' <summary>
''' Property that read and write to the Machining's database the Vert Feed
''' </summary>
Public Property VertFeed As String
Get
Return m_VertFeed
End Get
Set(value As String)
If value <> m_VertFeed Then
m_VertFeed = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbVertFeed As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, DbVertFeed)
StringToLen(value, dValue)
m_IsModifiedVertFeed = Math.Abs(dValue - DbVertFeed) > 10 * EPS_SMALL
If SelectedTool >= 0 And SelectedTool < m_ToolList.Count Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Se il valore del parametro corrispondente è uguale a quello appena immesso setto il bottone a "premuto" altrimenti a "non premuto"
VertFeedChecked = Math.Abs(dVal - dValue) < 10 * EPS_ANG_SMALL
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(VertFeed))
Else
Dim OrigVertFeed As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.VERTFEED, OrigVertFeed)
StringToLen(value, dValue)
m_IsModifiedVertFeed = Math.Abs(dValue - OrigVertFeed) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
If GetNonNumericTextBox(m_VertFeed) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(VertFeed))
End If
End Set
End Property
Private m_IsModifiedOscEnable As Boolean = False
Private m_OscEnable As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Oscillation
''' </summary>
Public Property OscEnable As Boolean
Get
Return m_OscEnable
End Get
Set(value As Boolean)
If value <> m_OscEnable Then
If m_MatType = MaterialType.WOOD Then
If Not IsNothing(LeaveTab) AndAlso LeaveTab Then
' L'abilitazione di {0} disabiliterà {1}. Procedere? - Oscillazione - Tab
Dim sMsg As String = String.Format(EgtMsg(31419), EgtMsg(31382), EgtMsg(31252))
' Chiedo autorizzazione a procedere : ATTENZIONE
If MessageBox.Show(sMsg, EgtMsg(31614), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then
'If EgtMessageBoxV.Show(Application.Current.MainWindow, sMsg, EgtMsg(31614), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then ' ATTENZIONE
Return
Else
LeaveTab = Not LeaveTab
End If
End If
m_OscEnable = value
End If
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbOscEnable As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.OSCENABLE, DbOscEnable)
m_IsModifiedOscEnable = value <> DbOscEnable
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
Else
Dim OrigOscEnable As Boolean = False
EgtGetMachiningParam(MCH_MP.OSCENABLE, OrigOscEnable)
m_IsModifiedOscEnable = value <> OrigOscEnable
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(OscEnable))
End If
End Set
End Property
Private m_IsModifiedOscHeight As Boolean = False
Private m_OscHeight As String
''' <summary>
''' Property that read and write to the Machining's database the Oscillation Height
''' </summary>
Public Property OscHeight As String
Get
Return m_OscHeight
End Get
Set(value As String)
If value <> m_OscHeight Then
m_OscHeight = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim OrigOscHeight As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OSCHEIGHT, OrigOscHeight)
StringToLen(value, dValue)
m_IsModifiedOscHeight = Math.Abs(dValue - OrigOscHeight) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_OscHeight) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OscHeight))
Else
Dim OrigOscHeight As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OSCHEIGHT, OrigOscHeight)
StringToLen(value, dValue)
m_IsModifiedOscHeight = Math.Abs(dValue - OrigOscHeight) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedOscRampLen As Boolean = False
Private m_OscRampLen As String
''' <summary>
''' Property that read and write to the Machining's database the Oscillation Ramp Length
''' </summary>
Public Property OscRampLen As String
Get
Return m_OscRampLen
End Get
Set(value As String)
If value <> m_OscRampLen Then
m_OscRampLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim OrigOscRampLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OSCRAMPLEN, OrigOscRampLen)
StringToLen(value, dValue)
m_IsModifiedOscRampLen = Math.Abs(dValue - OrigOscRampLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_OscRampLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OscRampLen))
Else
Dim OrigOscRampLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OSCRAMPLEN, OrigOscRampLen)
StringToLen(value, dValue)
m_IsModifiedOscRampLen = Math.Abs(dValue - OrigOscRampLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedOscFlatLen As Boolean = False
Private m_OscFlatLen As String
''' <summary>
''' Property that read and write to the Machining's database the Oscillation Flat Length
''' </summary>
Public Property OscFlatLen As String
Get
Return m_OscFlatLen
End Get
Set(value As String)
If value <> m_OscFlatLen Then
m_OscFlatLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim OrigOscFlatLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.OSCFLATLEN, OrigOscFlatLen)
StringToLen(value, dValue)
m_IsModifiedOscFlatLen = Math.Abs(dValue - OrigOscFlatLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_OscFlatLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(OscFlatLen))
Else
Dim OrigOscFlatLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.OSCFLATLEN, OrigOscFlatLen)
StringToLen(value, dValue)
m_IsModifiedOscFlatLen = Math.Abs(dValue - OrigOscFlatLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
' Variabile che indica se c'è un errore nel nome della lavorazione (ad esempio nome già utilizzato)
Dim nErrorMachiningName As Integer = 0
Friend m_IsModifiedName As Boolean = False
''' <summary>
''' Property that read and write to the machining's database the Name
''' </summary>
Public Property NamePar As String
Get
Return m_Name
End Get
Set(value As String)
If value = String.Empty Or value <> m_Name Then
nErrorMachiningName = 0
m_Name = value
' Verifico se il nome è diverso da quello nel database e imposto l'apposito flag
Dim DbName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, DbName)
m_IsModifiedName = value <> DbName
' Verifico che il nuovo nome sia valido
Dim sTempName As String = value
EgtMdbGetMachiningNewName(sTempName)
If m_IsModifiedName And Not value = sTempName Then
nErrorMachiningName = 1
End If
If Not GetValidationError(NameOf(NamePar)) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
NotifyPropertyChanged(NameOf(NamePar))
End If
End Set
End Property
''' <summary>
''' ObservableCollection che contiene le variabili per il combobox Tool
''' </summary>
Private m_ToolList As ObservableCollection(Of String)
Public ReadOnly Property ToolList As ObservableCollection(Of String)
Get
Select Case m_Type
Case MCH_MY.DRILLING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.DRILL_STD, m_ToolList)
FindToolByType(MCH_TY.DRILL_LONG, m_ToolList)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
Case MCH_MY.SAWING, MCH_MY.SAWROUGHING, MCH_MY.SAWFINISHING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
Case MCH_MY.MILLING
m_ToolList = New ObservableCollection(Of String)
If (m_MatType <> MaterialType.STONE) Then
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
FindToolByType(MCH_TY.COMPO, m_ToolList)
End If
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
Case MCH_MY.POCKETING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
If m_MatType = MaterialType.STONE Or
m_MatType = MaterialType.STONE5 Then
FindToolByType(MCH_TY.MILL_POLISHING, m_ToolList)
End If
Case MCH_MY.MORTISING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.MORTISE_STD, m_ToolList)
Case MCH_MY.GENMACHINING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.DRILL_STD, m_ToolList)
FindToolByType(MCH_TY.DRILL_LONG, m_ToolList)
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
FindToolByType(MCH_TY.COMPO, m_ToolList)
Case MCH_MY.CHISELING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.CHISEL_STD, m_ToolList)
Case MCH_MY.SURFFINISHING, MCH_MY.FIVEAXISMILLING, MCH_MY.SURFROUGHING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
If MachiningTreeViewItem.m_MatType = MaterialType.STONE5 Then
FindToolByType(MCH_TY.SAW_STD, m_ToolList)
FindToolByType(MCH_TY.SAW_FLAT, m_ToolList)
End If
Case MCH_MY.WATERJETTING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.WATERJET, m_ToolList)
Case MCH_MY.PROBING
m_ToolList = New ObservableCollection(Of String)
FindToolByType(MCH_TY.PROBE, m_ToolList)
Case Else
m_ToolList = Nothing
End Select
Return m_ToolList
End Get
End Property
''' <summary>
''' Method that search all tools in Db of a specified type
''' </summary>
Private Sub FindToolByType(ToolType As MCH_TY, ToolList As ObservableCollection(Of String))
Dim nType As Integer = 0
Dim ToolName As String = String.Empty
If EgtTdbGetFirstTool(ToolType, ToolName, nType) Then
If nType = ToolType Then ToolList.Add(ToolName)
While EgtTdbGetNextTool(ToolType, ToolName, nType)
If nType = ToolType Then ToolList.Add(ToolName)
End While
End If
End Sub
' Variabile che indica quando questa variabile viene modificata dalla lettura dei parametri e non dall'utente
Dim ReadTool As Boolean = False
Private m_IsModifiedSelectedTool As Boolean = False
Private m_SelectedTool As Integer
''' <summary>
''' Property that read and write to the Machining's database the Tool
''' </summary>
Public Property SelectedTool As Integer
Get
Return m_SelectedTool
End Get
Set(value As Integer)
If value <> m_SelectedTool Then
m_SelectedTool = value
If value <> -1 Then
Dim DbSelectedTool As String = String.Empty
EgtSetCurrentContext(MachiningDbWindowVM.m_ProjectSceneContext)
EgtTdbGetCurrToolParam(MCH_MP.TOOL, DbSelectedTool)
m_IsModifiedSelectedTool = If(m_ToolList(value) <> DbSelectedTool, True, False)
If Not ReadTool Then
EgtTdbSetCurrTool(m_ToolList(value))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.SPEED, dVal)
Speed = DoubleToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
Feed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.STARTFEED, dVal)
StartFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.ENDFEED, dVal)
EndFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.TIPFEED, dVal)
TipFeed = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.LONOFFSET, dVal)
OffSr = LenToString(dVal, 4)
EgtTdbGetCurrToolParam(MCH_TP.RADOFFSET, dVal)
OffSl = LenToString(dVal, 4)
End If
' se macchina di tipo Stone e lavorazione Pocketing verifico se utensile Polishing
Dim FamilyTool As FamilyMachiningTreeViewItem = DirectCast(m_Parent, FamilyMachiningTreeViewItem)
If FamilyTool.MachiningType = MCH_MY.POCKETING AndAlso
(m_MatType = MaterialType.STONE Or m_MatType = MaterialType.STONE5) Then
Dim PolishingToolList As New ObservableCollection(Of String)
FindToolByType(MCH_TY.MILL_POLISHING, PolishingToolList)
' se utensile Polishing rendo visibile i campi degli Epicicli altrimenti li collasso
If PolishingToolList.Contains(m_ToolList(m_SelectedTool)) Then
Epicycles_Visibility = Visibility.Visible
Else
Epicycles_Visibility = Visibility.Collapsed
End If
End If
End If
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedTool))
End If
End Set
End Property
Private m_IsModifiedDepthStr As Boolean = False
Private m_DepthStr As String
''' <summary>
''' Property that read and write to the Machining's database the Depth Str
''' </summary>
Public Property DepthStr As String
Get
Return m_DepthStr
End Get
Set(value As String)
If value = String.Empty Or value <> m_DepthStr Then
m_DepthStr = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbDepthStr As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DbDepthStr)
m_IsModifiedDepthStr = value <> DbDepthStr
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(DepthStr))
Else
Dim DbDepthStr As String = String.Empty
EgtGetMachiningParam(MCH_MP.DEPTH_STR, DbDepthStr)
m_IsModifiedDepthStr = value <> DbDepthStr
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_Uuid As String
''' <summary>
''' Property that read and write to the tool's database the Uuid
''' </summary>
Public ReadOnly Property Uuid As String
Get
Return m_Uuid
End Get
End Property
Private m_IsModifiedUserNotes As Boolean = False
Private m_UserNotes As String
''' <summary>
''' Property that read and write to the Machining's database the User Notes
''' </summary>
Public Property UserNotes As String
Get
Return m_UserNotes
End Get
Set(value As String)
If value = String.Empty Or value <> m_UserNotes Then
m_UserNotes = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbUserNotes As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, DbUserNotes)
m_IsModifiedUserNotes = value <> DbUserNotes
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(UserNotes))
Else
Dim OrigUserNotes As String = String.Empty
EgtGetMachiningParam(MCH_MP.USERNOTES, OrigUserNotes)
m_IsModifiedUserNotes = value <> OrigUserNotes
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedInitAngs As Boolean = False
Private m_InitAngs As String
''' <summary>
''' Property that read and write to the Machining's database the Initial Angles
''' </summary>
Public Property InitAngs As String
Get
Return m_InitAngs
End Get
Set(value As String)
If value = String.Empty Or value <> m_InitAngs Then
m_InitAngs = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbInitAngs As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.INITANGS, DbInitAngs)
m_IsModifiedInitAngs = value <> DbInitAngs
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(InitAngs))
Else
Dim OrigInitAngs As String = String.Empty
EgtGetMachiningParam(MCH_MP.INITANGS, OrigInitAngs)
m_IsModifiedInitAngs = value <> OrigInitAngs
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Private m_IsModifiedBlockedAxis As Boolean = False
Private m_BlockedAxis As String
''' <summary>
''' Property that read and write to the Machining's database the Initial Angles
''' </summary>
Public Property BlockedAxis As String
Get
Return m_BlockedAxis
End Get
Set(value As String)
If value = String.Empty Or value <> m_BlockedAxis Then
m_BlockedAxis = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbBlockedAxis As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, DbBlockedAxis)
m_IsModifiedBlockedAxis = value <> DbBlockedAxis
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(BlockedAxis))
Else
Dim OrigBlockedAxis As String = String.Empty
EgtGetMachiningParam(MCH_MP.BLOCKEDAXIS, OrigBlockedAxis)
m_IsModifiedBlockedAxis = value <> OrigBlockedAxis
RaiseEvent m_IsModified(IsModified())
End If
End If
End Set
End Property
Public ReadOnly Property ToolColor As Brush
Get
If Not m_IsValidTool Then
Return Brushes.Red
Else
Return Brushes.Transparent
End If
End Get
End Property
Friend m_IsValidTool As Boolean
''' <summary>
''' Property that read and write to the tool's database the Exit
''' </summary>
Public Property IsValidTool As Boolean
Get
Return m_IsValidTool
End Get
Set(value As Boolean)
If value <> m_IsValidTool Then
m_IsValidTool = value
NotifyPropertyChanged(NameOf(ToolColor))
End If
End Set
End Property
Private m_IsModifiedForwardAngle As Boolean = False
Private m_ForwardAngle As String
''' <summary>
''' Property that read and write to the Machining's database the ForwardAngle
''' </summary>
Public Property ForwardAngle As String
Get
Return m_ForwardAngle
End Get
Set(value As String)
If value <> m_ForwardAngle Then
m_ForwardAngle = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbForwardAngle As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.FORWARDANGLE, DbForwardAngle)
StringToDouble(value, dValue)
m_IsModifiedForwardAngle = Math.Abs(dValue - DbForwardAngle) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ForwardAngle) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigForwardAngle As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.FORWARDANGLE, OrigForwardAngle)
StringToDouble(value, dValue)
m_IsModifiedForwardAngle = Math.Abs(dValue - OrigForwardAngle) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(ForwardAngle))
End If
End Set
End Property
Private m_IsModifiedProbing As Boolean = False
Private m_Probing As Boolean
''' <summary>
''' Property that read and write to the Machining's database the Probing
''' </summary>
Public Property Probing As Boolean
Get
Return m_Probing
End Get
Set(value As Boolean)
If value <> m_Probing Then
m_Probing = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbProbing As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.PROBING, DbProbing)
m_IsModifiedProbing = value <> DbProbing
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
Else
Dim OrigProbing As Boolean = False
EgtGetMachiningParam(MCH_MP.PROBING, OrigProbing)
m_IsModifiedProbing = value <> OrigProbing
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(Probing))
End If
End Set
End Property
Private m_IsModifiedProbingMinDist As Boolean = False
Private m_ProbingMinDist As String
''' <summary>
''' Property that read and write to the Machining's database the ProbingMinDist
''' </summary>
Public Property ProbingMinDist As String
Get
Return m_ProbingMinDist
End Get
Set(value As String)
If value <> m_ProbingMinDist Then
m_ProbingMinDist = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbProbingMinDist As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.PROBINGMINDIST, DbProbingMinDist)
StringToLen(value, dValue)
m_IsModifiedProbingMinDist = Math.Abs(dValue - DbProbingMinDist) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ProbingMinDist) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigProbingMinDist As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.PROBINGMINDIST, OrigProbingMinDist)
StringToLen(value, dValue)
m_IsModifiedProbingMinDist = Math.Abs(dValue - OrigProbingMinDist) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(ProbingMinDist))
End If
End Set
End Property
Private m_IsModifiedProbingMaxDist As Boolean = False
Private m_ProbingMaxDist As String
''' <summary>
''' Property that read and write to the Machining's database the ProbingMaxDist
''' </summary>
Public Property ProbingMaxDist As String
Get
Return m_ProbingMaxDist
End Get
Set(value As String)
If value <> m_ProbingMaxDist Then
m_ProbingMaxDist = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbProbingMaxDist As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.PROBINGMAXDIST, DbProbingMaxDist)
StringToLen(value, dValue)
m_IsModifiedProbingMaxDist = Math.Abs(dValue - DbProbingMaxDist) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_ProbingMaxDist) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigProbingMaxDist As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.PROBINGMAXDIST, OrigProbingMaxDist)
StringToLen(value, dValue)
m_IsModifiedProbingMaxDist = Math.Abs(dValue - OrigProbingMaxDist) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(ProbingMaxDist))
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox ExtCornType
Private m_ExtCornTypeList As New ObservableCollection(Of Object)({New IdNameStruct(MCH_WATERJET_EC.NONE, EgtMsg(31391)), New IdNameStruct(MCH_WATERJET_EC.SLOW, EgtMsg(31392)), New IdNameStruct(MCH_WATERJET_EC.LOOP_, EgtMsg(31393))}) ' Normale - Rallenta - Anello
Public ReadOnly Property ExtCornTypeList As ObservableCollection(Of Object)
Get
Return m_ExtCornTypeList
End Get
End Property
Private m_IsModifiedSelectedExtCornType As Boolean = False
Private m_SelectedExtCornType As Integer
' Proprietà che indica il ExtCornType (MCH_WATERJET_EC)
Public Property SelectedExtCornType As Integer
Get
If IsNothing(ExtCornTypeList) Then Return Nothing
Return m_SelectedExtCornType
End Get
Set(value As Integer)
If value <> m_SelectedExtCornType Then
If Not IsNothing(ExtCornTypeList) Then
m_SelectedExtCornType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbExtCornType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.EXTCORNERTYPE, DbExtCornType)
DbExtCornType = IdNameStruct.IndFromId(DbExtCornType, ExtCornTypeList)
m_IsModifiedSelectedExtCornType = value <> DbExtCornType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
Else
Dim OrigExtCornType As Integer = 0
EgtGetMachiningParam(MCH_MP.EXTCORNERTYPE, OrigExtCornType)
OrigExtCornType = IdNameStruct.IndFromId(OrigExtCornType, ExtCornTypeList)
m_IsModifiedSelectedExtCornType = value <> OrigExtCornType
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(SelectedExtCornType))
End If
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox IntCornType
Private m_IntCornTypeList As New ObservableCollection(Of Object)({New IdNameStruct(MCH_WATERJET_IC.NONE, EgtMsg(31391)), New IdNameStruct(MCH_WATERJET_IC.SLOW, EgtMsg(31392)), New IdNameStruct(MCH_WATERJET_IC.SLOW_FULL, EgtMsg(31420))}) ' Normale - Rallenta - Rallenta Tutto
Public ReadOnly Property IntCornTypeList As ObservableCollection(Of Object)
Get
Return m_IntCornTypeList
End Get
End Property
Private m_IsModifiedSelectedIntCornType As Boolean = False
Private m_SelectedIntCornType As Integer
' Proprietà che indica il IntCornType (MCH_WATERJET_IC)
Public Property SelectedIntCornType As Integer
Get
If IsNothing(IntCornTypeList) Then Return Nothing
Return m_SelectedIntCornType
End Get
Set(value As Integer)
If value <> m_SelectedIntCornType Then
If Not IsNothing(IntCornTypeList) Then
m_SelectedIntCornType = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbIntCornType As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.INTCORNERTYPE, DbIntCornType)
DbIntCornType = IdNameStruct.IndFromId(DbIntCornType, IntCornTypeList)
m_IsModifiedSelectedIntCornType = value <> DbIntCornType
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
NotifyPropertyChanged(NameOf(SelectedIntCornType))
Else
Dim OrigIntCornType As Integer = 0
EgtGetMachiningParam(MCH_MP.INTCORNERTYPE, OrigIntCornType)
OrigIntCornType = IdNameStruct.IndFromId(OrigIntCornType, IntCornTypeList)
m_IsModifiedSelectedIntCornType = value <> OrigIntCornType
RaiseEvent m_IsModified(IsModified())
End If
End If
End If
End Set
End Property
Private m_IsModifiedCornSlowLen As Boolean = False
Private m_CornSlowLen As String
''' <summary>
''' Property that read and write to the Machining's database the CornSlowLen
''' </summary>
Public Property CornSlowLen As String
Get
Return m_CornSlowLen
End Get
Set(value As String)
If value <> m_CornSlowLen Then
m_CornSlowLen = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbCornSlowLen As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.CORNERSLOWLEN, DbCornSlowLen)
StringToLen(value, dValue)
m_IsModifiedCornSlowLen = Math.Abs(dValue - DbCornSlowLen) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_CornSlowLen) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigCornSlowLen As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.CORNERSLOWLEN, OrigCornSlowLen)
StringToLen(value, dValue)
m_IsModifiedCornSlowLen = Math.Abs(dValue - OrigCornSlowLen) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(CornSlowLen))
End If
End Set
End Property
Private m_IsModifiedCornSlowPerc As Boolean = False
Private m_CornSlowPerc As String
''' <summary>
''' Property that read and write to the Machining's database the CornSlowPerc
''' </summary>
Public Property CornSlowPerc As String
Get
Return m_CornSlowPerc
End Get
Set(value As String)
If value <> m_CornSlowPerc Then
m_CornSlowPerc = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbCornSlowPerc As Integer = 0
Dim nValue As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.CORNERSLOWPERC, DbCornSlowPerc)
Int32.TryParse(value, nValue)
m_IsModifiedCornSlowPerc = Math.Abs(nValue - DbCornSlowPerc) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_CornSlowPerc) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigCornSlowPerc As Integer = 0
Dim nValue As Integer = 0
EgtGetMachiningParam(MCH_MP.CORNERSLOWPERC, OrigCornSlowPerc)
Int32.TryParse(value, nValue)
m_IsModifiedCornSlowPerc = Math.Abs(nValue - OrigCornSlowPerc) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(CornSlowPerc))
End If
End Set
End Property
Private m_IsModifiedLiHole As Boolean = False
Private m_LiHole As Boolean
''' <summary>
''' Property that read and write to the Machining's database the LiHole
''' </summary>
Public Property LiHole As Boolean
Get
Return m_LiHole
End Get
Set(value As Boolean)
If value <> m_LiHole Then
m_LiHole = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiHole As Boolean = False
EgtMdbGetCurrMachiningParam(MCH_MP.LIHOLE, DbLiHole)
m_IsModifiedLiHole = value <> DbLiHole
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
Else
Dim OrigLiHole As Boolean = False
EgtGetMachiningParam(MCH_MP.LIHOLE, OrigLiHole)
m_IsModifiedLiHole = value <> OrigLiHole
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(LiHole))
End If
End Set
End Property
Private m_IsModifiedLiHoleRad As Boolean = False
Private m_LiHoleRad As String
''' <summary>
''' Property that read and write to the Machining's database the LiHoleRad
''' </summary>
Public Property LiHoleRad As String
Get
Return m_LiHoleRad
End Get
Set(value As String)
If value <> m_LiHoleRad Then
m_LiHoleRad = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLiHoleRad As Double = 0
Dim dValue As Double = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LIHOLERAD, DbLiHoleRad)
StringToLen(value, dValue)
m_IsModifiedLiHoleRad = Math.Abs(dValue - DbLiHoleRad) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LiHoleRad) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigLiHoleRad As Double = 0
Dim dValue As Double = 0
EgtGetMachiningParam(MCH_MP.LIHOLERAD, OrigLiHoleRad)
StringToLen(value, dValue)
m_IsModifiedLiHoleRad = Math.Abs(dValue - OrigLiHoleRad) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(LiHoleRad))
End If
End Set
End Property
Private m_IsModifiedLpTurns As Boolean = False
Private m_LpTurns As String
''' <summary>
''' Property that read and write to the Machining's database the LpTurns
''' </summary>
Public Property LpTurns As String
Get
Return m_LpTurns
End Get
Set(value As String)
If value <> m_LpTurns Then
m_LpTurns = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbLpTurns As Integer = 0
Dim nValue As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.LPTURNS, DbLpTurns)
Int32.TryParse(value, nValue)
m_IsModifiedLpTurns = Math.Abs(nValue - DbLpTurns) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_LpTurns) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigLpTurns As Integer = 0
Dim nValue As Integer = 0
EgtGetMachiningParam(MCH_MP.LPTURNS, OrigLpTurns)
Int32.TryParse(value, nValue)
m_IsModifiedLpTurns = Math.Abs(nValue - OrigLpTurns) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(LpTurns))
End If
End Set
End Property
Private m_IsModifiedHpTurns As Boolean = False
Private m_HpTurns As String
''' <summary>
''' Property that read and write to the Machining's database the HpTurns
''' </summary>
Public Property HpTurns As String
Get
Return m_HpTurns
End Get
Set(value As String)
If value <> m_HpTurns Then
m_HpTurns = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
Dim DbHpTurns As Integer = 0
Dim nValue As Integer = 0
EgtMdbGetCurrMachiningParam(MCH_MP.HPTURNS, DbHpTurns)
Int32.TryParse(value, nValue)
m_IsModifiedHpTurns = Math.Abs(nValue - DbHpTurns) > 10 * EPS_SMALL
If GetNonNumericTextBox(m_HpTurns) Then
m_delErrorOnMachining(True)
m_delIsEnabledBtns(False, False, True)
Else
m_delErrorOnMachining(Not IsValid)
m_delIsEnabledBtns(IsValid And Not IsModified, IsValid, True)
End If
Else
Dim OrigHpTurns As Integer = 0
Dim nValue As Integer = 0
EgtGetMachiningParam(MCH_MP.HPTURNS, OrigHpTurns)
Int32.TryParse(value, nValue)
m_IsModifiedHpTurns = Math.Abs(nValue - OrigHpTurns) > 10 * EPS_SMALL
RaiseEvent m_IsModified(IsModified())
End If
NotifyPropertyChanged(NameOf(HpTurns))
End If
End Set
End Property
'ObservableCollection che contiene le variabili per il combobox LeadInType
Private m_MaterialList As New ObservableCollection(Of MachiningMaterial)
Public Property MaterialList As ObservableCollection(Of MachiningMaterial)
Get
Return m_MaterialList
End Get
Set(value As ObservableCollection(Of MachiningMaterial))
m_MaterialList = value
End Set
End Property
Private m_SelMaterial As MachiningMaterial
Public Property SelMaterial As MachiningMaterial
Get
Return m_SelMaterial
End Get
Set(value As MachiningMaterial)
m_SelMaterial = value
End Set
End Property
Private m_SystemNotes As String
''' <summary>
''' Property that read and write to the Machining's database the System Notes
''' </summary>
Public Property SystemNotes As String
Get
Return m_SystemNotes
End Get
Set(value As String)
m_SystemNotes = value
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
NotifyPropertyChanged(NameOf(SystemNotes))
End If
End Set
End Property
Private Sub SetSystemNotes()
' Scrivo stringa materiali da lista
Dim sMaterialString As String = String.Empty
For Each Material In m_MaterialList
Dim dMinTh As Double = 0
StringToLen(Material.MinThickness, dMinTh)
Dim dMaxTh As Double = 0
StringToLen(Material.MaxThickness, dMaxTh)
If dMinTh > 0 Or dMaxTh > 0 Then
If bWaterJet And bFromDBWaterJet Then
sMaterialString += Material.nId.ToString & "." & Material.nSubId.ToString & "," & DoubleToString(dMinTh, 3) & "," & DoubleToString(dMaxTh, 3) & ";"
Else
sMaterialString += Material.nId.ToString & "," & DoubleToString(dMinTh, 3) & "," & DoubleToString(dMaxTh, 3) & ";"
End If
End If
Next
SystemNotes = sMaterialString
End Sub
''' <summary>
''' Property that read the System Notes visibility
''' </summary>
Public ReadOnly Property SysNotes_Visibility As Visibility
Get
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
If MachiningDbWindowVM.m_bVisibleSysNotes Then
Return Visibility.Visible
Else
Return Visibility.Collapsed
End If
Else
If m_MPE_SysNotes_Visibility Then
Return Visibility.Visible
Else
Return Visibility.Collapsed
End If
End If
End Get
End Property
Private m_SpeedChecked As Boolean
Public Property SpeedChecked As Boolean
Get
Return m_SpeedChecked
End Get
Set(value As Boolean)
m_SpeedChecked = value
SpeedEnabled = Not SpeedChecked
' Se il pulsante è premuto
If m_SpeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.SPEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
Speed = DoubleToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(SpeedChecked))
End Set
End Property
Private m_FeedChecked As Boolean
Public Property FeedChecked As Boolean
Get
Return m_FeedChecked
End Get
Set(value As Boolean)
m_FeedChecked = value
FeedEnabled = Not FeedChecked
' Se il pulsante è premuto
If m_FeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
Feed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(FeedChecked))
End Set
End Property
Private m_StartFeedChecked As Boolean
Public Property StartFeedChecked As Boolean
Get
Return m_StartFeedChecked
End Get
Set(value As Boolean)
m_StartFeedChecked = value
StartFeedEnabled = Not StartFeedChecked
' Se il pulsante è premuto
If m_StartFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.STARTFEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
StartFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(StartFeedChecked))
End Set
End Property
Private m_EndFeedChecked As Boolean
Public Property EndFeedChecked As Boolean
Get
Return m_EndFeedChecked
End Get
Set(value As Boolean)
m_EndFeedChecked = value
EndFeedEnabled = Not EndFeedChecked
' Se il pulsante è premuto
If m_EndFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.ENDFEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
EndFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(EndFeedChecked))
End Set
End Property
Private m_TipFeedChecked As Boolean
Public Property TipFeedChecked As Boolean
Get
Return m_TipFeedChecked
End Get
Set(value As Boolean)
m_TipFeedChecked = value
TipFeedEnabled = Not TipFeedChecked
' Se il pulsante è premuto
If m_TipFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.TIPFEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
TipFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(TipFeedChecked))
End Set
End Property
Private m_BackFeedChecked As Boolean
Public Property BackFeedChecked As Boolean
Get
Return m_BackFeedChecked
End Get
Set(value As Boolean)
m_BackFeedChecked = value
BackFeedEnabled = Not BackFeedChecked
' Se il pulsante è premuto
If m_BackFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
BackFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(BackFeedChecked))
End Set
End Property
Private m_SideAngFeedChecked As Boolean
Public Property SideAngFeedChecked As Boolean
Get
Return m_SideAngFeedChecked
End Get
Set(value As Boolean)
m_SideAngFeedChecked = value
SideAngFeedEnabled = Not SideAngFeedChecked
' Se il pulsante è premuto
If m_SideAngFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
SideAngFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(SideAngFeedChecked))
End Set
End Property
Private m_VertFeedChecked As Boolean
Public Property VertFeedChecked As Boolean
Get
Return m_VertFeedChecked
End Get
Set(value As Boolean)
m_VertFeedChecked = value
VertFeedEnabled = Not VertFeedChecked
' Se il pulsante è premuto
If m_VertFeedChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.FEED, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
VertFeed = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(VertFeedChecked))
End Set
End Property
Private m_OffSrChecked As Boolean
Public Property OffSrChecked As Boolean
Get
Return m_OffSrChecked
End Get
Set(value As Boolean)
m_OffSrChecked = value
OffSrEnabled = Not OffSrChecked
' Se il pulsante è premuto
If m_OffSrChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.RADOFFSET, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
OffSr = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(OffSrChecked))
End Set
End Property
Private m_OffSlChecked As Boolean
Public Property OffSlChecked As Boolean
Get
Return m_OffSlChecked
End Get
Set(value As Boolean)
m_OffSlChecked = value
OffSlEnabled = Not OffSlChecked
' Se il pulsante è premuto
If m_OffSlChecked And Not m_SuspendAutoToolParamUpdate Then
' Setto l'Utensile corrente a quello selezionato e leggo il parametro corrispondente dal Db Utensili
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
Dim dVal As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.LONOFFSET, dVal)
' Aggiorno il valore immesso nella TextBox con quello letto dal Db Utensili
OffSl = LenToString(dVal, 4)
End If
NotifyPropertyChanged(NameOf(OffSlChecked))
End Set
End Property
Private m_SpeedEnabled As Boolean
Public Property SpeedEnabled As Boolean
Get
Return m_SpeedEnabled
End Get
Set(value As Boolean)
m_SpeedEnabled = value
NotifyPropertyChanged(NameOf(SpeedEnabled))
End Set
End Property
Private m_FeedEnabled As Boolean
Public Property FeedEnabled As Boolean
Get
Return m_FeedEnabled
End Get
Set(value As Boolean)
m_FeedEnabled = value
NotifyPropertyChanged(NameOf(FeedEnabled))
End Set
End Property
Private m_StartFeedEnabled As Boolean
Public Property StartFeedEnabled As Boolean
Get
Return m_StartFeedEnabled
End Get
Set(value As Boolean)
m_StartFeedEnabled = value
NotifyPropertyChanged(NameOf(StartFeedEnabled))
End Set
End Property
Private m_EndFeedEnabled As Boolean
Public Property EndFeedEnabled As Boolean
Get
Return m_EndFeedEnabled
End Get
Set(value As Boolean)
m_EndFeedEnabled = value
NotifyPropertyChanged(NameOf(EndFeedEnabled))
End Set
End Property
Private m_TipFeedEnabled As Boolean
Public Property TipFeedEnabled As Boolean
Get
Return m_TipFeedEnabled
End Get
Set(value As Boolean)
m_TipFeedEnabled = value
NotifyPropertyChanged(NameOf(TipFeedEnabled))
End Set
End Property
Private m_BackFeedEnabled As Boolean
Public Property BackFeedEnabled As Boolean
Get
Return m_BackFeedEnabled
End Get
Set(value As Boolean)
m_BackFeedEnabled = value
NotifyPropertyChanged(NameOf(BackFeedEnabled))
End Set
End Property
Private m_SideAngFeedEnabled As Boolean
Public Property SideAngFeedEnabled As Boolean
Get
Return m_SideAngFeedEnabled
End Get
Set(value As Boolean)
m_SideAngFeedEnabled = value
NotifyPropertyChanged(NameOf(SideAngFeedEnabled))
End Set
End Property
Private m_VertFeedEnabled As Boolean
Public Property VertFeedEnabled As Boolean
Get
Return m_VertFeedEnabled
End Get
Set(value As Boolean)
m_VertFeedEnabled = value
NotifyPropertyChanged(NameOf(VertFeedEnabled))
End Set
End Property
Private m_OffSrEnabled As Boolean
Public Property OffSrEnabled As Boolean
Get
Return m_OffSrEnabled
End Get
Set(value As Boolean)
m_OffSrEnabled = value
NotifyPropertyChanged(NameOf(OffSrEnabled))
End Set
End Property
Private m_OffSlEnabled As Boolean
Public Property OffSlEnabled As Boolean
Get
Return m_OffSlEnabled
End Get
Set(value As Boolean)
m_OffSlEnabled = value
NotifyPropertyChanged(NameOf(OffSlEnabled))
End Set
End Property
#End Region ' Machining Property
#Region "Operation Property"
Private m_Tool As String
Public ReadOnly Property Tool As String
Get
Return m_Tool
End Get
End Property
#End Region ' Operation Property
#Region "NOTE PROPERTY"
''' <summary>
''' Lista delle Note Utente
''' </summary>
Private m_NotesList As New ObservableCollection(Of NoteListBoxItem)
Public Property NotesList As ObservableCollection(Of NoteListBoxItem)
Get
Return m_NotesList
End Get
Set(value As ObservableCollection(Of NoteListBoxItem))
m_NotesList = value
NotifyPropertyChanged(NameOf(NotesList))
End Set
End Property
''' <summary>
''' Rende visibile o non visibile la combobox
''' </summary>
Private m_bComboAddVisibility As Visibility = Visibility.Collapsed
Public ReadOnly Property ComboAddVisibility As Visibility
Get
Return m_bComboAddVisibility
End Get
End Property
Public Sub SetComboAddVisibility(value As Visibility)
m_bComboAddVisibility = value
NotifyPropertyChanged(NameOf(ComboAddVisibility))
End Sub
''' <summary>
''' Lista visualizzata nella combobox
''' </summary>
Private m_NotesListCombo As New ObservableCollection(Of NoteListBoxItem)
Public Property NotesListCombo As ObservableCollection(Of NoteListBoxItem)
Get
Return m_NotesListCombo
End Get
Set(value As ObservableCollection(Of NoteListBoxItem))
m_NotesListCombo = value
NotifyPropertyChanged(NameOf(NotesListCombo))
NotifyPropertyChanged(NameOf(AdvancedParamIsExpander))
End Set
End Property
''' <summary>
''' Valore selezionato dalla combobox
''' </summary>
Private m_SelNoteItemCombo As NoteListBoxItem
Public Property SelNoteItemCombo As NoteListBoxItem
Get
Return m_SelNoteItemCombo
End Get
Set(value As NoteListBoxItem)
m_SelNoteItemCombo = value
If Not IsNothing(m_SelNoteItemCombo) Then
SetToolNoteVisibility(Visibility.Visible)
' Controllo per la visualizzazione di una textbox o checkbox
If m_SelNoteItemCombo.Type.Equals("d") OrElse m_SelNoteItemCombo.Type.Equals("l") OrElse m_SelNoteItemCombo.Type.Equals("s") Then
m_SelNoteItemCombo.SelTypeValue = 0 ' Seleziona la TextBox
ElseIf m_SelNoteItemCombo.Type.Equals("i") Then
m_SelNoteItemCombo.SelTypeValue = 2 ' Seleziona la ComboBox
Else
m_SelNoteItemCombo.SelTypeValue = 1 ' Seleziona la CheckBox
' Trasformo il valore della checkbox da stringa a booleano
m_SelNoteItemCombo.Value = If(m_SelNoteItemCombo.Value = "1", "True", "False")
Boolean.Parse(m_SelNoteItemCombo.Value)
End If
' Aggiunto alla lista Note il valore selezionato nella combobox
For Index As Integer = 0 To m_NotesListCombo.Count - 1
' Se il valore selezionato dalla combobox e' diverso da quello presente nella lista lo aggiungo
If m_NotesList.Count <= 0 OrElse m_NotesList(Index).Description <> m_SelNoteItemCombo.Description Then
m_NotesList.Add(m_SelNoteItemCombo)
' Nascondo la combobox
SetComboAddVisibility(Visibility.Collapsed)
' Riabilito pulsante che mostra la combobox
SetShowNoteListCombo_IsEnable(True)
End If
Exit For
Next
End If
' Rimuovo dalla lista presente nella combobox il valore selezionato
m_NotesListCombo.Remove(m_SelNoteItemCombo)
' Rimuovo selezionato
m_SelNoteItemCombo = Nothing
' Disabilito pulsante che mostra la combobox
If m_NotesListCombo.Count <= 0 Then SetShowNoteListCombo_IsEnable(False)
NotifyPropertyChanged(NameOf(NotesList))
NotifyPropertyChanged(NameOf(NotesListCombo))
NotifyPropertyChanged(NameOf(SelNoteItemCombo))
RaiseEvent m_IsModified(True)
End Set
End Property
''' <summary>
''' Rende attivo o disattivo il pulsabnte per visualizzare la combobox
''' </summary>
Private m_ShowNoteListCombo_IsEnable As Boolean = True
Public ReadOnly Property ShowNoteListCombo_IsEnable As Boolean
Get
Return m_ShowNoteListCombo_IsEnable
End Get
End Property
Public Sub SetShowNoteListCombo_IsEnable(value As Boolean)
m_ShowNoteListCombo_IsEnable = value
NotifyPropertyChanged(NameOf(ShowNoteListCombo_IsEnable))
End Sub
''' <summary>
''' Gestione visibilita' per pulsante visualizzazione combobox
''' </summary>
Private m_ShowNoteListCombo_Visibility As Visibility = Visibility.Collapsed
Public ReadOnly Property ShowNoteListCombo_Visibility As Visibility
Get
Return m_ShowNoteListCombo_Visibility
End Get
End Property
Friend Sub SetShowNoteListCombo_Visibility(value As Visibility)
m_ShowNoteListCombo_Visibility = value
NotifyPropertyChanged(NameOf(ShowNoteListCombo_Visibility))
End Sub
''' <summary>
''' Gestione Expander AdvancedParam
''' </summary>
Private m_AdvancedParamIsExpander As Boolean = False
Public Property AdvancedParamIsExpander As Boolean
Get
Return m_AdvancedParamIsExpander
End Get
Set(value As Boolean)
m_AdvancedParamIsExpander = value
SetShowNoteListCombo_Visibility(If(m_AdvancedParamIsExpander AndAlso m_NotesListCombo.Count > 0, Visibility.Visible, Visibility.Collapsed))
NotifyPropertyChanged(NameOf(AdvancedParamIsExpander))
NotifyPropertyChanged(NameOf(NotesList))
End Set
End Property
Private m_bToolNoteVisibility As Visibility = Visibility.Collapsed
Public ReadOnly Property ToolNoteVisibility As Visibility
Get
Return m_bToolNoteVisibility
End Get
End Property
Friend Sub SetToolNoteVisibility(value As Visibility)
m_bToolNoteVisibility = value
NotifyPropertyChanged(NameOf(ToolNoteVisibility))
End Sub
' Comandi
Private m_cmdShowNoteListCombo As ICommand
#End Region ' Note Property
#Region "Messages"
'Definizione dei messaggi della pagina
Public ReadOnly Property InvertTxBl As String
Get
Return EgtMsg(31251) ' Inverti
End Get
End Property
Public ReadOnly Property LeaveTabTxBl As String
Get
Return EgtMsg(31252) ' Tab
End Get
End Property
Public ReadOnly Property WorkSideTxBl As String
Get
Return EgtMsg(31254) ' Lato di lavoro
End Get
End Property
Public ReadOnly Property HeadSideTxBl As String
Get
Return EgtMsg(31255) ' Lato della testa
End Get
End Property
Public ReadOnly Property LeadInTypeTxBl As String
Get
Return EgtMsg(31256) ' Attacco
End Get
End Property
Public ReadOnly Property StartAddLenTxBl As String
Get
If m_MatType = MaterialType.STONE And (m_Type = MCH_MY.SAWFINISHING Or m_Type = MCH_MY.SAWROUGHING) Then
Return EgtMsg(31396) ' Inizio
Else
Return EgtMsg(6291) ' Lungh. addiz.
End If
End Get
End Property
Public ReadOnly Property LiTangTxBl As String
Get
Return EgtMsg(6283) ' Dist. tangente
End Get
End Property
Public ReadOnly Property LiPerpTxBl As String
Get
Return EgtMsg(6284) ' Dist. perp.
End Get
End Property
Public ReadOnly Property LiElevTxBl As String
Get
Return EgtMsg(6285) ' Elevazione
End Get
End Property
Public ReadOnly Property LiCompLenTxBl As String
Get
Return EgtMsg(6286) ' Lungh. correz.
End Get
End Property
Public ReadOnly Property LeadOutTypeTxBl As String
Get
Return EgtMsg(31258) ' Uscita
End Get
End Property
Public ReadOnly Property EndAddLenTxBl As String
Get
If m_MatType = MaterialType.STONE And (m_Type = MCH_MY.SAWFINISHING Or m_Type = MCH_MY.SAWROUGHING) Then
Return EgtMsg(31397) ' Fine
Else
Return EgtMsg(6292) ' Lungh. addiz.
End If
End Get
End Property
Public ReadOnly Property LoTangTxBl As String
Get
Return EgtMsg(6287) ' Dist. tangente
End Get
End Property
Public ReadOnly Property LoPerpTxBl As String
Get
Return EgtMsg(6288) ' Dist. perp.
End Get
End Property
Public ReadOnly Property LoElevTxBl As String
Get
Return EgtMsg(6289) ' Elevazione
End Get
End Property
Public ReadOnly Property LoCompLenTxBl As String
Get
Return EgtMsg(6290) ' Lungh. correz.
End Get
End Property
Public ReadOnly Property ExtLinkTypeTxBl As String
Get
Return EgtMsg(31257) ' Collegamento
End Get
End Property
Public ReadOnly Property CurveUseTxBl As String
Get
Return EgtMsg(31259) ' Uso curve
End Get
End Property
Public ReadOnly Property StepTypeTxBl As String
Get
Return EgtMsg(31260) ' Tipo di Step
End Get
End Property
Public ReadOnly Property LeadLinkTypeTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90770) ' Collegamento
Else
Return EgtMsg(31262) ' Tipo approccio
End If
End Get
End Property
Public ReadOnly Property InvertToolDirTxBl As String
Get
Return EgtMsg(31351) ' Inverti direz. utensile
End Get
End Property
Public ReadOnly Property FaceUseTypeTxBl As String
Get
Return EgtMsg(31352) ' Lavorazione faccia
End Get
End Property
Public ReadOnly Property InitAngsTxBl As String
Get
Return EgtMsg(31364) ' Angoli suggeriti
End Get
End Property
Public ReadOnly Property BlockedAxisTxBl As String
Get
Return EgtMsg(31365) ' Asse bloccato
End Get
End Property
Public ReadOnly Property SolChoiceTypeTxBl As String
Get
Return EgtMsg(31304) ' SCC
End Get
End Property
Public ReadOnly Property SpeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90725) ' Rotazione
Else
Return EgtMsg(31263) ' Speed
End If
End Get
End Property
Public ReadOnly Property FeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90729) ' Avanzamento
Else
Return EgtMsg(31264) ' Feed
End If
End Get
End Property
Public ReadOnly Property StartFeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90731) ' Ingresso
Else
Return EgtMsg(31265) ' Feed iniziale
End If
End Get
End Property
Public ReadOnly Property EndFeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90732) ' Uscita
Else
Return EgtMsg(31266) ' Feed finale
End If
End Get
End Property
Public ReadOnly Property BackFeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90866) ' Ultimo ritorno
Else
Return EgtMsg(31366) ' Feed ultimo all'indietro
End If
End Get
End Property
Public ReadOnly Property SideAngFeedTxBl As String
Get
Return EgtMsg(90898) 'Tagli inclinati
End Get
End Property
Public ReadOnly Property OffSrTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90737) ' Radiale
Else
Return EgtMsg(31268) ' Offset radiale
End If
End Get
End Property
Public ReadOnly Property OffSlTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90736) ' Longitudinale
Else
Return EgtMsg(31269) ' Offset longitudinale
End If
End Get
End Property
Public ReadOnly Property EpicyclesRadTxBl As String
Get
Return EgtMsg(31399) ' Raggio epicicli
End Get
End Property
Public ReadOnly Property EpicyclesDistTxBl As String
Get
Return EgtMsg(31400) ' Distanza epicicli
End Get
End Property
Public ReadOnly Property SideAngleTxBl As String
Get
If m_MatType = MaterialType.STONE And m_Type = MCH_MY.SAWING Then
Return EgtMsg(90763) ' Angolo di sbandamento
Else
Return EgtMsg(31271) ' Angolo di fianco
End If
End Get
End Property
Public ReadOnly Property OffsetSrTxBl As String
Get
Return EgtMsg(6268) ' Offset radiale
End Get
End Property
Public ReadOnly Property OffsetSlTxBl As String
Get
Return EgtMsg(6269) ' Offset longitudinale
End Get
End Property
Public ReadOnly Property ApproxTxBl As String
Get
Return EgtMsg(31272) ' Approssimazione
End Get
End Property
Public ReadOnly Property StartPosTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90768) ' Posizione inizio
Else
Return EgtMsg(31273) ' Dist. di sicurezza
End If
End Get
End Property
Public ReadOnly Property StartSlowLenTxBl As String
Get
Return EgtMsg(31274) ' Lungh. rallent. iniziale
End Get
End Property
Public ReadOnly Property EndSlowLenTxBl As String
Get
Return EgtMsg(31275) ' Lungh. rallent. finale
End Get
End Property
Public ReadOnly Property ThrouAddLenTxBl As String
Get
If m_MatType = MaterialType.STONE And m_Type = MCH_MY.DRILLING Then
Return EgtMsg(90782) ' Affondamento aggiuntivo
Else
Return EgtMsg(31276) ' Lungh. passante agg.
End If
End Get
End Property
Public ReadOnly Property StepParTxBl As String
Get
If m_MatType = MaterialType.STONE Then
If m_Type = MCH_MY.SAWFINISHING Or m_Type = MCH_MY.SAWROUGHING Then
Return EgtMsg(90788) ' In affondo
ElseIf m_Type = MCH_MY.SAWING Then
Return EgtMsg(90864) ' Andata
ElseIf m_Type = MCH_MY.MILLING Then
' Return EgtMsg(90775) ' Normale
Return EgtMsg(MSG_MACHININGDB + 77) ' Passo
ElseIf m_Type = MCH_MY.DRILLING Then
Return EgtMsg(90774) ' Passo di affondamento
Else
Return EgtMsg(31277) ' Passo
End If
Else
Return EgtMsg(31277) ' Passo
End If
End Get
End Property
Public ReadOnly Property StepBackTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90865) ' Ritorno
Else
Return EgtMsg(31367) ' Passo all'indietro
End If
End Get
End Property
Public ReadOnly Property StepLastTxBl As String
Get
Return EgtMsg(90897) 'Ultimo taglio
End Get
End Property
Public ReadOnly Property ReturnPosTxBl As String
Get
Return EgtMsg(31278) ' Posizione di ritorno
End Get
End Property
Public ReadOnly Property TabLenTxBl As String
Get
Return EgtMsg(31279) ' Lunghezza
End Get
End Property
Public ReadOnly Property TabDistTxBl As String
Get
Return EgtMsg(31282) ' Distanza
End Get
End Property
Public ReadOnly Property TabHeightTxBl As String
Get
Return EgtMsg(31280) ' Altezza
End Get
End Property
Public ReadOnly Property TabAngleTxBl As String
Get
Return EgtMsg(31281) ' Angolo
End Get
End Property
Public ReadOnly Property TabMinTxBl As String
Get
Return EgtMsg(31287) ' N° minimo
End Get
End Property
Public ReadOnly Property TabMaxTxBl As String
Get
Return EgtMsg(31288) ' N° massimo
End Get
End Property
Public ReadOnly Property StepExtArcTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90778) ' Esterno archi
Else
Return EgtMsg(31293) ' Passo su esterno arco
End If
End Get
End Property
Public ReadOnly Property StepIntArcTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90777) ' Interno archi
Else
Return EgtMsg(31294) ' Passo su interno arco
End If
End Get
End Property
Public ReadOnly Property SideStepTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90789) ' Di lato
Else
Return EgtMsg(31295) ' Passo di lato
End If
End Get
End Property
Public ReadOnly Property SubStepTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90899) ' Di fine
Else
Return EgtMsg(6368) ' Passo di fine
End If
End Get
End Property
Public ReadOnly Property StepSideAngTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90862) ' Inclinato
Else
Return EgtMsg(31368) ' Passo inclinato
End If
End Get
End Property
Public ReadOnly Property StepSideAngBackTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90863) ' Incl. ritorno
Else
Return EgtMsg(31369) ' Passo all'indietro inclinato
End If
End Get
End Property
Public ReadOnly Property VertFeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
Return EgtMsg(90790) ' In verticale
Else
Return EgtMsg(31296) ' Feed verticale
End If
End Get
End Property
Public ReadOnly Property NameParTxBl As String
Get
Return EgtMsg(31297) ' Nome
End Get
End Property
Public ReadOnly Property ToolTxBl As String
Get
Return EgtMsg(31298) ' Utensile
End Get
End Property
Public ReadOnly Property DepthStrTxBl As String
Get
Return EgtMsg(31299) ' Affondamento
End Get
End Property
Public ReadOnly Property UserNotesTxBl As String
Get
Return EgtMsg(31300) ' Note
End Get
End Property
Public ReadOnly Property OverLapTxBl As String
Get
Return EgtMsg(31301) ' Sovrapposizione
End Get
End Property
Public ReadOnly Property SubTypeTxBl As String
Get
If m_Type = MCH_MY.SAWFINISHING Then
Return EgtMsg(90861) ' Spatolatura
Else
Return EgtMsg(31303) ' Sottotipo
End If
End Get
End Property
Public ReadOnly Property ForwardAngleTxBl As String
Get
Return EgtMsg(31370) ' Inclinazione in avanti
End Get
End Property
Public ReadOnly Property ProbingTxBl As String
Get
Return EgtMsg(90879) ' Abilitazione
End Get
End Property
Public ReadOnly Property ProbingMinDistTxBl As String
Get
Return EgtMsg(31372) ' Min dist. punti
End Get
End Property
Public ReadOnly Property ProbingMaxDistTxBl As String
Get
Return EgtMsg(31373) ' Max dist. punti
End Get
End Property
Public ReadOnly Property ExtCornTypeTxBl As String
Get
Return EgtMsg(31374) ' Esterni
End Get
End Property
Public ReadOnly Property IntCornTypeTxBl As String
Get
Return EgtMsg(31375) ' Interni
End Get
End Property
Public ReadOnly Property CornSlowLenTxBl As String
Get
Return EgtMsg(31376) ' Lungh. rall.
End Get
End Property
Public ReadOnly Property CornSlowPercTxBl As String
Get
Return EgtMsg(31377) ' Rallentam. %
End Get
End Property
Public ReadOnly Property LiHoleTxBl As String
Get
Return EgtMsg(31378) ' Foro di attacco
End Get
End Property
Public ReadOnly Property LiHoleRadTxBl As String
Get
Return EgtMsg(31379) ' Raggio
End Get
End Property
Public ReadOnly Property LpTurnsTxBl As String
Get
Return EgtMsg(31380) ' Num. giri in LP
End Get
End Property
Public ReadOnly Property HpTurnsTxBl As String
Get
Return EgtMsg(31381) ' Num. giri in HP
End Get
End Property
Public ReadOnly Property ThicknessFeedTxBl As String
Get
Return EgtMsg(31070) ' Spessore
End Get
End Property
Public ReadOnly Property TipFeedTxBl As String
Get
If m_MatType = MaterialType.STONE Then
If m_Type = MCH_MY.WATERJETTING Then
Return EgtMsg(31201) ' Foratura
Else
Return EgtMsg(90730) ' Testa
End If
Else
Return EgtMsg(31267) ' Feed di testa
End If
End Get
End Property
Public ReadOnly Property MaterialMsg As String
Get
Return EgtMsg(91451) ' Materiale
End Get
End Property
Public ReadOnly Property MinThicknessMsg As String
Get
Return EgtMsg(91452) ' Spessore minimo
End Get
End Property
Public ReadOnly Property MaxThicknessMsg As String
Get
Return EgtMsg(91453) ' Spessore massimo
End Get
End Property
Public ReadOnly Property OscillationGpBxLbl As String
Get
Return EgtMsg(31382) ' Oscillazione
End Get
End Property
Public ReadOnly Property OscEnableTxBl As String
Get
Return EgtMsg(31382) ' Oscillazione
End Get
End Property
Public ReadOnly Property OscHeightTxBl As String
Get
Return EgtMsg(31383) ' Ampiezza
End Get
End Property
Public ReadOnly Property OscRampLenTxBl As String
Get
Return EgtMsg(31384) ' Lungh. rampa
End Get
End Property
Public ReadOnly Property OscFlatLenTxBl As String
Get
Return EgtMsg(31385) ' Lungh. cresta
End Get
End Property
Public ReadOnly Property AcrossTxBl As String
Get
Return EgtMsg(90861) ' Spatolatura
End Get
End Property
Public ReadOnly Property GenericGpBxLbl As String
Get
Return EgtMsg(31386) ' Generici
End Get
End Property
Public ReadOnly Property AdvancedGpBxLbl As String
Get
Return EgtMsg(31387) ' Avanzati
End Get
End Property
Public ReadOnly Property StepGpBxLbl As String
Get
Return EgtMsg(31277) ' Passo
End Get
End Property
Public ReadOnly Property FeedGpBxLbl As String
Get
Return EgtMsg(90728) ' Feed
End Get
End Property
Public ReadOnly Property OffsetGpBxLbl As String
Get
Return EgtMsg(90735) ' Sovramateriale
End Get
End Property
Public ReadOnly Property SlowLenGpBxLbl As String
Get
Return EgtMsg(90779) ' Lunghezza del rallentamento
End Get
End Property
Public ReadOnly Property OverlapGpBxLbl As String
Get
Return EgtMsg(90227) ' Sovrapposizione
End Get
End Property
Public ReadOnly Property AnglesGpBxLbl As String
Get
Return EgtMsg(90880) ' Angoli
End Get
End Property
Public ReadOnly Property ProbingGpBxLbl As String
Get
Return EgtMsg(90868) ' Tastatura
End Get
End Property
Public ReadOnly Property LeadInTypeGpBxLbl As String
Get
Return EgtMsg(31256) ' Attacco
End Get
End Property
Public ReadOnly Property LeadOutTypeGpBxLbl As String
Get
Return EgtMsg(31258) ' Uscita
End Get
End Property
Public ReadOnly Property CurveUseGpBxLbl As String
Get
Return EgtMsg(31259) ' Uso curve
End Get
End Property
Public ReadOnly Property AddLenGpBxLbl As String
Get
Return EgtMsg(31395) ' Allunga
End Get
End Property
Public ReadOnly Property TypeTxBl As String
Get
Return EgtMsg(31053) ' Tipo
End Get
End Property
Public ReadOnly Property LeadTangTxBl As String
Get
Return EgtMsg(31283) ' Dist. tangente
End Get
End Property
Public ReadOnly Property LeadPerpTxBl As String
Get
Return EgtMsg(31284) ' Dist. perp.
End Get
End Property
Public ReadOnly Property LeadElevTxBl As String
Get
Return EgtMsg(31285) ' Elevazione
End Get
End Property
Public ReadOnly Property LeadCompLenTxBl As String
Get
Return EgtMsg(31286) ' Lungh. correz.
End Get
End Property
Public ReadOnly Property AddLenTxBl As String
Get
Return EgtMsg(31291) ' Lungh. addiz.
End Get
End Property
Public ReadOnly Property EnableTxBl As String
Get
Return EgtMsg(31394) ' Abilitazione
End Get
End Property
Public ReadOnly Property SpecificLeadInGpBxLb As String
Get
Return EgtMsg(90894) ' Attacco ceramica
End Get
End Property
Public ReadOnly Property LiTangStoneTxBl As String
Get
Return EgtMsg(90895) ' Lunghezza
End Get
End Property
Public ReadOnly Property LiElevStoneTxBl As String
Get
Return EgtMsg(90896) ' Passo
End Get
End Property
Public ReadOnly Property SystemNotesTxBl As String
Get
Return EgtMsg(31398) ' Note di sistema
End Get
End Property
#Region "MachiningParameterExpander messages"
Public ReadOnly Property InvertMsg As String
Get
Return EgtMsg(6251) ' Inverti
End Get
End Property
Public ReadOnly Property DepthMsg As String
Get
Return EgtMsg(6299) ' Affondamento
End Get
End Property
Public ReadOnly Property HeadSideMsg As String
Get
Return EgtMsg(6255) ' Lato della testa
End Get
End Property
Public ReadOnly Property WorkSideMsg As String
Get
Return EgtMsg(6254) ' Lato di lavoro
End Get
End Property
Public ReadOnly Property UserNotesMsg As String
Get
Return EgtMsg(6300) ' Note
End Get
End Property
Private m_UserNotesTooltip As String
Public ReadOnly Property UserNotesTooltip As String
Get
Return UserNotes
End Get
End Property
Public ReadOnly Property StartPosMsg As String
Get
Return EgtMsg(6273) ' Dist. di sicurezza
End Get
End Property
Public ReadOnly Property ReturnPosMsg As String
Get
Return EgtMsg(6278) ' Posizione di ritorno
End Get
End Property
Public ReadOnly Property OverLapMsg As String
Get
Return EgtMsg(6301) ' Sovrapposizione
End Get
End Property
Public ReadOnly Property ThrouAddLenMsg As String
Get
Return EgtMsg(6276) ' Lungh. passante agg.
End Get
End Property
Public ReadOnly Property StepTypeMsg As String
Get
Return EgtMsg(6260) ' Tipo di Step
End Get
End Property
Public ReadOnly Property SubTypeMsg As String
Get
Return EgtMsg(6303) ' Sottotipo
End Get
End Property
Public ReadOnly Property LeadLinkTypeMsg As String
Get
Return EgtMsg(6262) ' Tipo approccio
End Get
End Property
Public ReadOnly Property StepParMsg As String
Get
Return EgtMsg(6277) ' Passo
End Get
End Property
Public ReadOnly Property SideStepMsg As String
Get
Return EgtMsg(6295) ' Passo di lato
End Get
End Property
Public ReadOnly Property StartSlowLenMsg As String
Get
Return EgtMsg(6274) ' Lungh. rallent. iniziale
End Get
End Property
Public ReadOnly Property EndSlowLenMsg As String
Get
Return EgtMsg(6275) ' Lungh. rallent. finale
End Get
End Property
Public ReadOnly Property SideAngleMsg As String
Get
Return EgtMsg(6271) ' Angolo di fianco
End Get
End Property
Public ReadOnly Property OffsetSrMsg As String
Get
Return EgtMsg(6268) ' Offset radiale
End Get
End Property
Public ReadOnly Property OffsetSlMsg As String
Get
Return EgtMsg(6269) ' Offset longitudinale
End Get
End Property
Public ReadOnly Property AdvancedParamMsg As String
Get
Return EgtMsg(6350) ' Avanzati
End Get
End Property
Public ReadOnly Property InvertToolDirMsg As String
Get
Return EgtMsg(6351) ' Inverti direz. utensile
End Get
End Property
Public ReadOnly Property FaceUseTypeMsg As String
Get
Return EgtMsg(6352) ' Lavorazione faccia
End Get
End Property
Public ReadOnly Property InitAngsMsg As String
Get
Return EgtMsg(6364) ' Angoli Suggeriti
End Get
End Property
Public ReadOnly Property BlockedAxisMsg As String
Get
Return EgtMsg(6365) ' Asse Bloccato
End Get
End Property
Public ReadOnly Property SolChoiceTypeMsg As String
Get
Return EgtMsg(6304) ' SCC
End Get
End Property
Public ReadOnly Property LeadInTypeMsg As String
Get
Return EgtMsg(6256) ' Attacco
End Get
End Property
Public ReadOnly Property StartAddLenMsg As String
Get
Return EgtMsg(6291) ' Lungh. addiz.
End Get
End Property
Public ReadOnly Property LiTangMsg As String
Get
Return EgtMsg(6283) ' Dist. tangente
End Get
End Property
Public ReadOnly Property LiPerpMsg As String
Get
Return EgtMsg(6284) ' Dist. perp.
End Get
End Property
Public ReadOnly Property LiElevMsg As String
Get
Return EgtMsg(6285) ' Elevazione
End Get
End Property
Public ReadOnly Property LiCompLenMsg As String
Get
Return EgtMsg(6286) ' Lungh. correz.
End Get
End Property
Public ReadOnly Property LeadOutTypeMsg As String
Get
Return EgtMsg(6258) ' Uscita
End Get
End Property
Public ReadOnly Property EndAddLenMsg As String
Get
Return EgtMsg(6292) ' Lungh. addiz.
End Get
End Property
Public ReadOnly Property LoTangMsg As String
Get
Return EgtMsg(6287) ' Dist. tangente
End Get
End Property
Public ReadOnly Property LoPerpMsg As String
Get
Return EgtMsg(6288) ' Dist. perp.
End Get
End Property
Public ReadOnly Property LoElevMsg As String
Get
Return EgtMsg(6289) ' Elevazione
End Get
End Property
Public ReadOnly Property LoCompLenMsg As String
Get
Return EgtMsg(6290) ' Lungh. correz.
End Get
End Property
Public ReadOnly Property ExtLinkTypeMsg As String
Get
Return EgtMsg(6257) ' Collegamento
End Get
End Property
Public ReadOnly Property LeaveTabMsg As String
Get
Return EgtMsg(6252) ' Tab
End Get
End Property
Public ReadOnly Property TabLenMsg As String
Get
Return EgtMsg(6279) ' Lunghezza
End Get
End Property
Public ReadOnly Property TabHeightMsg As String
Get
Return EgtMsg(6280) ' Distanza
End Get
End Property
Public ReadOnly Property TabAngleMsg As String
Get
Return EgtMsg(6281) ' Altezza
End Get
End Property
Public ReadOnly Property TabDistMsg As String
Get
Return EgtMsg(6282) ' Angolo
End Get
End Property
Public ReadOnly Property CurveUseMsg As String
Get
Return EgtMsg(6259) ' Uso curve
End Get
End Property
Public ReadOnly Property ApproxMsg As String
Get
Return EgtMsg(6272) ' Approssimazione
End Get
End Property
Public ReadOnly Property StepExtArcMsg As String
Get
Return EgtMsg(6293) ' Passo su esterno arco
End Get
End Property
Public ReadOnly Property StepIntArcMsg As String
Get
Return EgtMsg(6294) ' Passo su interno arco
End Get
End Property
Public ReadOnly Property SpeedMsg As String
Get
Return EgtMsg(6263) ' Rotazione
End Get
End Property
Public ReadOnly Property FeedMsg As String
Get
Return EgtMsg(6264) ' Feed
End Get
End Property
Public ReadOnly Property TipFeedMsg As String
Get
Return EgtMsg(6267) ' Feed di testa
End Get
End Property
Public ReadOnly Property StartFeedMsg As String
Get
Return EgtMsg(6265) ' Feed iniziale
End Get
End Property
Public ReadOnly Property EndFeedMsg As String
Get
Return EgtMsg(6266) ' Feed finale
End Get
End Property
Public ReadOnly Property BackFeedMsg As String
Get
Return EgtMsg(31366) ' Feed ultimo all'indietro
End Get
End Property
Public ReadOnly Property SideAngFeedMsg As String
Get
Return EgtMsg(90898) 'Tagli inclinati
End Get
End Property
Public ReadOnly Property StepBackMsg As String
Get
Return EgtMsg(31367) ' Passo all'indietro
End Get
End Property
Public ReadOnly Property StepLastMsg As String
Get
Return EgtMsg(90897) 'Ultimo taglio
End Get
End Property
Public ReadOnly Property StepSideAngMsg As String
Get
Return EgtMsg(31368) ' Passo inclinato
End Get
End Property
Public ReadOnly Property StepSideAngBackMsg As String
Get
Return EgtMsg(31369) ' Passo all'indietro inclinato
End Get
End Property
Public ReadOnly Property OperationListHeader As String
Get
Return EgtMsg(5401) 'Lista Operazioni
End Get
End Property
Public ReadOnly Property UpdateMachiningBtnMsg As String
Get
Return EgtMsg(5403) 'Applica Lavorazione
End Get
End Property
Public ReadOnly Property GenericExpanderHeader As String
Get
Return EgtMsg(5407) 'Generici
End Get
End Property
Public ReadOnly Property ToolExpanderHeader As String
Get
Return EgtMsg(6298) & " (" & m_Tool & ")" ' Utensile
End Get
End Property
Public ReadOnly Property ViewToolBtnMsg As String
Get
Return EgtMsg(5413) 'Anteprima Utensile
End Get
End Property
Public ReadOnly Property NextStepToolBtnMsg As String
Get
Return EgtMsg(5414) 'Avanti
End Get
End Property
Public ReadOnly Property PrevStepToolBtnMsg As String
Get
Return EgtMsg(5415) 'Indietro
End Get
End Property
Public ReadOnly Property OscEnableMsg As String
Get
Return EgtMsg(6378) ' Oscillazione
End Get
End Property
Public ReadOnly Property OscHeightMsg As String
Get
Return EgtMsg(6379) ' Ampiezza di oscillazione
End Get
End Property
Public ReadOnly Property OscRampLenMsg As String
Get
Return EgtMsg(6380) ' Lunghezza rampa di oscillazione
End Get
End Property
Public ReadOnly Property OscFlatLenMsg As String
Get
Return EgtMsg(6381) ' Lunghezza cresta di oscillazione
End Get
End Property
#End Region ' MachiningParameterExpander messages
#Region "NOTE MESSAGES"
Public ReadOnly Property NoteExpanderName As String
Get
Return EgtMsg(6076) ' Note
End Get
End Property
Public ReadOnly Property ShowNoteToolTip As String
Get
Return EgtMsg(5425) ' Parametri Avanzati
End Get
End Property
Public ReadOnly Property ToolNotesBxLbl As String
Get
Return EgtMsg(31706) ' Note Lavorazione
End Get
End Property
#End Region ' Note Messages
#End Region ' Messages
#Region "Constructors"
Sub New(Name As String, Type As MCH_MY, bIsValidTool As Boolean, Parent As InheritableTreeViewItem)
MyBase.New(Name, Parent)
Me.m_Type = Type
Me.IsValidTool = bIsValidTool
Me.m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB
End Sub
' Costruttore per MachiningParameterExpanderItem in EgtCAM5
Sub New(Name As String, Type As MCH_MY)
MyBase.New(Name)
Me.m_Type = Type
Me.m_CurrMachTreeViewItemType = MachTreeViewItemType.OPERATION
End Sub
#End Region ' Constructors
#Region "METHODS"
Public Overridable Sub ReadMachiningParam()
EgtSetCurrentContext(MachiningDbWindowVM.m_ProjectSceneContext)
Dim dValue As Double = 0
Dim nValue As Integer = 0
Dim sValue As String = String.Empty
m_SuspendAutoToolParamUpdate = True
ReadSelectedTool()
m_delNotifyPropertyChanged(NameOf(LibMap.refMachiningDbWindowVM.ParamPageV))
NotifyPropertyChanged(NameOf(TipFeedTxBl))
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, Invert)
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
EgtMdbGetCurrMachiningParam(MCH_MP.TOOLINVERT, InvertToolDir)
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, nValue)
SelectedWorkSide = If(IsNothing(WorkSideList), nValue, IdNameStruct.IndFromId(nValue, WorkSideList))
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, nValue)
SelectedHeadSide = If(IsNothing(HeadSideList), nValue, IdNameStruct.IndFromId(nValue, HeadSideList))
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, nValue)
SelectedLeadInType = If(IsNothing(LeadInTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadInTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, nValue)
SelectedExtLinkType = If(IsNothing(ExtLinkTypeList), nValue, IdNameStruct.IndFromId(nValue, ExtLinkTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
SelectedLeadOutType = If(IsNothing(LeadOutTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadOutTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, nValue)
SelectedCurveUse = If(IsNothing(CurveUseList), nValue, IdNameStruct.IndFromId(nValue, CurveUseList))
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, nValue)
SelectedStepType = If(IsNothing(StepTypeList), nValue, IdNameStruct.IndFromId(nValue, StepTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, nValue)
SelectedSubType = If(IsNothing(SubTypeList), nValue, IdNameStruct.IndFromId(nValue, SubTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, nValue)
SelectedLeadLinkType = If(IsNothing(LeadLinkTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadLinkTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.FACEUSE, nValue)
SelectedFaceUseType = If(IsNothing(FaceUseTypeList), nValue, IdNameStruct.IndFromId(nValue, FaceUseTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, nValue)
SelectedSolChoiceType = If(IsNothing(SolChoiceTypeList), nValue, IdNameStruct.IndFromId(nValue, SolChoiceTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, dValue)
Speed = DoubleToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dValue)
Feed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dValue)
StartFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dValue)
EndFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dValue)
TipFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, dValue)
BackFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, dValue)
SideAngFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.THICKREF, dValue)
ThicknessFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, dValue)
OffSr = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, dValue)
OffSl = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.EPICYCLESRAD, dValue)
EpicyclesRad = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.EPICYCLESDIST, dValue)
EpicyclesDist = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, dValue)
SideAngle = DoubleToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, dValue)
Approx = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, dValue)
StartPos = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dValue)
StartSlowLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dValue)
EndSlowLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, dValue)
ThrouAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, dValue)
StepPar = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPBACK, dValue)
StepBack = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPLAST, dValue)
StepLast = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, dValue)
ReturnPos = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OVERL, dValue)
OverLap = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABLEN, dValue)
TabLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABDIST, dValue)
TabDist = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABHEIGHT, dValue)
TabHeight = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, dValue)
TabAngle = DoubleToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.TABMAX, nValue)
TabMax = nValue.ToString()
EgtMdbGetCurrMachiningParam(MCH_MP.TABMIN, nValue)
TabMin = nValue.ToString()
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, dValue)
LiTang = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, dValue)
LiPerp = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LIELEV, dValue)
LiElev = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LICOMPLEN, dValue)
LiCompLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, dValue)
LoTang = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, dValue)
LoPerp = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOELEV, dValue)
LoElev = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.LOCOMPLEN, dValue)
LoCompLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STARTADDLEN, dValue)
StartAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.ENDADDLEN, dValue)
EndAddLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, dValue)
StepExtArc = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, dValue)
StepIntArc = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, dValue)
SideStep = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.SUBSTEP, dValue)
SubStep = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANG, dValue)
StepSideAng = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.STEPSIDEANGBACK, dValue)
StepSideAngBack = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, dValue)
VertFeed = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OSCENABLE, OscEnable)
EgtMdbGetCurrMachiningParam(MCH_MP.OSCHEIGHT, dValue)
OscHeight = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OSCRAMPLEN, dValue)
OscRampLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.OSCFLATLEN, dValue)
OscFlatLen = LenToString(dValue, 4)
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
EgtMdbGetCurrMachiningParam(MCH_MP.UUID, m_Uuid)
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
EgtMdbGetCurrMachiningParam(MCH_MP.INITANGS, InitAngs)
EgtMdbGetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, BlockedAxis)
EgtMdbGetCurrMachiningParam(MCH_MP.FORWARDANGLE, dValue)
ForwardAngle = DoubleToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.PROBING, Probing)
ProbingMinDist = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.PROBINGMINDIST, dValue)
ProbingMinDist = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.PROBINGMAXDIST, dValue)
ProbingMaxDist = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.EXTCORNERTYPE, nValue)
SelectedExtCornType = If(IsNothing(ExtCornTypeList), nValue, IdNameStruct.IndFromId(nValue, ExtCornTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.INTCORNERTYPE, nValue)
SelectedIntCornType = If(IsNothing(IntCornTypeList), nValue, IdNameStruct.IndFromId(nValue, IntCornTypeList))
EgtMdbGetCurrMachiningParam(MCH_MP.CORNERSLOWLEN, dValue)
CornSlowLen = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.CORNERSLOWPERC, nValue)
CornSlowPerc = nValue.ToString()
EgtMdbGetCurrMachiningParam(MCH_MP.LIHOLE, LiHole)
EgtMdbGetCurrMachiningParam(MCH_MP.LIHOLERAD, dValue)
LiHoleRad = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.LPTURNS, nValue)
LpTurns = nValue.ToString()
EgtMdbGetCurrMachiningParam(MCH_MP.HPTURNS, nValue)
HpTurns = nValue.ToString()
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, dValue)
LiTang = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, dValue)
LiPerp = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, dValue)
LoTang = LenToString(dValue, 3)
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, dValue)
LoPerp = LenToString(dValue, 3)
InitCurrentMachine(MachiningDbWindowVM.m_sMachineIniPath)
EgtMdbGetCurrMachiningParam(MCH_MP.SYSNOTES, SystemNotes)
' Compilo lista materiali
m_MaterialList.Clear()
For i = 0 To Materials.Count - 1
Dim Material = Materials(i)
If bWaterJet And bFromDBWaterJet Then
m_MaterialList.Add(New MachiningMaterial(Material.nId, Material.sName, Material.nSubId, AddressOf SetSystemNotes))
Else
m_MaterialList.Add(New MachiningMaterial(Material.nId, Material.sName, AddressOf SetSystemNotes))
End If
Next
If m_SystemNotes <> String.Empty Then
Dim sItems() = m_SystemNotes.Split(";".ToCharArray)
If bWaterJet And bFromDBWaterJet Then
Dim Index As Integer = 0
For Each Material In m_MaterialList
Dim Param() As String = sItems(Index).Split(",".ToCharArray)
Dim CurrMatId As String = String.Empty
Dim CurrMatSubId As String = String.Empty
For Each Mat In CurrentMachine.Materials
If Mat.sName = Material.sName Then
CurrMatId = Mat.nId.ToString()
CurrMatSubId = Mat.nSubId.ToString()
Exit For
End If
Next
Dim SubParam() As String = Param(0).Split(".".ToCharArray)
If SubParam(0) = CurrMatId.ToString() AndAlso SubParam.Count > 1 AndAlso SubParam(1) = CurrMatSubId.ToString() Then
Dim dVal As Double = 0
StringToDouble(Param(1), dVal)
Material.SetMinThickness(LenToString(dVal, 2))
StringToDouble(Param(2), dVal)
Material.SetMaxThickness(LenToString(dVal, 2))
Index += 1
Else
End If
Next
Else
Dim Index As Integer = 0
For Each Material In m_MaterialList
Dim Param() As String = sItems(Index).Split(",".ToCharArray)
Dim nParId As Integer = 0
If StringToInt(Param(0), nParId) AndAlso nParId = Material.nId Then
Dim dVal As Double = 0
StringToDouble(Param(1), dVal)
Material.SetMinThickness(LenToString(dVal, 2))
StringToDouble(Param(2), dVal)
Material.SetMaxThickness(LenToString(dVal, 2))
Index += 1
Else
End If
Next
End If
End If
' Apro paragrafo Note
m_NotesList.Clear()
m_NotesListCombo.Clear()
GetNoteList()
GetComboNoteList()
NotifyPropertyChanged(NameOf(MaterialList))
m_SuspendAutoToolParamUpdate = False
End Sub
Public Overridable Sub ReadOperationParam()
Dim nValue As Integer = 0
Dim dValue As Double = 0
NotifyPropertyChanged("ParamExpanderPageV")
EgtGetMachiningParam(MCH_MP.TYPE, nValue)
m_Type = DirectCast(nValue, MCH_MY)
NotifyPropertyChanged(NameOf(Type))
EgtGetMachiningParam(MCH_MP.INVERT, m_Invert)
NotifyPropertyChanged(NameOf(Invert))
m_IsModifiedInvert = False
EgtGetMachiningParam(MCH_MP.LEAVETAB, m_LeaveTab)
NotifyPropertyChanged(NameOf(LeaveTab))
m_IsModifiedLeaveTab = False
EgtGetMachiningParam(MCH_MP.TOOLINVERT, m_ToolInvert)
'NotifyPropertyChanged("ToolInvert")
NotifyPropertyChanged(NameOf(InvertToolDir))
m_IsModifiedToolInvert = False
EgtGetMachiningParam(MCH_MP.OSCENABLE, m_OscEnable)
NotifyPropertyChanged(NameOf(OscEnable))
m_IsModifiedOscEnable = False
NotifyPropertyChanged(NameOf(WorkSideList))
EgtGetMachiningParam(MCH_MP.WORKSIDE, nValue)
m_SelectedWorkSide = If(IsNothing(WorkSideList), nValue, IdNameStruct.IndFromId(nValue, WorkSideList))
NotifyPropertyChanged(NameOf(SelectedWorkSide))
m_IsModifiedSelectedWorkSide = False
NotifyPropertyChanged(NameOf(HeadSideList))
EgtGetMachiningParam(MCH_MP.HEADSIDE, nValue)
m_SelectedHeadSide = If(IsNothing(HeadSideList), nValue, IdNameStruct.IndFromId(nValue, HeadSideList))
NotifyPropertyChanged(NameOf(SelectedHeadSide))
m_IsModifiedSelectedHeadSide = False
NotifyPropertyChanged(NameOf(LeadInTypeList))
EgtGetMachiningParam(MCH_MP.LEADINTYPE, nValue)
m_SelectedLeadInType = If(IsNothing(LeadInTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadInTypeList))
NotifyPropertyChanged(NameOf(SelectedLeadInType))
m_IsModifiedSelectedLeadInType = False
NotifyPropertyChanged(NameOf(ExtLinkTypeList))
EgtGetMachiningParam(MCH_MP.EXTLINKTYPE, nValue)
m_SelectedExtLinkType = If(IsNothing(ExtLinkTypeList), nValue, IdNameStruct.IndFromId(nValue, ExtLinkTypeList))
NotifyPropertyChanged(NameOf(SelectedExtLinkType))
m_IsModifiedSelectedExtLinkType = False
NotifyPropertyChanged(NameOf(LeadOutTypeList))
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
m_SelectedLeadOutType = If(IsNothing(LeadOutTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadOutTypeList))
NotifyPropertyChanged(NameOf(SelectedLeadOutType))
m_IsModifiedSelectedLeadOutType = False
NotifyPropertyChanged(NameOf(CurveUseList))
EgtGetMachiningParam(MCH_MP.CURVEUSE, nValue)
m_SelectedCurveUse = If(IsNothing(CurveUseList), nValue, IdNameStruct.IndFromId(nValue, CurveUseList))
NotifyPropertyChanged(NameOf(SelectedCurveUse))
m_IsModifiedSelectedCurveUse = False
NotifyPropertyChanged(NameOf(StepTypeList))
EgtGetMachiningParam(MCH_MP.STEPTYPE, nValue)
m_SelectedStepType = If(IsNothing(StepTypeList), nValue, IdNameStruct.IndFromId(nValue, StepTypeList))
NotifyPropertyChanged(NameOf(SelectedStepType))
m_IsModifiedSelectedStepType = False
NotifyPropertyChanged(NameOf(SubTypeList))
EgtGetMachiningParam(MCH_MP.SUBTYPE, nValue)
m_SelectedSubType = If(IsNothing(SubTypeList), nValue, IdNameStruct.IndFromId(nValue, SubTypeList))
NotifyPropertyChanged(NameOf(SelectedSubType))
m_IsModifiedSelectedSubType = False
NotifyPropertyChanged(NameOf(LeadLinkTypeList))
EgtGetMachiningParam(MCH_MP.LEADLINKTYPE, nValue)
m_SelectedLeadLinkType = If(IsNothing(LeadLinkTypeList), nValue, IdNameStruct.IndFromId(nValue, LeadLinkTypeList))
NotifyPropertyChanged(NameOf(SelectedLeadLinkType))
m_IsModifiedSelectedLeadLinkType = False
NotifyPropertyChanged(NameOf(FaceUseTypeList))
EgtGetMachiningParam(MCH_MP.FACEUSE, nValue)
m_SelectedFaceUseType = If(IsNothing(FaceUseTypeList), nValue, IdNameStruct.IndFromId(nValue, FaceUseTypeList))
NotifyPropertyChanged(NameOf(SelectedFaceUseType))
m_IsModifiedSelectedFaceUseType = False
NotifyPropertyChanged(NameOf(SolChoiceTypeList))
EgtGetMachiningParam(MCH_MP.SOLCHOICETYPE, nValue)
m_SelectedSolChoiceType = If(IsNothing(SolChoiceTypeList), nValue, IdNameStruct.IndFromId(nValue, SolChoiceTypeList))
NotifyPropertyChanged(NameOf(SelectedSolChoiceType))
m_IsModifiedSelectedSolChoiceType = False
EgtGetMachiningParam(MCH_MP.SPEED, dValue)
m_Speed = DoubleToString(dValue, 4)
NotifyPropertyChanged(NameOf(Speed))
m_IsModifiedSpeed = False
EgtGetMachiningParam(MCH_MP.FEED, dValue)
m_Feed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(Feed))
m_IsModifiedFeed = False
EgtGetMachiningParam(MCH_MP.STARTFEED, dValue)
m_StartFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StartFeed))
m_IsModifiedStartFeed = False
EgtGetMachiningParam(MCH_MP.ENDFEED, dValue)
m_EndFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(EndFeed))
m_IsModifiedEndFeed = False
EgtGetMachiningParam(MCH_MP.TIPFEED, dValue)
m_TipFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(TipFeed))
m_IsModifiedTipFeed = False
EgtGetMachiningParam(MCH_MP.BACKFEED, dValue)
m_BackFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(BackFeed))
m_IsModifiedBackFeed = False
EgtGetMachiningParam(MCH_MP.SIDEANGFEED, dValue)
m_SideAngFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(SideAngFeed))
m_IsModifiedSideAngFeed = False
EgtGetMachiningParam(MCH_MP.THICKREF, dValue)
m_ThicknessFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(ThicknessFeed))
m_IsModifiedThicknessFeed = False
EgtGetMachiningParam(MCH_MP.OFFSR, dValue)
m_OffSr = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OffSr))
m_IsModifiedOffSr = False
EgtGetMachiningParam(MCH_MP.OFFSL, dValue)
m_OffSl = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OffSl))
m_IsModifiedOffSl = False
EgtGetMachiningParam(MCH_MP.EPICYCLESRAD, dValue)
m_EpicyclesRad = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(EpicyclesRad))
m_IsModifiedEpicyclesRad = False
EgtGetMachiningParam(MCH_MP.EPICYCLESDIST, dValue)
m_EpicyclesDist = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(EpicyclesDist))
m_IsModifiedEpicyclesDist = False
EgtGetMachiningParam(MCH_MP.SIDEANGLE, dValue)
m_SideAngle = DoubleToString(dValue, 4)
NotifyPropertyChanged(NameOf(SideAngle))
m_IsModifiedSideAngle = False
EgtGetMachiningParam(MCH_MP.APPROX, dValue)
m_Approx = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(Approx))
m_IsModifiedApprox = False
EgtGetMachiningParam(MCH_MP.STARTPOS, dValue)
m_StartPos = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StartPos))
m_IsModifiedStartPos = False
EgtGetMachiningParam(MCH_MP.STARTSLOWLEN, dValue)
m_StartSlowLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StartSlowLen))
m_IsModifiedStartSlowLen = False
EgtGetMachiningParam(MCH_MP.ENDSLOWLEN, dValue)
m_EndSlowLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(EndSlowLen))
m_IsModifiedEndSlowLen = False
EgtGetMachiningParam(MCH_MP.THROUADDLEN, dValue)
m_ThrouAddLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(ThrouAddLen))
m_IsModifiedThrouAddLen = False
EgtGetMachiningParam(MCH_MP.STEP_, dValue)
m_StepPar = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepPar))
m_IsModifiedStepPar = False
EgtGetMachiningParam(MCH_MP.STEPBACK, dValue)
m_StepBack = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepBack))
m_IsModifiedStepBack = False
EgtGetMachiningParam(MCH_MP.STEPLAST, dValue)
m_StepLast = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepLast))
m_IsModifiedStepLast = False
EgtGetMachiningParam(MCH_MP.STEPSIDEANG, dValue)
m_StepSideAng = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepSideAng))
m_IsModifiedStepSideAng = False
EgtGetMachiningParam(MCH_MP.STEPSIDEANGBACK, dValue)
m_StepSideAngBack = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepSideAngBack))
m_IsModifiedStepSideAngBack = False
EgtGetMachiningParam(MCH_MP.RETURNPOS, dValue)
m_ReturnPos = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(ReturnPos))
m_IsModifiedReturnPos = False
EgtGetMachiningParam(MCH_MP.OVERL, dValue)
m_OverLap = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OverLap))
m_IsModifiedOverLap = False
EgtGetMachiningParam(MCH_MP.TABLEN, dValue)
m_TabLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(TabLen))
m_IsModifiedTabLen = False
EgtGetMachiningParam(MCH_MP.TABDIST, dValue)
m_TabDist = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(TabDist))
m_IsModifiedTabDist = False
EgtGetMachiningParam(MCH_MP.TABHEIGHT, dValue)
m_TabHeight = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(TabHeight))
m_IsModifiedTabHeight = False
EgtGetMachiningParam(MCH_MP.TABANGLE, dValue)
m_TabAngle = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(TabAngle))
m_IsModifiedTabAngle = False
EgtGetMachiningParam(MCH_MP.TABMAX, nValue)
m_TabMax = nValue.ToString()
NotifyPropertyChanged(NameOf(TabMax))
m_IsModifiedTabMax = False
EgtGetMachiningParam(MCH_MP.TABMIN, nValue)
m_TabMin = nValue.ToString()
NotifyPropertyChanged(NameOf(TabMin))
m_IsModifiedTabMin = False
EgtGetMachiningParam(MCH_MP.LITANG, dValue)
m_LiTang = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LiTang))
m_IsModifiedLiTang = False
EgtGetMachiningParam(MCH_MP.LIPERP, dValue)
m_LiPerp = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LiPerp))
m_IsModifiedLiPerp = False
EgtGetMachiningParam(MCH_MP.LIELEV, dValue)
m_LiElev = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LiElev))
m_IsModifiedLiElev = False
EgtGetMachiningParam(MCH_MP.LICOMPLEN, dValue)
m_LiCompLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LiCompLen))
m_IsModifiedLiCompLen = False
EgtGetMachiningParam(MCH_MP.LOTANG, dValue)
m_LoTang = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LoTang))
m_IsModifiedLoTang = False
EgtGetMachiningParam(MCH_MP.LOPERP, dValue)
m_LoPerp = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LoPerp))
m_IsModifiedLoPerp = False
EgtGetMachiningParam(MCH_MP.LOELEV, dValue)
m_LoElev = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LoElev))
m_IsModifiedLoElev = False
EgtGetMachiningParam(MCH_MP.LOCOMPLEN, dValue)
m_LoCompLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LoCompLen))
m_IsModifiedLoCompLen = False
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dValue)
m_StartAddLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StartAddLen))
m_IsModifiedStartAddLen = False
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dValue)
m_EndAddLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(EndAddLen))
m_IsModifiedEndAddLen = False
EgtGetMachiningParam(MCH_MP.STEPEXTARC, dValue)
m_StepExtArc = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepExtArc))
m_IsModifiedStepExtArc = False
EgtGetMachiningParam(MCH_MP.STEPEXTARC, dValue)
m_StepExtArc = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepExtArc))
m_IsModifiedStepExtArc = False
EgtGetMachiningParam(MCH_MP.STEPINTARC, dValue)
m_StepIntArc = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(StepIntArc))
m_IsModifiedStepIntArc = False
EgtGetMachiningParam(MCH_MP.SIDESTEP, dValue)
m_SideStep = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(SideStep))
m_IsModifiedSideStep = False
EgtGetMachiningParam(MCH_MP.SUBSTEP, dValue)
m_SubStep = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(SubStep))
m_IsModifiedSubStep = False
EgtGetMachiningParam(MCH_MP.VERTFEED, dValue)
m_VertFeed = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(VertFeed))
m_IsModifiedVertFeed = False
EgtGetMachiningParam(MCH_MP.OSCHEIGHT, dValue)
m_OscHeight = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OscHeight))
m_IsModifiedOscHeight = False
EgtGetMachiningParam(MCH_MP.OSCRAMPLEN, dValue)
m_OscRampLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OscRampLen))
m_IsModifiedOscRampLen = False
EgtGetMachiningParam(MCH_MP.OSCFLATLEN, dValue)
m_OscFlatLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(OscFlatLen))
m_IsModifiedOscFlatLen = False
EgtGetMachiningParam(MCH_MP.TOOL, m_Tool)
NotifyPropertyChanged(NameOf(ToolExpanderHeader))
EgtGetMachiningParam(MCH_MP.DEPTH_STR, m_DepthStr)
NotifyPropertyChanged(NameOf(DepthStr))
m_IsModifiedDepthStr = False
EgtGetMachiningParam(MCH_MP.USERNOTES, m_UserNotes)
NotifyPropertyChanged(NameOf(UserNotes))
m_IsModifiedUserNotes = False
EgtGetMachiningParam(MCH_MP.SYSNOTES, m_SystemNotes)
NotifyPropertyChanged(NameOf(SystemNotes))
EgtGetMachiningParam(MCH_MP.INITANGS, m_InitAngs)
NotifyPropertyChanged(NameOf(InitAngs))
m_IsModifiedInitAngs = False
EgtGetMachiningParam(MCH_MP.BLOCKEDAXIS, m_BlockedAxis)
NotifyPropertyChanged(NameOf(BlockedAxis))
m_IsModifiedBlockedAxis = False
EgtGetMachiningParam(MCH_MP.FORWARDANGLE, dValue)
m_ForwardAngle = DoubleToString(dValue, 4)
NotifyPropertyChanged(NameOf(ForwardAngle))
m_IsModifiedForwardAngle = False
EgtGetMachiningParam(MCH_MP.PROBING, m_Probing)
NotifyPropertyChanged(NameOf(Probing))
m_IsModifiedProbing = False
EgtGetMachiningParam(MCH_MP.PROBINGMINDIST, dValue)
m_ProbingMinDist = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(ProbingMinDist))
m_IsModifiedProbingMinDist = False
EgtGetMachiningParam(MCH_MP.PROBINGMAXDIST, dValue)
m_ProbingMaxDist = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(ProbingMaxDist))
m_IsModifiedProbingMaxDist = False
NotifyPropertyChanged(NameOf(ExtCornTypeList))
EgtGetMachiningParam(MCH_MP.EXTCORNERTYPE, nValue)
m_SelectedExtCornType = If(IsNothing(ExtCornTypeList), nValue, IdNameStruct.IndFromId(nValue, ExtCornTypeList))
NotifyPropertyChanged(NameOf(SelectedExtCornType))
m_IsModifiedSelectedExtCornType = False
NotifyPropertyChanged(NameOf(IntCornTypeList))
EgtGetMachiningParam(MCH_MP.INTCORNERTYPE, nValue)
m_SelectedIntCornType = If(IsNothing(IntCornTypeList), nValue, IdNameStruct.IndFromId(nValue, IntCornTypeList))
NotifyPropertyChanged(NameOf(SelectedIntCornType))
m_IsModifiedSelectedIntCornType = False
EgtGetMachiningParam(MCH_MP.CORNERSLOWLEN, dValue)
m_CornSlowLen = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(CornSlowLen))
m_IsModifiedCornSlowLen = False
EgtGetMachiningParam(MCH_MP.CORNERSLOWPERC, nValue)
m_CornSlowPerc = nValue.ToString()
NotifyPropertyChanged(NameOf(CornSlowPerc))
m_IsModifiedCornSlowPerc = False
EgtGetMachiningParam(MCH_MP.LIHOLE, LiHole)
NotifyPropertyChanged(NameOf(LiHole))
m_IsModifiedLiHole = False
EgtGetMachiningParam(MCH_MP.LIHOLERAD, dValue)
m_LiHoleRad = LenToString(dValue, 4)
NotifyPropertyChanged(NameOf(LiHoleRad))
m_IsModifiedLiHoleRad = False
EgtGetMachiningParam(MCH_MP.LPTURNS, nValue)
m_LpTurns = nValue.ToString()
NotifyPropertyChanged(NameOf(LpTurns))
m_IsModifiedLpTurns = False
EgtGetMachiningParam(MCH_MP.HPTURNS, nValue)
m_HpTurns = nValue.ToString()
NotifyPropertyChanged(NameOf(HpTurns))
m_IsModifiedHpTurns = False
' Apro paragrafo Note
m_NotesList.Clear()
m_NotesListCombo.Clear()
GetNoteList()
GetComboNoteList()
RaiseEvent m_IsModified(IsModified())
End Sub
Friend Sub ReadMachiningName()
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, NamePar)
End Sub
Private Sub ReadSelectedTool()
ReadTool = True
Dim sValue As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sValue)
Dim sToolName As String = String.Empty
EgtTdbGetToolFromUUID(sValue, sToolName)
Dim sMachToolName As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TOOL, sMachToolName)
If sToolName <> sMachToolName Then
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, sToolName)
EgtMdbSaveCurrMachining()
End If
If IsNothing(m_ToolList) Then
Dim i As Integer = ToolList.Count()
End If
Dim bFound As Boolean = False
For i = 0 To m_ToolList.Count - 1
If m_ToolList(i) = sToolName Then
bFound = True
SelectedTool = i
End If
Next
If Not bFound Then
SelectedTool = -1
End If
ReadTool = False
End Sub
Public Overridable Sub WriteMachiningParam()
EgtSetCurrentContext(MachiningDbWindowVM.m_ProjectSceneContext)
Dim nValue As Integer = 0
Dim dValue As Double = 0
If SelectedTool >= 0 Then
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, m_ToolList(SelectedTool))
Else
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, "")
End If
EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, Invert)
EgtMdbSetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
EgtMdbSetCurrMachiningParam(MCH_MP.TOOLINVERT, InvertToolDir)
EgtMdbSetCurrMachiningParam(MCH_MP.TYPE, Type)
nValue = If(IsNothing(WorkSideList), m_SelectedWorkSide, IdNameStruct.IdFromInd(m_SelectedWorkSide, WorkSideList))
EgtMdbSetCurrMachiningParam(MCH_MP.WORKSIDE, nValue)
nValue = If(IsNothing(HeadSideList), m_SelectedHeadSide, IdNameStruct.IdFromInd(m_SelectedHeadSide, HeadSideList))
EgtMdbSetCurrMachiningParam(MCH_MP.HEADSIDE, nValue)
nValue = If(IsNothing(LeadInTypeList), m_SelectedLeadInType, IdNameStruct.IdFromInd(m_SelectedLeadInType, LeadInTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.LEADINTYPE, nValue)
nValue = If(IsNothing(LeadInTypeList), m_SelectedExtLinkType, IdNameStruct.IdFromInd(m_SelectedExtLinkType, ExtLinkTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.EXTLINKTYPE, nValue)
nValue = If(IsNothing(LeadOutTypeList), m_SelectedLeadOutType, IdNameStruct.IdFromInd(m_SelectedLeadOutType, LeadOutTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
nValue = If(IsNothing(CurveUseList), m_SelectedCurveUse, IdNameStruct.IdFromInd(m_SelectedCurveUse, CurveUseList))
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, nValue)
nValue = If(IsNothing(StepTypeList), m_SelectedStepType, IdNameStruct.IdFromInd(m_SelectedStepType, StepTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.STEPTYPE, nValue)
nValue = If(IsNothing(SubTypeList), m_SelectedSubType, IdNameStruct.IdFromInd(m_SelectedSubType, SubTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, nValue)
nValue = If(IsNothing(LeadLinkTypeList), m_SelectedLeadLinkType, IdNameStruct.IdFromInd(m_SelectedLeadLinkType, LeadLinkTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.LEADLINKTYPE, nValue)
nValue = If(IsNothing(FaceUseTypeList), m_SelectedFaceUseType, IdNameStruct.IdFromInd(m_SelectedFaceUseType, FaceUseTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.FACEUSE, nValue)
nValue = If(IsNothing(SolChoiceTypeList), m_SelectedSolChoiceType, IdNameStruct.IdFromInd(m_SelectedSolChoiceType, SolChoiceTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.SOLCHOICETYPE, nValue)
StringToDouble(Speed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SPEED, dValue)
StringToLen(Feed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.FEED, dValue)
StringToLen(StartFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTFEED, dValue)
StringToLen(EndFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDFEED, dValue)
StringToLen(TipFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TIPFEED, dValue)
StringToLen(BackFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.BACKFEED, dValue)
StringToLen(SideAngFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGFEED, dValue)
StringToLen(ThicknessFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.THICKREF, dValue)
StringToLen(OffSr, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, dValue)
StringToLen(OffSl, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, dValue)
StringToLen(EpicyclesRad, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.EPICYCLESRAD, dValue)
StringToLen(EpicyclesDist, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.EPICYCLESDIST, dValue)
StringToDouble(SideAngle, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGLE, dValue)
StringToLen(Approx, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dValue)
StringToLen(StartPos, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTPOS, dValue)
StringToLen(StartSlowLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dValue)
StringToLen(EndSlowLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dValue)
StringToLen(ThrouAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.THROUADDLEN, dValue)
StringToLen(StepPar, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEP_, dValue)
StringToLen(StepBack, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPBACK, dValue)
StringToLen(StepLast, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPLAST, dValue)
StringToLen(ReturnPos, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, dValue)
StringToLen(OverLap, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OVERL, dValue)
StringToLen(TabLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABLEN, dValue)
StringToLen(TabDist, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABDIST, dValue)
StringToLen(TabHeight, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABHEIGHT, dValue)
StringToDouble(TabAngle, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABANGLE, dValue)
Int32.TryParse(TabMax, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABMAX, nValue)
Int32.TryParse(TabMin, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.TABMIN, nValue)
StringToLen(LiTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LITANG, dValue)
StringToLen(LiPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIPERP, dValue)
StringToLen(LiElev, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIELEV, dValue)
StringToLen(LiCompLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LICOMPLEN, dValue)
StringToLen(LoTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOTANG, dValue)
StringToLen(LoPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOPERP, dValue)
StringToLen(LoElev, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOELEV, dValue)
StringToLen(LoCompLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOCOMPLEN, dValue)
StringToLen(StartAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STARTADDLEN, dValue)
StringToLen(EndAddLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.ENDADDLEN, dValue)
StringToLen(StepExtArc, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPEXTARC, dValue)
StringToLen(StepIntArc, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPINTARC, dValue)
StringToLen(SideStep, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SIDESTEP, dValue)
StringToLen(SubStep, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SUBSTEP, dValue)
StringToLen(StepSideAng, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPSIDEANG, dValue)
StringToLen(StepSideAngBack, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.STEPSIDEANGBACK, dValue)
StringToLen(VertFeed, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.VERTFEED, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OSCENABLE, OscEnable)
StringToLen(OscHeight, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OSCHEIGHT, dValue)
StringToLen(OscRampLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OSCRAMPLEN, dValue)
StringToLen(OscFlatLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.OSCFLATLEN, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
EgtMdbSetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
EgtMdbSetCurrMachiningParam(MCH_MP.INITANGS, InitAngs)
EgtMdbSetCurrMachiningParam(MCH_MP.BLOCKEDAXIS, BlockedAxis)
StringToDouble(ForwardAngle, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.FORWARDANGLE, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.PROBING, Probing)
StringToLen(ProbingMinDist, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.PROBINGMINDIST, dValue)
StringToLen(ProbingMaxDist, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.PROBINGMAXDIST, dValue)
nValue = If(IsNothing(ExtCornTypeList), m_SelectedExtCornType, IdNameStruct.IdFromInd(m_SelectedExtCornType, ExtCornTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.EXTCORNERTYPE, nValue)
nValue = If(IsNothing(IntCornTypeList), m_SelectedIntCornType, IdNameStruct.IdFromInd(m_SelectedIntCornType, IntCornTypeList))
EgtMdbSetCurrMachiningParam(MCH_MP.INTCORNERTYPE, nValue)
StringToLen(CornSlowLen, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.CORNERSLOWLEN, dValue)
Int32.TryParse(CornSlowPerc, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.CORNERSLOWPERC, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIHOLE, LiHole)
StringToLen(LiHoleRad, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIHOLERAD, dValue)
Int32.TryParse(LpTurns, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LPTURNS, nValue)
Int32.TryParse(HpTurns, nValue)
EgtMdbSetCurrMachiningParam(MCH_MP.HPTURNS, nValue)
StringToLen(LiTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LITANG, dValue)
StringToLen(LiPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LIPERP, dValue)
StringToLen(LoTang, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOTANG, dValue)
StringToLen(LoPerp, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.LOPERP, dValue)
EgtMdbSetCurrMachiningParam(MCH_MP.SYSNOTES, SystemNotes)
' Scrivo le note utente
WriteOperationParamNote()
SetComboAddVisibility(Visibility.Collapsed)
' verifico se l'utensile è valido
Dim sTUUID As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sTUUID)
IsValidTool = ToolDbUtility.IsToolInDb(sTUUID)
Dim FamilyTool As FamilyMachiningTreeViewItem = DirectCast(m_Parent, FamilyMachiningTreeViewItem)
FamilyTool.VerifyMachiningValidity()
End Sub
Public Overridable Sub WriteOperationParam()
' EgtSetCurrentContext(MachiningDbWindowVM.m_ProjectSceneContext)
Dim nValue As Integer = 0
Dim dValue As Double = 0
If m_IsModifiedInvert Then
If EgtSetMachiningParam(MCH_MP.INVERT, m_Invert) Then
m_IsModifiedInvert = False
End If
End If
If m_IsModifiedLeaveTab Then
If EgtSetMachiningParam(MCH_MP.LEAVETAB, m_LeaveTab) Then
m_IsModifiedLeaveTab = False
End If
End If
If m_IsModifiedToolInvert Then
If EgtSetMachiningParam(MCH_MP.TOOLINVERT, m_ToolInvert) Then
m_IsModifiedToolInvert = False
End If
End If
If m_IsModifiedOscEnable Then
If EgtSetMachiningParam(MCH_MP.OSCENABLE, m_OscEnable) Then
m_IsModifiedOscEnable = False
End If
End If
If m_IsModifiedSelectedWorkSide Then
nValue = If(IsNothing(WorkSideList), m_SelectedWorkSide, IdNameStruct.IdFromInd(m_SelectedWorkSide, WorkSideList))
If EgtSetMachiningParam(MCH_MP.WORKSIDE, nValue) Then
m_IsModifiedSelectedWorkSide = False
End If
End If
If m_IsModifiedSelectedHeadSide Then
nValue = If(IsNothing(HeadSideList), m_SelectedHeadSide, IdNameStruct.IdFromInd(m_SelectedHeadSide, HeadSideList))
If EgtSetMachiningParam(MCH_MP.HEADSIDE, nValue) Then
m_IsModifiedSelectedHeadSide = False
End If
End If
If m_IsModifiedSelectedLeadInType Then
nValue = If(IsNothing(LeadInTypeList), m_SelectedLeadInType, IdNameStruct.IdFromInd(m_SelectedLeadInType, LeadInTypeList))
If EgtSetMachiningParam(MCH_MP.LEADINTYPE, nValue) Then
m_IsModifiedSelectedLeadInType = False
End If
End If
If m_IsModifiedSelectedExtLinkType Then
nValue = If(IsNothing(ExtLinkTypeList), m_SelectedExtLinkType, IdNameStruct.IdFromInd(m_SelectedExtLinkType, ExtLinkTypeList))
If EgtSetMachiningParam(MCH_MP.EXTLINKTYPE, nValue) Then
m_IsModifiedSelectedExtLinkType = False
End If
End If
If m_IsModifiedSelectedLeadOutType Then
nValue = If(IsNothing(LeadOutTypeList), m_SelectedLeadOutType, IdNameStruct.IdFromInd(m_SelectedLeadOutType, LeadOutTypeList))
If EgtSetMachiningParam(MCH_MP.LEADOUTTYPE, nValue) Then
m_IsModifiedSelectedLeadOutType = False
End If
End If
If m_IsModifiedSelectedCurveUse Then
nValue = If(IsNothing(CurveUseList), m_SelectedCurveUse, IdNameStruct.IdFromInd(m_SelectedCurveUse, CurveUseList))
If EgtSetMachiningParam(MCH_MP.CURVEUSE, nValue) Then
m_IsModifiedSelectedCurveUse = False
End If
End If
If m_IsModifiedSelectedStepType Then
nValue = If(IsNothing(StepTypeList), m_SelectedStepType, IdNameStruct.IdFromInd(m_SelectedStepType, StepTypeList))
If EgtSetMachiningParam(MCH_MP.STEPTYPE, nValue) Then
m_IsModifiedSelectedStepType = False
End If
End If
If m_IsModifiedSelectedSubType Then
nValue = If(IsNothing(SubTypeList), m_SelectedSubType, IdNameStruct.IdFromInd(m_SelectedSubType, SubTypeList))
If EgtSetMachiningParam(MCH_MP.SUBTYPE, nValue) Then
m_IsModifiedSelectedSubType = False
End If
End If
If m_IsModifiedSelectedLeadLinkType Then
nValue = If(IsNothing(LeadLinkTypeList), m_SelectedLeadLinkType, IdNameStruct.IdFromInd(m_SelectedLeadLinkType, LeadLinkTypeList))
If EgtSetMachiningParam(MCH_MP.LEADLINKTYPE, nValue) Then
m_IsModifiedSelectedLeadLinkType = False
End If
End If
If m_IsModifiedSelectedFaceUseType Then
nValue = If(IsNothing(FaceUseTypeList), m_SelectedFaceUseType, IdNameStruct.IdFromInd(m_SelectedFaceUseType, FaceUseTypeList))
If EgtSetMachiningParam(MCH_MP.FACEUSE, nValue) Then
m_IsModifiedSelectedFaceUseType = False
End If
End If
If m_IsModifiedSelectedSolChoiceType Then
nValue = If(IsNothing(SolChoiceTypeList), m_SelectedSolChoiceType, IdNameStruct.IdFromInd(m_SelectedSolChoiceType, SolChoiceTypeList))
If EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, nValue) Then
m_IsModifiedSelectedSolChoiceType = False
End If
End If
If m_IsModifiedSpeed Then
StringToDouble(m_Speed, dValue)
If EgtSetMachiningParam(MCH_MP.SPEED, dValue) Then
m_IsModifiedSpeed = False
End If
End If
If m_IsModifiedFeed Then
StringToLen(m_Feed, dValue)
If EgtSetMachiningParam(MCH_MP.FEED, dValue) Then
m_IsModifiedFeed = False
End If
End If
If m_IsModifiedStartFeed Then
StringToLen(m_StartFeed, dValue)
If EgtSetMachiningParam(MCH_MP.STARTFEED, dValue) Then
m_IsModifiedStartFeed = False
End If
End If
If m_IsModifiedEndFeed Then
StringToLen(m_EndFeed, dValue)
If EgtSetMachiningParam(MCH_MP.ENDFEED, dValue) Then
m_IsModifiedEndFeed = False
End If
End If
If m_IsModifiedTipFeed Then
StringToLen(m_TipFeed, dValue)
If EgtSetMachiningParam(MCH_MP.TIPFEED, dValue) Then
m_IsModifiedTipFeed = False
End If
End If
If m_IsModifiedBackFeed Then
StringToLen(m_BackFeed, dValue)
If EgtSetMachiningParam(MCH_MP.BACKFEED, dValue) Then
m_IsModifiedBackFeed = False
End If
End If
If m_IsModifiedSideAngFeed Then
StringToLen(m_SideAngFeed, dValue)
If EgtSetMachiningParam(MCH_MP.SIDEANGFEED, dValue) Then
m_IsModifiedSideAngFeed = False
End If
End If
If m_IsModifiedThicknessFeed Then
StringToLen(m_ThicknessFeed, dValue)
If EgtSetMachiningParam(MCH_MP.THICKREF, dValue) Then
m_IsModifiedThicknessFeed = False
End If
End If
If m_IsModifiedOffSr Then
StringToLen(m_OffSr, dValue)
If EgtSetMachiningParam(MCH_MP.OFFSR, dValue) Then
m_IsModifiedOffSr = False
End If
End If
If m_IsModifiedOffSl Then
StringToLen(m_OffSl, dValue)
If EgtSetMachiningParam(MCH_MP.OFFSL, dValue) Then
m_IsModifiedOffSl = False
End If
End If
If m_IsModifiedEpicyclesRad Then
StringToDouble(m_EpicyclesRad, dValue)
If EgtSetMachiningParam(MCH_MP.EPICYCLESRAD, dValue) Then
m_IsModifiedEpicyclesRad = False
End If
End If
If m_IsModifiedEpicyclesDist Then
StringToDouble(m_EpicyclesDist, dValue)
If EgtSetMachiningParam(MCH_MP.EPICYCLESDIST, dValue) Then
m_IsModifiedEpicyclesDist = False
End If
End If
If m_IsModifiedSideAngle Then
StringToDouble(m_SideAngle, dValue)
If EgtSetMachiningParam(MCH_MP.SIDEANGLE, dValue) Then
m_IsModifiedSideAngle = False
End If
End If
If m_IsModifiedApprox Then
StringToLen(m_Approx, dValue)
If EgtSetMachiningParam(MCH_MP.APPROX, dValue) Then
m_IsModifiedApprox = False
End If
End If
If m_IsModifiedStartPos Then
StringToLen(m_StartPos, dValue)
If EgtSetMachiningParam(MCH_MP.STARTPOS, dValue) Then
m_IsModifiedStartPos = False
End If
End If
If m_IsModifiedStartSlowLen Then
StringToLen(m_StartSlowLen, dValue)
If EgtSetMachiningParam(MCH_MP.STARTSLOWLEN, dValue) Then
m_IsModifiedStartSlowLen = False
End If
End If
If m_IsModifiedEndSlowLen Then
StringToLen(m_EndSlowLen, dValue)
If EgtSetMachiningParam(MCH_MP.ENDSLOWLEN, dValue) Then
m_IsModifiedEndSlowLen = False
End If
End If
If m_IsModifiedThrouAddLen Then
StringToLen(m_ThrouAddLen, dValue)
If EgtSetMachiningParam(MCH_MP.THROUADDLEN, dValue) Then
m_IsModifiedThrouAddLen = False
End If
End If
If m_IsModifiedStepPar Then
StringToLen(m_StepPar, dValue)
If EgtSetMachiningParam(MCH_MP.STEP_, dValue) Then
m_IsModifiedStepPar = False
End If
End If
If m_IsModifiedStepBack Then
StringToLen(m_StepBack, dValue)
If EgtSetMachiningParam(MCH_MP.STEPBACK, dValue) Then
m_IsModifiedStepBack = False
End If
End If
If m_IsModifiedStepSideAng Then
StringToLen(m_StepSideAng, dValue)
If EgtSetMachiningParam(MCH_MP.STEPSIDEANG, dValue) Then
m_IsModifiedStepSideAng = False
End If
End If
If m_IsModifiedStepSideAngBack Then
StringToLen(m_StepSideAngBack, dValue)
If EgtSetMachiningParam(MCH_MP.STEPSIDEANGBACK, dValue) Then
m_IsModifiedStepSideAngBack = False
End If
End If
If m_IsModifiedStepLast Then
StringToLen(m_StepLast, dValue)
If EgtSetMachiningParam(MCH_MP.STEPLAST, dValue) Then
m_IsModifiedStepLast = False
End If
End If
If m_IsModifiedReturnPos Then
StringToLen(m_ReturnPos, dValue)
If EgtSetMachiningParam(MCH_MP.RETURNPOS, dValue) Then
m_IsModifiedReturnPos = False
End If
End If
If m_IsModifiedOverLap Then
StringToLen(m_OverLap, dValue)
If EgtSetMachiningParam(MCH_MP.OVERL, dValue) Then
m_IsModifiedOverLap = False
End If
End If
If m_IsModifiedTabLen Then
StringToLen(m_TabLen, dValue)
If EgtSetMachiningParam(MCH_MP.TABLEN, dValue) Then
m_IsModifiedTabLen = False
End If
End If
If m_IsModifiedTabDist Then
StringToLen(m_TabDist, dValue)
If EgtSetMachiningParam(MCH_MP.TABDIST, dValue) Then
m_IsModifiedTabDist = False
End If
End If
If m_IsModifiedTabHeight Then
StringToLen(m_TabHeight, dValue)
If EgtSetMachiningParam(MCH_MP.TABHEIGHT, dValue) Then
m_IsModifiedTabHeight = False
End If
End If
If m_IsModifiedTabAngle Then
StringToLen(m_TabAngle, dValue)
If EgtSetMachiningParam(MCH_MP.TABANGLE, dValue) Then
m_IsModifiedTabAngle = False
End If
End If
If m_IsModifiedTabMax Then
Int32.TryParse(TabMax, nValue)
If EgtSetMachiningParam(MCH_MP.TABMAX, nValue) Then
m_IsModifiedTabMax = False
End If
End If
If m_IsModifiedTabMin Then
Int32.TryParse(TabMin, nValue)
If EgtSetMachiningParam(MCH_MP.TABMIN, nValue) Then
m_IsModifiedTabMin = False
End If
End If
If m_IsModifiedLiTang Then
StringToLen(m_LiTang, dValue)
If EgtSetMachiningParam(MCH_MP.LITANG, dValue) Then
m_IsModifiedLiTang = False
End If
End If
If m_IsModifiedLiPerp Then
StringToLen(m_LiPerp, dValue)
If EgtSetMachiningParam(MCH_MP.LIPERP, dValue) Then
m_IsModifiedLiPerp = False
End If
End If
If m_IsModifiedLiElev Then
StringToLen(m_LiElev, dValue)
If EgtSetMachiningParam(MCH_MP.LIELEV, dValue) Then
m_IsModifiedLiElev = False
End If
End If
If m_IsModifiedLiCompLen Then
StringToLen(m_LiCompLen, dValue)
If EgtSetMachiningParam(MCH_MP.LICOMPLEN, dValue) Then
m_IsModifiedLiCompLen = False
End If
End If
If m_IsModifiedLoTang Then
StringToLen(m_LoTang, dValue)
If EgtSetMachiningParam(MCH_MP.LOTANG, dValue) Then
m_IsModifiedLoTang = False
End If
End If
If m_IsModifiedLoPerp Then
StringToLen(m_LoPerp, dValue)
If EgtSetMachiningParam(MCH_MP.LOPERP, dValue) Then
m_IsModifiedLoPerp = False
End If
End If
If m_IsModifiedLoElev Then
StringToLen(m_LoElev, dValue)
If EgtSetMachiningParam(MCH_MP.LOELEV, dValue) Then
m_IsModifiedLoElev = False
End If
End If
If m_IsModifiedLoCompLen Then
StringToLen(m_LoCompLen, dValue)
If EgtSetMachiningParam(MCH_MP.LOCOMPLEN, dValue) Then
m_IsModifiedLoCompLen = False
End If
End If
If m_IsModifiedStartAddLen Then
StringToLen(m_StartAddLen, dValue)
If EgtSetMachiningParam(MCH_MP.STARTADDLEN, dValue) Then
m_IsModifiedStartAddLen = False
End If
End If
If m_IsModifiedEndAddLen Then
StringToLen(m_EndAddLen, dValue)
If EgtSetMachiningParam(MCH_MP.ENDADDLEN, dValue) Then
m_IsModifiedEndAddLen = False
End If
End If
If m_IsModifiedStepExtArc Then
StringToLen(m_StepExtArc, dValue)
If EgtSetMachiningParam(MCH_MP.STEPEXTARC, dValue) Then
m_IsModifiedStepExtArc = False
End If
End If
If m_IsModifiedStepIntArc Then
StringToLen(m_StepIntArc, dValue)
If EgtSetMachiningParam(MCH_MP.STEPINTARC, dValue) Then
m_IsModifiedStepIntArc = False
End If
End If
If m_IsModifiedSideStep Then
StringToLen(m_SideStep, dValue)
If EgtSetMachiningParam(MCH_MP.SIDESTEP, dValue) Then
m_IsModifiedSideStep = False
End If
End If
If m_IsModifiedSubStep Then
StringToLen(m_SubStep, dValue)
If EgtSetMachiningParam(MCH_MP.SUBSTEP, dValue) Then
m_IsModifiedSubStep = False
End If
End If
If m_IsModifiedVertFeed Then
StringToLen(m_VertFeed, dValue)
If EgtSetMachiningParam(MCH_MP.VERTFEED, dValue) Then
m_IsModifiedVertFeed = False
End If
End If
If m_IsModifiedOscHeight Then
StringToLen(m_OscHeight, dValue)
If EgtSetMachiningParam(MCH_MP.OSCHEIGHT, dValue) Then
m_IsModifiedOscHeight = False
End If
End If
If m_IsModifiedOscRampLen Then
StringToLen(m_OscRampLen, dValue)
If EgtSetMachiningParam(MCH_MP.OSCRAMPLEN, dValue) Then
m_IsModifiedOscRampLen = False
End If
End If
If m_IsModifiedOscFlatLen Then
StringToLen(m_OscFlatLen, dValue)
If EgtSetMachiningParam(MCH_MP.OSCFLATLEN, dValue) Then
m_IsModifiedOscFlatLen = False
End If
End If
If m_IsModifiedDepthStr Then
If EgtSetMachiningParam(MCH_MP.DEPTH_STR, m_DepthStr) Then
m_IsModifiedDepthStr = False
End If
End If
' Scrivo le note utente
WriteOperationParamNote()
SetComboAddVisibility(Visibility.Collapsed)
If m_IsModifiedInitAngs Then
If EgtSetMachiningParam(MCH_MP.INITANGS, m_InitAngs) Then
m_IsModifiedInitAngs = False
End If
End If
If m_IsModifiedBlockedAxis Then
If EgtSetMachiningParam(MCH_MP.BLOCKEDAXIS, m_BlockedAxis) Then
m_IsModifiedBlockedAxis = False
End If
End If
If m_IsModifiedForwardAngle Then
StringToDouble(m_ForwardAngle, dValue)
If EgtSetMachiningParam(MCH_MP.FORWARDANGLE, dValue) Then
m_IsModifiedForwardAngle = False
End If
End If
If m_IsModifiedProbing Then
If EgtSetMachiningParam(MCH_MP.PROBING, m_Probing) Then
m_IsModifiedProbing = False
End If
End If
If m_IsModifiedProbingMinDist Then
StringToLen(m_ProbingMinDist, dValue)
If EgtSetMachiningParam(MCH_MP.PROBINGMINDIST, dValue) Then
m_IsModifiedProbingMinDist = False
End If
End If
If m_IsModifiedProbingMaxDist Then
StringToLen(m_ProbingMaxDist, dValue)
If EgtSetMachiningParam(MCH_MP.PROBINGMAXDIST, dValue) Then
m_IsModifiedProbingMaxDist = False
End If
End If
If m_IsModifiedSelectedExtCornType Then
nValue = If(IsNothing(ExtCornTypeList), m_SelectedExtCornType, IdNameStruct.IdFromInd(m_SelectedExtCornType, ExtCornTypeList))
If EgtSetMachiningParam(MCH_MP.EXTCORNERTYPE, nValue) Then
m_IsModifiedSelectedExtCornType = False
End If
End If
If m_IsModifiedSelectedIntCornType Then
nValue = If(IsNothing(IntCornTypeList), m_SelectedIntCornType, IdNameStruct.IdFromInd(m_SelectedIntCornType, IntCornTypeList))
If EgtSetMachiningParam(MCH_MP.INTCORNERTYPE, nValue) Then
m_IsModifiedSelectedIntCornType = False
End If
End If
If m_IsModifiedCornSlowLen Then
StringToLen(m_CornSlowLen, dValue)
If EgtSetMachiningParam(MCH_MP.CORNERSLOWLEN, dValue) Then
m_IsModifiedCornSlowLen = False
End If
End If
If m_IsModifiedCornSlowPerc Then
Int32.TryParse(m_CornSlowPerc, nValue)
If EgtSetMachiningParam(MCH_MP.CORNERSLOWPERC, nValue) Then
m_IsModifiedCornSlowPerc = False
End If
End If
If m_IsModifiedLiHole Then
If EgtSetMachiningParam(MCH_MP.LIHOLE, m_LiHole) Then
m_IsModifiedLiHole = False
End If
End If
If m_IsModifiedLiHoleRad Then
StringToLen(m_LiHoleRad, dValue)
If EgtSetMachiningParam(MCH_MP.LIHOLERAD, dValue) Then
m_IsModifiedLiHoleRad = False
End If
End If
If m_IsModifiedLpTurns Then
Int32.TryParse(LpTurns, nValue)
If EgtSetMachiningParam(MCH_MP.LPTURNS, nValue) Then
m_IsModifiedLpTurns = False
End If
End If
If m_IsModifiedHpTurns Then
Int32.TryParse(HpTurns, nValue)
If EgtSetMachiningParam(MCH_MP.HPTURNS, nValue) Then
m_IsModifiedHpTurns = False
End If
End If
End Sub
Public Sub WriteMachiningName()
EgtMdbSetCurrMachiningParam(MCH_MP.NAME, NamePar)
End Sub
#Region "Methods Note"
''' <summary>
''' Recupero la lista delle Note dal file Note.ini
''' </summary>
Public Sub GetNoteList()
' Recupero direttorio macchina corrente
Dim sMachDir As String = ""
EgtGetCurrMachineDir(sMachDir)
' Divido UserNotes in due Array di String Chiave e Valore (anche non presente)
If m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB Then
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, m_UserNotes)
Else
EgtGetMachiningParam(MCH_MP.USERNOTES, m_UserNotes)
End If
Dim tmpDsc As New List(Of String)
Dim tmpVal As New List(Of String)
Dim sSplitNotes() As String = m_UserNotes.TrimEnd(";"c).Split(New Char() {";"c})
For Index As Integer = 0 To sSplitNotes.Count - 1
Dim sKeyVal() As String = sSplitNotes(Index).Trim().Split(New Char() {"="c})
If sKeyVal.Count() >= 1 AndAlso Not String.IsNullOrWhiteSpace(sKeyVal(0)) Then
' Assegno chiave
tmpDsc.Add(sKeyVal(0))
' Assegno valore o indicazione sua mancanza
If sKeyVal.Count() >= 2 Then
tmpVal.Add(sKeyVal(1))
Else
tmpVal.Add("")
End If
End If
Next
m_UserNotes = ""
' Recupero le info dal file Notes.ini
Dim tmpType As String = If(m_Type.Equals(MCH_MY.FIVEAXISMILLING), "5AxMilling", m_Type.ToString())
Dim IndexNote As Integer = 0
Dim sNoteDescription As String = ""
Dim value As New ObservableCollection(Of ComboParameter)
Dim keyValue As String() = Nothing
While EgtUILib.GetPrivateProfileString(tmpType, IndexNote.ToString(), "", sNoteDescription, sMachDir & "\" & MACH_NOTES) > 0
Dim sNotes() As String = sNoteDescription.Split(","c)
For Index As Integer = 0 To sNotes.Count - 1
sNotes(Index) = sNotes(Index).Trim()
Next
For IndexNoteUser As Integer = 0 To tmpDsc.Count - 1
' Aggiungo alla lista NoteList le note presenti nel file ini
If tmpDsc(IndexNoteUser) = sNotes(1) Then
' Controllo se è una combobox
If sNotes(0) = "i" Then
Dim tmpsNote As String = sNotes(2)
' Rimuovo le parentesi quadre all'inizio e alla fine
Dim trimmedString As String = tmpsNote.Trim("["c, "]"c)
' Divido la stringa per il punto e virgola (;)
Dim pairs As String() = trimmedString.Split(";"c)
' Itero su ogni coppia e dividila per l'uguale (=)
For Each pair As String In pairs
keyValue = pair.Split("="c)
value.Add(New ComboParameter(keyValue(0), keyValue(1)))
Next
m_NotesList.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), value))
' Controllo per visualizzare in modo corretto il selezionato
For Each ItemValue As ComboParameter In value
If tmpVal(IndexNoteUser).Contains(ItemValue.Index.ToString()) Then
m_NotesList(m_NotesList.Count - 1).SelKeyValue.KeyValue = ItemValue.KeyValue
End If
Next
Else
m_NotesList.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), tmpVal(IndexNoteUser)))
End If
Exit For
End If
Next
IndexNote += 1
End While
' Assegno alla lista temporanea solo le descrizioni
Dim tmpDscList As New List(Of String)
For IndN As Integer = 0 To m_NotesList.Count - 1
tmpDscList.Add(m_NotesList(IndN).m_Description)
Next
For TmpInd As Integer = 0 To tmpDsc.Count - 1
' Controllo se la lista contiene la stessa descrizione
If tmpDscList.Contains(tmpDsc(TmpInd)) Then
m_UserNotes &= "" ' Se si la text UserNote rimane vuota
ElseIf Not String.IsNullOrEmpty(tmpVal(TmpInd)) Then
m_UserNotes &= (tmpDsc(TmpInd) & "=" & tmpVal(TmpInd) & ";").Trim() ' Altrimenti assegno descrizione + valore a UserNote
Else
m_UserNotes &= (tmpDsc(TmpInd) & ";").Trim() ' Se la lista valori e' vuota assegno solo la descrizione
End If
Next
For Each ItemNote As NoteListBoxItem In m_NotesList
' Controllo per la visualizzazione di una textbox o checkbox
If ItemNote.Type.Equals("d") OrElse ItemNote.Type.Equals("l") OrElse ItemNote.Type.Equals("s") Then
ItemNote.SelTypeValue = 0 ' Seleziona la TextBox
ElseIf ItemNote.Type.Equals("i") Then
ItemNote.SelTypeValue = 2 ' Seleziona la ComboBox
Else
ItemNote.SelTypeValue = 1 ' Seleziona la CheckBox
' Trasformo il valore della checkbox da stringa a booleano
ItemNote.Value = If(ItemNote.Value = "1", "True", "False")
Boolean.Parse(ItemNote.Value)
End If
Next
SetToolNoteVisibility(If(m_NotesList.Count > 0, Visibility.Visible, Visibility.Collapsed))
NotifyPropertyChanged(NameOf(NotesList))
NotifyPropertyChanged(NameOf(UserNotes))
End Sub
''' <summary>
''' Recupero la lista delle Note dal file Note.ini da mostrare nella combobox
''' </summary>
Public Sub GetComboNoteList()
' Recupero direttorio macchina corrente
Dim sMachDir As String = ""
EgtGetCurrMachineDir(sMachDir)
' Recupero le info dal file Notes.ini
Dim tmpType As String = If(m_Type.Equals(MCH_MY.FIVEAXISMILLING), "5AxMilling", m_Type.ToString())
Dim IndexNote As Integer = 0
Dim sNoteDescription As String = ""
Dim tmpsNotes As New ObservableCollection(Of NoteListBoxItem)
Dim tmpDsc As New ObservableCollection(Of String)
Dim value As New ObservableCollection(Of ComboParameter)
While EgtUILib.GetPrivateProfileString(tmpType, IndexNote.ToString(), "", sNoteDescription, sMachDir & "\" & MACH_NOTES) > 0
Dim sNotes() As String = sNoteDescription.Split(","c)
For Index As Integer = 0 To sNotes.Count - 1
sNotes(Index) = sNotes(Index).Trim()
If sNotes(Index).StartsWith("[") Then
Dim tmpsNote As String = sNotes(Index)
' Rimuovo le parentesi quadre all'inizio e alla fine
Dim trimmedString As String = tmpsNote.Trim("["c, "]"c)
' Divido la stringa per il punto e virgola (;)
Dim pairs As String() = trimmedString.Split(";"c)
' Itero su ogni coppia e dividila per l'uguale (=)
For Each pair As String In pairs
Dim keyValue As String() = pair.Split("="c)
Dim key As String = keyValue(0)
value.Add(New ComboParameter(keyValue(0), keyValue(1)))
Next
End If
Next
' Assegno valori alla lista temporanea
If value.Count > 0 Then
tmpsNotes.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), value))
ElseIf sNotes.Count < 3 Then
tmpsNotes.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), ""))
ElseIf sNotes.Count >= 5 Then
tmpsNotes.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), sNotes(2) & "," & sNotes(3) & "," & sNotes(4)))
Else
tmpsNotes.Add(New NoteListBoxItem(IndexNote, sNotes(0), sNotes(1), sNotes(2)))
End If
tmpDsc.Add(sNotes(1))
IndexNote += 1
End While
' Assegno alla lista temporanea solo le descrizioni
Dim tmpDscList As New ObservableCollection(Of String)
For IndN As Integer = 0 To m_NotesList.Count - 1
tmpDscList.Add(m_NotesList(IndN).m_Description)
Next
' Assegno alla combobox valori non presenti nella NoteList
For TmpInd As Integer = 0 To tmpDsc.Count - 1
If Not tmpDscList.Contains(tmpDsc(TmpInd)) Then
m_NotesListCombo.Add(tmpsNotes(TmpInd))
End If
Next
If Not m_AdvancedParamIsExpander AndAlso m_NotesListCombo.Count > 0 Then
SetShowNoteListCombo_Visibility(Visibility.Visible)
ElseIf m_NotesListCombo.Count > 0 AndAlso m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB Then
SetShowNoteListCombo_Visibility(Visibility.Visible)
Else
SetShowNoteListCombo_Visibility(Visibility.Collapsed)
End If
SetShowNoteListCombo_IsEnable(If(m_NotesListCombo.Count <= 0, False, True))
NotifyPropertyChanged(NameOf(NotesList))
NotifyPropertyChanged(NameOf(NotesListCombo))
NotifyPropertyChanged(NameOf(SelNoteItemCombo))
End Sub
''' <summary>
''' Scrivo in UserNotes attraverso EgtSetMachiningParam la nota modificata
''' </summary>
Public Sub WriteOperationParamNote()
' Nascondo la combobox
SetComboAddVisibility(Visibility.Collapsed)
' Recupero le note con la gestione avanzata
Dim sAdvNotes As String = ""
For IndexNote As Integer = 0 To m_NotesList.Count - 1
' Scrivo in MCH_MP.USERNOTES la nota modificata
If m_NotesList(IndexNote).Type.Equals("b") OrElse m_NotesList(IndexNote).Type.Equals("br") Then
sAdvNotes &= m_NotesList(IndexNote).Description & "=" & If(m_NotesList(IndexNote).Value.Equals("True"), "1", "0") & ";"
ElseIf m_NotesList(IndexNote).Type.Equals("i") AndAlso Not IsNothing(m_NotesList(IndexNote).SelKeyValue) Then
sAdvNotes &= m_NotesList(IndexNote).Description & "=" & m_NotesList(IndexNote).SelKeyValue.Index & ";"
Else
sAdvNotes &= m_NotesList(IndexNote).Description & "=" & m_NotesList(IndexNote).Value & ";"
End If
Next
' Processo le note standard come lista di chiavi-valori
Dim tmpDsc = New List(Of String)
Dim tmpVal = New List(Of String)
Dim sSplitNotes() As String = m_UserNotes.TrimEnd(";"c).Split(New Char() {";"c})
For Index As Integer = 0 To sSplitNotes.Count - 1
Dim sKeyVal() As String = sSplitNotes(Index).Trim().Split(New Char() {"="c})
If sKeyVal.Count() >= 1 AndAlso Not String.IsNullOrWhiteSpace(sKeyVal(0)) Then
' Assegno chiave
tmpDsc.Add(sKeyVal(0))
' Assegno valore o indicazione sua mancanza
If sKeyVal.Count() >= 2 Then
tmpVal.Add(sKeyVal(1))
Else
tmpVal.Add("")
End If
End If
Next
' Assegno le note standard le cui chiavi non siano un duplicato delle descrizioni di quelle avanzate
Dim sStdNotes As String = ""
For NewInd As Integer = 0 To tmpDsc.Count - 1
' Verifico se la chiave è presente nelle descrizioni avanzate
Dim bAdvDesc As Boolean = False
For IndexNote As Integer = 0 To m_NotesList.Count - 1
If m_NotesList(IndexNote).Description.Equals(tmpDsc(NewInd)) Then
bAdvDesc = True
Exit For
End If
Next
' Se non presente posso aggiungere
If Not bAdvDesc Then
If Not String.IsNullOrEmpty(tmpVal(NewInd)) Then
sStdNotes &= tmpDsc(NewInd) & "=" & tmpVal(NewInd) & ";" ' Assegno a sUserNotes descrizione + valore
Else
sStdNotes &= tmpDsc(NewInd) & ";" ' Se non e' presente il valore solo la descrizione
End If
End If
Next
m_UserNotes = sStdNotes
' Salvo le note
Dim sUserNotes As String = sAdvNotes & sStdNotes
If m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB Then
EgtMdbSetCurrMachiningParam(MCH_MP.USERNOTES, sUserNotes)
Else
EgtSetMachiningParam(MCH_MP.USERNOTES, sUserNotes)
End If
NotifyPropertyChanged(NameOf(UserNotes))
NotifyPropertyChanged(NameOf(NotesList))
End Sub
''' <summary>
''' Rimuove nota dalla lista Note Utente
''' </summary>
Public Sub RemoveNote(NoteItem As NoteListBoxItem)
If NoteItem.Type.Equals("d") OrElse NoteItem.Type.Equals("l") OrElse NoteItem.Type.Equals("s") Then
NoteItem.SelTypeValue = 0 ' Seleziona la TextBox
Else
NoteItem.SelTypeValue = 1 ' Seleziona la CheckBox
' Trasformo il valore della checkbox da stringa a booleano
NoteItem.Value = If(NoteItem.Value = "True", "1", "0")
End If
' Rimuovo la nota selezionata dalla lista note utente
m_NotesList.Remove(NoteItem)
' Se il pulsante rimuovi nota viene selezionato riaggiungo la nota rimossa alla combobox
m_NotesListCombo.Add(NoteItem)
' Aggiorno lista Combo
m_NotesListCombo.Clear()
GetComboNoteList()
' Nascondo la combobox
SetComboAddVisibility(Visibility.Collapsed)
' Riabilito pulsante che mostra la combobox
SetShowNoteListCombo_IsEnable(True)
SetShowNoteListCombo_Visibility(If(m_NotesListCombo.Count > 0, Visibility.Visible, Visibility.Collapsed))
SetToolNoteVisibility(If(m_NotesList.Count > 0, Visibility.Visible, Visibility.Collapsed))
NotifyPropertyChanged(NameOf(NotesList))
NotifyPropertyChanged(NameOf(NotesListCombo))
NotifyPropertyChanged(NameOf(UserNotes))
RaiseEvent m_IsModified(True)
End Sub
''' <summary>
''' Aggiorna il colore del pulsante Applica Lavorazioni quando la nota della lista NoteList viene modificata
''' </summary>
''' <param name="NoteItem"></param>
Public Sub IsModifiedNote(NoteItem As NoteListBoxItem)
If NoteItem.IsModifiedValue Then RaiseEvent m_IsModified(True)
End Sub
#End Region ' Methods Note
#End Region ' Methods
#Region "Validation"
Private m_NameError As String
Public ReadOnly Property NameErrorMsg As String
Get
Return m_NameError
End Get
End Property
Private m_SpeedError As String
Public ReadOnly Property SpeedErrorMsg As String
Get
Return m_SpeedError
End Get
End Property
Private m_TabLenError As String
Public ReadOnly Property TabLenErrorMsg As String
Get
Return m_TabLenError
End Get
End Property
Private m_TabDistError As String
Public ReadOnly Property TabDistErrorMsg As String
Get
Return m_TabDistError
End Get
End Property
Private m_TabHeightError As String
Public ReadOnly Property TabHeightErrorMsg As String
Get
Return m_TabHeightError
End Get
End Property
Private m_TabAngleError As String
Public ReadOnly Property TabAngleErrorMsg As String
Get
Return m_TabAngleError
End Get
End Property
Private m_TabMaxError As String
Public ReadOnly Property TabMaxErrorMsg As String
Get
Return m_TabMaxError
End Get
End Property
Private m_TabMinError As String
Public ReadOnly Property TabMinErrorMsg As String
Get
Return m_TabMinError
End Get
End Property
Private Function GetValidationError(ByVal propertyName As String) As Boolean
Dim bOk As Boolean = True
Select Case propertyName
Case "NamePar"
bOk = Me.ValidateName()
Case "Speed"
bOk = Me.ValidateSpeed()
Case "TabLen"
bOk = Me.ValidateTabLen()
Case "TabDist"
bOk = Me.ValidateTabDist()
Case "TabHeight"
bOk = Me.ValidateTabHeight()
Case "TabAngle"
bOk = Me.ValidateTabAngle()
Case "TabMax"
bOk = Me.ValidateTabMax()
Case "TabMin"
bOk = Me.ValidateTabMin()
End Select
Return bOk
End Function
' Funzione che verifica se il valore immesso in una TextBox non è un numero
Private Function GetNonNumericTextBox(parameterValue As String) As Boolean
If IsNumeric(parameterValue) Then
Return False
Else
Return True
End If
End Function
Public Function GetErrorString(propertyName As String) As String
Select Case propertyName
Case "NamePar"
Return m_NameError
Case "Speed"
Return m_SpeedError
Case "TabLen"
Return m_TabLenError
Case "TabDist"
Return m_TabDistError
Case "TabHeight"
Return m_TabHeightError
Case "TabAngle"
Return m_TabAngleError
Case "TabMax"
Return m_TabMaxError
Case "TabMin"
Return m_TabMinError
End Select
Return String.Empty
End Function
''' <summary>
''' Returns true if this object has no validation errors.
''' </summary>
Public ReadOnly Property IsValid() As Boolean
Get
For Each [property] As String In ValidatedProperties
If Not String.IsNullOrEmpty(GetErrorString([property])) Then
Return False
End If
Next [property]
Return True
End Get
End Property
Public Overridable ReadOnly Property IsModified() As Boolean
Get
Return m_IsModifiedInvert OrElse
m_IsModifiedLeaveTab OrElse
m_IsModifiedToolInvert OrElse
m_IsModifiedSelectedWorkSide OrElse
m_IsModifiedSelectedHeadSide OrElse
m_IsModifiedSelectedLeadInType OrElse
m_IsModifiedSelectedExtLinkType OrElse
m_IsModifiedSelectedLeadOutType OrElse
m_IsModifiedSelectedCurveUse OrElse
m_IsModifiedSelectedStepType OrElse
m_IsModifiedSelectedSubType OrElse
m_IsModifiedSelectedLeadLinkType OrElse
m_IsModifiedSelectedFaceUseType OrElse
m_IsModifiedSelectedSolChoiceType OrElse
m_IsModifiedSpeed OrElse
m_IsModifiedFeed OrElse
m_IsModifiedStartFeed OrElse
m_IsModifiedEndFeed OrElse
m_IsModifiedTipFeed OrElse
m_IsModifiedBackFeed OrElse
m_IsModifiedSideAngFeed OrElse
m_IsModifiedThicknessFeed OrElse
m_IsModifiedOffSr OrElse
m_IsModifiedOffSl OrElse
m_IsModifiedEpicyclesRad OrElse
m_IsModifiedEpicyclesDist OrElse
m_IsModifiedSideAngle OrElse
m_IsModifiedApprox OrElse
m_IsModifiedStartPos OrElse
m_IsModifiedStartSlowLen OrElse
m_IsModifiedEndSlowLen OrElse
m_IsModifiedThrouAddLen OrElse
m_IsModifiedStepPar OrElse
m_IsModifiedStepBack OrElse
m_IsModifiedStepLast OrElse
m_IsModifiedReturnPos OrElse
m_IsModifiedTabLen OrElse
m_IsModifiedTabDist OrElse
m_IsModifiedTabHeight OrElse
m_IsModifiedTabAngle OrElse
m_IsModifiedTabMin OrElse
m_IsModifiedTabMax OrElse
m_IsModifiedLiTang OrElse
m_IsModifiedLiPerp OrElse
m_IsModifiedLiElev OrElse
m_IsModifiedLiCompLen OrElse
m_IsModifiedLoTang OrElse
m_IsModifiedLoPerp OrElse
m_IsModifiedLoElev OrElse
m_IsModifiedLoCompLen OrElse
m_IsModifiedStartAddLen OrElse
m_IsModifiedEndAddLen OrElse
m_IsModifiedStepExtArc OrElse
m_IsModifiedStepIntArc OrElse
m_IsModifiedSideStep OrElse
m_IsModifiedSubStep OrElse
m_IsModifiedStepSideAng OrElse
m_IsModifiedStepSideAngBack OrElse
m_IsModifiedVertFeed OrElse
m_IsModifiedOscEnable OrElse
m_IsModifiedOscHeight OrElse
m_IsModifiedOscRampLen OrElse
m_IsModifiedOscFlatLen OrElse
m_IsModifiedName OrElse
m_IsModifiedSelectedTool OrElse
m_IsModifiedDepthStr OrElse
m_IsModifiedUserNotes OrElse
m_IsModifiedOverLap OrElse
m_IsModifiedInitAngs OrElse
m_IsModifiedBlockedAxis OrElse
m_IsModifiedForwardAngle OrElse
m_IsModifiedProbing OrElse
m_IsModifiedProbingMinDist OrElse
m_IsModifiedProbingMaxDist OrElse
m_IsModifiedSelectedExtCornType OrElse
m_IsModifiedSelectedIntCornType OrElse
m_IsModifiedCornSlowLen OrElse
m_IsModifiedCornSlowPerc OrElse
m_IsModifiedLiHole OrElse
m_IsModifiedLiHoleRad OrElse
m_IsModifiedLpTurns OrElse
m_IsModifiedHpTurns
End Get
End Property
Public Overridable Sub IsModifiedReset()
m_IsModifiedInvert = False
m_IsModifiedLeaveTab = False
m_IsModifiedToolInvert = False
m_IsModifiedSelectedWorkSide = False
m_IsModifiedSelectedHeadSide = False
m_IsModifiedSelectedLeadInType = False
m_IsModifiedSelectedExtLinkType = False
m_IsModifiedSelectedLeadOutType = False
m_IsModifiedSelectedCurveUse = False
m_IsModifiedSelectedStepType = False
m_IsModifiedSelectedSubType = False
m_IsModifiedSelectedLeadLinkType = False
m_IsModifiedSelectedFaceUseType = False
m_IsModifiedSelectedSolChoiceType = False
m_IsModifiedSpeed = False
m_IsModifiedFeed = False
m_IsModifiedStartFeed = False
m_IsModifiedEndFeed = False
m_IsModifiedTipFeed = False
m_IsModifiedBackFeed = False
m_IsModifiedSideAngFeed = False
m_IsModifiedThicknessFeed = False
m_IsModifiedOffSr = False
m_IsModifiedOffSl = False
m_IsModifiedEpicyclesRad = False
m_IsModifiedEpicyclesDist = False
m_IsModifiedSideAngle = False
m_IsModifiedApprox = False
m_IsModifiedStartPos = False
m_IsModifiedStartSlowLen = False
m_IsModifiedEndSlowLen = False
m_IsModifiedThrouAddLen = False
m_IsModifiedStepPar = False
m_IsModifiedStepBack = False
m_IsModifiedStepLast = False
m_IsModifiedReturnPos = False
m_IsModifiedTabLen = False
m_IsModifiedTabDist = False
m_IsModifiedTabHeight = False
m_IsModifiedTabAngle = False
m_IsModifiedTabMin = False
m_IsModifiedTabMax = False
m_IsModifiedLiTang = False
m_IsModifiedLiPerp = False
m_IsModifiedLiElev = False
m_IsModifiedLiCompLen = False
m_IsModifiedLoTang = False
m_IsModifiedLoPerp = False
m_IsModifiedLoElev = False
m_IsModifiedLoCompLen = False
m_IsModifiedStartAddLen = False
m_IsModifiedEndAddLen = False
m_IsModifiedStepExtArc = False
m_IsModifiedStepIntArc = False
m_IsModifiedSideStep = False
m_IsModifiedSubStep = False
m_IsModifiedStepSideAng = False
m_IsModifiedStepSideAngBack = False
m_IsModifiedVertFeed = False
m_IsModifiedOscEnable = False
m_IsModifiedOscHeight = False
m_IsModifiedOscRampLen = False
m_IsModifiedOscFlatLen = False
m_IsModifiedName = False
m_IsModifiedSelectedTool = False
m_IsModifiedDepthStr = False
m_IsModifiedUserNotes = False
m_IsModifiedOverLap = False
m_IsModifiedInitAngs = False
m_IsModifiedBlockedAxis = False
m_IsModifiedForwardAngle = False
m_IsModifiedProbing = False
m_IsModifiedProbingMinDist = False
m_IsModifiedProbingMaxDist = False
m_IsModifiedSelectedExtCornType = False
m_IsModifiedSelectedIntCornType = False
m_IsModifiedCornSlowLen = False
m_IsModifiedCornSlowPerc = False
m_IsModifiedLiHole = False
m_IsModifiedLiHoleRad = False
m_IsModifiedLpTurns = False
m_IsModifiedHpTurns = False
End Sub
Public Shared ReadOnly ValidatedProperties() As String = {"Speed", "NamePar", "TabLen", "TabDist", "TabHeight", "TabAngle", "TabMax", "TabMin"}
Private Function ValidateName() As Boolean
m_NameError = String.Empty
Select Case nErrorMachiningName
Case 1
m_NameError = EgtMsg(31403) ' Nome non valido
Case 2
m_NameError = EgtMsg(31404) ' I caratteri \ / : * ? " < > | non sono permessi
End Select
NotifyPropertyChanged(NameOf(NameErrorMsg))
If String.IsNullOrEmpty(m_NameError) Then
Return True
Else
Return False
End If
End Function
Private Function ValidateSpeed() As Boolean
m_SpeedError = String.Empty
If (m_CurrMachTreeViewItemType = MachTreeViewItemType.MACH_DB) Then
If SelectedTool >= 0 Then
If Not IsNothing(m_Speed) And m_ToolList.Count >= SelectedTool + 1 Then
Dim dSpeed As Double = 0
StringToDouble(m_Speed, dSpeed)
Dim dMaxSpeed As Double = 0
EgtTdbSetCurrTool(m_ToolList(SelectedTool))
EgtTdbGetCurrToolParam(MCH_TP.MAXSPEED, dMaxSpeed)
If Math.Abs(dSpeed) > dMaxSpeed + EPS_ZERO Then
m_SpeedError = EgtMsg(31111) ' La Rotazione deve essere minore della Rotazione Massima
End If
End If
End If
Else
If Not IsNothing(m_Speed) Then
Dim dSpeed As Double = 0
StringToDouble(m_Speed, dSpeed)
Dim dMaxSpeed As Double = 0
EgtTdbSetCurrTool(m_Tool)
EgtTdbGetCurrToolParam(MCH_TP.MAXSPEED, dMaxSpeed)
If Math.Abs(dSpeed) > dMaxSpeed + EPS_ZERO Then
m_SpeedError = EgtMsg(31111) ' La Rotazione deve essere minore della Rotazione Massima
End If
End If
End If
NotifyPropertyChanged(NameOf(SpeedErrorMsg))
Return String.IsNullOrEmpty(m_SpeedError)
End Function
Private Function ValidateTabLen() As Boolean
' Eseguo il controllo
m_TabLenError = String.Empty
If Not IsNothing(m_TabLen) Then
Dim dTabLen As Double = 0
StringToLen(m_TabLen, dTabLen)
If dTabLen < EPS_SMALL Then
m_TabLenError = EgtMsg(31411) 'La Lunghezza deve essere positiva
End If
End If
NotifyPropertyChanged(NameOf(TabLenErrorMsg))
Return String.IsNullOrEmpty(m_TabLenError)
End Function
Private Function ValidateTabDist() As Boolean
' Eseguo il controllo
m_TabDistError = String.Empty
If Not IsNothing(m_TabDist) Then
Dim dTabDist As Double = 0
StringToLen(m_TabDist, dTabDist)
If dTabDist < EPS_SMALL Then
m_TabDistError = EgtMsg(31412) 'La Distanza deve essere positiva
End If
End If
NotifyPropertyChanged(NameOf(TabDistErrorMsg))
Return String.IsNullOrEmpty(m_TabDistError)
End Function
Private Function ValidateTabHeight() As Boolean
' Eseguo il controllo
m_TabHeightError = String.Empty
If Not IsNothing(m_TabHeight) Then
Dim dTabHeight As Double = 0
StringToLen(m_TabHeight, dTabHeight)
If dTabHeight < EPS_SMALL Then
m_TabHeightError = EgtMsg(31413) 'L'Altezza deve essere positiva
End If
End If
NotifyPropertyChanged(NameOf(TabHeightErrorMsg))
Return String.IsNullOrEmpty(m_TabHeightError)
End Function
Private Function ValidateTabAngle() As Boolean
' Eseguo il controllo
m_TabAngleError = String.Empty
If Not IsNothing(m_TabAngle) Then
Const MIN_ANGLE As Double = 30
Const MAX_ANGLE As Double = 75
Dim dTabAngle As Double = 0
StringToDouble(m_TabAngle, dTabAngle)
If dTabAngle < MIN_ANGLE - EPS_SMALL Or dTabAngle > MAX_ANGLE + EPS_SMALL Then
m_TabAngleError = String.Format(EgtMsg(31414), "30", "75") 'L'Angolo deve essere compreso tra {0}° e {1}°
End If
End If
NotifyPropertyChanged(NameOf(TabAngleErrorMsg))
Return String.IsNullOrEmpty(m_TabAngleError)
End Function
Private Function ValidateTabMax() As Boolean
' Eseguo il controllo
m_TabMaxError = String.Empty
If Not IsNothing(m_TabMax) Then
Dim nTabMax As Integer = 0
Int32.TryParse(m_TabMax, nTabMax)
If nTabMax < 0 Then
m_TabMaxError = EgtMsg(31415) 'N° massimo deve essere nullo o positivo
End If
If Not IsNothing(m_TabMin) Then
Dim nTabMin As Integer = 0
Int32.TryParse(m_TabMin, nTabMin)
If nTabMax < nTabMin Then
m_TabMinError = EgtMsg(31416) 'N° massimo deve essere maggiore o uguale a N° minimo
End If
End If
End If
NotifyPropertyChanged(NameOf(TabMaxErrorMsg))
Return String.IsNullOrEmpty(m_TabMaxError)
End Function
Private Function ValidateTabMin() As Boolean
' Eseguo il controllo
m_TabMinError = String.Empty
If Not IsNothing(m_TabMin) Then
Dim nTabMin As Integer = 0
Int32.TryParse(m_TabMin, nTabMin)
If nTabMin < 0 Then
m_TabMinError = EgtMsg(31417) 'N° minimo deve essere nullo o positivo
End If
If Not IsNothing(m_TabMax) Then
Dim nTabMax As Integer = 0
Int32.TryParse(m_TabMax, nTabMax)
If nTabMin > nTabMax Then
m_TabMinError = EgtMsg(31418) 'N° minimo deve essere minore o uguale a N° massimo
End If
End If
End If
NotifyPropertyChanged(NameOf(TabMinErrorMsg))
Return String.IsNullOrEmpty(m_TabMinError)
End Function
Private Sub ResetTabErrors()
m_TabLenError = String.Empty
m_TabDistError = String.Empty
m_TabHeightError = String.Empty
m_TabAngleError = String.Empty
m_TabMinError = String.Empty
m_TabMaxError = String.Empty
NotifyPropertyChanged(NameOf(TabLenErrorMsg))
NotifyPropertyChanged(NameOf(TabDistErrorMsg))
NotifyPropertyChanged(NameOf(TabHeightErrorMsg))
NotifyPropertyChanged(NameOf(TabAngleErrorMsg))
NotifyPropertyChanged(NameOf(TabMinErrorMsg))
NotifyPropertyChanged(NameOf(TabMaxErrorMsg))
End Sub
#End Region ' Validation
#Region "COMMANDS"
#Region "UpdateNoteCommand"
''' <summary>
''' Comando per la visualizzazione della combobox
''' </summary>
''' <returns></returns>
Public ReadOnly Property ShowNoteListComboCommand As ICommand
Get
If m_cmdShowNoteListCombo Is Nothing Then
m_cmdShowNoteListCombo = New Command(AddressOf ShowNoteListCombo)
End If
Return m_cmdShowNoteListCombo
End Get
End Property
''' <summary>
''' Funzione per la visualizzazione della combobox
''' </summary>
''' <param name="param"></param>
Public Sub ShowNoteListCombo(ByVal param As Object)
' Rendo visibile la combobox
If m_NotesListCombo.Count > 0 Then SetComboAddVisibility(Visibility.Visible)
' Disabilito pulsante che mostra la combobox
SetShowNoteListCombo_IsEnable(False)
m_AdvancedParamIsExpander = True
NotifyPropertyChanged(NameOf(NotesListCombo))
NotifyPropertyChanged(NameOf(AdvancedParamIsExpander))
End Sub
#End Region ' UpdateNoteCommand
#End Region ' Commands
End Class
Public Class ErrorVisibilityConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
If String.IsNullOrEmpty(CStr(value)) Then
Return Visibility.Collapsed
Else
Return Visibility.Visible
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.ConvertBack
Throw New NotImplementedException
End Function
End Class
Public Class MachiningMaterial
Inherits Material
Friend m_refSetSystemNotes As Action
Private m_MinThickness As String
Public Property MinThickness As String
Get
Return m_MinThickness
End Get
Set(value As String)
m_MinThickness = value
m_refSetSystemNotes()
End Set
End Property
Friend Sub SetMinThickness(value As String)
m_MinThickness = value
End Sub
Private m_MaxThickness As String
Public Property MaxThickness As String
Get
Return m_MaxThickness
End Get
Set(value As String)
' Se Sottomateriale presente siamo nel caso Waterjet e quindi verfichiamo lo Spessore massimo
If nSubId > 0 Then
Dim dValue As Double = 0
Dim dMaxValue As Double = 0
Dim dOldValue As Double = 0
StringToLen(value, dValue)
For Each WjParam In CurrentMachine.WjMaterialList(nId - 1).SubMaterialList(nSubId - 1).ParamList
StringToLen(WjParam.Thickness, dOldValue)
If dOldValue > dMaxValue Then dMaxValue = dOldValue
Next
If dValue > dMaxValue Then Return
End If
m_MaxThickness = value
m_refSetSystemNotes()
End Set
End Property
Friend Sub SetMaxThickness(value As String)
m_MaxThickness = value
End Sub
Sub New(nId As Integer, sName As String, refSetSystemNotes As Action)
MyBase.New(nId, sName)
m_MinThickness = "0"
m_MaxThickness = "0"
m_refSetSystemNotes = refSetSystemNotes
End Sub
Sub New(nId As Integer, sName As String, nSubId As Integer, refSetSystemNotes As Action)
MyBase.New(nId, sName, nSubId)
m_MinThickness = "0"
m_MaxThickness = "0"
m_refSetSystemNotes = refSetSystemNotes
End Sub
End Class