bac7b490be
Aggiunto reset stato calc in prod su modifiche
382 lines
9.1 KiB
VB.net
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
|