61 lines
1.8 KiB
VB.net
61 lines
1.8 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class BeamMachGroup
|
|
Inherits MyMachGroup
|
|
|
|
Protected m_dStartCut As Double
|
|
Public ReadOnly Property dStartCut As Double
|
|
Get
|
|
Return m_dStartCut
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(nId As Integer, sName As String, sMachine As String)
|
|
MyBase.New(nId, sName, sMachine)
|
|
SetMachineType(MachineType.BEAM)
|
|
EgtGetInfo(nId, MGR_RPT_BARLEN, dL)
|
|
EgtGetInfo(nId, MGR_RPT_BARHEIGHT, dH)
|
|
EgtGetInfo(nId, MGR_RPT_BARWIDTH, dW)
|
|
m_dTotMat = dL
|
|
For Each Part In PartList
|
|
m_dMatForPart += Part.dL
|
|
Next
|
|
End Sub
|
|
|
|
Public Overrides Sub RefreshPartList()
|
|
' leggo StartCut da posizione primo pezzo
|
|
Dim sInfo As String = ""
|
|
Dim sSplitInfo() As String
|
|
Dim bFound As Boolean = False
|
|
EgtGetInfo(Id, MGR_RPT_PART & 1, sInfo)
|
|
If Not String.IsNullOrWhiteSpace(sInfo) Then
|
|
sSplitInfo = sInfo.Split(","c)
|
|
StringToDouble(sSplitInfo(1), m_dStartCut)
|
|
Else
|
|
m_dStartCut = 0
|
|
End If
|
|
' aggiorno lista pezzi
|
|
PartList.Clear()
|
|
Dim nRawPartId As Integer = EgtGetFirstRawPart()
|
|
While nRawPartId <> GDB_ID.NULL
|
|
Dim nPartId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
|
|
If nPartId <> GDB_ID.NULL Then
|
|
Dim NewBeam As Beam = New Beam(Me, nPartId, nRawPartId)
|
|
PartList.Add(NewBeam)
|
|
NewBeam.UpdateOffset()
|
|
End If
|
|
nRawPartId = EgtGetNextRawPart(nRawPartId)
|
|
End While
|
|
End Sub
|
|
|
|
Public Overrides Sub RefreshGroupData()
|
|
EgtGetInfo(Id, MGR_RPT_BARLEN, dL)
|
|
EgtGetInfo(Id, MGR_RPT_BARHEIGHT, dH)
|
|
EgtGetInfo(Id, MGR_RPT_BARWIDTH, dW)
|
|
End Sub
|
|
|
|
End Class
|