Merge remote-tracking branch 'gitlab.seriate/Renzo' into develop

This commit is contained in:
Emmanuele Sassi
2021-11-23 19:07:09 +01:00
@@ -124,7 +124,7 @@ Public Class MyMachGroupVM
' lo rendo std
EgtSetMode(nPartDuploId, GDB_MD.STD)
' scrivo dati costruzione grezzo in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & 1, nPartDuploId & "," & m_PartVMList(Index).sPOSX)
EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & (Index + 1), nPartDuploId & "," & m_PartVMList(Index).sPOSX)
Next
Dim BeamMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.GetLastMachGroup()
' eseguo script creazione grezzo
@@ -149,7 +149,65 @@ Public Class MyMachGroupVM
EgtSetView(VT.ISO_SW, False)
Return BeamMachGroup
Else
Return Nothing
Dim sPartArray(m_PartVMList.Count - 1) As String
' ciclo per salvare in un array di stringhe i valori di POSX e POSY prima di resettare
Dim ind As Integer = 0
For Each Part In m_PartVMList
sPartArray(ind) = Part.sPOSX & "," & Part.sPOSY & "," & 0 & "," & 0
ind += 1
Next
EgtResetCurrMachGroup()
' recupero lista dei pezzi BTL originali
Dim PartList As New List(Of BTLPartVM)
For Each Part In m_PartVMList
PartList.Add(BTLPartVM.RetrieveBTLPartFromPart(Part.nPartId))
Next
' verifico che nessun pezzo da copiare abbia raggiunto il numero massimo
If Not VerifyPartCount(PartList) Then Return Nothing
' creo nuovo gruppo di lavorazione
Map.refMachGroupPanelVM.AddMachGroup()
Dim nCurrMachGroup As Integer = EgtGetCurrMachGroup()
Dim sCurrMachGroupName As String = ""
EgtGetMachGroupName(nCurrMachGroup, sCurrMachGroupName)
' scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_PRODID, Map.refProdManagerVM.CurrProd.nProdId)
EgtSetInfo(nCurrMachGroup, MGR_RPT_MATERIAL, sMATERIAL)
EgtSetInfo(nCurrMachGroup, MGR_RPT_PATTID, nCurrMachGroup)
' scrivo dati costruzione grezzo in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_PANELLEN, dL)
EgtSetInfo(nCurrMachGroup, MGR_RPT_PANELWIDTH, dW)
For Index = 0 To m_PartVMList.Count - 1
' creo copia del pezzo
Dim nPartDuploId As Integer = EgtDuploNew(PartList(Index).nPartId)
' elimino valori calcolo dell'originale
MyMachGroupPanelVM.DuploRemoveProjCalc(nPartDuploId)
' lo rendo std
EgtSetMode(nPartDuploId, GDB_MD.STD)
' scrivo dati costruzione grezzo in gruppo di lavorazione
EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & (Index + 1), nPartDuploId & "," & sPartArray(Index))
Next
Dim WallMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.GetLastMachGroup()
' eseguo script creazione grezzo
Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
If Not ExecWall(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdType.RAWPART, False) Then
WallMachGroup.DeleteMachGroup()
Dim LogFile As String() = File.ReadAllLines(sLogPath)
If LogFile.Count >= 2 AndAlso Not IsNothing(LogFile(1)) Then
MessageBox.Show(LogFile(1), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Return Nothing
End If
' aggiorno contatore pezzi usati in Prod
For Each Part In PartList
Part.RefreshPartInProd()
Next
'aggiorno lista pezzi
WallMachGroup.MyMachGroupM.RefreshPartList()
WallMachGroup.MyMachGroupM.RefreshGroupData()
' aggiorno dati ultilizzo barra
WallMachGroup.UpdateUsage()
EgtSetView(VT.ISO_SW, False)
Return WallMachGroup
End If
End Function