232 lines
6.5 KiB
VB.net
232 lines
6.5 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class ModifyEntity
|
|
Inherits VMBase
|
|
|
|
Private m_bIsSelected As Boolean
|
|
Public Property bIsSelected As Boolean
|
|
Get
|
|
Return m_bIsSelected
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bIsSelected = value
|
|
' seleziono in scena
|
|
EgtDeselectAll()
|
|
If Not IsNothing(value) Then
|
|
EgtSelectObj(m_nId)
|
|
End If
|
|
EgtDraw()
|
|
' segno come elemento selezionato in treeview
|
|
Map.refModifyPartPanelVM.SetSelModifyEntity(Me)
|
|
End Set
|
|
End Property
|
|
|
|
Private m_nId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nId As Integer
|
|
Get
|
|
Return m_nId
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sName As String
|
|
Public ReadOnly Property sName As String
|
|
Get
|
|
Return m_sName
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ghName As String
|
|
Get
|
|
Return m_nId & If(Not String.IsNullOrWhiteSpace(m_sName), " - " & m_sName, "")
|
|
End Get
|
|
End Property
|
|
|
|
' Definizione comandi
|
|
Private m_cmdImportedEntity As ICommand
|
|
|
|
Sub New(nId As Integer, sName As String)
|
|
m_nId = nId
|
|
m_sName = sName
|
|
End Sub
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "ImportedEntity"
|
|
|
|
Public ReadOnly Property ImportedEntity_DoubleClick As ICommand
|
|
Get
|
|
If m_cmdImportedEntity Is Nothing Then
|
|
m_cmdImportedEntity = New Command(AddressOf ImportedEntity)
|
|
End If
|
|
Return m_cmdImportedEntity
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub ImportedEntity()
|
|
If Not IsNothing(Map.refImportPanelVM.SelImportLayer) Then
|
|
'Map.refModifyPartPanelVM.ImportedEntityList.Remove(Me)
|
|
Map.refModifyPartPanelVM.SelModifyLayer.EntityList.Add(Me)
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ImportedEntity
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|
|
|
|
Public Class ModifyPart
|
|
Inherits VMBase
|
|
|
|
Private m_bIsSelected As Boolean
|
|
Public Property bIsSelected As Boolean
|
|
Get
|
|
Return m_bIsSelected
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bIsSelected = value
|
|
Map.refModifyPartPanelVM.SetSelModifyPart(Me)
|
|
End Set
|
|
End Property
|
|
|
|
Private m_nId As Integer
|
|
Public ReadOnly Property nId As Integer
|
|
Get
|
|
Return m_nId
|
|
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
|
|
End Set
|
|
End Property
|
|
|
|
Public ReadOnly Property ghName As String
|
|
Get
|
|
Return If(Not String.IsNullOrWhiteSpace(m_sName), m_nId & " - " & m_sName, "Part" & m_nId)
|
|
End Get
|
|
End Property
|
|
|
|
Private m_LayerList As New ObservableCollection(Of ModifyLayer)
|
|
Public ReadOnly Property LayerList As ObservableCollection(Of ModifyLayer)
|
|
Get
|
|
Return m_LayerList
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(PrintPart As Print3dPartVM)
|
|
'm_nId = If(Map.refImportPanelVM.ImportPartList.Count = 0, 1, Map.refImportPanelVM.ImportPartList.Max(Function(x) x.m_nId) + 1)
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.PRINT_SOLID, "Print", PrintPart))
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.MACH_START, "Layer Start", PrintPart))
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.RIBS, "Ribs", PrintPart))
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.SHELL_NUMBER, "Reduce Shell Number", PrintPart))
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.AUX_SOLIDS, "Filled Solids", PrintPart))
|
|
m_LayerList.Add(New ModifyLayer(ImportLayer.LayerType.OTHERS, "Others", PrintPart))
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Class ModifyLayer
|
|
Inherits VMBase
|
|
|
|
Public Enum LayerType As Integer
|
|
PRINT_SOLID = 1
|
|
MACH_START = 2
|
|
RIBS = 3
|
|
SHELL_NUMBER = 4
|
|
AUX_SOLIDS = 5
|
|
OTHERS = 7
|
|
End Enum
|
|
|
|
Private m_nLayerId As Integer
|
|
|
|
Private m_bIsSelected As Boolean
|
|
Public Property bIsSelected As Boolean
|
|
Get
|
|
Return m_bIsSelected
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bIsSelected = value
|
|
Map.refModifyPartPanelVM.SetSelModifyLayer(Me)
|
|
End Set
|
|
End Property
|
|
|
|
Private m_Type As LayerType
|
|
Public Property Type As LayerType
|
|
Get
|
|
Return m_Type
|
|
End Get
|
|
Set(value As LayerType)
|
|
m_Type = value
|
|
End Set
|
|
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
|
|
End Set
|
|
End Property
|
|
|
|
Private m_EntityList As New ObservableCollection(Of ModifyEntity)
|
|
Public Property EntityList As ObservableCollection(Of ModifyEntity)
|
|
Get
|
|
Return m_EntityList
|
|
End Get
|
|
Set(value As ObservableCollection(Of ModifyEntity))
|
|
m_EntityList = value
|
|
End Set
|
|
End Property
|
|
|
|
Sub New(Type As LayerType, sName As String)
|
|
m_Type = Type
|
|
m_sName = sName
|
|
End Sub
|
|
|
|
Sub New(Type As LayerType, sName As String, PrintPart As Print3dPartVM)
|
|
m_Type = Type
|
|
m_sName = sName
|
|
Select Case Type
|
|
Case LayerType.PRINT_SOLID
|
|
m_nLayerId = PrintPart.nPrintSolidLayerId
|
|
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
|
Dim sEnitytName As String = ""
|
|
EgtGetName(nEntityId, sEnitytName)
|
|
m_EntityList.Add(New ModifyEntity(nEntityId, sEnitytName))
|
|
Case LayerType.MACH_START
|
|
m_nLayerId = PrintPart.nMachStartLayerId
|
|
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
|
Dim sEntitytName As String = ""
|
|
EgtGetName(nEntityId, sEntitytName)
|
|
While nEntityId <> GDB_ID.NULL
|
|
m_EntityList.Add(New ModifyEntity(nEntityId, sEntitytName))
|
|
nEntityId = EgtGetNext(nEntityId)
|
|
EgtGetName(nEntityId, sEntitytName)
|
|
End While
|
|
Case LayerType.RIBS
|
|
m_nLayerId = PrintPart.nRibsLayerId
|
|
Dim nEntityId As Integer = EgtGetFirstInGroup(m_nLayerId)
|
|
Dim sEnitytName As String = ""
|
|
EgtGetName(nEntityId, sEnitytName)
|
|
m_EntityList.Add(New ModifyEntity(nEntityId, sEnitytName))
|
|
Case LayerType.SHELL_NUMBER
|
|
m_nLayerId = PrintPart.nShellNumberLayerId
|
|
Case LayerType.AUX_SOLIDS
|
|
m_nLayerId = PrintPart.nAuxSolidsLayerId
|
|
Case LayerType.OTHERS
|
|
m_nLayerId = PrintPart.nOthersLayerId
|
|
End Select
|
|
End Sub
|
|
|
|
End Class
|