45cbfa745f
- Miglioramenti Db utensili.
1391 lines
54 KiB
VB.net
1391 lines
54 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.ComponentModel
|
|
Imports EgtUILib
|
|
Imports EgtCAM5.Utility
|
|
|
|
''' <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 ChildItem
|
|
Implements IDataErrorInfo
|
|
|
|
#Region "Machining Property"
|
|
|
|
Private m_Type As MCH_MY
|
|
Public ReadOnly Property Type As Integer
|
|
Get
|
|
Return m_Type
|
|
End Get
|
|
End Property
|
|
|
|
Private m_ErrorOnTool As Boolean
|
|
Public Property ErrorOnTool As Boolean
|
|
Get
|
|
Return m_ErrorOnTool
|
|
End Get
|
|
Set(value As Boolean)
|
|
If IsValid Then
|
|
m_ErrorOnTool = False
|
|
Application.Msn.NotifyColleagues(Application.ERRORONMACHINING, Nothing)
|
|
Else
|
|
m_ErrorOnTool = True
|
|
Application.Msn.NotifyColleagues(Application.ERRORONMACHINING, Me)
|
|
End If
|
|
End Set
|
|
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
|
|
' Proprietà che indica il WorkSide (MCH_SAW_WS)
|
|
Public Property SelectedWorkSide As Integer
|
|
Get
|
|
Dim nWorkSide As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.WORKSIDE, nWorkSide)
|
|
Return IdNameStruct.SearchToId(nWorkSide, WorkSideList)
|
|
End Get
|
|
Set(value As Integer)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.WORKSIDE, IdNameStruct.SearchFromId(value, WorkSideList))
|
|
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_LeadLinkTypeGetError As Boolean = False
|
|
' Proprietà che indica il LeadLinkType
|
|
Public Property SelectedLeadLinkType As Integer
|
|
Get
|
|
If Not IsNothing(m_LeadLinkTypeList) Then
|
|
Dim nLeadLinkType As Integer = 0
|
|
If EgtMdbGetCurrMachiningParam(MCH_MP.LEADLINKTYPE, nLeadLinkType) Then
|
|
m_LeadLinkTypeGetError = True
|
|
Else
|
|
m_LeadLinkTypeGetError = False
|
|
End If
|
|
Return IdNameStruct.SearchToId(nLeadLinkType, m_LeadLinkTypeList)
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
If Not IsNothing(m_LeadLinkTypeList) Then
|
|
If m_LeadLinkTypeGetError Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADLINKTYPE, IdNameStruct.SearchFromId(value, m_LeadLinkTypeList))
|
|
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 bErrorMachiningName As Boolean = False
|
|
''' <summary>
|
|
''' Property that read and write to the machining's database the Name
|
|
''' </summary>
|
|
Public Property NamePar As String
|
|
Get
|
|
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim sNamePar As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.NAME, sNamePar)
|
|
Return sNamePar
|
|
End Get
|
|
Set(value As String)
|
|
bErrorMachiningName = False
|
|
EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
If EgtMdbSetCurrMachiningParam(MCH_MP.NAME, value) Then
|
|
Name = value
|
|
Else
|
|
bErrorMachiningName = True
|
|
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 Machining is selected, set it as current and notify all machining's property
|
|
' to refresh them values with those of the new selected machining
|
|
If value Then
|
|
EgtMdbSetCurrMachining(Me.Name)
|
|
NotifyPropertyChanged("Type")
|
|
NotifyPropertyChanged("Invert")
|
|
NotifyPropertyChanged("LeaveTab")
|
|
NotifyPropertyChanged("SelectedWorkSide")
|
|
NotifyPropertyChanged("SelectedHeadSide")
|
|
NotifyPropertyChanged("SelectedLeadInType")
|
|
NotifyPropertyChanged("SelectedExtLinkType")
|
|
NotifyPropertyChanged("SelectedLeadOutType")
|
|
NotifyPropertyChanged("SelectedCurveUse")
|
|
NotifyPropertyChanged("SelectedStepType")
|
|
NotifyPropertyChanged("SelectedLeadLinkType")
|
|
NotifyPropertyChanged("Speed")
|
|
NotifyPropertyChanged("Feed")
|
|
NotifyPropertyChanged("StartFeed")
|
|
NotifyPropertyChanged("EndFeed")
|
|
NotifyPropertyChanged("TipFeed")
|
|
NotifyPropertyChanged("OffSr")
|
|
NotifyPropertyChanged("OffSl")
|
|
NotifyPropertyChanged("SideAngle")
|
|
NotifyPropertyChanged("Approx")
|
|
NotifyPropertyChanged("Startpos")
|
|
NotifyPropertyChanged("StartSlowLen")
|
|
NotifyPropertyChanged("EndSlowLen")
|
|
NotifyPropertyChanged("ThrouAddLen")
|
|
NotifyPropertyChanged("StepPar")
|
|
NotifyPropertyChanged("ReturnPos")
|
|
NotifyPropertyChanged("TabLen")
|
|
NotifyPropertyChanged("TabDist")
|
|
NotifyPropertyChanged("Tabheight")
|
|
NotifyPropertyChanged("TabAngle")
|
|
NotifyPropertyChanged("LiTang")
|
|
NotifyPropertyChanged("LiPerp")
|
|
NotifyPropertyChanged("LiElev")
|
|
NotifyPropertyChanged("LiCompLen")
|
|
NotifyPropertyChanged("LoTang")
|
|
NotifyPropertyChanged("LoPerp")
|
|
NotifyPropertyChanged("LoElev")
|
|
NotifyPropertyChanged("LoCompLen")
|
|
NotifyPropertyChanged("StartAddlen")
|
|
NotifyPropertyChanged("EndAddlen")
|
|
NotifyPropertyChanged("StepExtArc")
|
|
NotifyPropertyChanged("StepIntArc")
|
|
NotifyPropertyChanged("SideStep")
|
|
NotifyPropertyChanged("VertFeed")
|
|
NotifyPropertyChanged("NamePar")
|
|
NotifyPropertyChanged("SelectedTool")
|
|
NotifyPropertyChanged("DepthStr")
|
|
NotifyPropertyChanged("UserNotes")
|
|
NotifyPropertyChanged("OverLapStr")
|
|
NotifyPropertyChanged("OffsetStr")
|
|
' Otherwhise Tool is deselected, so it and the database will be saved to
|
|
' keep the modify effective
|
|
Else
|
|
If EgtMdbIsCurrMachiningModified() And Me.IsValid Then
|
|
|
|
Select Case MsgBox(EgtMsg(MSG_MACHININGSERRORS + 30), MsgBoxStyle.YesNo, EgtMsg(MSG_MACHININGSERRORS + 31))
|
|
Case MsgBoxResult.Yes
|
|
m_NewMachining = False
|
|
EgtMdbSaveCurrMachining()
|
|
EgtMdbSave()
|
|
Case MsgBoxResult.No
|
|
If m_NewMachining Then
|
|
Application.Msn.NotifyColleagues(Application.REMOVEMACHINING, Me)
|
|
End If
|
|
'EgtMdbRemoveTool(Me.Name)
|
|
'EgtMdbSave()
|
|
End Select
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
End Set
|
|
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Invert
|
|
''' </summary>
|
|
Public Property Invert As Boolean
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim bInvert As Boolean = False
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.INVERT, bInvert)
|
|
Return bInvert
|
|
End Get
|
|
Set(value As Boolean)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.INVERT, value)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Leave Tab
|
|
''' </summary>
|
|
Public Property LeaveTab As Boolean
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim bLeaveTab As Boolean = False
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LEAVETAB, bLeaveTab)
|
|
Return bLeaveTab
|
|
End Get
|
|
Set(value As Boolean)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEAVETAB, value)
|
|
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
|
|
' Proprietà che indica il HeadSide (MCH_SAW_HS)
|
|
Public Property SelectedHeadSide As Integer
|
|
Get
|
|
Dim nHeadSide As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.HEADSIDE, nHeadSide)
|
|
Return IdNameStruct.SearchToId(nHeadSide, HeadSideList)
|
|
End Get
|
|
Set(value As Integer)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.HEADSIDE, IdNameStruct.SearchFromId(value, HeadSideList))
|
|
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_LeadInTypeGetError As Boolean = False
|
|
' Proprietà che indica il LeadInType
|
|
Public Property SelectedLeadInType As Integer
|
|
Get
|
|
If Not IsNothing(m_LeadInTypeList) Then
|
|
Dim nLeadInType As Integer = 0
|
|
If EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, nLeadInType) Then
|
|
m_LeadInTypeGetError = True
|
|
Else
|
|
m_LeadInTypeGetError = False
|
|
End If
|
|
Return IdNameStruct.SearchToId(nLeadInType, m_LeadInTypeList)
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
If Not IsNothing(m_LeadInTypeList) Then
|
|
If m_LeadInTypeGetError Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADINTYPE, IdNameStruct.SearchFromId(value, m_LeadInTypeList))
|
|
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
|
|
' Proprietà che indica il ExtLinkType (MCH_SAW_EL)
|
|
Public Property SelectedExtLinkType As Integer
|
|
Get
|
|
Dim nExtLinkType As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, nExtLinkType)
|
|
Return IdNameStruct.SearchToId(nExtLinkType, ExtLinkTypeList)
|
|
End Get
|
|
Set(value As Integer)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.EXTLINKTYPE, IdNameStruct.SearchFromId(value, ExtLinkTypeList))
|
|
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_LeadOutTypeGetError As Boolean = False
|
|
' Proprietà che indica il LeadOutType
|
|
Public Property SelectedLeadOutType As Integer
|
|
Get
|
|
If Not IsNothing(m_LeadOutTypeList) Then
|
|
Dim nLeadOutType As Integer = 0
|
|
If EgtMdbGetCurrMachiningParam(MCH_MP.LEADOUTTYPE, nLeadOutType) Then
|
|
m_LeadOutTypeGetError = True
|
|
Else
|
|
m_LeadOutTypeGetError = False
|
|
End If
|
|
Return IdNameStruct.SearchToId(nLeadOutType, m_LeadOutTypeList)
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
If Not IsNothing(m_LeadOutTypeList) Then
|
|
If m_LeadOutTypeGetError Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LEADOUTTYPE, IdNameStruct.SearchFromId(value, m_LeadOutTypeList))
|
|
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
|
|
' Proprietà che indica il CurveUse (MCH_SAW_CU)
|
|
Public Property SelectedCurveUse As Integer
|
|
Get
|
|
Dim nCurveUse As Integer = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.CURVEUSE, nCurveUse)
|
|
Return IdNameStruct.SearchToId(nCurveUse, CurveUseList)
|
|
End Get
|
|
Set(value As Integer)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.CURVEUSE, IdNameStruct.SearchFromId(value, CurveUseList))
|
|
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_StepTypeGetError As Boolean = False
|
|
' Proprietà che indica il StepType
|
|
Public Property SelectedStepType As Integer
|
|
Get
|
|
If Not IsNothing(m_StepTypeList) Then
|
|
Dim nStepType As Integer = 0
|
|
If EgtMdbGetCurrMachiningParam(MCH_MP.STEPTYPE, nStepType) Then
|
|
m_StepTypeGetError = True
|
|
Else
|
|
m_StepTypeGetError = False
|
|
End If
|
|
Return IdNameStruct.SearchToId(nStepType, m_StepTypeList)
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
If Not IsNothing(m_StepTypeList) Then
|
|
If m_StepTypeGetError Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STEPTYPE, IdNameStruct.SearchFromId(value, m_StepTypeList))
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_Speed As Double
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Speed
|
|
''' </summary>
|
|
Public Property Speed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSpeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.SPEED, dSpeed)
|
|
Return LenToString(dSpeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSpeed As Double = 0
|
|
StringToLen(value, dSpeed)
|
|
m_Speed = dSpeed
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.SPEED, dSpeed)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Feed
|
|
''' </summary>
|
|
Public Property Feed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dFeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dFeed)
|
|
Return LenToString(dFeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dFeed As Double = 0
|
|
StringToLen(value, dFeed)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.FEED, dFeed)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Start Feed
|
|
''' </summary>
|
|
Public Property StartFeed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartFeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dStartFeed)
|
|
Return LenToString(dStartFeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartFeed As Double = 0
|
|
StringToLen(value, dStartFeed)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STARTFEED, dStartFeed)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the End Feed
|
|
''' </summary>
|
|
Public Property EndFeed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndFeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dEndFeed)
|
|
Return LenToString(dEndFeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndFeed As Double = 0
|
|
StringToLen(value, dEndFeed)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.ENDFEED, dEndFeed)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tip Feed
|
|
''' </summary>
|
|
Public Property TipFeed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTipFeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dTipFeed)
|
|
Return LenToString(dTipFeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTipFeed As Double = 0
|
|
StringToLen(value, dTipFeed)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TIPFEED, dTipFeed)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Offset Sr
|
|
''' </summary>
|
|
Public Property OffSr As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dOffSr As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSR, dOffSr)
|
|
Return LenToString(dOffSr, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dOffSr As Double = 0
|
|
StringToLen(value, dOffSr)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSR, dOffSr)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Offset Sl
|
|
''' </summary>
|
|
Public Property OffSl As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dOffSl As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSL, dOffSl)
|
|
Return LenToString(dOffSl, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dOffSl As Double = 0
|
|
StringToLen(value, dOffSl)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSL, dOffSl)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Side Angle
|
|
''' </summary>
|
|
Public Property SideAngle As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSideAngle As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGLE, dSideAngle)
|
|
Return LenToString(dSideAngle, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSideAngle As Double = 0
|
|
StringToLen(value, dSideAngle)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.SIDEANGLE, dSideAngle)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Approx
|
|
''' </summary>
|
|
Public Property Approx As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dApprox As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.APPROX, dApprox)
|
|
Return LenToString(dApprox, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dApprox As Double = 0
|
|
StringToLen(value, dApprox)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.APPROX, dApprox)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Start Position
|
|
''' </summary>
|
|
Public Property StartPos As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartPos As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STARTPOS, dStartPos)
|
|
Return LenToString(dStartPos, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartPos As Double = 0
|
|
StringToLen(value, dStartPos)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STARTPOS, dStartPos)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Start Slow Len
|
|
''' </summary>
|
|
Public Property StartSlowLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartSlowLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dStartSlowLen)
|
|
Return LenToString(dStartSlowLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartSlowLen As Double = 0
|
|
StringToLen(value, dStartSlowLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STARTSLOWLEN, dStartSlowLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the End Slow Len
|
|
''' </summary>
|
|
Public Property EndSlowLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndSlowLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dEndSlowLen)
|
|
Return LenToString(dEndSlowLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndSlowLen As Double = 0
|
|
StringToLen(value, dEndSlowLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.ENDSLOWLEN, dEndSlowLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Throu Add Len
|
|
''' </summary>
|
|
Public Property ThrouAddLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dThrouAddLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.THROUADDLEN, dThrouAddLen)
|
|
Return LenToString(dThrouAddLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dThrouAddLen As Double = 0
|
|
StringToLen(value, dThrouAddLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.THROUADDLEN, dThrouAddLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Step Par
|
|
''' </summary>
|
|
Public Property StepPar As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepPar As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STEP_, dStepPar)
|
|
Return LenToString(dStepPar, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepPar As Double = 0
|
|
StringToLen(value, dStepPar)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STEP_, dStepPar)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Return Position
|
|
''' </summary>
|
|
Public Property ReturnPos As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dReturnpPos As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.RETURNPOS, dReturnpPos)
|
|
Return LenToString(dReturnpPos, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dReturnpPos As Double = 0
|
|
StringToLen(value, dReturnpPos)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.RETURNPOS, dReturnpPos)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tab Len
|
|
''' </summary>
|
|
Public Property TabLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TABLEN, dTabLen)
|
|
Return LenToString(dTabLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabLen As Double = 0
|
|
StringToLen(value, dTabLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TABLEN, dTabLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tab Dist
|
|
''' </summary>
|
|
Public Property TabDist As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabDist As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TABDIST, dTabDist)
|
|
Return LenToString(dTabDist, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabDist As Double = 0
|
|
StringToLen(value, dTabDist)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TABDIST, dTabDist)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tab Height
|
|
''' </summary>
|
|
Public Property TabHeight As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabHeight As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TABHEIGHT, dTabHeight)
|
|
Return LenToString(dTabHeight, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabHeight As Double = 0
|
|
StringToLen(value, dTabHeight)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TABHEIGHT, dTabHeight)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tab Angle
|
|
''' </summary>
|
|
Public Property TabAngle As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabAngle As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TABANGLE, dTabAngle)
|
|
Return LenToString(dTabAngle, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dTabAngle As Double = 0
|
|
StringToLen(value, dTabAngle)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TABANGLE, dTabAngle)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Li Tang
|
|
''' </summary>
|
|
Public Property LiTang As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiTang As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LITANG, dLiTang)
|
|
Return LenToString(dLiTang, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiTang As Double = 0
|
|
StringToLen(value, dLiTang)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LITANG, dLiTang)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Li Perp
|
|
''' </summary>
|
|
Public Property LiPerp As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiPerp As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LIPERP, dLiPerp)
|
|
Return LenToString(dLiPerp, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiPerp As Double = 0
|
|
StringToLen(value, dLiPerp)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LIPERP, dLiPerp)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Li Elev
|
|
''' </summary>
|
|
Public Property LiElev As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiElev As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LIELEV, dLiElev)
|
|
Return LenToString(dLiElev, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiElev As Double = 0
|
|
StringToLen(value, dLiElev)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LIELEV, dLiElev)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Li Comp Len
|
|
''' </summary>
|
|
Public Property LiCompLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiCompLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LICOMPLEN, dLiCompLen)
|
|
Return LenToString(dLiCompLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLiCompLen As Double = 0
|
|
StringToLen(value, dLiCompLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LICOMPLEN, dLiCompLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Lo Tang
|
|
''' </summary>
|
|
Public Property LoTang As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoTang As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LOTANG, dLoTang)
|
|
Return LenToString(dLoTang, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoTang As Double = 0
|
|
StringToLen(value, dLoTang)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LOTANG, dLoTang)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Lo Perp
|
|
''' </summary>
|
|
Public Property LoPerp As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoPerp As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LOPERP, dLoPerp)
|
|
Return LenToString(dLoPerp, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoPerp As Double = 0
|
|
StringToLen(value, dLoPerp)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LOPERP, dLoPerp)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Lo Elev
|
|
''' </summary>
|
|
Public Property LoElev As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoElev As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LOELEV, dLoElev)
|
|
Return LenToString(dLoElev, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoElev As Double = 0
|
|
StringToLen(value, dLoElev)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LOELEV, dLoElev)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Lo Comp Len
|
|
''' </summary>
|
|
Public Property LoCompLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoCompLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.LOCOMPLEN, dLoCompLen)
|
|
Return LenToString(dLoCompLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dLoCompLen As Double = 0
|
|
StringToLen(value, dLoCompLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.LOCOMPLEN, dLoCompLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Start Add Len
|
|
''' </summary>
|
|
Public Property StartAddLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartAddLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STARTADDLEN, dStartAddLen)
|
|
Return LenToString(dStartAddLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStartAddLen As Double = 0
|
|
StringToLen(value, dStartAddLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STARTADDLEN, dStartAddLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the End Add Len
|
|
''' </summary>
|
|
Public Property EndAddLen As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndAddLen As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.ENDADDLEN, dEndAddLen)
|
|
Return LenToString(dEndAddLen, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dEndAddLen As Double = 0
|
|
StringToLen(value, dEndAddLen)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.ENDADDLEN, dEndAddLen)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Step Ext Arc
|
|
''' </summary>
|
|
Public Property StepExtArc As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepExtArc As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STEPEXTARC, dStepExtArc)
|
|
Return LenToString(dStepExtArc, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepExtArc As Double = 0
|
|
StringToLen(value, dStepExtArc)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STEPEXTARC, dStepExtArc)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Step Int Arc
|
|
''' </summary>
|
|
Public Property StepIntArc As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepIntArc As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.STEPINTARC, dStepIntArc)
|
|
Return LenToString(dStepIntArc, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dStepIntArc As Double = 0
|
|
StringToLen(value, dStepIntArc)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.STEPINTARC, dStepIntArc)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Side Step
|
|
''' </summary>
|
|
Public Property SideStep As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSideStep As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.SIDESTEP, dSideStep)
|
|
Return LenToString(dSideStep, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dSideStep As Double = 0
|
|
StringToLen(value, dSideStep)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.SIDESTEP, dSideStep)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Vert Feed
|
|
''' </summary>
|
|
Public Property VertFeed As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dVertFeed As Double = 0
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.VERTFEED, dVertFeed)
|
|
Return LenToString(dVertFeed, 3)
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim dVertFeed As Double = 0
|
|
StringToLen(value, dVertFeed)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.VERTFEED, dVertFeed)
|
|
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
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Tool
|
|
''' </summary>
|
|
Public Property SelectedTool As Integer
|
|
Get
|
|
Dim nUUID As String = String.Empty
|
|
Dim sName As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, nUUID)
|
|
EgtTdbGetToolFromUUID(nUUID, sName)
|
|
For i = 0 To ToolList.Count - 1
|
|
If ToolList(i) = sName Then
|
|
Return i
|
|
End If
|
|
Next
|
|
Return 0
|
|
End Get
|
|
Set(value As Integer)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.TOOL, ToolList(value))
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Depth Str
|
|
''' </summary>
|
|
Public Property DepthStr As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim sDepthStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.DEPTH_STR, sDepthStr)
|
|
Return sDepthStr
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.DEPTH_STR, value)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the User Notes
|
|
''' </summary>
|
|
Public Property UserNotes As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim sUserNotes As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.USERNOTES, sUserNotes)
|
|
Return sUserNotes
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.USERNOTES, value)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Over Lap Str
|
|
''' </summary>
|
|
Public Property OverLapStr As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim sOverLapStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OVERLAP_STR, sOverLapStr)
|
|
Return sOverLapStr
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OVERLAP_STR, value)
|
|
End Set
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Property that read and write to the Machining's database the Offset Str
|
|
''' </summary>
|
|
Public Property OffsetStr As String
|
|
Get
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
Dim sOffsetStr As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.OFFSET_STR, sOffsetStr)
|
|
Return sOffsetStr
|
|
End Get
|
|
Set(value As String)
|
|
'EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.OFFSET_STR, value)
|
|
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_SubTypeGetError As Boolean = False
|
|
' Proprietà che indica il SubType
|
|
Public Property SelectedSubType As Integer
|
|
Get
|
|
If Not IsNothing(m_SubTypeList) Then
|
|
Dim nSubType As Integer = 0
|
|
If EgtMdbGetCurrMachiningParam(MCH_MP.SUBTYPE, nSubType) Then
|
|
m_SubTypeGetError = True
|
|
Else
|
|
m_SubTypeGetError = False
|
|
End If
|
|
Return IdNameStruct.SearchToId(nSubType, m_SubTypeList)
|
|
Else
|
|
Return 0
|
|
End If
|
|
End Get
|
|
Set(value As Integer)
|
|
If Not IsNothing(m_SubTypeList) Then
|
|
If m_SubTypeGetError Then
|
|
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, IdNameStruct.SearchFromId(value, m_SubTypeList))
|
|
End If
|
|
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
|
|
|
|
Sub New(Name As String, IsSelected As Boolean, IsExpanded As Boolean, IsActive As Boolean)
|
|
MyBase.New(Name, IsSelected, IsExpanded, IsActive)
|
|
End Sub
|
|
|
|
#End Region ' Constructors
|
|
|
|
#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
|
|
ErrorOnTool = 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
|
|
|
|
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
|
|
'Dim MaxSpeed As Double
|
|
'' Da leggere dall'utensile impostato per questa lavorazione
|
|
'If m_Speed > m_MaxSpeed Then
|
|
' Return "Il valore di Speed non può essere maggiore di quello di MaxSpeed"
|
|
'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 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 ParentItem
|
|
|
|
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
|
|
|
|
''' <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
|
|
|
|
' 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
|
|
|
|
Sub New(Name As String, PicturePath As String)
|
|
MyBase.New(Name)
|
|
Me.PictureString = PicturePath
|
|
End Sub
|
|
|
|
Sub New(Name As String, IsSelected As Boolean, IsExpanded As Boolean, IsActive As Boolean)
|
|
MyBase.New(Name, IsSelected, IsExpanded, IsActive)
|
|
End Sub
|
|
|
|
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 |