91582b4ab9
- corretto errore di modifica alpha colore dopo creazione degli strand - eliminata la colonna FMin
636 lines
25 KiB
VB.net
636 lines
25 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.Reflection
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class FilledSolidParamPanelVM
|
|
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.SetRefFilledSolidParamPanelVM(Me)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTORS
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub Init()
|
|
If IsNothing(Map.refFilledSolidPanelVM.SelFilledSolid) Then
|
|
' ripristino modalita' standard
|
|
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
|
Return
|
|
End If
|
|
Dim nPartId As Integer = Map.refTopPanelVM.SelPart.nPartId
|
|
Dim nFilledSolidId As Integer = GDB_ID.NULL
|
|
Select Case Map.refFilledSolidPanelVM.SelFilledSolid.Type
|
|
Case RibEntity.RibTypes.FROMDRAW
|
|
nFilledSolidId = Map.refFilledSolidPanelVM.SelFilledSolid.nCurveId
|
|
Case RibEntity.RibTypes.FROMIMPORT
|
|
nFilledSolidId = Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId
|
|
End Select
|
|
|
|
m_Type = Cathegories.AUX_SOLID
|
|
m_sName = "Filled Solid"
|
|
m_MachiningParamList = New List(Of MachiningParam)({New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDWIDTH, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSINFILL, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidCheckMachiningParam(MachiningParam.Params.AUXSOLIDSINFILLLINK, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDCOUNT, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSSTRANDORDER, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidComboMachiningParam(MachiningParam.Params.AUXSOLIDSLINKTYPE, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSLINKPARAM, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETLEADPOINT, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDENSITY, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSGRIDOVERLAP, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSDIRECTION, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETX, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOFFSETY, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSOVERLAP, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSCOASTINGLEN, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPELEN, nFilledSolidId, nPartId, Me),
|
|
New FilledSolidNumericMachiningParam(MachiningParam.Params.AUXSOLIDSWIPEDIR, nFilledSolidId, nPartId, Me)})
|
|
NotifyPropertyChanged(NameOf(MachiningParamList))
|
|
NotifyPropertyChanged(NameOf(sName))
|
|
' verifico dipendenze tra parametri
|
|
Select Case m_Type
|
|
Case Cathegories.AUX_SOLID
|
|
For Each Param In {MachiningParam.Params.AUXSOLIDSINFILL}
|
|
Dim MachiningParam As ComboMachiningParam = MachiningParamList.FirstOrDefault(Function(z) z.Type = Param)
|
|
MachiningParam.ManageDependencyParam()
|
|
Next
|
|
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 WriteParamsInFilledSolid(nRibId As Integer)
|
|
' se parametri modificati
|
|
Dim bModified As Boolean = False
|
|
For Each Param In m_MachiningParamList
|
|
Select Case Param.GetType()
|
|
Case GetType(FilledSolidNumericMachiningParam)
|
|
Dim NumericParam As FilledSolidNumericMachiningParam = TryCast(Param, FilledSolidNumericMachiningParam)
|
|
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
|
|
NumericParam.WriteParamInFilledSolid(nRibId)
|
|
Case GetType(FilledSolidComboMachiningParam)
|
|
Dim NumericParam As FilledSolidComboMachiningParam = TryCast(Param, FilledSolidComboMachiningParam)
|
|
If NumericParam.bIsModified AndAlso Not bModified Then bModified = True
|
|
NumericParam.WriteParamInFilledSolid(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.refFilledSolidPanelVM.SelFilledSolid) Then
|
|
' scrivo i parametri modificati
|
|
Select Case Map.refFilledSolidPanelVM.SelFilledSolid.Type
|
|
Case FilledSolidEntity.FilledSolidTypes.FROMDRAW
|
|
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nCurveId)
|
|
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId)
|
|
Case FilledSolidEntity.FilledSolidTypes.FROMIMPORT
|
|
WriteParamsInFilledSolid(Map.refFilledSolidPanelVM.SelFilledSolid.nExtrusionId)
|
|
End Select
|
|
End If
|
|
' ripristino modalita' standard
|
|
Map.refRightPanelVM.SetSelPanel(RightPanelVM.Panels.NULL)
|
|
Map.refFilledSolidPanelVM.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.refFilledSolidPanelVM.ResetMachParamIsChecked()
|
|
End Sub
|
|
|
|
#End Region ' Cancel
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
Public Class FilledSolidNumericMachiningParam
|
|
Inherits NumericMachiningParam
|
|
|
|
Public Overrides Property sValue 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(sValue))
|
|
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, nFilledSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
|
MyBase.New(Type, Cathegory)
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.AUXSOLIDSSTRANDWIDTH
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDWIDTH, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSSTRANDCOUNT
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDCOUNT, m_dPartValue)
|
|
m_bIsLen = False
|
|
Case Params.AUXSOLIDSOVERLAP
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSOVERLAP, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSLINKPARAM
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKPARAM, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETLEADPOINT, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSDENSITY
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSDENSITY, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSGRIDOVERLAP
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSGRIDOVERLAP, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSDIRECTION
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSDIRECTION, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSOFFSETX
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETX, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSOFFSETY
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSOFFSETY, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSCOASTINGLEN
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSCOASTINGLEN, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSWIPELEN
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPELEN, m_dPartValue)
|
|
m_bIsLen = True
|
|
Case Params.AUXSOLIDSWIPEDIR
|
|
bReadFromPart = EgtGetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR, m_dValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSWIPEDIR, 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 WriteParamInFilledSolid(nFilledSolidId 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.AUXSOLIDSSTRANDWIDTH
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDWIDTH)
|
|
End If
|
|
Case Params.AUXSOLIDSSTRANDCOUNT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTRANDCOUNT)
|
|
End If
|
|
Case Params.AUXSOLIDSOVERLAP
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOVERLAP)
|
|
End If
|
|
Case Params.AUXSOLIDSLINKPARAM
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSLINKPARAM)
|
|
End If
|
|
Case Params.AUXSOLIDSSTARTPOINTOFFSETONSLICE
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSSTARTPOINTOFFSETONSLICE)
|
|
End If
|
|
Case Params.AUXSOLIDSOFFSETLEADPOINT
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETLEADPOINT)
|
|
End If
|
|
Case Params.AUXSOLIDSDENSITY
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDENSITY)
|
|
End If
|
|
Case Params.AUXSOLIDSGRIDOVERLAP
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSGRIDOVERLAP)
|
|
End If
|
|
Case Params.AUXSOLIDSDIRECTION
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSDIRECTION)
|
|
End If
|
|
Case Params.AUXSOLIDSOFFSETX
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETX)
|
|
End If
|
|
Case Params.AUXSOLIDSOFFSETY
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSOFFSETY)
|
|
End If
|
|
Case Params.AUXSOLIDSCOASTINGLEN
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSCOASTINGLEN)
|
|
End If
|
|
Case Params.AUXSOLIDSWIPELEN
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSWIPELEN)
|
|
End If
|
|
Case Params.AUXSOLIDSWIPEDIR
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR, sWriteValue)
|
|
Else
|
|
EgtRemoveInfo(nFilledSolidId, MAC_AUXSOLIDSWIPEDIR)
|
|
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 FilledSolidComboMachiningParam
|
|
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))
|
|
ManageDependencyParam()
|
|
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.AUXSOLIDSINFILL
|
|
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_INFILL_TYPE.NONE, "None"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.OFFSET, "Offset"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG, "ZigZag"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.LINES, "Lines"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.GRID, "Grid"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.ZIGZAG_GRID, "Zigzag Grid"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB, "Honeycomb"),
|
|
New IdNameStruct(Machining.MPAR_INFILL_TYPE.HONEYCOMB_GRID, "Honeycomb Grid")})
|
|
Dim nSelValue As Integer = 1
|
|
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSINFILL, nSelValue)
|
|
If bReadFromRib Then
|
|
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
End If
|
|
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILL, nSelValue)
|
|
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
Case Params.AUXSOLIDSSTRANDORDER
|
|
m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Machining.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside"),
|
|
New IdNameStruct(Machining.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside")})
|
|
Dim nSelValue As Integer = 1
|
|
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER, nSelValue)
|
|
If bReadFromRib Then
|
|
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
End If
|
|
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSSTRANDORDER, nSelValue)
|
|
m_PartSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
Case Params.AUXSOLIDSLINKTYPE
|
|
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 = 1
|
|
bReadFromRib = EgtGetInfo(nRibId, MAC_AUXSOLIDSLINKTYPE, nSelValue)
|
|
If bReadFromRib Then
|
|
m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = nSelValue)
|
|
End If
|
|
bReadFromPart = EgtGetInfo(nPartId, MAC_AUXSOLIDSLINKTYPE, 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
|
|
Else
|
|
Select Case Type
|
|
Case Params.AUXSOLIDSINFILL
|
|
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_INFILL_TYPE.NONE)
|
|
m_SelValue = m_OrigSelValue
|
|
Case Params.AUXSOLIDSSTRANDORDER
|
|
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_STRANDORDERS.OUTTOIN)
|
|
m_SelValue = m_OrigSelValue
|
|
Case Params.AUXSOLIDSLINKTYPE
|
|
m_OrigSelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = Machining.MPAR_LINKTYPES.NONE)
|
|
m_SelValue = m_OrigSelValue
|
|
End Select
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub WriteParamInFilledSolid(nRibId As Integer)
|
|
Select Case Type
|
|
Case Params.AUXSOLIDSINFILL
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_AUXSOLIDSINFILL, m_SelValue.Id)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSINFILL)
|
|
End If
|
|
Case Params.AUXSOLIDSSTRANDORDER
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER, m_SelValue.Id)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSSTRANDORDER)
|
|
End If
|
|
Case Params.AUXSOLIDSLINKTYPE
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nRibId, MAC_AUXSOLIDSLINKTYPE, m_SelValue.Id)
|
|
Else
|
|
EgtRemoveInfo(nRibId, MAC_AUXSOLIDSLINKTYPE)
|
|
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 FilledSolidCheckMachiningParam
|
|
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, nAuxSolidId As Integer, nPartId As Integer, Cathegory As MachiningCathegory)
|
|
MyBase.New(Type, Cathegory)
|
|
Dim bReadFromPart As Boolean = False
|
|
Select Case Type
|
|
Case Params.AUXSOLIDSINFILLLINK
|
|
bReadFromPart = EgtGetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, m_bValue)
|
|
EgtGetInfo(nPartId, MAC_AUXSOLIDSINFILLLINK, 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(nAuxSolidId As Integer)
|
|
Select Case Type
|
|
Case Params.AUXSOLIDSINFILLLINK
|
|
If bIsModifiedFromPart Then
|
|
EgtSetInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK, If(m_bValue, 1, 0))
|
|
Else
|
|
EgtRemoveInfo(nAuxSolidId, MAC_AUXSOLIDSINFILLLINK)
|
|
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
|