6d18e9eba5
- correzione per conversioni di stringhe in double e viceversa.
680 lines
25 KiB
VB.net
680 lines
25 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class RibParamPanelVM
|
|
Inherits MachiningCathegory
|
|
|
|
#Region "FIELDS & PROPERTIES"
|
|
|
|
' Definizione comandi
|
|
Private m_cmdOk As ICommand
|
|
Private m_cmdCancel As ICommand
|
|
Private m_cmdCopyFrom As ICommand
|
|
|
|
#End Region ' FIELDS & PROPERTIES
|
|
|
|
#Region "CONSTRUCTORS"
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in EgtCAM5Map
|
|
Map.SetRefRibParamPanelVM(Me)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTORS
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub Init()
|
|
If IsNothing(Map.refRibPanelVM.SelRib) Then
|
|
' ripristino modalita' standard
|
|
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
|
Return
|
|
End If
|
|
Dim nPartId As Integer = Map.refTopPanelVM.SelPart.nPartId
|
|
Dim nRibId As Integer = GDB_ID.NULL
|
|
Select Case Map.refRibPanelVM.SelRib.Type
|
|
Case RibEntity.RibTypes.FROMDRAW
|
|
nRibId = Map.refRibPanelVM.SelRib.nCurveId
|
|
Case RibEntity.RibTypes.FROMIMPORT
|
|
nRibId = Map.refRibPanelVM.SelRib.nExtrusionId
|
|
End Select
|
|
|
|
m_Type = Cathegories.RIBS
|
|
m_sName = "Ribs"
|
|
m_MachiningParamList = New List(Of MachiningParam)({New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDWIDTH, nRibId, nPartId, Me),
|
|
New RibComboMachiningParam(MachiningParam.Params.RIBSTYPE, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDOVERLAP, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSLINK, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLINKFILLET, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSMERGEWITHSHELL, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSINVERTSTRANDORDER, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nRibId, nPartId, Me),
|
|
New RibCheckMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId, Me),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADFILLET, nRibId, nPartId, Me)})
|
|
NotifyPropertyChanged(NameOf(MachiningParamList))
|
|
NotifyPropertyChanged(NameOf(sName))
|
|
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 WriteParamsInRib(nRibId As Integer)
|
|
' se parametri modificati
|
|
Dim bModified As Boolean = False
|
|
For Each Param In m_MachiningParamList
|
|
Select Case Param.GetType()
|
|
Case GetType(RibNumericMachiningParam)
|
|
Dim NumericParam As RibNumericMachiningParam = TryCast(Param, RibNumericMachiningParam)
|
|
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
|
|
NumericParam.WriteParamInRib(nRibId)
|
|
Case GetType(RibComboMachiningParam)
|
|
Dim ComboParam As RibComboMachiningParam = TryCast(Param, RibComboMachiningParam)
|
|
If ComboParam.bIsModified AndAlso Not bModified Then bModified = True
|
|
ComboParam.WriteParamInRib(nRibId)
|
|
Case GetType(RibCheckMachiningParam)
|
|
Dim CheckParam As RibCheckMachiningParam = TryCast(Param, RibCheckMachiningParam)
|
|
If CheckParam.bIsModified AndAlso Not bModified Then bModified = True
|
|
CheckParam.WriteParamInRib(nRibId)
|
|
End Select
|
|
Next
|
|
If bModified Then
|
|
' Imposto flag di ricalcolo slice
|
|
EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_SLICE, True)
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "Ok"
|
|
|
|
Public ReadOnly Property Ok_Command As ICommand
|
|
Get
|
|
If m_cmdOk Is Nothing Then
|
|
m_cmdOk = New Command(AddressOf Ok)
|
|
End If
|
|
Return m_cmdOk
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub Ok()
|
|
If Not IsNothing(Map.refRibPanelVM.SelRib) Then
|
|
' verifico se modificata tipologia Ribs
|
|
Dim bIsModifiedRibsType As Boolean = False
|
|
Dim RibsTypeParam As MachiningParam = MachiningParamList.FirstOrDefault(Function(y) y.Type = MachiningParam.Params.RIBSTYPE)
|
|
If Not IsNothing(RibsTypeParam) Then
|
|
bIsModifiedRibsType = RibsTypeParam.bIsModified
|
|
End If
|
|
' scrivo i parametri modificati
|
|
Select Case Map.refRibPanelVM.SelRib.Type
|
|
Case RibEntity.RibTypes.FROMDRAW
|
|
WriteParamsInRib(Map.refRibPanelVM.SelRib.nCurveId)
|
|
WriteParamsInRib(Map.refRibPanelVM.SelRib.nExtrusionId)
|
|
Case RibEntity.RibTypes.FROMIMPORT
|
|
WriteParamsInRib(Map.refRibPanelVM.SelRib.nExtrusionId)
|
|
End Select
|
|
SaveCurrParams()
|
|
' se modificata tipologia Ribs, aggiorno posizione riferimento e pezzo
|
|
If bIsModifiedRibsType Then
|
|
Map.refReferencePanelVM.UpdateFramePosition()
|
|
Map.refDispositionPanelVM.UpdateZPos()
|
|
Map.refSliceManagerVM.UpdateDimensions()
|
|
End If
|
|
End If
|
|
' riattivo lista ribs
|
|
Map.refRibPanelVM.SetRibListIsEnabled(False)
|
|
' ripristino modalita' standard
|
|
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
|
Map.refRibPanelVM.ResetMachParamIsChecked()
|
|
End Sub
|
|
|
|
#End Region ' Ok
|
|
|
|
#Region "Cancel"
|
|
|
|
Public ReadOnly Property Cancel_Command As ICommand
|
|
Get
|
|
If m_cmdCancel Is Nothing Then
|
|
m_cmdCancel = New Command(AddressOf Cancel)
|
|
End If
|
|
Return m_cmdCancel
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub Cancel()
|
|
' ripristino modalita' standard
|
|
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
|
Map.refRibPanelVM.ResetMachParamIsChecked()
|
|
End Sub
|
|
|
|
#End Region ' Cancel
|
|
|
|
#Region "CopyFrom"
|
|
|
|
Public ReadOnly Property CopyFrom_Command As ICommand
|
|
Get
|
|
If m_cmdCopyFrom Is Nothing Then
|
|
m_cmdCopyFrom = New Command(AddressOf CopyFrom)
|
|
End If
|
|
Return m_cmdCopyFrom
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub CopyFrom()
|
|
Dim CopyFromWndVM As New CopyFromWndVM
|
|
Dim CopyFromWndV As New CopyFromWndV(Application.Current.MainWindow, CopyFromWndVM)
|
|
CopyFromWndV.ShowDialog()
|
|
Dim x = CopyFromWndVM.SelRib
|
|
End Sub
|
|
|
|
#End Region ' CopyFrom
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
Public Class RibNumericMachiningParam
|
|
Inherits NumericMachiningParam
|
|
|
|
Public Overrides Property sValue As String
|
|
Get
|
|
Return If(m_bIsLen, LenToString(m_dValue, 2), DoubleToString(m_dValue, 2))
|
|
End Get
|
|
Set(value As String)
|
|
If m_bIsLen Then
|
|
StringToLen(value, m_dValue)
|
|
Else
|
|
StringToDouble(value, m_dValue)
|
|
End If
|
|
NotifyPropertyChanged(NameOf(sValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Set
|
|
End Property
|
|
Friend Sub SetValue(value As Double)
|
|
m_dValue = value
|
|
NotifyPropertyChanged(NameOf(sValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Sub
|
|
|
|
Private m_dPartValue As Double
|
|
Public ReadOnly Property dPartValue As Double
|
|
Get
|
|
Return m_dPartValue
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
|
Get
|
|
Return m_dValue <> m_dPartValue
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdResetParam As ICommand
|
|
|
|
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
|
MyBase.New(Type, Cathegory)
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.RIBSSTRANDWIDTH
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDWIDTH, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSSTRANDWIDTH, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSOVERLAP
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSOVERLAP, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dPartValue)
|
|
m_bIsLen = False
|
|
Case Params.RIBSSTRANDOVERLAP
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSSTRANDOVERLAP, m_dPartValue)
|
|
m_bIsLen = False
|
|
Case Params.RIBSSTRANDCOUNT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLINKFILLET
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLINKFILLET, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLINKFILLET, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSINVERTDIRECTION
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTDIRECTION, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSINVERTSTRANDORDER
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADININVERT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADININVERT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADINLEN
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADINLEN, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADINLEN, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADOUTINVERT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTINVERT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADOUTLEN
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTLEN, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTLEN, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADOUTCOASTING
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTCOASTING, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTCOASTING, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADOUTWIPE
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTWIPE, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPE, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADOUTWIPEDIR
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTWIPEDIR, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSLEADFILLET
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADFILLET, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADFILLET, m_dPartValue)
|
|
m_bIsLen = True
|
|
End Select
|
|
m_dOrigValue = m_dValue
|
|
If Not bReadFromPart Then
|
|
m_dValue = m_dPartValue
|
|
m_dOrigValue = m_dPartValue
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub WriteParamInRib(nRibId 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.RIBSSTRANDWIDTH
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSSTRANDWIDTH, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDWIDTH)
|
|
End If
|
|
Case Params.RIBSOVERLAP
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSOVERLAP, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSOVERLAP)
|
|
End If
|
|
Case Params.RIBSSTRANDOVERLAP
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSSTRANDOVERLAP, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDOVERLAP)
|
|
End If
|
|
Case Params.RIBSSTRANDCOUNT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSSTRANDCOUNT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDCOUNT)
|
|
End If
|
|
Case Params.RIBSLINKFILLET
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLINKFILLET, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLINKFILLET)
|
|
End If
|
|
Case Params.RIBSINVERTDIRECTION
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSINVERTDIRECTION)
|
|
End If
|
|
Case Params.RIBSINVERTSTRANDORDER
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSINVERTSTRANDORDER)
|
|
End If
|
|
Case Params.RIBSLEADININVERT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADININVERT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADININVERT)
|
|
End If
|
|
Case Params.RIBSLEADINLEN
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADINLEN, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADINLEN)
|
|
End If
|
|
Case Params.RIBSLEADOUTINVERT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTINVERT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTINVERT)
|
|
End If
|
|
Case Params.RIBSLEADOUTLEN
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTLEN, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTLEN)
|
|
End If
|
|
Case Params.RIBSLEADOUTCOASTING
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTCOASTING, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTCOASTING)
|
|
End If
|
|
Case Params.RIBSLEADOUTWIPE
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTWIPE, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTWIPE)
|
|
End If
|
|
Case Params.RIBSLEADOUTWIPEDIR
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTWIPEDIR)
|
|
End If
|
|
Case Params.RIBSLEADFILLET
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADFILLET, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADFILLET)
|
|
End If
|
|
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 = m_dPartValue
|
|
NotifyPropertyChanged(NameOf(sValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Sub
|
|
|
|
#End Region ' ResetParam
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
Public Class RibComboMachiningParam
|
|
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(bIsModifiedFromPart))
|
|
End Set
|
|
End Property
|
|
|
|
Protected m_PartSelValue As IdNameStruct
|
|
Public ReadOnly Property PartSelValue As IdNameStruct
|
|
Get
|
|
Return m_PartSelValue
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
|
Get
|
|
Return m_SelValue.Id <> m_PartSelValue.Id
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdResetParam As ICommand
|
|
|
|
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
|
MyBase.New(Type, Cathegory)
|
|
Dim bReadFromRib As Boolean = False
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.RIBSTYPE
|
|
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_RIBSTYPE.INTERNAL, "Internal"),
|
|
New IdNameStruct(Machining.MPAR_RIBSTYPE.EXTERNAL, "External"),
|
|
New IdNameStruct(Machining.MPAR_RIBSTYPE.UNBOUNDED, "Unbounded"),
|
|
New IdNameStruct(Machining.MPAR_RIBSTYPE.SUPPORT, "Support")})
|
|
Dim nSelValue As Integer = 1
|
|
bReadFromRib = EgtGetInfo(nRibId, MAC_RIBSTYPE, nSelValue)
|
|
If bReadFromRib Then
|
|
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
End If
|
|
bReadFromPart = EgtGetInfo(nPartId, MAC_RIBSTYPE, nSelValue)
|
|
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
End Select
|
|
m_OrigSelValue = m_SelValue
|
|
If Not bReadFromRib Then
|
|
If bReadFromPart Then
|
|
m_SelValue = m_PartSelValue
|
|
m_OrigSelValue = m_PartSelValue
|
|
ElseIf Type = Params.RIBSTYPE Then
|
|
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_RIBSTYPE.INTERNAL)
|
|
m_SelValue = m_OrigSelValue
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub WriteParamInRib(nRibId As Integer)
|
|
Select Case Type
|
|
Case Params.RIBSTYPE
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSTYPE, m_SelValue.Id)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSTYPE)
|
|
End If
|
|
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 = m_PartSelValue
|
|
NotifyPropertyChanged(NameOf(SelValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Sub
|
|
|
|
#End Region ' ResetParam
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
|
|
End Class
|
|
|
|
Public Class RibCheckMachiningParam
|
|
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(bIsModifiedFromPart))
|
|
End Set
|
|
End Property
|
|
|
|
Protected m_bPartValue As Boolean
|
|
Public ReadOnly Property bPartValue As Boolean
|
|
Get
|
|
Return m_bPartValue
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property bIsModifiedFromPart As Boolean
|
|
Get
|
|
Return m_bValue <> m_bPartValue
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdResetParam As ICommand
|
|
|
|
Sub New(Type As Params, nRibId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
|
MyBase.New(Type, Cathegory)
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.RIBSLINK
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLINK, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLINK, m_bPartValue)
|
|
Case Params.RIBSMERGEWITHSHELL
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSMERGEWITHSHELL, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSMERGEWITHSHELL, m_bPartValue)
|
|
Case Params.RIBSINVERTDIRECTION
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTDIRECTION, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSINVERTDIRECTION, m_bPartValue)
|
|
Case Params.RIBSINVERTSTRANDORDER
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSINVERTSTRANDORDER, m_bPartValue)
|
|
Case Params.RIBSLEADININVERT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADININVERT, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADININVERT, m_bPartValue)
|
|
Case Params.RIBSLEADOUTINVERT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSLEADOUTINVERT, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSLEADOUTINVERT, m_bPartValue)
|
|
End Select
|
|
m_bOrigValue = m_bValue
|
|
If Not bReadFromPart Then
|
|
m_bValue = m_bPartValue
|
|
m_bOrigValue = m_bPartValue
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub WriteParamInRib(nRibId As Integer)
|
|
Select Case Type
|
|
Case Params.RIBSLINK
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLINK, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLINK)
|
|
End If
|
|
Case Params.RIBSMERGEWITHSHELL
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSMERGEWITHSHELL, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSMERGEWITHSHELL)
|
|
End If
|
|
Case Params.RIBSINVERTDIRECTION
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSINVERTDIRECTION)
|
|
End If
|
|
Case Params.RIBSINVERTSTRANDORDER
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSINVERTSTRANDORDER, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSINVERTSTRANDORDER)
|
|
End If
|
|
Case Params.RIBSLEADININVERT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADININVERT, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADININVERT)
|
|
End If
|
|
Case Params.RIBSLEADOUTINVERT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSLEADOUTINVERT, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSLEADOUTINVERT)
|
|
End If
|
|
End Select
|
|
End Sub
|
|
|
|
Friend Overrides Sub SaveParam()
|
|
m_bOrigValue = m_bValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub ResetParam()
|
|
m_bValue = m_bOrigValue
|
|
NotifyPropertyChanged(NameOf(bValue))
|
|
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 = m_bPartValue
|
|
NotifyPropertyChanged(NameOf(bValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Sub
|
|
|
|
#End Region ' ResetParam
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
|
|
End Class
|