40970b417a
- assegnazione default nuovi parametri di materiali - sistemazione esportazione 3mf/stl - assegnazione direttorio base dei file lua in esecuzione degli stessi.
869 lines
30 KiB
VB.net
869 lines
30 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.ComponentModel
|
|
Imports System.Text
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class Material
|
|
Inherits VMBase
|
|
|
|
Private m_CathegoryList As New ObservableCollection(Of MaterialCathegory)
|
|
Public ReadOnly Property CathegoryList As ObservableCollection(Of MaterialCathegory)
|
|
Get
|
|
Return m_CathegoryList
|
|
End Get
|
|
End Property
|
|
|
|
Private m_bIsModified As Boolean
|
|
Public ReadOnly Property bIsModified As Boolean
|
|
Get
|
|
Return m_bIsModified
|
|
End Get
|
|
End Property
|
|
Friend Sub UpdateIsModified()
|
|
m_bIsModified = m_CathegoryList.Any(Function(x) x.MaterialParamList.Any(Function(y) y.bIsModified))
|
|
NotifyPropertyChanged(NameOf(ghName))
|
|
End Sub
|
|
|
|
Private m_nIndex As Integer
|
|
Public ReadOnly Property nIndex As Integer
|
|
Get
|
|
Return m_nIndex
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sGUID As String
|
|
Public ReadOnly Property sGUID As String
|
|
Get
|
|
Return m_sGUID
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sName As String
|
|
Public Property sName As String
|
|
Get
|
|
Return m_sName
|
|
End Get
|
|
Set(value As String)
|
|
m_sName = value
|
|
Map.refMaterialDbVM.SetNameVisibility(False)
|
|
NotifyPropertyChanged(NameOf(ghName))
|
|
End Set
|
|
End Property
|
|
Public ReadOnly Property ghName As String
|
|
Get
|
|
Return m_sName & If(m_bIsModified, "*", "")
|
|
End Get
|
|
End Property
|
|
|
|
' per lettura da file
|
|
Sub New(nIndex As Integer)
|
|
m_nIndex = nIndex
|
|
ReadMaterialParamString(nIndex, MAT_GUID, "", m_sGUID)
|
|
ReadMaterialParamString(nIndex, MAT_NAME, "", m_sName)
|
|
'EgtGetStringUtf8FromIni(nIndex, MAT_NAME, "", m_sName, sMatIniFilePath)
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nIndex))
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.TEMPERATURES, nIndex))
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.CONSTANT, nIndex))
|
|
For Each Cathegory In m_CathegoryList
|
|
For Each MaterialParam In Cathegory.MaterialParamList
|
|
AddHandler MaterialParam.PropertyChanged, AddressOf OnMaterialParamPropertyChanged
|
|
Next
|
|
Next
|
|
End Sub
|
|
|
|
' per copia
|
|
Sub New()
|
|
m_nIndex = Map.refMaterialDbVM.MaterialList.Max(Function(x) x.nIndex) + 1
|
|
m_sGUID = Guid.NewGuid.ToString()
|
|
m_sName = "New Material Param"
|
|
Dim nCopyIndex As Integer = Map.refMaterialDbVM.SelMaterial.m_nIndex
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.GENERAL, nCopyIndex))
|
|
Dim Orig As StringMaterialParam = m_CathegoryList(0).MaterialParamList.FirstOrDefault(Function(x) x.Type = MaterialParam.Params.ORIG)
|
|
If Not IsNothing(Orig) Then
|
|
Orig.SetGuid(Map.refMaterialDbVM.SelMaterial.m_sGUID)
|
|
End If
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.TEMPERATURES, nCopyIndex))
|
|
m_CathegoryList.Add(New MaterialCathegory(MaterialCathegory.Cathegories.CONSTANT, nCopyIndex))
|
|
For Each Cathegory In m_CathegoryList
|
|
For Each MaterialParam In Cathegory.MaterialParamList
|
|
AddHandler MaterialParam.PropertyChanged, AddressOf OnMaterialParamPropertyChanged
|
|
Next
|
|
Next
|
|
m_bIsModified = True
|
|
End Sub
|
|
|
|
Private Sub ReadAllParams()
|
|
'm_nSlicingType = ReadMaterialParamDouble(m_nIndex, MAC_SLICINGTYPE, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dStrandH = ReadMaterialParamDouble(m_nIndex, MAC_STRANDH, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dStrandW = ReadMaterialParamDouble(m_nIndex, MAC_STRANDW, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_nStrandCount = ReadMaterialParamDouble(m_nIndex, MAC_STRANDCOUNT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dOffset = ReadMaterialParamDouble(m_nIndex, MAC_OFFSET, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dStartPointOffsetOnSlice = ReadMaterialParamDouble(m_nIndex, MAC_STARTPOINTOFFSETONSLICE, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dStrandOrder = ReadMaterialParamDouble(m_nIndex, MAC_STRANDORDER, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dDirection = ReadMaterialParamDouble(m_nIndex, MAC_DIRECTION, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLinkType = ReadMaterialParamDouble(m_nIndex, MAC_LINKTYPE, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLinkParam = ReadMaterialParamDouble(m_nIndex, MAC_LINKPARAM, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLinkZup = ReadMaterialParamDouble(m_nIndex, MAC_LINKZUP, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dOffsetLeadPoint = ReadMaterialParamDouble(m_nIndex, MAC_OFFSETLEADPOINT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadIn = ReadMaterialParamDouble(m_nIndex, MAC_LEADIN, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadInTangDist = ReadMaterialParamDouble(m_nIndex, MAC_LEADINTANGDIST, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadInOrthoDist = ReadMaterialParamDouble(m_nIndex, MAC_LEADINORTHODIST, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadOut = ReadMaterialParamDouble(m_nIndex, MAC_LEADOUT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadOutTangDist = ReadMaterialParamDouble(m_nIndex, MAC_LEADOUTTANGDIST, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dLeadOutOrthoDist = ReadMaterialParamDouble(m_nIndex, MAC_LEADOUTORTHODIST, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dCoastingLen = ReadMaterialParamDouble(m_nIndex, MAC_COASTINGLEN, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dCoastingFeed = ReadMaterialParamDouble(m_nIndex, MAC_COASTINGFEED, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dWipeLen = ReadMaterialParamDouble(m_nIndex, MAC_WIPELEN, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dWipeFeedPu = ReadMaterialParamDouble(m_nIndex, MAC_WIPEFEEDPU, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dFloorCount = ReadMaterialParamDouble(m_nIndex, MAC_FLOORCOUNT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dG0Feed = ReadMaterialParamDouble(m_nIndex, MAC_G0FEED, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dToolDiam = ReadMaterialParamDouble(m_nIndex, MAC_TOOLDIAM, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsOverlap = ReadMaterialParamDouble(m_nIndex, MAC_RIBSOVERLAP, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsStrandCount = ReadMaterialParamDouble(m_nIndex, MAC_RIBSSTRANDCOUNT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLink = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLINK, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsInvertOrder = ReadMaterialParamDouble(m_nIndex, MAC_RIBSINVERTORDER, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsInvertDirection = ReadMaterialParamDouble(m_nIndex, MAC_RIBSINVERTDIRECTION, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadInInvert = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADININVERT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadInLen = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADINLEN, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadOutInvert = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTINVERT, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadOutLen = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTLEN, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadOutCoasting = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTCOASTING, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadOutWipe = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPE, 0, CurrentMachine.sMachiningFilePath)
|
|
'm_dRibsLeadOutWipeDir = ReadMaterialParamDouble(m_nIndex, MAC_RIBSLEADOUTWIPEDIR, 0, CurrentMachine.sMachiningFilePath)
|
|
End Sub
|
|
|
|
Friend Sub Save()
|
|
If bIsModified Then
|
|
' salvo tutti i parametri su orig
|
|
SaveParams()
|
|
' resetto stato di modificata
|
|
UpdateIsModified()
|
|
' segno Db come modificato
|
|
Map.refMaterialDbVM.SetIsModified(True)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub SaveParams()
|
|
For Each Cathegory In m_CathegoryList
|
|
Cathegory.SaveParams()
|
|
Next
|
|
End Sub
|
|
|
|
Friend Sub ResetModification()
|
|
If bIsModified Then
|
|
' annullo le modifiche di tutti i parametri
|
|
SaveParams()
|
|
' resetto stato di modificata
|
|
UpdateIsModified()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub ResetParams()
|
|
For Each Cathegory In m_CathegoryList
|
|
Cathegory.ResetParams()
|
|
Next
|
|
End Sub
|
|
|
|
Friend Sub WriteParamsOnDb(nIndex As Integer)
|
|
WriteMaterialParam(nIndex, MAT_GUID, m_sGUID)
|
|
WriteMaterialParam(nIndex, MAT_NAME, m_sName)
|
|
' EgtWriteStringUtf8toIni(nIndex, MAT_NAME, m_sName)
|
|
For Each Cathegory In m_CathegoryList
|
|
Cathegory.WriteParamOnDb(nIndex)
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub OnMaterialParamPropertyChanged(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.MaterialParamList.Any(Function(y) y.bIsModified))
|
|
NotifyPropertyChanged(NameOf(ghName))
|
|
End Select
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Class MaterialIndex
|
|
|
|
Private m_nIndex As Integer
|
|
Public ReadOnly Property nIndex As Integer
|
|
Get
|
|
Return m_nIndex
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sGUID As String
|
|
Public ReadOnly Property sGUID As String
|
|
Get
|
|
Return m_sGUID
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sName As String
|
|
Public ReadOnly Property sName As String
|
|
Get
|
|
Return m_sName
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(nIndex As Integer, sGUID As String, sName As String)
|
|
m_nIndex = nIndex
|
|
m_sGUID = sGUID
|
|
m_sName = sName
|
|
End Sub
|
|
|
|
Friend Function GetSelMaterialData(Param As MaterialParam.Params) As Double
|
|
Dim sParamKey As String = ""
|
|
Dim dDefault As Double = 0
|
|
Select Case Param
|
|
Case MaterialParam.Params.T1
|
|
sParamKey = MAT_T1
|
|
Case MaterialParam.Params.T2
|
|
sParamKey = MAT_T2
|
|
Case MaterialParam.Params.T3
|
|
sParamKey = MAT_T3
|
|
Case MaterialParam.Params.T4
|
|
sParamKey = MAT_T4
|
|
Case MaterialParam.Params.T5
|
|
sParamKey = MAT_T5
|
|
Case MaterialParam.Params.K_EXTRUSION
|
|
sParamKey = MAT_KEXTRUSION
|
|
dDefault = 100
|
|
Case MaterialParam.Params.K_LAY_TIME
|
|
sParamKey = MAT_KLAYERTIME
|
|
dDefault = 100
|
|
Case MaterialParam.Params.C1
|
|
sParamKey = MAT_C1
|
|
Case MaterialParam.Params.C2
|
|
sParamKey = MAT_C2
|
|
Case MaterialParam.Params.DENSITY
|
|
sParamKey = MAT_DENSITY
|
|
Case MaterialParam.Params.AMAX
|
|
sParamKey = MAT_AMAX
|
|
Case MaterialParam.Params.ATRG
|
|
sParamKey = MAT_ATRG
|
|
Case MaterialParam.Params.AMIN
|
|
sParamKey = MAT_AMIN
|
|
Case MaterialParam.Params.BMAX
|
|
sParamKey = MAT_BMAX
|
|
Case MaterialParam.Params.BTRG
|
|
sParamKey = MAT_BTRG
|
|
Case MaterialParam.Params.BMIN
|
|
sParamKey = MAT_BMIN
|
|
Case MaterialParam.Params.KW
|
|
sParamKey = MAT_KW
|
|
Case MaterialParam.Params.KZ
|
|
sParamKey = MAT_KZ
|
|
Case MaterialParam.Params.KN
|
|
sParamKey = MAT_KN
|
|
End Select
|
|
Return ReadMaterialParamDouble(m_nIndex, sParamKey, dDefault)
|
|
End Function
|
|
|
|
End Class
|
|
|
|
Public Class MaterialCathegory
|
|
Inherits VMBase
|
|
|
|
Public Enum Cathegories As Integer
|
|
GENERAL = 1
|
|
TEMPERATURES = 2
|
|
CONSTANT = 3
|
|
End Enum
|
|
|
|
Private m_Type As Cathegories
|
|
Public ReadOnly Property Type As Cathegories
|
|
Get
|
|
Return m_Type
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sName As String
|
|
Public ReadOnly Property sName As String
|
|
Get
|
|
Return m_sName
|
|
End Get
|
|
End Property
|
|
|
|
Private m_MaterialParamList As List(Of MaterialParam)
|
|
Public ReadOnly Property MaterialParamList As List(Of MaterialParam)
|
|
Get
|
|
Return m_MaterialParamList
|
|
End Get
|
|
End Property
|
|
|
|
Private m_Cathegory_IsExpanded As Boolean
|
|
Public Property Cathegory_IsExpanded As Boolean
|
|
Get
|
|
Return m_Cathegory_IsExpanded
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_Cathegory_IsExpanded = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_Cathegory_Visibility As Visibility = Visibility.Collapsed
|
|
Public ReadOnly Property Cathegory_Visibility As Visibility
|
|
Get
|
|
Return m_Cathegory_Visibility
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(Type As Cathegories, nIndex As Integer)
|
|
m_Type = Type
|
|
Select Case m_Type
|
|
Case Cathegories.GENERAL
|
|
m_sName = "General"
|
|
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.K_EXTRUSION, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.K_LAY_TIME, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.DENSITY, nIndex),
|
|
New StringMaterialParam(MaterialParam.Params.ORIG, nIndex)})
|
|
m_Cathegory_Visibility = Visibility.Visible
|
|
Case Cathegories.TEMPERATURES
|
|
m_sName = "Temperatures"
|
|
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.T1, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.T2, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.T3, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.T4, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.T5, nIndex)})
|
|
m_Cathegory_Visibility = Visibility.Visible
|
|
Case Cathegories.CONSTANT
|
|
m_sName = "Constant"
|
|
m_MaterialParamList = New List(Of MaterialParam)({New NumericMaterialParam(MaterialParam.Params.C1, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.C2, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.AMAX, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.ATRG, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.AMIN, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.BMAX, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.BTRG, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.BMIN, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.KW, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.KZ, nIndex),
|
|
New NumericMaterialParam(MaterialParam.Params.KN, nIndex)})
|
|
m_Cathegory_Visibility = If(Map.refMainWindowVM.MainWindowM.nUserLevel >= 5, Visibility.Visible, Visibility.Collapsed)
|
|
End Select
|
|
NotifyPropertyChanged(NameOf(Cathegory_Visibility))
|
|
End Sub
|
|
|
|
Friend Sub SaveParams()
|
|
For Each Param In m_MaterialParamList
|
|
Param.SaveParam()
|
|
Next
|
|
End Sub
|
|
|
|
Friend Sub ResetParams()
|
|
For Each Param In m_MaterialParamList
|
|
Param.ResetParam()
|
|
Next
|
|
End Sub
|
|
|
|
Friend Sub WriteParamOnDb(nIndex As Integer)
|
|
For Each Param In m_MaterialParamList
|
|
Param.WriteParamOnDb(nIndex)
|
|
Next
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public MustInherit Class MaterialParam
|
|
Inherits VMBase
|
|
|
|
Public Enum Params As Integer
|
|
NAME = 2
|
|
T1 = 3
|
|
T2 = 4
|
|
T3 = 5
|
|
T4 = 6
|
|
T5 = 7
|
|
K_EXTRUSION = 8
|
|
K_LAY_TIME = 9
|
|
C1 = 10
|
|
C2 = 11
|
|
DENSITY = 12
|
|
AMAX = 13
|
|
ATRG = 14
|
|
AMIN = 15
|
|
BMAX = 16
|
|
BTRG = 17
|
|
BMIN = 18
|
|
KW = 19
|
|
KZ = 20
|
|
KN = 21
|
|
ORIG = 22
|
|
End Enum
|
|
|
|
Private m_Type As Params
|
|
Public ReadOnly Property Type As Params
|
|
Get
|
|
Return m_Type
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sName As String
|
|
Public ReadOnly Property sName As String
|
|
Get
|
|
Return m_sName
|
|
End Get
|
|
End Property
|
|
|
|
Public MustOverride ReadOnly Property bIsModified As Boolean
|
|
|
|
Sub New(Type As Params)
|
|
m_Type = Type
|
|
Select Case m_Type
|
|
Case Params.T1
|
|
m_sName = "Temperature 1"
|
|
Case Params.T2
|
|
m_sName = "Temperature 2"
|
|
Case Params.T3
|
|
m_sName = "Temperature 3"
|
|
Case Params.T4
|
|
m_sName = "Temperature 4"
|
|
Case Params.T5
|
|
m_sName = "Temperature 5"
|
|
Case Params.K_EXTRUSION
|
|
m_sName = "Flow Multiplier [%]"
|
|
Case Params.K_LAY_TIME
|
|
m_sName = "Layer Time Multiplier [%]"
|
|
Case Params.C1
|
|
m_sName = "C1"
|
|
Case Params.C2
|
|
m_sName = "C2"
|
|
Case Params.DENSITY
|
|
m_sName = "Density"
|
|
Case Params.AMAX
|
|
m_sName = "A Max"
|
|
Case Params.ATRG
|
|
m_sName = "A Target"
|
|
Case Params.AMIN
|
|
m_sName = "A Min"
|
|
Case Params.BMAX
|
|
m_sName = "B Max"
|
|
Case Params.BTRG
|
|
m_sName = "B Target"
|
|
Case Params.BMIN
|
|
m_sName = "B Min"
|
|
Case Params.KW
|
|
m_sName = "KW"
|
|
Case Params.KZ
|
|
m_sName = "KZ"
|
|
Case Params.KN
|
|
m_sName = "KN"
|
|
Case Params.ORIG
|
|
m_sName = "Original"
|
|
End Select
|
|
End Sub
|
|
|
|
|
|
Friend MustOverride Sub WriteParamOnDb(nIndex As Integer)
|
|
Friend MustOverride Sub SaveParam()
|
|
Friend MustOverride Sub ResetParam()
|
|
|
|
End Class
|
|
|
|
Public Class NumericMaterialParam
|
|
Inherits MaterialParam
|
|
|
|
Private m_bIsLen As Boolean = False
|
|
|
|
Private m_dValue As Double
|
|
Public 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))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_dOrigValue As Double
|
|
Public ReadOnly Property dOrigValue As Double
|
|
Get
|
|
Return m_dOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Public Overrides ReadOnly Property bIsModified As Boolean
|
|
Get
|
|
Return m_dValue <> m_dOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(Type As Params, nIndex As Integer)
|
|
MyBase.New(Type)
|
|
Select Case Type
|
|
Case Params.T1
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T1, 0)
|
|
m_bIsLen = False
|
|
Case Params.T2
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T2, 0)
|
|
m_bIsLen = False
|
|
Case Params.T3
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T3, 0)
|
|
m_bIsLen = False
|
|
Case Params.T4
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T4, 0)
|
|
m_bIsLen = False
|
|
Case Params.T5
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_T5, 0)
|
|
m_bIsLen = False
|
|
Case Params.K_EXTRUSION
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KEXTRUSION, 100)
|
|
m_bIsLen = False
|
|
Case Params.K_LAY_TIME
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KLAYERTIME, 100)
|
|
m_bIsLen = False
|
|
Case Params.C1
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_C1, 0)
|
|
m_bIsLen = False
|
|
Case Params.C2
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_C2, 0)
|
|
m_bIsLen = False
|
|
Case Params.DENSITY
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_DENSITY, 0)
|
|
m_bIsLen = False
|
|
Case Params.AMAX
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_AMAX, 0)
|
|
m_bIsLen = False
|
|
Case Params.ATRG
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_ATRG, 0)
|
|
m_bIsLen = False
|
|
Case Params.AMIN
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_AMIN, 0)
|
|
m_bIsLen = False
|
|
Case Params.BMAX
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_BMAX, 0)
|
|
m_bIsLen = False
|
|
Case Params.BTRG
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_BTRG, 0)
|
|
m_bIsLen = False
|
|
Case Params.BMIN
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_BMIN, 0)
|
|
m_bIsLen = False
|
|
Case Params.KW
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KW, 0)
|
|
m_bIsLen = False
|
|
Case Params.KZ
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KZ, 0)
|
|
m_bIsLen = False
|
|
Case Params.KN
|
|
m_dValue = ReadMaterialParamDouble(nIndex, MAT_KN, 0)
|
|
m_bIsLen = False
|
|
End Select
|
|
m_dOrigValue = m_dValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
|
Dim sWriteValue As String = ""
|
|
If m_bIsLen Then
|
|
sWriteValue = LenToString(m_dValue, 5)
|
|
Else
|
|
sWriteValue = DoubleToString(m_dValue, 5)
|
|
End If
|
|
Select Case Type
|
|
Case Params.T1
|
|
WriteMaterialParam(nIndex, MAT_T1, sWriteValue)
|
|
Case Params.T2
|
|
WriteMaterialParam(nIndex, MAT_T2, sWriteValue)
|
|
Case Params.T3
|
|
WriteMaterialParam(nIndex, MAT_T3, sWriteValue)
|
|
Case Params.T4
|
|
WriteMaterialParam(nIndex, MAT_T4, sWriteValue)
|
|
Case Params.T5
|
|
WriteMaterialParam(nIndex, MAT_T5, sWriteValue)
|
|
Case Params.K_EXTRUSION
|
|
WriteMaterialParam(nIndex, MAT_KEXTRUSION, sWriteValue)
|
|
Case Params.K_LAY_TIME
|
|
WriteMaterialParam(nIndex, MAT_KLAYERTIME, sWriteValue)
|
|
Case Params.C1
|
|
WriteMaterialParam(nIndex, MAT_C1, sWriteValue)
|
|
Case Params.C2
|
|
WriteMaterialParam(nIndex, MAT_C2, sWriteValue)
|
|
Case Params.DENSITY
|
|
WriteMaterialParam(nIndex, MAT_DENSITY, sWriteValue)
|
|
Case Params.AMAX
|
|
WriteMaterialParam(nIndex, MAT_AMAX, sWriteValue)
|
|
Case Params.ATRG
|
|
WriteMaterialParam(nIndex, MAT_ATRG, sWriteValue)
|
|
Case Params.AMIN
|
|
WriteMaterialParam(nIndex, MAT_AMIN, sWriteValue)
|
|
Case Params.BMAX
|
|
WriteMaterialParam(nIndex, MAT_BMAX, sWriteValue)
|
|
Case Params.BTRG
|
|
WriteMaterialParam(nIndex, MAT_BTRG, sWriteValue)
|
|
Case Params.BMIN
|
|
WriteMaterialParam(nIndex, MAT_BMIN, sWriteValue)
|
|
Case Params.KW
|
|
WriteMaterialParam(nIndex, MAT_KW, sWriteValue)
|
|
Case Params.KZ
|
|
WriteMaterialParam(nIndex, MAT_KZ, sWriteValue)
|
|
Case Params.KN
|
|
WriteMaterialParam(nIndex, MAT_KN, 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
|
|
|
|
End Class
|
|
|
|
Public Class StringMaterialParam
|
|
Inherits MaterialParam
|
|
|
|
Public Const DEFAULT_MATERIAL As String = "***"
|
|
|
|
Private m_sGUID As String
|
|
Public Property sGUID As String
|
|
Get
|
|
Return m_sGUID
|
|
End Get
|
|
Set(value As String)
|
|
m_sGUID = value
|
|
End Set
|
|
End Property
|
|
Friend Sub SetGuid(sGUID As String)
|
|
Dim OrigMaterial As MaterialIndex = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sGUID = sGUID)
|
|
If Not IsNothing(OrigMaterial) Then
|
|
m_sGUID = OrigMaterial.sGUID
|
|
m_sValue = OrigMaterial.sName
|
|
End If
|
|
End Sub
|
|
|
|
Private m_sValue As String
|
|
Public Property sValue As String
|
|
Get
|
|
Return m_sValue
|
|
End Get
|
|
Set(value As String)
|
|
m_sValue = value
|
|
NotifyPropertyChanged(NameOf(sValue))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_sOrigValue As String
|
|
Public ReadOnly Property sOrigValue As String
|
|
Get
|
|
Return m_sOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Public Overrides ReadOnly Property bIsModified As Boolean
|
|
Get
|
|
Return m_sValue <> m_sOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Private m_OrigButton_Visibility As Visibility = Visibility.Collapsed
|
|
Public ReadOnly Property OrigButton_Visibility As Visibility
|
|
Get
|
|
Return m_OrigButton_Visibility
|
|
End Get
|
|
End Property
|
|
|
|
Private m_String_Visibility As Visibility = Visibility.Collapsed
|
|
Public ReadOnly Property String_Visibility As Visibility
|
|
Get
|
|
Return m_String_Visibility
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdOriginal As ICommand
|
|
|
|
Sub New(Type As Params, nIndex As Integer)
|
|
MyBase.New(Type)
|
|
Select Case Type
|
|
Case Params.ORIG
|
|
Dim sOrigGUID As String = ""
|
|
ReadMaterialParamString(nIndex, MAT_ORIG, "", sOrigGUID)
|
|
If sOrigGUID = DEFAULT_MATERIAL Then
|
|
m_sGUID = DEFAULT_MATERIAL
|
|
m_sValue = DEFAULT_MATERIAL
|
|
' se livello alto, lo visualizzo comunque
|
|
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
|
m_String_Visibility = Visibility.Visible
|
|
Else
|
|
m_String_Visibility = Visibility.Collapsed
|
|
End If
|
|
Else
|
|
Dim OrigMaterial As MaterialIndex = Map.refTopPanelVM.MaterialList.FirstOrDefault(Function(x) x.sGUID = sOrigGUID)
|
|
If Not IsNothing(OrigMaterial) Then
|
|
m_sGUID = OrigMaterial.sGUID
|
|
m_sValue = OrigMaterial.sName
|
|
' m_sValue = OrigMaterial.sName
|
|
End If
|
|
m_String_Visibility = Visibility.Visible
|
|
End If
|
|
NotifyPropertyChanged(NameOf(String_Visibility))
|
|
End Select
|
|
' verifico chiave per assegnare readonly
|
|
If Map.refMainWindowVM.MainWindowM.nUserLevel >= 5 Then
|
|
m_OrigButton_Visibility = Visibility.Visible
|
|
End If
|
|
m_sOrigValue = m_sValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
|
Select Case Type
|
|
Case Params.ORIG
|
|
WriteMaterialParam(nIndex, MAT_ORIG, m_sGUID)
|
|
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 "Original"
|
|
|
|
Public ReadOnly Property Original_Command As ICommand
|
|
Get
|
|
If m_cmdOriginal Is Nothing Then
|
|
m_cmdOriginal = New Command(AddressOf Original)
|
|
End If
|
|
Return m_cmdOriginal
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub Original()
|
|
If MessageBox.Show("Are you sure you want to set this material as original?", "Original material confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then
|
|
m_sGUID = DEFAULT_MATERIAL
|
|
m_sValue = DEFAULT_MATERIAL
|
|
NotifyPropertyChanged(NameOf(sValue))
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' Original
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
Public Class ComboMaterialParam
|
|
Inherits MaterialParam
|
|
|
|
Private m_ValueList As List(Of IdNameStruct)
|
|
Public ReadOnly Property ValueList As List(Of IdNameStruct)
|
|
Get
|
|
Return m_ValueList
|
|
End Get
|
|
End Property
|
|
|
|
Private m_SelValue As IdNameStruct
|
|
Public Property SelValue As IdNameStruct
|
|
Get
|
|
Return m_SelValue
|
|
End Get
|
|
Set(value As IdNameStruct)
|
|
m_SelValue = value
|
|
NotifyPropertyChanged(NameOf(SelValue))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_OrigSelValue As IdNameStruct
|
|
Public ReadOnly Property OrigSelValue As IdNameStruct
|
|
Get
|
|
Return m_OrigSelValue
|
|
End Get
|
|
End Property
|
|
|
|
Public Overrides ReadOnly Property bIsModified As Boolean
|
|
Get
|
|
Return m_SelValue.Id <> m_OrigSelValue.Id
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(Type As Params, nIndex As Integer)
|
|
MyBase.New(Type)
|
|
Select Case Type
|
|
'Case Params.STRANDORDER
|
|
' m_ValueList = New List(Of IdNameStruct)({New IdNameStruct(Material.MPAR_STRANDORDERS.INTOOUT, "From Inside To Outside"),
|
|
' New IdNameStruct(Material.MPAR_STRANDORDERS.OUTTOIN, "From Outside To Inside")})
|
|
' m_SelValue = m_ValueList.FirstOrDefault(Function(x) x.Id = ReadMaterialParamDouble(nIndex, MAC_STRANDORDER, 0))
|
|
End Select
|
|
m_OrigSelValue = m_SelValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
|
Select Case Type
|
|
'Case Params.STRANDORDER
|
|
' WriteMaterialParam(nIndex, MAC_STRANDORDER, 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
|
|
|
|
End Class
|
|
|
|
Public Class CheckMaterialParam
|
|
Inherits MaterialParam
|
|
|
|
Private m_bValue As Boolean
|
|
Public Property bValue As Boolean
|
|
Get
|
|
Return m_bValue
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bValue = value
|
|
NotifyPropertyChanged(NameOf(bValue))
|
|
End Set
|
|
End Property
|
|
|
|
Private m_bOrigValue As String
|
|
Public ReadOnly Property bOriValue As String
|
|
Get
|
|
Return m_bOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Public Overrides ReadOnly Property bIsModified As Boolean
|
|
Get
|
|
Return m_bValue <> m_bOrigValue
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(Type As Params, nIndex As Integer)
|
|
MyBase.New(Type)
|
|
Select Case Type
|
|
End Select
|
|
m_bOrigValue = m_bValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub WriteParamOnDb(nIndex As Integer)
|
|
Select Case Type
|
|
End Select
|
|
End Sub
|
|
|
|
Friend Overrides Sub SaveParam()
|
|
m_bOrigValue = m_bValue
|
|
End Sub
|
|
|
|
Friend Overrides Sub ResetParam()
|
|
m_bValue = m_bOrigValue
|
|
End Sub
|
|
|
|
End Class
|