0c2a5343ee
- gestiti frame del pezzo e di stampa con z = 0
191 lines
5.5 KiB
VB.net
191 lines
5.5 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class Print3dPartVM
|
|
Inherits VMBase
|
|
|
|
Private m_nPartId As Integer
|
|
Public ReadOnly Property nPartId As Integer
|
|
Get
|
|
Return m_nPartId
|
|
End Get
|
|
End Property
|
|
|
|
' solido/superficie da stampare
|
|
Private m_nPrintSolidLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nPrintSolidLayerId As Integer
|
|
Get
|
|
Return m_nPrintSolidLayerId
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property nPrintSolidId As Integer
|
|
Get
|
|
Return EgtGetFirstInGroup(m_nPrintSolidLayerId)
|
|
End Get
|
|
End Property
|
|
|
|
' riferimento del pezzo solido/superficie da stampare
|
|
Private m_nPartReferenceLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nPartReferenceLayerId As Integer
|
|
Get
|
|
Return m_nPartReferenceLayerId
|
|
End Get
|
|
End Property
|
|
Private m_nPartReferenceId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nPartReferenceId As Integer
|
|
Get
|
|
Dim nTemp As Integer = EgtGetFirstInGroup(nPartReferenceLayerId)
|
|
If nTemp <> GDB_ID.NULL Then
|
|
Return nTemp
|
|
Else
|
|
Return m_nReferenceId
|
|
End If
|
|
End Get
|
|
End Property
|
|
' riferimento di stampa del pezzo solido/superficie (sempre Z 0)
|
|
Private m_nReferenceLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nReferenceLayerId As Integer
|
|
Get
|
|
Return m_nReferenceLayerId
|
|
End Get
|
|
End Property
|
|
' riferimento del solido/superficie di stampa
|
|
Private m_nReferenceId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nReferenceId As Integer
|
|
Get
|
|
Return m_nReferenceId
|
|
End Get
|
|
End Property
|
|
|
|
' punto/curva di inizio stampa
|
|
Private m_nMachStartLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nMachStartLayerId As Integer
|
|
Get
|
|
Return m_nMachStartLayerId
|
|
End Get
|
|
End Property
|
|
|
|
' solidi ausiliari
|
|
Private m_nAuxSolidsLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nAuxSolidsLayerId As Integer
|
|
Get
|
|
Return m_nAuxSolidsLayerId
|
|
End Get
|
|
End Property
|
|
|
|
' numero di strati
|
|
Private m_nShellNumberLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nShellNumberLayerId As Integer
|
|
Get
|
|
Return m_nShellNumberLayerId
|
|
End Get
|
|
End Property
|
|
|
|
' setti
|
|
Private m_nRibsLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nRibsLayerId As Integer
|
|
Get
|
|
Return m_nRibsLayerId
|
|
End Get
|
|
End Property
|
|
|
|
' gruppo others
|
|
Private m_nOthersLayerId As Integer = GDB_ID.NULL
|
|
Public ReadOnly Property nOthersLayerId As Integer
|
|
Get
|
|
Return m_nOthersLayerId
|
|
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 sImportedFileName As String
|
|
Get
|
|
Return If(Not String.IsNullOrWhiteSpace(m_sImportedFilePath), IO.Path.GetFileName(m_sImportedFilePath), "")
|
|
End Get
|
|
End Property
|
|
|
|
Private m_sImportedFilePath As String
|
|
Public Property sImportedFilePath As String
|
|
Get
|
|
Return m_sImportedFilePath
|
|
End Get
|
|
Set(value As String)
|
|
m_sImportedFilePath = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_LayerList As New ObservableCollection(Of Print3dLayerVM)
|
|
Public ReadOnly Property LayerList As ObservableCollection(Of Print3dLayerVM)
|
|
Get
|
|
Return m_LayerList
|
|
End Get
|
|
End Property
|
|
|
|
#Region "Default Machining Params"
|
|
|
|
#End Region ' Default Machining Params
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New(nPartId As Integer, sImportedFilePath As String)
|
|
m_nPartId = nPartId
|
|
m_sName = IO.Path.GetFileName(sImportedFilePath)
|
|
m_sImportedFilePath = sImportedFilePath
|
|
End Sub
|
|
|
|
Sub New(nPartId As Integer, nPrintSolidLayerId As Integer, nPartReferenceLayerId As Integer, nReferenceLayerId As Integer, nReferenceId As Integer, nMachStartLayerId As Integer,
|
|
nRibsLayerId As Integer, nShellNumberLayerId As Integer, nAuxSolidsLayerId As Integer, nOthersLayerId As Integer, sImportedFilePath As String)
|
|
m_nPartId = nPartId
|
|
m_nPrintSolidLayerId = nPrintSolidLayerId
|
|
m_nPartReferenceLayerId = nPartReferenceLayerId
|
|
m_nReferenceLayerId = nReferenceLayerId
|
|
m_nReferenceId = nReferenceId
|
|
m_nMachStartLayerId = nMachStartLayerId
|
|
m_nAuxSolidsLayerId = nAuxSolidsLayerId
|
|
m_nRibsLayerId = nRibsLayerId
|
|
m_nShellNumberLayerId = nShellNumberLayerId
|
|
m_nOthersLayerId = nOthersLayerId
|
|
If Not EgtGetInfo(nPartId, PART_NAME, m_sName) Then
|
|
m_sName = IO.Path.GetFileName(sImportedFilePath)
|
|
End If
|
|
m_sImportedFilePath = sImportedFilePath
|
|
RefreshPrintLayers()
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTOR
|
|
|
|
#Region "METHODS"
|
|
|
|
Friend Sub RefreshPrintLayers()
|
|
m_LayerList.Clear()
|
|
Dim nSliceId As Integer = EgtGetFirstInGroup(nPartId)
|
|
While nSliceId <> GDB_ID.NULL
|
|
Dim nSliceIndex As Integer = 0
|
|
If EgtGetInfo(nSliceId, "SliceNbr", nSliceIndex) Then
|
|
m_LayerList.Add(New Print3dLayerVM(nSliceId, nSliceIndex))
|
|
End If
|
|
nSliceId = EgtGetNextGroup(nSliceId)
|
|
End While
|
|
Map.refSliderManagerVM.RefreshSlider(1, m_LayerList.Count())
|
|
End Sub
|
|
|
|
Friend Sub UpdateReferenceId(nNewReferenceId As Integer)
|
|
m_nReferenceId = nNewReferenceId
|
|
End Sub
|
|
|
|
Friend Sub UpdateName(Name As String)
|
|
m_sName = Name
|
|
NotifyPropertyChanged(NameOf(sName))
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
End Class
|