Files
egtbeamwall/EgtBEAMWALL.Core/PartM.vb
T
Emmanuele Sassi bac7b490be Correzioni e migliorie
Aggiunto reset stato calc in prod su modifiche
2021-06-16 09:31:07 +02:00

382 lines
9.1 KiB
VB.net

Imports System.Collections.ObjectModel
Imports System.IO
Imports System.Windows.Input
Imports System.Windows.Media
Imports EgtUILib
Imports EgtWPFLib5
Public MustInherit Class PartM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
Protected m_ParentMachGroup As MyMachGroupM
Public ReadOnly Property ParentMachGroup As MyMachGroupM
Get
Return m_ParentMachGroup
End Get
End Property
' Id geometrico del pezzo
Protected m_nPartId As Integer
Public ReadOnly Property nPartId As Integer
Get
Return m_nPartId
End Get
End Property
Friend Sub SetPartId(nPartId As Integer)
m_nPartId = nPartId
End Sub
' Proj del pezzo
Protected m_nProjId As Integer = 0
Public Property nProjId As Integer
Get
Return m_nProjId
End Get
Set(value As Integer)
m_nProjId = value
End Set
End Property
' Info del pezzo
Protected m_nPDN As Integer
Public ReadOnly Property nPDN As Integer
Get
Return m_nPDN
End Get
End Property
Protected m_sNAM As String
Public ReadOnly Property sNAM As String
Get
Return m_sNAM
End Get
End Property
Protected m_dBtlL As Double
Public ReadOnly Property dBtlL As String
Get
Return m_dBtlL
End Get
End Property
Public Property dL As Double
Get
Dim frBeam As New Frame3d
EgtGetGroupGlobFrame( nPartId, frBeam)
If IsX( frBeam.VersX(), EPS_SMALL) Then
Return m_dBtlL
ElseIf IsX( frBeam.VersY(), EPS_SMALL) Then
Return m_dBtlH
Else
Return m_dBtlW
End If
End Get
Set(value As Double)
m_dBtlL = value
End Set
End Property
Protected m_dBtlW As Double
Public ReadOnly Property dBtlW As String
Get
Return m_dBtlW
End Get
End Property
Public Property dW As Double
Get
Dim frBeam As New Frame3d
EgtGetGroupGlobFrame( nPartId, frBeam)
If IsY( frBeam.VersX()) Then
Return m_dBtlL
ElseIf IsY( frBeam.VersY()) Then
Return m_dBtlH
Else
Return m_dBtlW
End If
End Get
Set(value As Double)
m_dBtlW = value
End Set
End Property
Protected m_dBtlH As Double
Public ReadOnly Property dBtlH As String
Get
Return m_dBtlH
End Get
End Property
Public Property dH As Double
Get
Dim frBeam As New Frame3d
EgtGetGroupGlobFrame( nPartId, frBeam)
If IsZ( frBeam.VersX()) Then
Return m_dBtlL
ElseIf IsZ( frBeam.VersY()) Then
Return m_dBtlH
Else
Return m_dBtlW
End If
Return m_dBtlH
End Get
Set(value As Double)
m_dBtlH = value
End Set
End Property
Protected m_dPOSX As Double
Public Property dPOSX As Double
Get
Return m_dPOSX
End Get
Set(value As Double)
m_dPOSX = value
End Set
End Property
Protected m_nCNT As Integer
Public Property nCNT As Integer
Get
Return m_nCNT
End Get
Set(value As Integer)
m_nCNT = value
End Set
End Property
Protected m_nINVERTED As Integer
Public ReadOnly Property nINVERTED As Integer
Get
Return m_nINVERTED
End Get
End Property
Public Sub SetInverted(nInverted As Integer)
m_nINVERTED = nInverted
End Sub
Protected m_nROTATED As Integer
Public ReadOnly Property nROTATED As Integer
Get
Return m_nROTATED
End Get
End Property
Public Sub SetRotated(nRotated As Integer)
m_nROTATED = nRotated
End Sub
Protected m_sMATERIAL As String
Public Property sMATERIAL As String
Get
Return m_sMATERIAL
End Get
Set(value As String)
m_sMATERIAL = value
End Set
End Property
Public m_sGROUP As String
Public Property sGROUP As String
Get
Return m_sGROUP
End Get
Set(value As String)
m_sGROUP = value
End Set
End Property
Protected m_nCALC_GlobalState As CalcStates = -1
Public Property nCALC_GlobalState As CalcStates
Get
Return m_nCALC_GlobalState
End Get
Set(value As CalcStates)
m_nCALC_GlobalState = value
End Set
End Property
Private m_nCALC_GlobalERR As Integer
Public Property nCALC_GlobalERR As Integer
Get
Return m_nCALC_GlobalERR
End Get
Set(value As Integer)
m_nCALC_GlobalERR = value
End Set
End Property
Protected m_nCALC_State As CalcStates = -1
Public Property nCALC_State As CalcStates
Get
Return m_nCALC_State
End Get
Set(value As CalcStates)
m_nCALC_State = value
End Set
End Property
Protected m_nCALC_ERR As Integer
Public Property nCALC_ERR As Integer
Get
Return m_nCALC_ERR
End Get
Set(value As Integer)
m_nCALC_ERR = value
End Set
End Property
Protected m_sCALC_MSG As String = String.Empty
Public Property sCALC_MSG As String
Get
Return m_sCALC_MSG
End Get
Set(value As String)
m_sCALC_MSG = value
End Set
End Property
Protected m_nCALC_ROT As Integer
Public Property nCALC_ROT As Integer
Get
Return m_nCALC_ROT
End Get
Set(value As Integer)
m_nCALC_ROT = value
End Set
End Property
Protected m_nCALC_FALL As Integer
Public Property nCALC_FALL As Integer
Get
Return m_nCALC_FALL
End Get
Set(value As Integer)
m_nCALC_FALL = value
End Set
End Property
Protected m_nCALC_TIME As Integer
Public Property nCALC_TIME As Integer
Get
Return m_nCALC_TIME
End Get
Set(value As Integer)
m_nCALC_TIME = value
End Set
End Property
' lista delle feature del pezzo
Protected m_FeatureMList As List(Of BTLFeatureM)
Public Property FeatureMList As List(Of BTLFeatureM)
Get
Return m_FeatureMList
End Get
Set(value As List(Of BTLFeatureM))
m_FeatureMList = value
End Set
End Property
Protected m_dtStartTime As DateTime
Public Property dtStartTime As DateTime
Get
Return m_dtStartTime
End Get
Set(value As DateTime)
m_dtStartTime = value
End Set
End Property
Protected m_dtEndTime As DateTime
Public Property dtEndTime As DateTime
Get
Return m_dtEndTime
End Get
Set(value As DateTime)
m_dtEndTime = value
End Set
End Property
Protected m_nProductionState As Integer = 0
Public ReadOnly Property nProductionState As Integer
Get
Return m_nProductionState
End Get
End Property
Public Sub SetProductionState(nState As CalcStates)
m_nProductionState = nState
End Sub
Protected m_nBTLPartId As Integer
Public ReadOnly Property nBTLPartId As Integer
Get
Return m_nBTLPartId
End Get
End Property
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New(nParentMachGroup As MyMachGroupM, nPartId As Integer)
m_ParentMachGroup = nParentMachGroup
SetPartId(nPartId)
' imposto BtlPart da cui deriva questo Duplo
Dim c As Integer = EgtGetCurrMachGroup()
EgtResetCurrMachGroup()
m_nBTLPartId = EgtDuploGetOriginal(nPartId)
EgtSetCurrMachGroup(c)
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Public Event BTLFeatureAdded As EventHandler(Of BTLFeatureAddedEventArgs)
Public Sub AddBTLFeature(BTLFeatureM As BTLFeatureM)
If IsNothing(BTLFeatureM) Then Return
If Not m_FeatureMList.Contains(BTLFeatureM) Then
m_FeatureMList.Add(BTLFeatureM)
RaiseEvent BTLFeatureAdded(Me, New BTLFeatureAddedEventArgs(BTLFeatureM))
End If
End Sub
Public Function GetBTLFeatures() As List(Of BTLFeatureM)
Return New List(Of BTLFeatureM)(m_FeatureMList)
End Function
Public Shared Sub ReadMachGroupData(NewPart As PartM)
' leggo calc error
Dim nErr As Integer = 0
Dim nRot As Integer = 0
Dim nFall As Integer = 0
Dim sMsg As String = ""
Dim bCalc As Boolean = False
bCalc = EgtGetInfo(NewPart.nPartId, ITG_PROD_ERR, nErr)
EgtGetInfo(NewPart.nPartId, ITG_PROD_ROT, nRot)
EgtGetInfo(NewPart.nPartId, ITG_PROD_MSG, sMsg)
If Not bCalc Then
NewPart.m_nCALC_State = CalcStates.NOTCALCULATED
NewPart.m_nCALC_ERR = 0
NewPart.m_nCALC_ROT = 0
NewPart.m_sCALC_MSG = ""
Else
NewPart.m_nCALC_ERR = nErr
NewPart.m_nCALC_ROT = nRot
NewPart.m_sCALC_MSG = sMsg
If nErr = 0 Then
NewPart.nCALC_State = CalcStates.OK
ElseIf nErr = 17 Then
NewPart.nCALC_State = CalcStates.WARNING
ElseIf nErr > 0 Then
NewPart.nCALC_State = CalcStates.ERROR_
ElseIf nErr < 0 Then
NewPart.nCALC_State = CalcStates.INFO
End If
End If
EgtGetInfo(NewPart.nPartId, ITG_PROD_TIME, NewPart.m_nCALC_TIME)
End Sub
#End Region ' METHODS
End Class