Files
icarus/Icarus/MachiningManager/CurrMachining.vb
T
DarioS 3dabab5b72 Icarus :
- eliminati file inutili
- prime modifiche per gestione necessità ricalcolo slices.
2022-09-16 08:53:48 +02:00

1549 lines
66 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.ComponentModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class CurrMachining
Inherits Machining
'Private m_CathegoryList As New ObservableCollection(Of CurrMachiningCathegory)
'Public Overloads ReadOnly Property CathegoryList As ObservableCollection(Of CurrMachiningCathegory)
' Get
' Return m_CathegoryList
' End Get
'End Property
'Private m_OrigMachining As New Machining
'Public ReadOnly Property OrigMachining As Machining
' Get
' Return m_OrigMachining
' End Get
'End Property
'Friend Sub SetOrigMachining(OrigMachining As Machining)
' m_OrigMachining = OrigMachining
'End Sub
Private m_sCurrGUID As String = ""
Public Property sCurrGUID As String
Get
Return m_sCurrGUID
End Get
Set(value As String)
m_sCurrGUID = value
End Set
End Property
'Private m_sCurrName As String = ""
'Public Property sCurrName As String
' Get
' Return m_sCurrName
' End Get
' Set(value As String)
' m_sCurrName = value
' End Set
'End Property
Public ReadOnly Property bCurrSlicing45 As Boolean
Get
Dim Slicing45 As CurrCheckMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.SLICING45)
If Not IsNothing(Slicing45) Then
Return Slicing45.bValue
Else
Return False
End If
End Get
End Property
Public ReadOnly Property sCurrStrandH As String
Get
Dim StrandH As CurrNumericMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.STRANDH)
If Not IsNothing(StrandH) Then
Return StrandH.dValue
Else
Return False
End If
End Get
End Property
Public ReadOnly Property sCurrStrandW As String
Get
Dim StrandH As CurrNumericMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.STRANDW)
If Not IsNothing(StrandH) Then
Return StrandH.dValue
Else
Return False
End If
End Get
End Property
Public ReadOnly Property sCurrStrandCount As String
Get
Dim StrandH As CurrNumericMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.STRANDCOUNT)
If Not IsNothing(StrandH) Then
Return StrandH.dValue
Else
Return False
End If
End Get
End Property
Public ReadOnly Property sCurrOffset As String
Get
Dim StrandH As CurrNumericMachiningParam = m_CathegoryList.FirstOrDefault(Function(x) x.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.OFFSET)
If Not IsNothing(StrandH) Then
Return StrandH.dValue
Else
Return False
End If
End Get
End Property
'Private m_bCurrSlicing45 As Boolean
'Public Property bCurrSlicing45 As Boolean
' Get
' Return m_bCurrSlicing45
' End Get
' Set(value As Boolean)
' m_bCurrSlicing45 = value
' NotifyPropertyChanged(NameOf(bCurrSlicing45))
' End Set
'End Property
'Private m_dCurrStrandH As Double
'Public Property dCurrStrandH As Double
' Get
' Return m_dCurrStrandH
' End Get
' Set(value As Double)
' m_dCurrStrandH = value
' NotifyPropertyChanged(NameOf(dCurrStrandH))
' NotifyPropertyChanged(NameOf(bCurrStrandH_IsModified))
' End Set
'End Property
'Public ReadOnly Property bCurrStrandH_IsModified As Boolean
' Get
' Return m_dCurrStrandH <> m_OrigMachining.dStrandH
' End Get
'End Property
'Private m_dCurrStrandW As Double
'Public Property dCurrStrandW As Double
' Get
' Return m_dCurrStrandW
' End Get
' Set(value As Double)
' m_dCurrStrandW = value
' NotifyPropertyChanged(NameOf(dCurrStrandW))
' End Set
'End Property
'Private m_nCurrStrandCount As Integer
'Public Property nCurrStrandCount As Integer
' Get
' Return m_nCurrStrandCount
' End Get
' Set(value As Integer)
' m_nCurrStrandCount = value
' NotifyPropertyChanged(NameOf(nCurrStrandCount))
' End Set
'End Property
'Private m_dCurrOffset As Double
'Public Property dCurrOffset As Double
' Get
' Return m_dCurrOffset
' End Get
' Set(value As Double)
' m_dCurrOffset = value
' NotifyPropertyChanged(NameOf(dCurrOffset))
' End Set
'End Property
'Private m_dCurrStartPointOffsetOnSlice As Double
'Public Property dCurrStartPointOffsetOnSlice As Double
' Get
' Return m_dCurrStartPointOffsetOnSlice
' End Get
' Set(value As Double)
' m_dCurrStartPointOffsetOnSlice = value
' End Set
'End Property
'Private m_StrandOrderList As New List(Of IdNameStruct)({New IdNameStruct(MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside"),
' New IdNameStruct(MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside")})
'Public Property StrandOrderList As List(Of IdNameStruct)
' Get
' Return m_StrandOrderList
' End Get
' Set(value As List(Of IdNameStruct))
' m_StrandOrderList = value
' End Set
'End Property
'Public Property SelStrandOrder As IdNameStruct
' Get
' Return m_StrandOrderList.FirstOrDefault(Function(x) x.Id = m_nCurrStrandOrder)
' End Get
' Set(value As IdNameStruct)
' m_nCurrStrandOrder = value.Id
' End Set
'End Property
'Private m_nCurrStrandOrder As MPAR_STRANDORDERS
'Public Property nCurrStrandOrder As MPAR_STRANDORDERS
' Get
' Return m_nCurrStrandOrder
' End Get
' Set(value As MPAR_STRANDORDERS)
' m_nCurrStrandOrder = value
' End Set
'End Property
'Friend Sub SetCurrStrandOrder(StrandOrder As Integer)
' m_nCurrStrandOrder = StrandOrder
' NotifyPropertyChanged(NameOf(SelStrandOrder))
'End Sub
'Private m_DirectionList As New List(Of IdNameStruct)({New IdNameStruct(MPAR_DIRECTIONS.CCW, "Counterclockwise"),
' New IdNameStruct(MPAR_DIRECTIONS.CW, "Clockwise")})
'Public Property DirectionList As List(Of IdNameStruct)
' Get
' Return m_DirectionList
' End Get
' Set(value As List(Of IdNameStruct))
' m_DirectionList = value
' End Set
'End Property
'Public Property SelDirection As IdNameStruct
' Get
' Return m_DirectionList.FirstOrDefault(Function(x) x.Id = m_nCurrDirection)
' End Get
' Set(value As IdNameStruct)
' m_nCurrDirection = value.Id
' End Set
'End Property
'Private m_nCurrDirection As MPAR_DIRECTIONS
'Public Property nCurrDirection As MPAR_DIRECTIONS
' Get
' Return m_nCurrDirection
' End Get
' Set(value As MPAR_DIRECTIONS)
' m_nCurrDirection = value
' End Set
'End Property
'Friend Sub SetCurrDirection(Direction As Integer)
' m_nCurrDirection = Direction
' NotifyPropertyChanged(NameOf(SelDirection))
'End Sub
'Private m_LinkTypeList As New List(Of IdNameStruct)({New IdNameStruct(MPAR_LINKTYPES.NONE, "None"),
' New IdNameStruct(MPAR_LINKTYPES.LINEAR, "Linear"),
' New IdNameStruct(MPAR_LINKTYPES.BIARC, "Biarc")})
'Public Property LinkTypeList As List(Of IdNameStruct)
' Get
' Return m_LinkTypeList
' End Get
' Set(value As List(Of IdNameStruct))
' m_LinkTypeList = value
' End Set
'End Property
'Public Property SelLinkType As IdNameStruct
' Get
' Return m_LinkTypeList.FirstOrDefault(Function(x) x.Id = m_nCurrLinkType)
' End Get
' Set(value As IdNameStruct)
' m_nCurrLinkType = value.Id
' End Set
'End Property
'Private m_nCurrLinkType As MPAR_LINKTYPES
'Public Property nCurrLinkType As MPAR_LINKTYPES
' Get
' Return m_nCurrLinkType
' End Get
' Set(value As MPAR_LINKTYPES)
' m_nCurrLinkType = value
' End Set
'End Property
'Friend Sub SetCurrLinkType(LinkType As Integer)
' m_nCurrLinkType = LinkType
' NotifyPropertyChanged(NameOf(SelLinkType))
'End Sub
'Private m_dCurrLinkParam As Double
'Public Property dCurrLinkParam As Double
' Get
' Return m_dCurrLinkParam
' End Get
' Set(value As Double)
' m_dCurrLinkParam = value
' End Set
'End Property
'Private m_dCurrLinkZup As Double
'Public Property dCurrLinkZup As Double
' Get
' Return m_dCurrLinkZup
' End Get
' Set(value As Double)
' m_dCurrLinkZup = value
' End Set
'End Property
'Private m_dCurrOffsetLeadPoint As Double
'Public Property dCurrOffsetLeadPoint As Double
' Get
' Return m_dCurrOffsetLeadPoint
' End Get
' Set(value As Double)
' m_dCurrOffsetLeadPoint = value
' End Set
'End Property
'Private m_LeadInList As New List(Of IdNameStruct)({New IdNameStruct(MPAR_LEADINOUT.NONE, "None"),
' New IdNameStruct(MPAR_LEADINOUT.LINEAR, "Linear"),
' New IdNameStruct(MPAR_LEADINOUT.ARC, "Arc")})
'Public Property LeadInList As List(Of IdNameStruct)
' Get
' Return m_LeadInList
' End Get
' Set(value As List(Of IdNameStruct))
' m_LeadInList = value
' End Set
'End Property
'Public Property SelLeadIn As IdNameStruct
' Get
' Return m_LeadInList.FirstOrDefault(Function(x) x.Id = m_nCurrLeadIn)
' End Get
' Set(value As IdNameStruct)
' m_nCurrLeadIn = value.Id
' End Set
'End Property
'Private m_nCurrLeadIn As MPAR_LEADINOUT
'Public Property nCurrLeadIn As MPAR_LEADINOUT
' Get
' Return m_nCurrLeadIn
' End Get
' Set(value As MPAR_LEADINOUT)
' m_nCurrLeadIn = value
' End Set
'End Property
'Friend Sub SetCurrLeadIn(LeadIn As Integer)
' m_nCurrLeadIn = LeadIn
' NotifyPropertyChanged(NameOf(SelLeadIn))
'End Sub
'Private m_dCurrLeadInTangDist As Double
'Public Property dCurrLeadInTangDist As Double
' Get
' Return m_dCurrLeadInTangDist
' End Get
' Set(value As Double)
' m_dCurrLeadInTangDist = value
' End Set
'End Property
'Private m_dCurrLeadInOrthoDist As Double
'Public Property dCurrLeadInOrthoDist As Double
' Get
' Return m_dCurrLeadInOrthoDist
' End Get
' Set(value As Double)
' m_dCurrLeadInOrthoDist = value
' End Set
'End Property
'Private m_LeadOutList As New List(Of IdNameStruct)({New IdNameStruct(MPAR_LEADINOUT.NONE, "None"),
' New IdNameStruct(MPAR_LEADINOUT.LINEAR, "Linear"),
' New IdNameStruct(MPAR_LEADINOUT.ARC, "Arc")})
'Public Property LeadOutList As List(Of IdNameStruct)
' Get
' Return m_LeadOutList
' End Get
' Set(value As List(Of IdNameStruct))
' m_LeadOutList = value
' End Set
'End Property
'Public Property SelLeadOut As IdNameStruct
' Get
' Return m_LeadOutList.FirstOrDefault(Function(x) x.Id = m_nCurrLeadOut)
' End Get
' Set(value As IdNameStruct)
' m_nCurrLeadOut = value.Id
' End Set
'End Property
'Private m_nCurrLeadOut As MPAR_LEADINOUT
'Public Property nCurrLeadOut As MPAR_LEADINOUT
' Get
' Return m_nCurrLeadOut
' End Get
' Set(value As MPAR_LEADINOUT)
' m_nCurrLeadOut = value
' End Set
'End Property
'Friend Sub SetCurrLeadOut(LeadOut As Integer)
' m_nCurrLeadOut = LeadOut
' NotifyPropertyChanged(NameOf(SelLeadOut))
'End Sub
'Private m_dCurrLeadOutTangDist As Double
'Public Property dCurrLeadOutTangDist As Double
' Get
' Return m_dCurrLeadOutTangDist
' End Get
' Set(value As Double)
' m_dCurrLeadOutTangDist = value
' End Set
'End Property
'Private m_dCurrLeadOutOrthoDist As Double
'Public Property dCurrLeadOutOrthoDist As Double
' Get
' Return m_dCurrLeadOutOrthoDist
' End Get
' Set(value As Double)
' m_dCurrLeadOutOrthoDist = value
' End Set
'End Property
'Private m_dCurrCoastingLen As Double
'Public Property dCurrCoastingLen As Double
' Get
' Return m_dCurrCoastingLen
' End Get
' Set(value As Double)
' m_dCurrCoastingLen = value
' End Set
'End Property
'Private m_dCurrCoastingFeed As Double
'Public Property dCurrCoastingFeed As Double
' Get
' Return m_dCurrCoastingFeed
' End Get
' Set(value As Double)
' m_dCurrCoastingFeed = value
' End Set
'End Property
'Private m_dCurrWipeLen As Double
'Public Property dCurrWipeLen As Double
' Get
' Return m_dCurrWipeLen
' End Get
' Set(value As Double)
' m_dCurrWipeLen = value
' End Set
'End Property
'Private m_dCurrWipeFeedPu As Double
'Public Property dCurrWipeFeedPu As Double
' Get
' Return m_dCurrWipeFeedPu
' End Get
' Set(value As Double)
' m_dCurrWipeFeedPu = value
' End Set
'End Property
'Private m_dCurrFloorCount As Integer
'Public Property dCurrFloorCount As Double
' Get
' Return m_dCurrFloorCount
' End Get
' Set(value As Double)
' m_dCurrFloorCount = value
' End Set
'End Property
'Private m_dCurrG0Feed As Double
'Public Property dCurrG0Feed As Double
' Get
' Return m_dCurrG0Feed
' End Get
' Set(value As Double)
' m_dCurrG0Feed = value
' End Set
'End Property
'Private m_dCurrToolDiam As Double
'Public Property dCurrToolDiam As Double
' Get
' Return m_dCurrToolDiam
' End Get
' Set(value As Double)
' m_dCurrToolDiam = value
' End Set
'End Property
'Private m_dCurrRibsOverlap As Double
'Public Property dCurrRibsOverlap As Double
' Get
' Return m_dCurrRibsOverlap
' End Get
' Set(value As Double)
' m_dCurrRibsOverlap = value
' End Set
'End Property
'Private m_dCurrRibsStrandCount As Integer
'Public Property dCurrRibsStrandCount As Double
' Get
' Return m_dCurrRibsStrandCount
' End Get
' Set(value As Double)
' m_dCurrRibsStrandCount = value
' End Set
'End Property
'Private m_dCurrRibsLink As Boolean
'Public Property dCurrRibsLink As Double
' Get
' Return m_dCurrRibsLink
' End Get
' Set(value As Double)
' m_dCurrRibsLink = value
' End Set
'End Property
'Private m_dCurrRibsInvertOrder As Boolean
'Public Property dCurrRibsInvertOrder As Double
' Get
' Return m_dCurrRibsInvertOrder
' End Get
' Set(value As Double)
' m_dCurrRibsInvertOrder = value
' End Set
'End Property
'Private m_dCurrRibsInvertDirection As Boolean
'Public Property dCurrRibsInvertDirection As Double
' Get
' Return m_dCurrRibsInvertDirection
' End Get
' Set(value As Double)
' m_dCurrRibsInvertDirection = value
' End Set
'End Property
'Private m_dCurrRibsLeadInInvert As Boolean
'Public Property dCurrRibsLeadInInvert As Double
' Get
' Return m_dCurrRibsLeadInInvert
' End Get
' Set(value As Double)
' m_dCurrRibsLeadInInvert = value
' End Set
'End Property
'Private m_dCurrRibsLeadInLen As Double
'Public Property dCurrRibsLeadInLen As Double
' Get
' Return m_dCurrRibsLeadInLen
' End Get
' Set(value As Double)
' m_dCurrRibsLeadInLen = value
' End Set
'End Property
'Private m_dCurrRibsLeadOutInvert As Boolean
'Public Property dCurrRibsLeadOutInvert As Double
' Get
' Return m_dCurrRibsLeadOutInvert
' End Get
' Set(value As Double)
' m_dCurrRibsLeadOutInvert = value
' End Set
'End Property
'Private m_dCurrRibsLeadOutLen As Double
'Public Property dCurrRibsLeadOutLen As Double
' Get
' Return m_dCurrRibsLeadOutLen
' End Get
' Set(value As Double)
' m_dCurrRibsLeadOutLen = value
' End Set
'End Property
'Private m_dCurrRibsLeadOutCoasting As Double
'Public Property dCurrRibsLeadOutCoasting As Double
' Get
' Return m_dCurrRibsLeadOutCoasting
' End Get
' Set(value As Double)
' m_dCurrRibsLeadOutCoasting = value
' End Set
'End Property
'Private m_dCurrRibsLeadOutWipe As Double
'Public Property dCurrRibsLeadOutWipe As Double
' Get
' Return m_dCurrRibsLeadOutWipe
' End Get
' Set(value As Double)
' m_dCurrRibsLeadOutWipe = value
' End Set
'End Property
'Private m_dCurrRibsLeadOutWipeDir As Double
'Public Property dCurrRibsLeadOutWipeDir As Double
' Get
' Return m_dCurrRibsLeadOutWipeDir
' End Get
' Set(value As Double)
' m_dCurrRibsLeadOutWipeDir = value
' End Set
'End Property
'Sub New(nPartId As Integer)
' ReadCurrMachParam(nPartId)
'End Sub
Sub New(MachiningIndex As MachiningIndex)
'' imposto Machining da Db
'Dim Machining As New Machining(MachiningIndex.nIndex)
'SetOrigMachining(Machining)
'sCurrGUID = MachiningIndex.sGUID
'' Imposto parametri Curr copiando da Db
'bCurrSlicing45 = m_OrigMachining.bSlicing45
'dCurrStrandH = m_OrigMachining.dStrandH
'dCurrStrandW = m_OrigMachining.dStrandW
'nCurrStrandCount = m_OrigMachining.nStrandCount
'dCurrOffset = m_OrigMachining.dOffset
'dCurrStartPointOffsetOnSlice = m_OrigMachining.dStartPointOffsetOnSlice
'SetCurrStrandOrder(m_OrigMachining.dStrandOrder)
'SetCurrDirection(m_OrigMachining.dDirection)
'SetCurrLinkType(m_OrigMachining.dLinkType)
'dCurrLinkParam = m_OrigMachining.dLinkParam
'dCurrLinkZup = m_OrigMachining.dLinkZup
'dCurrOffsetLeadPoint = m_OrigMachining.dOffsetLeadPoint
'SetCurrLeadIn(m_OrigMachining.dLeadIn)
'dCurrLeadInTangDist = m_OrigMachining.dLeadInTangDist
'dCurrLeadInOrthoDist = m_OrigMachining.dLeadInOrthoDist
'SetCurrLeadOut(m_OrigMachining.dLeadOut)
'dCurrLeadOutTangDist = m_OrigMachining.dLeadOutTangDist
'dCurrLeadOutOrthoDist = m_OrigMachining.dLeadOutOrthoDist
'dCurrCoastingLen = m_OrigMachining.dCoastingLen
'dCurrCoastingFeed = m_OrigMachining.dCoastingFeed
'dCurrWipeLen = m_OrigMachining.dWipeLen
'dCurrWipeFeedPu = m_OrigMachining.dWipeFeedPu
'dCurrFloorCount = m_OrigMachining.dFloorCount
'dCurrG0Feed = m_OrigMachining.dG0Feed
'dCurrToolDiam = m_OrigMachining.dToolDiam
'dCurrRibsOverlap = m_OrigMachining.dRibsOverlap
'dCurrRibsStrandCount = m_OrigMachining.dRibsStrandCount
'dCurrRibsLink = m_OrigMachining.dRibsLink
'dCurrRibsInvertOrder = m_OrigMachining.dRibsInvertOrder
'dCurrRibsInvertDirection = m_OrigMachining.dRibsInvertDirection
'dCurrRibsLeadInInvert = m_OrigMachining.dRibsLeadInInvert
'dCurrRibsLeadInLen = m_OrigMachining.dRibsLeadInLen
'dCurrRibsLeadOutInvert = m_OrigMachining.dRibsLeadOutInvert
'dCurrRibsLeadOutLen = m_OrigMachining.dRibsLeadOutLen
'dCurrRibsLeadOutCoasting = m_OrigMachining.dRibsLeadOutCoasting
'dCurrRibsLeadOutWipe = m_OrigMachining.dRibsLeadOutWipe
'dCurrRibsLeadOutWipeDir = m_OrigMachining.dRibsLeadOutWipeDir
End Sub
Sub New(nPartId As Integer)
' ricavo lavorazione da lista
Dim sMacIniFilePath As String = Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini"
EgtGetInfo(nPartId, MAC_GUID, m_sCurrGUID)
If Not String.IsNullOrWhiteSpace(m_sCurrGUID) Then
Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.sGUID = m_sCurrGUID)
If IsNothing(CurrMachiningInDb) Then
MessageBox.Show("Machining not found in Db!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
m_nIndex = 0
Else
m_nIndex = CurrMachiningInDb.nIndex
End If
Else
m_nIndex = 0
End If
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, False))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, False))
For Each Cathegory In m_CathegoryList
For Each MachiningParam In Cathegory.MachiningParamList
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
Next
Next
End Sub
Sub New(nPartId As Integer, nIndex As Integer)
m_nIndex = nIndex
' ricavo lavorazione da lista
Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
m_sCurrGUID = CurrMachiningInDb.sGUID
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.GENERAL, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LINK, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADIN, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.LEADOUT, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.COASTING, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.WIPE, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.TOOL, nPartId, m_nIndex, True))
m_CathegoryList.Add(New CurrMachiningCathegory(MachiningCathegory.Cathegories.RIBS, nPartId, m_nIndex, True))
For Each Cathegory In m_CathegoryList
For Each MachiningParam In Cathegory.MachiningParamList
AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
Next
Next
' scrivo i parametri impostati dentro il pezzo
WriteCurrParamInPart(nPartId)
End Sub
Sub New(sName As String, bSlicing45 As Boolean, dStrandH As Double, dStrandW As Double, nStrandCount As Integer, dOffset As Double, dStartPointOffsetOnSlice As Double,
dStrandOrder As MPAR_STRANDORDERS, dDirection As MPAR_DIRECTIONS, dLinkType As MPAR_LINKTYPES, dLinkParam As Double, dLinkZup As Double, dOffsetLeadPoint As Double,
dLeadIn As MPAR_LEADINOUT, dLeadInTangDist As Double, dLeadInOrthoDist As Double, dLeadOut As MPAR_LEADINOUT, dLeadOutTangDist As Double, dLeadOutOrthoDist As Double,
dCoastingLen As Double, dCoastingFeed As Double, dWipeLen As Double, dWipeFeedPu As Double, dFloorCount As Integer, dG0Feed As Double, dMaterial As String,
dToolDiam As Double, dRibsOverlap As Double, dRibsStrandCount As Integer, dRibsLink As Boolean, dRibsInvertOrder As Boolean, dRibsInvertDirection As Boolean,
dRibsLeadInInvert As Boolean, dRibsLeadInLen As Double, dRibsLeadOutInvert As Boolean, dRibsLeadOutLen As Double, dRibsLeadOutCoasting As Double,
dRibsLeadOutWipe As Double, dRibsLeadOutWipeDir As Double)
End Sub
#Region "METHODS"
Friend Overrides Sub OnMachiningParamPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
Select Case e.PropertyName
Case NameOf(sender.dValue), NameOf(sender.sValue), NameOf(sender.bValue), NameOf(sender.SelValue)
m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
NotifyPropertyChanged(NameOf(ghName))
NotifyPropertyChanged(NameOf(bCurrSlicing45))
NotifyPropertyChanged(NameOf(sCurrStrandH))
NotifyPropertyChanged(NameOf(sCurrStrandW))
NotifyPropertyChanged(NameOf(sCurrStrandCount))
NotifyPropertyChanged(NameOf(sCurrOffset))
End Select
End Sub
'Friend Function ReadCurrMachParam(nPartId As Integer) As MachiningIndex
' ' leggo parametri da pezzo
' Dim nData As Integer = 0
' EgtGetInfo(nPartId, MAC_GUID, m_sCurrGUID)
' EgtGetInfo(nPartId, MAC_SLICING45, m_bCurrSlicing45)
' EgtGetInfo(nPartId, MAC_STRANDH, m_dCurrStrandH)
' EgtGetInfo(nPartId, MAC_STRANDW, m_dCurrStrandW)
' EgtGetInfo(nPartId, MAC_STRANDCOUNT, m_nCurrStrandCount)
' EgtGetInfo(nPartId, MAC_OFFSET, m_dCurrOffset)
' EgtGetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dCurrStartPointOffsetOnSlice)
' EgtGetInfo(nPartId, MAC_STRANDORDER, nData)
' SetCurrStrandOrder(nData)
' EgtGetInfo(nPartId, MAC_DIRECTION, nData)
' SetCurrDirection(nData)
' EgtGetInfo(nPartId, MAC_LINKTYPE, nData)
' SetCurrLinkType(nData)
' EgtGetInfo(nPartId, MAC_LINKPARAM, m_dCurrLinkParam)
' EgtGetInfo(nPartId, MAC_LINKZUP, m_dCurrLinkZup)
' EgtGetInfo(nPartId, MAC_OFFSETLEADPOINT, m_dCurrOffsetLeadPoint)
' EgtGetInfo(nPartId, MAC_LEADIN, nData)
' SetCurrLeadIn(nData)
' EgtGetInfo(nPartId, MAC_LEADINTANGDIST, m_dCurrLeadInTangDist)
' EgtGetInfo(nPartId, MAC_LEADINORTHODIST, m_dCurrLeadInOrthoDist)
' EgtGetInfo(nPartId, MAC_LEADOUT, nData)
' SetCurrLeadOut(nData)
' EgtGetInfo(nPartId, MAC_LEADOUTTANGDIST, m_dCurrLeadOutTangDist)
' EgtGetInfo(nPartId, MAC_LEADOUTORTHODIST, m_dCurrLeadOutOrthoDist)
' EgtGetInfo(nPartId, MAC_COASTINGLEN, m_dCurrCoastingLen)
' EgtGetInfo(nPartId, MAC_COASTINGFEED, m_dCurrCoastingFeed)
' EgtGetInfo(nPartId, MAC_WIPELEN, m_dCurrWipeLen)
' EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dCurrWipeFeedPu)
' EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dCurrFloorCount)
' EgtGetInfo(nPartId, MAC_G0FEED, m_dCurrG0Feed)
' EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dCurrToolDiam)
' EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dCurrRibsOverlap)
' EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dCurrRibsStrandCount)
' EgtGetInfo(nPartId, MAC_RIBSLINK, m_dCurrRibsLink)
' EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_dCurrRibsInvertOrder)
' EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dCurrRibsInvertDirection)
' EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dCurrRibsLeadInInvert)
' EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dCurrRibsLeadInLen)
' EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dCurrRibsLeadOutInvert)
' EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dCurrRibsLeadOutLen)
' EgtGetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, m_dCurrRibsLeadOutCoasting)
' EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPE, m_dCurrRibsLeadOutWipe)
' EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dCurrRibsLeadOutWipeDir)
' ' ricavo lavorazione da lista
' Dim CurrMachiningInDb As MachiningIndex = Map.refTopPanelVM.MachiningList.FirstOrDefault(Function(x) x.sGUID = m_sCurrGUID)
' If Not IsNothing(CurrMachiningInDb) Then
' ' leggo parametri lavorazione originale
' m_OrigMachining = New Machining(CurrMachiningInDb.nIndex)
' 'Dim sMacIniFilePath As String = Map.refMainWindowVM.MainWindowM.sMachiningsDir & "/Machinings.ini"
' 'm_OrigMachining.bSlicing45 = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_SLICING45, 0, sMacIniFilePath)
' 'm_OrigMachining.dStrandH = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_STRANDH, 0, sMacIniFilePath)
' 'm_OrigMachining.dStrandW = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_STRANDW, 0, sMacIniFilePath)
' 'm_OrigMachining.nStrandCount = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_STRANDCOUNT, 0, sMacIniFilePath)
' 'm_OrigMachining.dOffset = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_OFFSET, 0, sMacIniFilePath)
' 'm_OrigMachining.dStartPointOffsetOnSlice = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_STARTPOINTOFFSETONSLICE, 0, sMacIniFilePath)
' 'm_OrigMachining.dStrandOrder = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_STRANDORDER, 0, sMacIniFilePath)
' 'm_OrigMachining.dDirection = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_DIRECTION, 0, sMacIniFilePath)
' 'm_OrigMachining.dLinkType = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LINKTYPE, 0, sMacIniFilePath)
' 'm_OrigMachining.dLinkParam = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LINKPARAM, 0, sMacIniFilePath)
' 'm_OrigMachining.dLinkZup = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LINKZUP, 0, sMacIniFilePath)
' 'm_OrigMachining.dOffsetLeadPoint = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_OFFSETLEADPOINT, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadIn = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADIN, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadInTangDist = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADINTANGDIST, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadInOrthoDist = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADINORTHODIST, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadOut = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADOUT, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadOutTangDist = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADOUTTANGDIST, 0, sMacIniFilePath)
' 'm_OrigMachining.dLeadOutOrthoDist = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_LEADOUTORTHODIST, 0, sMacIniFilePath)
' 'm_OrigMachining.dCoastingLen = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_COASTINGLEN, 0, sMacIniFilePath)
' 'm_OrigMachining.dCoastingFeed = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_COASTINGFEED, 0, sMacIniFilePath)
' 'm_OrigMachining.dWipeLen = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_WIPELEN, 0, sMacIniFilePath)
' 'm_OrigMachining.dWipeFeedPu = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_WIPEFEEDPU, 0, sMacIniFilePath)
' 'm_OrigMachining.dFloorCount = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_FLOORCOUNT, 0, sMacIniFilePath)
' 'm_OrigMachining.dG0Feed = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_G0FEED, 0, sMacIniFilePath)
' 'm_OrigMachining.dToolDiam = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_TOOLDIAM, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsOverlap = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSOVERLAP, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsStrandCount = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSSTRANDCOUNT, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLink = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLINK, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsInvertOrder = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSINVERTORDER, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsInvertDirection = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSINVERTDIRECTION, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadInInvert = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADININVERT, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadInLen = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADINLEN, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadOutInvert = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADOUTINVERT, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadOutLen = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADOUTLEN, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadOutCoasting = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADOUTCOASTING, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadOutWipe = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADOUTWIPE, 0, sMacIniFilePath)
' 'm_OrigMachining.dRibsLeadOutWipeDir = GetPrivateProfileDouble(CurrMachiningInDb.nIndex, MAC_RIBSLEADOUTWIPEDIR, 0, sMacIniFilePath)
' End If
' Return CurrMachiningInDb
'End Function
Friend Sub WriteCurrParamInPart(nPartId As Integer)
EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID)
For Each Cathegory As CurrMachiningCathegory In m_CathegoryList
Cathegory.WriteCurrParamInPart(nPartId)
Next
' Imposto flag
EgtSetInfo(nPartId, MAC_TO_RECALC, True)
'EgtSetInfo(nPartId, MAC_GUID, m_sCurrGUID)
'EgtSetInfo(nPartId, MAC_SLICING45, m_bCurrSlicing45)
'EgtSetInfo(nPartId, MAC_STRANDH, m_dCurrStrandH)
'EgtSetInfo(nPartId, MAC_STRANDW, m_dCurrStrandW)
'EgtSetInfo(nPartId, MAC_STRANDCOUNT, m_nCurrStrandCount)
'EgtSetInfo(nPartId, MAC_OFFSET, m_dCurrOffset)
'EgtSetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dCurrStartPointOffsetOnSlice)
'EgtSetInfo(nPartId, MAC_STRANDORDER, m_nCurrStrandCount)
'EgtSetInfo(nPartId, MAC_DIRECTION, m_nCurrDirection)
'EgtSetInfo(nPartId, MAC_LINKTYPE, m_nCurrLinkType)
'EgtSetInfo(nPartId, MAC_LINKPARAM, m_dCurrLinkParam)
'EgtSetInfo(nPartId, MAC_LINKZUP, m_dCurrLinkZup)
'EgtSetInfo(nPartId, MAC_OFFSETLEADPOINT, m_dCurrOffsetLeadPoint)
'EgtSetInfo(nPartId, MAC_LEADIN, m_nCurrLeadIn)
'EgtSetInfo(nPartId, MAC_LEADINTANGDIST, m_dCurrLeadInTangDist)
'EgtSetInfo(nPartId, MAC_LEADINORTHODIST, m_dCurrLeadInOrthoDist)
'EgtSetInfo(nPartId, MAC_LEADOUT, m_nCurrLeadOut)
'EgtSetInfo(nPartId, MAC_LEADOUTTANGDIST, m_dCurrLeadOutTangDist)
'EgtSetInfo(nPartId, MAC_LEADOUTORTHODIST, m_dCurrLeadOutOrthoDist)
'EgtSetInfo(nPartId, MAC_COASTINGLEN, m_dCurrCoastingLen)
'EgtSetInfo(nPartId, MAC_COASTINGFEED, m_dCurrCoastingFeed)
'EgtSetInfo(nPartId, MAC_WIPELEN, m_dCurrWipeLen)
'EgtSetInfo(nPartId, MAC_WIPEFEEDPU, m_dCurrWipeFeedPu)
'EgtSetInfo(nPartId, MAC_FLOORCOUNT, m_dCurrFloorCount)
'EgtSetInfo(nPartId, MAC_G0FEED, m_dCurrG0Feed)
'EgtSetInfo(nPartId, MAC_TOOLDIAM, m_dCurrToolDiam)
'EgtSetInfo(nPartId, MAC_RIBSOVERLAP, m_dCurrRibsOverlap)
'EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dCurrRibsStrandCount)
'EgtSetInfo(nPartId, MAC_RIBSLINK, m_dCurrRibsLink)
'EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, m_dCurrRibsInvertOrder)
'EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dCurrRibsInvertDirection)
'EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, m_dCurrRibsLeadInInvert)
'EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, m_dCurrRibsLeadInLen)
'EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dCurrRibsLeadOutInvert)
'EgtSetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dCurrRibsLeadOutLen)
'EgtSetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, m_dCurrRibsLeadOutCoasting)
'EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPE, m_dCurrRibsLeadOutWipe)
'EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dCurrRibsLeadOutWipeDir)
End Sub
Friend Sub UpdateMachParam()
'NotifyPropertyChanged(NameOf(bCurrSlicing45))
'NotifyPropertyChanged(NameOf(dCurrStrandH))
'NotifyPropertyChanged(NameOf(dCurrStrandW))
'NotifyPropertyChanged(NameOf(nCurrStrandCount))
'NotifyPropertyChanged(NameOf(dCurrOffset))
End Sub
#End Region ' METHODS
'#Region "COMMANDS"
'#Region "ResetParam"
' Public ReadOnly Property ResetParam_Command As ICommand
' Get
' If m_cmdResetParam Is Nothing Then
' m_cmdResetParam = New Command(AddressOf ResetParam)
' End If
' Return m_cmdResetParam
' End Get
' End Property
' Public Sub ResetParam(Param As Object)
' Select Case Param
' 'Case NameOf(dCurrStrandH)
' ' dCurrStrandH = m_OrigMachining.dStrandH
' End Select
' End Sub
'#End Region ' ResetParam
'#End Region ' COMMANDS
End Class
Public Class CurrMachiningCathegory
Inherits MachiningCathegory
Sub New(Type As Cathegories, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
m_Type = Type
Select Case m_Type
Case Cathegories.GENERAL
m_sName = "General"
m_MachiningParamList = New List(Of MachiningParam)({New CurrCheckMachiningParam(MachiningParam.Params.SLICING45, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDH, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDW, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STRANDCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.OFFSET, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.STARTPOINTOFFSETONSLICE, nPartId, nIndex, bForceFromDb),
New CurrComboMachiningParam(MachiningParam.Params.STRANDORDER, nPartId, nIndex, bForceFromDb),
New CurrComboMachiningParam(MachiningParam.Params.DIRECTION, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.FLOORCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.G0FEED, nPartId, nIndex, bForceFromDb)})
Case Cathegories.LINK
m_sName = "Link"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LINKTYPE, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LINKPARAM, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LINKZUP, nPartId, nIndex, bForceFromDb)})
Case Cathegories.LEADIN
m_sName = "Lead In"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.OFFSETLEADPOINT, nPartId, nIndex, bForceFromDb),
New CurrComboMachiningParam(MachiningParam.Params.LEADIN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINTANGDIST, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LEADINORTHODIST, nPartId, nIndex, bForceFromDb)})
Case Cathegories.LEADOUT
m_sName = "Lead Out"
m_MachiningParamList = New List(Of MachiningParam)({New CurrComboMachiningParam(MachiningParam.Params.LEADOUT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTTANGDIST, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.LEADOUTORTHODIST, nPartId, nIndex, bForceFromDb)})
Case Cathegories.COASTING
m_sName = "Coasting"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.COASTINGLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.COASTINGFEED, nPartId, nIndex, bForceFromDb)})
Case Cathegories.WIPE
m_sName = "Wipe"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.WIPELEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.WIPEFEEDPU, nPartId, nIndex, bForceFromDb)})
Case Cathegories.TOOL
m_sName = "Tool"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.TOOLDIAM, nPartId, nIndex, bForceFromDb)})
Case Cathegories.RIBS
m_sName = "Ribs"
m_MachiningParamList = New List(Of MachiningParam)({New CurrNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLINK, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTORDER, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb),
New CurrNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nPartId, nIndex, bForceFromDb)})
End Select
End Sub
Friend Sub SaveCurrParams()
For Each Param In m_MachiningParamList
Param.SaveParam()
Next
End Sub
Friend Sub ResetCurrParams()
For Each Param In m_MachiningParamList
Param.ResetParam()
Next
End Sub
Friend Sub WriteCurrParamInPart(nPartId As Integer)
For Each Param In m_MachiningParamList
Param.WriteParamInPart(nPartId)
Next
End Sub
End Class
Public Class CurrNumericMachiningParam
Inherits NumericMachiningParam
Public Overrides Property dValue As String
Get
Return If(m_bIsLen, LenToString(m_dValue, 1), m_dValue)
End Get
Set(value As String)
If m_bIsLen Then
StringToLen(value, m_dValue)
Else
m_dValue = value
End If
NotifyPropertyChanged(NameOf(dValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Set
End Property
Private m_DbParam As NumericMachiningParam
Public ReadOnly Property DbParam As NumericMachiningParam
Get
Return m_DbParam
End Get
End Property
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_dValue <> m_DbParam.dOrigValue
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
MyBase.New(Type, nIndex)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.STRANDH
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDH, m_dValue)
m_bIsLen = True
Case Params.STRANDW
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDW, m_dValue)
m_bIsLen = True
Case Params.STRANDCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDCOUNT, m_dValue)
m_bIsLen = True
Case Params.OFFSET
bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSET, m_dValue)
m_bIsLen = True
Case Params.STARTPOINTOFFSETONSLICE
bReadFromPart = EgtGetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, m_dValue)
m_bIsLen = True
Case Params.LINKPARAM
bReadFromPart = EgtGetInfo(nPartId, MAC_LINKPARAM, m_dValue)
m_bIsLen = True
Case Params.LINKZUP
bReadFromPart = EgtGetInfo(nPartId, MAC_LINKZUP, m_dValue)
m_bIsLen = True
Case Params.OFFSETLEADPOINT
bReadFromPart = EgtGetInfo(nPartId, MAC_OFFSETLEADPOINT, m_dValue)
m_bIsLen = True
Case Params.LEADINTANGDIST
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADINTANGDIST, m_dValue)
m_bIsLen = True
Case Params.LEADINORTHODIST
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADINORTHODIST, m_dValue)
m_bIsLen = True
Case Params.LEADOUTTANGDIST
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADOUTTANGDIST, m_dValue)
m_bIsLen = True
Case Params.LEADOUTORTHODIST
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADOUTORTHODIST, m_dValue)
m_bIsLen = True
Case Params.COASTINGLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_COASTINGLEN, m_dValue)
m_bIsLen = True
Case Params.COASTINGFEED
bReadFromPart = EgtGetInfo(nPartId, MAC_COASTINGFEED, m_dValue)
m_bIsLen = True
Case Params.WIPELEN
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPELEN, m_dValue)
m_bIsLen = True
Case Params.WIPEFEEDPU
bReadFromPart = EgtGetInfo(nPartId, MAC_WIPEFEEDPU, m_dValue)
m_bIsLen = True
Case Params.FLOORCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_FLOORCOUNT, m_dValue)
m_bIsLen = True
Case Params.G0FEED
bReadFromPart = EgtGetInfo(nPartId, MAC_G0FEED, m_dValue)
m_bIsLen = True
Case Params.TOOLDIAM
bReadFromPart = EgtGetInfo(nPartId, MAC_TOOLDIAM, m_dValue)
m_bIsLen = True
Case Params.RIBSOVERLAP
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dValue)
m_bIsLen = True
Case Params.RIBSSTRANDCOUNT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dValue)
m_bIsLen = True
Case Params.RIBSLINK
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLINK, m_dValue)
m_bIsLen = True
Case Params.RIBSINVERTORDER
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTORDER, m_dValue)
m_bIsLen = True
Case Params.RIBSINVERTDIRECTION
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADININVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADINLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTINVERT
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTLEN
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTCOASTING
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTWIPE
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPE, m_dValue)
m_bIsLen = True
Case Params.RIBSLEADOUTWIPEDIR
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dValue)
m_bIsLen = True
End Select
m_dOrigValue = m_dValue
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.STRANDH, Params.STRANDW, Params.STRANDCOUNT, Params.OFFSET, Params.STARTPOINTOFFSETONSLICE, Params.FLOORCOUNT, Params.G0FEED
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LINKPARAM, Params.LINKZUP
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.OFFSETLEADPOINT, Params.LEADINTANGDIST, Params.LEADINORTHODIST
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LEADOUTTANGDIST, Params.LEADOUTORTHODIST
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.COASTINGLEN, Params.COASTINGFEED
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.COASTING).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.WIPELEN, Params.WIPEFEEDPU
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.WIPE).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.TOOLDIAM
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.TOOL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.RIBSOVERLAP, Params.RIBSSTRANDCOUNT, Params.RIBSLINK, Params.RIBSINVERTORDER, Params.RIBSINVERTDIRECTION, Params.RIBSLEADININVERT,
Params.RIBSLEADINLEN, Params.RIBSLEADOUTINVERT, Params.RIBSLEADOUTLEN, Params.RIBSLEADOUTCOASTING, Params.RIBSLEADOUTWIPE, Params.RIBSLEADOUTWIPEDIR
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.RIBS).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select
If bForceFromDb OrElse Not bReadFromPart Then
m_dValue = m_DbParam.dOrigValue
m_dOrigValue = m_DbParam.dOrigValue
End If
End If
End Sub
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
Dim sWriteValue As String = ""
If m_bIsLen Then
sWriteValue = LenToString(m_dValue, 2)
Else
sWriteValue = DoubleToString(m_dValue, 2)
End If
Select Case Type
Case Params.STRANDH
EgtSetInfo(nPartId, MAC_STRANDH, sWriteValue)
Case Params.STRANDW
EgtSetInfo(nPartId, MAC_STRANDW, sWriteValue)
Case Params.STRANDCOUNT
EgtSetInfo(nPartId, MAC_STRANDCOUNT, sWriteValue)
Case Params.OFFSET
EgtSetInfo(nPartId, MAC_OFFSET, sWriteValue)
Case Params.STARTPOINTOFFSETONSLICE
EgtSetInfo(nPartId, MAC_STARTPOINTOFFSETONSLICE, sWriteValue)
Case Params.LINKPARAM
EgtSetInfo(nPartId, MAC_LINKPARAM, sWriteValue)
Case Params.LINKZUP
EgtSetInfo(nPartId, MAC_LINKZUP, sWriteValue)
Case Params.OFFSETLEADPOINT
EgtSetInfo(nPartId, MAC_OFFSETLEADPOINT, sWriteValue)
Case Params.LEADINTANGDIST
EgtSetInfo(nPartId, MAC_LEADINTANGDIST, sWriteValue)
Case Params.LEADINORTHODIST
EgtSetInfo(nPartId, MAC_LEADINORTHODIST, sWriteValue)
Case Params.LEADOUTTANGDIST
EgtSetInfo(nPartId, MAC_LEADOUTTANGDIST, sWriteValue)
Case Params.LEADOUTORTHODIST
EgtSetInfo(nPartId, MAC_LEADOUTORTHODIST, sWriteValue)
Case Params.COASTINGLEN
EgtSetInfo(nPartId, MAC_COASTINGLEN, sWriteValue)
Case Params.COASTINGFEED
EgtSetInfo(nPartId, MAC_COASTINGFEED, sWriteValue)
Case Params.WIPELEN
EgtSetInfo(nPartId, MAC_WIPELEN, sWriteValue)
Case Params.WIPEFEEDPU
EgtSetInfo(nPartId, MAC_WIPEFEEDPU, sWriteValue)
Case Params.FLOORCOUNT
EgtSetInfo(nPartId, MAC_FLOORCOUNT, sWriteValue)
Case Params.G0FEED
EgtSetInfo(nPartId, MAC_G0FEED, sWriteValue)
Case Params.TOOLDIAM
EgtSetInfo(nPartId, MAC_TOOLDIAM, sWriteValue)
Case Params.RIBSOVERLAP
EgtSetInfo(nPartId, MAC_RIBSOVERLAP, sWriteValue)
Case Params.RIBSSTRANDCOUNT
EgtSetInfo(nPartId, MAC_RIBSSTRANDCOUNT, sWriteValue)
Case Params.RIBSLINK
EgtSetInfo(nPartId, MAC_RIBSLINK, sWriteValue)
Case Params.RIBSINVERTORDER
EgtSetInfo(nPartId, MAC_RIBSINVERTORDER, sWriteValue)
Case Params.RIBSINVERTDIRECTION
EgtSetInfo(nPartId, MAC_RIBSINVERTDIRECTION, sWriteValue)
Case Params.RIBSLEADININVERT
EgtSetInfo(nPartId, MAC_RIBSLEADININVERT, sWriteValue)
Case Params.RIBSLEADINLEN
EgtSetInfo(nPartId, MAC_RIBSLEADINLEN, sWriteValue)
Case Params.RIBSLEADOUTINVERT
EgtSetInfo(nPartId, MAC_RIBSLEADOUTINVERT, sWriteValue)
Case Params.RIBSLEADOUTLEN
EgtSetInfo(nPartId, MAC_RIBSLEADOUTLEN, sWriteValue)
Case Params.RIBSLEADOUTCOASTING
EgtSetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, sWriteValue)
Case Params.RIBSLEADOUTWIPE
EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPE, sWriteValue)
Case Params.RIBSLEADOUTWIPEDIR
EgtSetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, sWriteValue)
End Select
End Sub
Friend Overrides Sub SaveParam()
m_dOrigValue = m_dValue
End Sub
Friend Overrides Sub ResetParam()
m_dValue = m_dOrigValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_dValue = DbParam.dOrigValue
NotifyPropertyChanged(NameOf(dValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class
Public Class CurrStringMachiningParam
Inherits StringMachiningParam
Private m_DbParam As StringMachiningParam
Public ReadOnly Property DbParam As StringMachiningParam
Get
Return m_DbParam
End Get
End Property
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_sValue <> m_DbParam.sOrigValue
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nIndex As Integer)
MyBase.New(Type, nIndex)
m_sValue = sValue
m_sOrigValue = m_sValue
End Sub
Friend Overrides Sub WriteParamInPart(nIndex As Integer)
Select Case Type
'Case Params.STRANDH
'EgtSetInfo(nPartId, MAC_STRANDH, sWriteValue)
End Select
End Sub
Friend Overrides Sub SaveParam()
m_sOrigValue = m_sValue
End Sub
Friend Overrides Sub ResetParam()
m_sValue = m_sOrigValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
ResetParam()
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class
Public Class CurrComboMachiningParam
Inherits ComboMachiningParam
Public Overrides Property SelValue As IdNameStruct
Get
Return m_SelValue
End Get
Set(value As IdNameStruct)
m_SelValue = value
NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Set
End Property
Private m_DbParam As ComboMachiningParam
Public ReadOnly Property DbParam As ComboMachiningParam
Get
Return m_DbParam
End Get
End Property
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_SelValue.Id <> m_DbParam.OrigSelValue.Id
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
MyBase.New(Type, nIndex)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.STRANDORDER
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside"),
New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside")})
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_STRANDORDER, nSelValue)
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.DIRECTION
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_DIRECTIONS.CCW, "Counterclockwise"),
New IdNameStruct(Machining.MPAR_DIRECTIONS.CW, "Clockwise")})
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_DIRECTION, nSelValue)
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.LINKTYPE
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LINKTYPES.NONE, "None"),
New IdNameStruct(Machining.MPAR_LINKTYPES.LINEAR, "Linear"),
New IdNameStruct(Machining.MPAR_LINKTYPES.BIARC, "Biarc")})
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_LINKTYPE, nSelValue)
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.LEADIN
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"),
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADIN, nSelValue)
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
Case Params.LEADOUT
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_LEADINOUT.NONE, "None"),
New IdNameStruct(Machining.MPAR_LEADINOUT.LINEAR, "Linear"),
New IdNameStruct(Machining.MPAR_LEADINOUT.ARC, "Arc")})
Dim nSelValue As Integer = 0
bReadFromPart = EgtGetInfo(nPartId, MAC_LEADOUT, nSelValue)
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
End Select
m_OrigSelValue = m_SelValue
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.STRANDORDER, Params.DIRECTION
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LINKTYPE
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LINK).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LEADIN
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADIN).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
Case Params.LEADOUT
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.LEADOUT).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select
If bForceFromDb OrElse Not bReadFromPart Then
m_SelValue = m_DbParam.OrigSelValue
m_OrigSelValue = m_DbParam.OrigSelValue
End If
End If
End Sub
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
Select Case Type
Case Params.STRANDORDER
EgtSetInfo(nPartId, MAC_STRANDORDER, m_SelValue.Id)
Case Params.DIRECTION
EgtSetInfo(nPartId, MAC_DIRECTION, m_SelValue.Id)
Case Params.LINKTYPE
EgtSetInfo(nPartId, MAC_LINKTYPE, m_SelValue.Id)
Case Params.LEADIN
EgtSetInfo(nPartId, MAC_LEADIN, m_SelValue.Id)
Case Params.LEADOUT
EgtSetInfo(nPartId, MAC_LEADOUT, m_SelValue.Id)
End Select
End Sub
Friend Overrides Sub SaveParam()
m_OrigSelValue = m_SelValue
End Sub
Friend Overrides Sub ResetParam()
m_SelValue = m_OrigSelValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_SelValue = DbParam.OrigSelValue
NotifyPropertyChanged(NameOf(SelValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class
Public Class CurrCheckMachiningParam
Inherits CheckMachiningParam
Public Overrides Property bValue As Boolean
Get
Return m_bValue
End Get
Set(value As Boolean)
m_bValue = value
NotifyPropertyChanged(NameOf(bValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Set
End Property
Private m_DbParam As CheckMachiningParam
Public ReadOnly Property DbParam As CheckMachiningParam
Get
Return m_DbParam
End Get
End Property
Public ReadOnly Property bIsModifiedFromDb As Boolean
Get
Return m_bValue <> m_DbParam.bOrigValue
End Get
End Property
' Definizione comandi
Private m_cmdResetParam As ICommand
Sub New(Type As Params, nPartId As Integer, nIndex As Integer, bForceFromDb As Boolean)
MyBase.New(Type, nIndex)
Dim bReadFromPart As Boolean = False
Select Case Type
Case Params.SLICING45
bReadFromPart = EgtGetInfo(nPartId, MAC_SLICING45, m_bValue)
End Select
m_bOrigValue = m_bValue
If nIndex > 0 Then
Dim DbMachining As Machining = Map.refMachiningDbVM.MachiningList.FirstOrDefault(Function(x) x.nIndex = nIndex)
Select Case Type
Case Params.SLICING45
m_DbParam = DbMachining.CathegoryList.FirstOrDefault(Function(y) y.Type = MachiningCathegory.Cathegories.GENERAL).MachiningParamList.FirstOrDefault(Function(z) z.Type = m_Type)
End Select
If bForceFromDb OrElse Not bReadFromPart Then
m_bValue = m_DbParam.bOrigValue
m_bOrigValue = m_DbParam.bOrigValue
End If
End If
End Sub
Friend Overrides Sub WriteParamInPart(nPartId As Integer)
Select Case Type
Case Params.SLICING45
EgtSetInfo(nPartId, MAC_SLICING45, If(m_bValue, 1, 0))
End Select
End Sub
Friend Overrides Sub SaveParam()
m_bOrigValue = m_bValue
End Sub
Friend Overrides Sub ResetParam()
m_bValue = m_bOrigValue
End Sub
#Region "COMMANDS"
#Region "ResetParam"
Public ReadOnly Property ResetParam_Command As ICommand
Get
If m_cmdResetParam Is Nothing Then
m_cmdResetParam = New Command(AddressOf ResetParamCmd)
End If
Return m_cmdResetParam
End Get
End Property
Public Sub ResetParamCmd()
m_bValue = DbParam.bOrigValue
NotifyPropertyChanged(NameOf(bValue))
NotifyPropertyChanged(NameOf(bIsModifiedFromDb))
End Sub
#End Region ' ResetParam
#End Region ' COMMANDS
End Class