a5aaa46db9
- Migliorata gestione selezione in Machining. - Aggiunta pagina opzioni. - Aggiunta definizione dimensione griglia in StatusBar. - Agiunta gestione separata della griglia in modalita' Draw e Machining.
1828 lines
72 KiB
VB.net
1828 lines
72 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.ComponentModel
|
|
Imports EgtUILib
|
|
Imports EgtCAM5.Utility
|
|
|
|
''' <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
|
|
|
|
''' <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
|
|
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
|
|
|
|
''' <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)
|
|
MyBase.New(Name)
|
|
Me.MachiningType = MachiningType
|
|
Me.PictureString = "/Resources/TreeView/Folder.png"
|
|
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
|
|
Implements IDataErrorInfo
|
|
|
|
#Region "Machining Property"
|
|
|
|
Private m_ErrorOnMachining As Boolean
|
|
Public Property ErrorOnMachining As Boolean
|
|
Get
|
|
Return m_ErrorOnMachining
|
|
End Get
|
|
Set(value As Boolean)
|
|
If IsValid Then
|
|
m_ErrorOnMachining = False
|
|
Application.Msn.NotifyColleagues(Application.ERRORONMACHINING, Nothing)
|
|
Else
|
|
m_ErrorOnMachining = True
|
|
Application.Msn.NotifyColleagues(Application.ERRORONMACHINING, Me)
|
|
End If
|
|
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(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachining(Me.Name)
|
|
ReadMachiningParam()
|
|
IsModifiedReset()
|
|
NotifyPropertyChanged("Type")
|
|
Else
|
|
WriteMachiningParam()
|
|
If EgtMdbIsCurrMachiningModified() Or m_IsModifiedName Or Me.NewMachining Then
|
|
Select Case MsgBox(EgtMsg(MSG_MACHININGSERRORS), MsgBoxStyle.YesNo, EgtMsg(MSG_MACHININGSERRORS + 1))
|
|
Case MsgBoxResult.Yes
|
|
m_NewMachining = False
|
|
m_Name = m_Name.Trim()
|
|
WriteMachiningName()
|
|
EgtMdbSaveCurrMachining()
|
|
'EgtMdbSave()
|
|
Case MsgBoxResult.No
|
|
If m_NewMachining Then
|
|
Application.Msn.NotifyColleagues(Application.REMOVEMACHINING, 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("IsSelected")
|
|
End If
|
|
End Set
|
|
|
|
End Property
|
|
|
|
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
|
|
Dim DbInvert As Boolean = False
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, DbInvert)
|
|
m_IsModifiedInvert = If(value <> DbInvert, True, False)
|
|
NotifyPropertyChanged("Invert")
|
|
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
|
|
m_LeaveTab = value
|
|
Dim DbLeaveTab As Boolean = False
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, DbLeaveTab)
|
|
m_IsModifiedLeaveTab = If(value <> DbLeaveTab, True, False)
|
|
NotifyPropertyChanged("LeaveTab")
|
|
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 New ObservableCollection(Of IdNameStruct)({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))})
|
|
Public ReadOnly Property WorkSideList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
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 IdNameStruct.SearchFromId(m_SelectedWorkSide, WorkSideList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedWorkSide Then
|
|
If Not IsNothing(WorkSideList) Then
|
|
m_SelectedWorkSide = IdNameStruct.SearchToId(value, WorkSideList)
|
|
Dim DbWorkSide As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, DbWorkSide)
|
|
m_IsModifiedSelectedWorkSide = If(value <> DbWorkSide, True, False)
|
|
NotifyPropertyChanged("SelectedWorkSide")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox HeadSide
|
|
Private m_HeadSideList As New ObservableCollection(Of IdNameStruct)({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 IdNameStruct)
|
|
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 IdNameStruct.SearchFromId(m_SelectedHeadSide, HeadSideList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedHeadSide Then
|
|
If Not IsNothing(HeadSideList) Then
|
|
m_SelectedHeadSide = IdNameStruct.SearchToId(value, HeadSideList)
|
|
Dim DbHeadSide As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, DbHeadSide)
|
|
m_IsModifiedSelectedHeadSide = If(value <> DbHeadSide, True, False)
|
|
NotifyPropertyChanged("SelectedHeadSide")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox LeadInType
|
|
Private m_LeadInTypeList As ObservableCollection(Of IdNameStruct)
|
|
Public ReadOnly Property LeadInTypeList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
Select Case m_Type
|
|
Case MCH_MY.SAWING
|
|
m_LeadInTypeList = New ObservableCollection(Of IdNameStruct)({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 IdNameStruct)({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 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 IdNameStruct.SearchFromId(m_SelectedLeadInType, LeadInTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedLeadInType Then
|
|
If Not IsNothing(LeadInTypeList) Then
|
|
m_SelectedLeadInType = IdNameStruct.SearchToId(value, LeadInTypeList)
|
|
Dim DbLeadInType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, DbLeadInType)
|
|
m_IsModifiedSelectedLeadInType = If(value <> DbLeadInType, True, False)
|
|
NotifyPropertyChanged("SelectedLeadInType")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox ExtLinkType
|
|
Private m_ExtLinkTypeList As New ObservableCollection(Of IdNameStruct)({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 IdNameStruct)
|
|
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 IdNameStruct.SearchFromId(m_SelectedExtLinkType, ExtLinkTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedExtLinkType Then
|
|
If Not IsNothing(ExtLinkTypeList) Then
|
|
m_SelectedExtLinkType = IdNameStruct.SearchToId(value, ExtLinkTypeList)
|
|
Dim DbExtLinkType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, DbExtLinkType)
|
|
m_IsModifiedSelectedExtLinkType = If(value <> DbExtLinkType, True, False)
|
|
NotifyPropertyChanged("SelectedExtLinkType")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox LeadOutType
|
|
Private m_LeadOutTypeList As ObservableCollection(Of IdNameStruct)
|
|
Public ReadOnly Property LeadOutTypeList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
Select Case m_Type
|
|
Case MCH_MY.SAWING
|
|
m_LeadOutTypeList = New ObservableCollection(Of IdNameStruct)({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, EgtMsg(MSG_MACHININGSDBPAGE + 123))})
|
|
Case MCH_MY.MILLING
|
|
m_LeadOutTypeList = New ObservableCollection(Of IdNameStruct)({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 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 IdNameStruct.SearchFromId(m_SelectedLeadOutType, LeadOutTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedLeadOutType Then
|
|
If Not IsNothing(LeadOutTypeList) Then
|
|
m_SelectedLeadOutType = IdNameStruct.SearchToId(value, LeadOutTypeList)
|
|
Dim DbLeadOutType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, DbLeadOutType)
|
|
m_IsModifiedSelectedLeadOutType = If(value <> DbLeadOutType, True, False)
|
|
NotifyPropertyChanged("SelectedLeadOutType")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox CurveUse
|
|
Private m_CurveUseList As New ObservableCollection(Of IdNameStruct)({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))})
|
|
Public ReadOnly Property CurveUseList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
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 IdNameStruct.SearchFromId(m_SelectedCurveUse, CurveUseList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedCurveUse Then
|
|
If Not IsNothing(CurveUseList) Then
|
|
m_SelectedCurveUse = IdNameStruct.SearchToId(value, CurveUseList)
|
|
Dim DbCurveUse As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, DbCurveUse)
|
|
m_IsModifiedSelectedCurveUse = If(value <> DbCurveUse, True, False)
|
|
NotifyPropertyChanged("SelectedCurveUse")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox StepType
|
|
Private m_StepTypeList As ObservableCollection(Of IdNameStruct)
|
|
Public ReadOnly Property StepTypeList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
Select Case m_Type
|
|
Case MCH_MY.SAWING
|
|
m_StepTypeList = New ObservableCollection(Of IdNameStruct)({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 IdNameStruct)({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.SAWROUGHING, MCH_MY.SAWFINISHING
|
|
m_StepTypeList = New ObservableCollection(Of IdNameStruct)({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
|
|
|
|
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 IdNameStruct.SearchFromId(m_SelectedStepType, StepTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedStepType Then
|
|
If Not IsNothing(StepTypeList) Then
|
|
m_SelectedStepType = IdNameStruct.SearchToId(value, StepTypeList)
|
|
Dim DbStepType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, DbStepType)
|
|
m_IsModifiedSelectedStepType = If(value <> DbStepType, True, False)
|
|
NotifyPropertyChanged("SelectedStepType")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox SubType
|
|
Private m_SubTypeList As ObservableCollection(Of IdNameStruct)
|
|
Public ReadOnly Property SubTypeList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
Select Case m_Type
|
|
Case MCH_MY.SAWFINISHING
|
|
m_SubTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(MCH_SAWFIN_SUB.ALONG, EgtMsg(MSG_MACHININGSDBPAGE + 146)), New IdNameStruct(MCH_SAWFIN_SUB.ACROSS, EgtMsg(MSG_MACHININGSDBPAGE + 147))})
|
|
Case MCH_MY.DRILLING
|
|
m_SubTypeList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(0, "Prova 1"), New IdNameStruct(1, "Prova 2")})
|
|
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 IdNameStruct.SearchFromId(m_SelectedSubType, SubTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedSubType Then
|
|
If Not IsNothing(SubTypeList) Then
|
|
m_SelectedSubType = IdNameStruct.SearchToId(value, SubTypeList)
|
|
Dim DbSubType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, DbSubType)
|
|
m_IsModifiedSelectedSubType = If(value <> DbSubType, True, False)
|
|
NotifyPropertyChanged("SelectedSubType")
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
'ObservableCollection che contiene le variabili per il combobox LeadLinkType
|
|
Private m_LeadLinkTypeList As ObservableCollection(Of IdNameStruct)
|
|
Public ReadOnly Property LeadLinkTypeList As ObservableCollection(Of IdNameStruct)
|
|
Get
|
|
Select Case m_Type
|
|
Case MCH_MY.SAWROUGHING
|
|
m_LeadLinkTypeList = New ObservableCollection(Of IdNameStruct)({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 IdNameStruct)({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 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 IdNameStruct.SearchFromId(m_SelectedLeadLinkType, LeadLinkTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
If value <> m_SelectedLeadLinkType Then
|
|
If Not IsNothing(LeadLinkTypeList) Then
|
|
m_SelectedLeadLinkType = IdNameStruct.SearchToId(value, LeadLinkTypeList)
|
|
Dim DbLeadLinkType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, DbLeadLinkType)
|
|
m_IsModifiedSelectedLeadLinkType = If(value <> DbLeadLinkType, True, False)
|
|
NotifyPropertyChanged("SelectedLeadLinkType")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("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
|
|
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
|
|
NotifyPropertyChanged("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
|
|
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
|
|
NotifyPropertyChanged("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
|
|
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
|
|
NotifyPropertyChanged("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
|
|
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
|
|
NotifyPropertyChanged("TipFeed")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("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
|
|
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
|
|
NotifyPropertyChanged("OffSl")
|
|
End If
|
|
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
|
|
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
|
|
NotifyPropertyChanged("SideAngle")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("Approx")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StartPos")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StartSlowLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("EndSlowLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("ThrouAddLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StepPar")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("ReturnPos")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("TabLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("TabDist")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("TabHeight")
|
|
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
|
|
Dim DbTabAngle As Double = 0
|
|
Dim dValue As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, DbTabAngle)
|
|
StringToLen(value, dValue)
|
|
m_IsModifiedTabAngle = Math.Abs(dValue - DbTabAngle) > 10 * EPS_ANG_SMALL
|
|
NotifyPropertyChanged("TabAngle")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LiTang")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LiPerp")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LiElev")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LiCompLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LoTang")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LoPerp")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LoElev")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("LoCompLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StartAddLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("EndAddLen")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StepExtArc")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("StepIntArc")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("SideStep")
|
|
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
|
|
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
|
|
NotifyPropertyChanged("VertFeed")
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
' Variabile che indica se c'è un errore nel nome della lavorazione (ad esempio nome già utilizzato)
|
|
Dim bErrorMachiningName As Boolean = False
|
|
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
|
|
bErrorMachiningName = False
|
|
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 = If(value <> DbName, True, False)
|
|
' Verifico che il nuovo nome sia valido
|
|
Dim sTempName As String = value
|
|
EgtMdbGetMachiningNewName(sTempName)
|
|
If m_IsModifiedName And Not value = sTempName Then
|
|
bErrorMachiningName = True
|
|
End If
|
|
NotifyPropertyChanged("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)
|
|
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.POCKETING
|
|
m_ToolList = New ObservableCollection(Of String)
|
|
FindToolByType(MCH_TY.MILL_STD, m_ToolList)
|
|
FindToolByType(MCH_TY.MILL_NOTIP, m_ToolList)
|
|
Case MCH_MY.MORTISING
|
|
m_ToolList = New ObservableCollection(Of String)
|
|
FindToolByType(MCH_TY.MORTISE_STD, 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
|
|
|
|
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(IniFile.m_ProjectSceneContext)
|
|
EgtTdbGetCurrToolParam(MCH_MP.TOOL, DbSelectedTool)
|
|
m_IsModifiedSelectedTool = If(ToolList(value) <> DbSelectedTool, True, False)
|
|
End If
|
|
NotifyPropertyChanged("SelectedTool")
|
|
NotifyPropertyChanged("Speed")
|
|
NotifyPropertyChanged("Feed")
|
|
NotifyPropertyChanged("StartFeed")
|
|
NotifyPropertyChanged("EndFeed")
|
|
NotifyPropertyChanged("TipFeed")
|
|
NotifyPropertyChanged("OffSr")
|
|
NotifyPropertyChanged("OffSl")
|
|
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
|
|
Dim DbDepthStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DbDepthStr)
|
|
m_IsModifiedDepthStr = If(value <> DbDepthStr, True, False)
|
|
NotifyPropertyChanged("DepthStr")
|
|
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
|
|
Dim DbUserNotes As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, DbUserNotes)
|
|
m_IsModifiedUserNotes = If(value <> DbUserNotes, True, False)
|
|
NotifyPropertyChanged("UserNotes")
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
Private m_IsModifiedOverLapStr As Boolean = False
|
|
Private m_OverLapStr As String
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Over Lap Str
|
|
''' </summary>
|
|
Public Property OverLapStr As String
|
|
Get
|
|
Return m_OverLapStr
|
|
End Get
|
|
Set(value As String)
|
|
If value = String.Empty Or value <> m_OverLapStr Then
|
|
m_OverLapStr = value
|
|
Dim DbOverLapStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OVERLAP_STR, DbOverLapStr)
|
|
m_IsModifiedOverLapStr = If(value <> DbOverLapStr, True, False)
|
|
NotifyPropertyChanged("OverLapStr")
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
Private m_IsModifiedOffsetStr As Boolean = False
|
|
Private m_OffsetStr As String
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Offset Str
|
|
''' </summary>
|
|
Public Property OffsetStr As String
|
|
Get
|
|
Return m_OffsetStr
|
|
End Get
|
|
Set(value As String)
|
|
If value = String.Empty Or value <> m_OffsetStr Then
|
|
m_OffsetStr = value
|
|
Dim DbOffsetStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSET_STR, DbOffsetStr)
|
|
m_IsModifiedOffsetStr = If(value <> DbOffsetStr, True, False)
|
|
NotifyPropertyChanged("OffsetStr")
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
#End Region ' Machining Property
|
|
|
|
#Region "Constructors"
|
|
|
|
Sub New(Name As String, Type As MCH_MY)
|
|
MyBase.New(Name)
|
|
Me.m_Type = Type
|
|
End Sub
|
|
|
|
#End Region ' Constructors
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub ReadMachiningParam()
|
|
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dValue As Double = 0
|
|
Dim nValue As Integer = 0
|
|
Dim sValue As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, Invert)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, nValue)
|
|
SelectedWorkSide = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, nValue)
|
|
SelectedHeadSide = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, nValue)
|
|
SelectedLeadInType = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, nValue)
|
|
SelectedExtLinkType = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nValue)
|
|
SelectedLeadOutType = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, nValue)
|
|
SelectedCurveUse = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, nValue)
|
|
SelectedStepType = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, nValue)
|
|
SelectedSubType = nValue
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, nValue)
|
|
SelectedLeadLinkType = nValue
|
|
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.OFFSR, dValue)
|
|
OffSr = LenToString(dValue, 4)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, dValue)
|
|
OffSl = 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.RETURNPOS, dValue)
|
|
ReturnPos = 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 = LenToString(dValue, 4)
|
|
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.VERTFEED, dValue)
|
|
VertFeed = LenToString(dValue, 4)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
|
|
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
|
|
Dim bFound As Boolean = False
|
|
For i = 0 To ToolList.Count - 1
|
|
If ToolList(i) = sToolName Then
|
|
bFound = True
|
|
SelectedTool = i
|
|
End If
|
|
Next
|
|
If Not bFound Then
|
|
SelectedTool = -1
|
|
End If
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.UUID, m_Uuid)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OVERLAP_STR, OverLapStr)
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSET_STR, OffsetStr)
|
|
End Sub
|
|
|
|
Friend Sub WriteMachiningParam()
|
|
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dValue As Double = 0
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, Invert)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEAVETAB, LeaveTab)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TYPE, Type)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.WORKSIDE, SelectedWorkSide)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.HEADSIDE, SelectedHeadSide)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADINTYPE, SelectedLeadInType)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.EXTLINKTYPE, SelectedExtLinkType)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADOUTTYPE, SelectedLeadOutType)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, SelectedCurveUse)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STEPTYPE, SelectedStepType)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, SelectedSubType)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADLINKTYPE, SelectedLeadLinkType)
|
|
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(OffSr, dValue)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, dValue)
|
|
StringToLen(OffSl, dValue)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, 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(ReturnPos, dValue)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, 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)
|
|
StringToLen(TabAngle, dValue)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TABANGLE, dValue)
|
|
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(VertFeed, dValue)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.VERTFEED, dValue)
|
|
If SelectedTool >= 0 Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, ToolList(SelectedTool))
|
|
Else
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, "")
|
|
End If
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, DepthStr)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.USERNOTES, UserNotes)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OVERLAP_STR, OverLapStr)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSET_STR, OffsetStr)
|
|
End Sub
|
|
|
|
Public Sub WriteMachiningName()
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.NAME, NamePar)
|
|
End Sub
|
|
|
|
#End Region ' Methods
|
|
|
|
#Region "IDataErrorInfo Members"
|
|
|
|
Private ReadOnly Property IDataErrorInfo_Error() As String Implements IDataErrorInfo.Error
|
|
Get
|
|
Return Nothing
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property IDataErrorInfo_Item(ByVal propertyName As String) As String Implements IDataErrorInfo.Item
|
|
Get
|
|
ErrorOnMachining = True
|
|
Return Me.GetValidationError(propertyName)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' IDataErrorInfo Members
|
|
|
|
#Region "Validation"
|
|
|
|
''' <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 GetValidationError([property]) IsNot Nothing Then
|
|
Return False
|
|
End If
|
|
Next [property]
|
|
|
|
Return True
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property IsModified() As Boolean
|
|
Get
|
|
Return m_IsModifiedInvert OrElse m_IsModifiedLeaveTab 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_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_IsModifiedName OrElse m_IsModifiedSelectedTool _
|
|
OrElse m_IsModifiedDepthStr OrElse m_IsModifiedUserNotes OrElse m_IsModifiedOverLapStr OrElse m_IsModifiedOffsetStr
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub IsModifiedReset()
|
|
m_IsModifiedInvert = False
|
|
m_IsModifiedLeaveTab = 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_IsModifiedSpeed = False
|
|
m_IsModifiedFeed = False
|
|
m_IsModifiedStartFeed = False
|
|
m_IsModifiedEndFeed = False
|
|
m_IsModifiedTipFeed = False
|
|
m_IsModifiedOffSr = False
|
|
m_IsModifiedOffSl = False
|
|
m_IsModifiedSideAngle = False
|
|
m_IsModifiedApprox = False
|
|
m_IsModifiedStartPos = False
|
|
m_IsModifiedStartSlowLen = False
|
|
m_IsModifiedEndSlowLen = False
|
|
m_IsModifiedThrouAddLen = False
|
|
m_IsModifiedStepPar = False
|
|
m_IsModifiedReturnPos = False
|
|
m_IsModifiedTabLen = False
|
|
m_IsModifiedTabDist = False
|
|
m_IsModifiedTabHeight = False
|
|
m_IsModifiedTabAngle = 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_IsModifiedVertFeed = False
|
|
m_IsModifiedName = False
|
|
m_IsModifiedSelectedTool = False
|
|
m_IsModifiedDepthStr = False
|
|
m_IsModifiedUserNotes = False
|
|
m_IsModifiedOverLapStr = False
|
|
m_IsModifiedOffsetStr = False
|
|
End Sub
|
|
|
|
Private Shared ReadOnly ValidatedProperties() As String = {"Speed", "NamePar"}
|
|
|
|
Private Function GetValidationError(ByVal propertyName As String) As String
|
|
If Array.IndexOf(ValidatedProperties, propertyName) < 0 Then
|
|
Return Nothing
|
|
End If
|
|
|
|
Dim [error] As String = Nothing
|
|
|
|
Select Case propertyName
|
|
Case "Speed"
|
|
[error] = Me.ValidateSpeed()
|
|
Case "NamePar"
|
|
[error] = Me.ValidateName()
|
|
|
|
Case Else
|
|
'Debug.Fail("Unexpected property being validated on Tool: " & propertyName)
|
|
End Select
|
|
Return [error]
|
|
End Function
|
|
|
|
Private Function ValidateSpeed() As String
|
|
If SelectedTool >= 0 Then
|
|
If Not IsNothing(m_Speed) And ToolList.Count > 0 Then
|
|
Dim dSpeed As Double = 0
|
|
StringToDouble(m_Speed, dSpeed)
|
|
Dim dMaxSpeed As Double = 0
|
|
EgtTdbSetCurrTool(ToolList(SelectedTool))
|
|
EgtTdbGetCurrToolParam(MCH_TP.MAXSPEED, dMaxSpeed)
|
|
If Math.Abs(dSpeed) > dMaxSpeed + EPS_ZERO Then
|
|
Return EgtMsg(MSG_TOOLSERRORS + 11)
|
|
End If
|
|
End If
|
|
End If
|
|
Return Nothing
|
|
End Function
|
|
|
|
Private Function ValidateName() As String
|
|
If bErrorMachiningName Then
|
|
Return EgtMsg(MSG_MACHININGSERRORS + 2)
|
|
End If
|
|
Return Nothing
|
|
End Function
|
|
|
|
#End Region ' Validation
|
|
|
|
End Class
|
|
|
|
''' <summary>
|
|
''' Class that represent a Converter that use machining type and param type, to set the visibility state of the param type.
|
|
''' </summary>
|
|
Public Class MachiningParamVisibilityConverter
|
|
Implements IValueConverter
|
|
|
|
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements IValueConverter.Convert
|
|
Select Case CInt(value)
|
|
Case MCH_MY.NONE
|
|
Return Visibility.Hidden
|
|
Case MCH_MY.DRILLING
|
|
Return SharedFieldsClass.Drilling(CInt(parameter))
|
|
Case MCH_MY.SAWING
|
|
Return SharedFieldsClass.Sawing(CInt(parameter))
|
|
Case MCH_MY.MILLING
|
|
Return SharedFieldsClass.Milling(CInt(parameter))
|
|
Case MCH_MY.POCKETING
|
|
Return SharedFieldsClass.Pocketing(CInt(parameter))
|
|
Case MCH_MY.MORTISING
|
|
Return SharedFieldsClass.Mortising(CInt(parameter))
|
|
Case MCH_MY.SAWROUGHING
|
|
Return SharedFieldsClass.Sawroughing(CInt(parameter))
|
|
Case MCH_MY.SAWFINISHING
|
|
Return SharedFieldsClass.Sawfinishing(CInt(parameter))
|
|
Case Else
|
|
Return Visibility.Hidden
|
|
End Select
|
|
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 |