0532c0c486
- gestione ribs completata - nuove funzionalita' introdotte su tabella TFS - correzioni e migliorie varie
376 lines
14 KiB
VB.net
376 lines
14 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
|
|
|
|
#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.RIBSOVERLAP, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nRibId, nPartId),
|
|
New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPEDIR, nRibId, nPartId)})
|
|
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)
|
|
For Each Param As RibNumericMachiningParam In m_MachiningParamList
|
|
Param.WriteParamInRib(nRibId)
|
|
Next
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
|
|
|
|
'Friend Sub UpdateIsModified()
|
|
' m_bIsModified = m_CathegoryList.Any(Function(x) x.MachiningParamList.Any(Function(y) y.bIsModified))
|
|
'End Sub
|
|
|
|
'Sub New()
|
|
' m_CathegoryList.Add(New MachiningCathegory(MachiningCathegory.Cathegories.RIBS, nIndex))
|
|
' For Each Cathegory In m_CathegoryList
|
|
' For Each MachiningParam In Cathegory.MachiningParamList
|
|
' AddHandler MachiningParam.PropertyChanged, AddressOf OnMachiningParamPropertyChanged
|
|
' Next
|
|
' Next
|
|
'End Sub
|
|
|
|
#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
|
|
' 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
|
|
End If
|
|
' 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
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
'Public Class RibMachiningCathegory
|
|
' 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.RIBS
|
|
' m_sName = "Ribs"
|
|
' m_MachiningParamList = New List(Of MachiningParam)({New RibNumericMachiningParam(MachiningParam.Params.RIBSOVERLAP, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSSTRANDCOUNT, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSINVERTDIRECTION, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADININVERT, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADINLEN, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTINVERT, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTLEN, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTCOASTING, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(MachiningParam.Params.RIBSLEADOUTWIPE, nPartId, nIndex, bForceFromDb),
|
|
' New RibNumericMachiningParam(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 RibNumericMachiningParam
|
|
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(bIsModifiedFromPart))
|
|
End Set
|
|
End Property
|
|
|
|
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)
|
|
MyBase.New(Type)
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.RIBSOVERLAP
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSOVERLAP, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSOVERLAP, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.RIBSSTRANDCOUNT
|
|
bReadFromPart = EgtGetInfo(nRibId, MAC_RIBSSTRANDCOUNT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_RIBSSTRANDCOUNT, 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.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
|
|
End Select
|
|
m_dOrigValue = m_dValue
|
|
If Not bReadFromPart Then
|
|
m_dValue = 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.RIBSOVERLAP
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSOVERLAP, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSOVERLAP)
|
|
End If
|
|
Case Params.RIBSSTRANDCOUNT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSSTRANDCOUNT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSSTRANDCOUNT)
|
|
End If
|
|
Case Params.RIBSINVERTDIRECTION
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_RIBSINVERTDIRECTION, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_RIBSINVERTDIRECTION)
|
|
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
|
|
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(dValue))
|
|
NotifyPropertyChanged(NameOf(bIsModifiedFromPart))
|
|
End Sub
|
|
|
|
#End Region ' ResetParam
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|