From b25d73c0cb7b3ed08cd45f6c045a51962e002d64 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Thu, 3 Nov 2022 17:06:42 +0100 Subject: [PATCH] - Estensione dati per etichette - Traduzione errori della categoria CNC - Verifica esistenza ed eventuale eliminazione vecchio gruppo in cui disegno FreeContour --- .../LeftPanel/LeftPanelVM.vb | 34 +++++++++++++++++-- .../MachCommandMessagePanelVM.vb | 9 ++++- .../FreeContourManagerVM.vb | 14 ++++++-- 3 files changed, 50 insertions(+), 7 deletions(-) diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/LeftPanelVM.vb b/EgtBEAMWALL.Supervisor/LeftPanel/LeftPanelVM.vb index ba365462..42c8c093 100644 --- a/EgtBEAMWALL.Supervisor/LeftPanel/LeftPanelVM.vb +++ b/EgtBEAMWALL.Supervisor/LeftPanel/LeftPanelVM.vb @@ -1,4 +1,5 @@ Imports System.Collections.ObjectModel +Imports System.Globalization Imports System.IO Imports System.Windows.Threading Imports EgtBEAMWALL.Core @@ -1003,14 +1004,41 @@ Public Class LeftPanelVM Private Sub CreateDataFile(sFilePath As String, SelPart As PartVM, SelMachGroup As MyMachGroupVM) Dim sFileText As New List(Of String) + Dim nBtlInfoId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO) + Dim sInfo As String = "" + Dim bOk As Boolean = False ' inserisco il capitolo del [Main] sFileText.Add("[Main]") sFileText.Add("Var1=$PRODID$," & Map.refSupervisorManagerVM.CurrProd.sProdId) - sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.Id) + sFileText.Add("Var2=$MACHGROUPID$," & SelMachGroup.nName) sFileText.Add("Var3=$PARTID$," & SelPart.nPDN) sFileText.Add("Var4=$MATERIAL$," & SelPart.sMATERIAL) - 'sFileText.Add("Var5=$Thickness$," & SelPart.Thickness) - 'sFileText.Add("Var6=$Storage$," & SelPart.WarehousePosition) + bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNUM, sInfo) + sFileText.Add("Var5=$PROJECTNUMBER$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_PROJNAME, sInfo) + sFileText.Add("Var6=$PROJECTNAME$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(nBtlInfoId, BTL_GEN_CUSTOMER, sInfo) + sFileText.Add("Var7=$CUSTOMER$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ASSEMBLYNUM, sInfo) + sFileText.Add("Var8=$ASSEMBLYNUMBER$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ORDERNUM, sInfo) + sFileText.Add("Var9=$ORDERNUMBER$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_DESIGNATION, sInfo) + sFileText.Add("Var10=$DESIGNATION$," & If(bOk, sInfo, "")) + bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_ANNOTATION, sInfo) + sFileText.Add("Var11=$ANNOTATION$," & If(bOk, sInfo, "")) + sFileText.Add("Var12=$STOREY$," & SelPart.sSTOREY) + sFileText.Add("Var13=$GROUP$," & SelPart.sGROUP) + bOk = EgtGetInfo(SelPart.nPartId, BTL_PRT_PACKAGE, sInfo) + sFileText.Add("Var14=$PACKAGE$," & If(bOk, sInfo, "")) + sFileText.Add("Var15=$WHL$," & SelPart.sW & "x" & SelPart.sH & "x" & SelPart.sL) + sFileText.Add("Var16=$PRODUCTIONDATE$," & Date.Now().ToString("yyyy-MM-dd")) + ' calcolo numero settimana corrente secondo ISO 8601 + Dim time As Date = Date.Now() + Dim Day As DayOfWeek = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time) + If Day >= DayOfWeek.Monday AndAlso Day <= DayOfWeek.Wednesday Then time = time.AddDays(3) + Dim nWeekOfYear As Integer = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday) + sFileText.Add("Var18=$PRODUCTIONWEEK$," & nWeekOfYear) Try File.WriteAllLines(sFilePath, sFileText) Catch ex As Exception diff --git a/EgtBEAMWALL.Supervisor/MachCommandMessagePanel/MachCommandMessagePanelVM.vb b/EgtBEAMWALL.Supervisor/MachCommandMessagePanel/MachCommandMessagePanelVM.vb index 90e636b7..4a920b97 100644 --- a/EgtBEAMWALL.Supervisor/MachCommandMessagePanel/MachCommandMessagePanelVM.vb +++ b/EgtBEAMWALL.Supervisor/MachCommandMessagePanel/MachCommandMessagePanelVM.vb @@ -666,10 +666,17 @@ Public Class MachCommandMessagePanelVM ErrorAdditionalMsg = "Line Number" ErrorNumberMsg = "CN:" End If + Dim sErrorMessage As String = ErrorMessage + If bMsgTranslationActive Then + Dim sTranslatedMsg = MachMsg(MsgParagraphs.CNC, nErrorNumber) + If Not String.IsNullOrWhiteSpace(sTranslatedMsg) Then + sErrorMessage = sTranslatedMsg + End If + End If ErrorLineMsg = "Number from the Cnc Block" AlarmMessage = If(nErrorNumber <> 0, ErrorNumberMsg & ": " & nErrorNumber & " - ", "") & If(nErrorExtNumber <> 0, " - " & ErrorExtNumberMsg & ": " & nErrorExtNumber, "") & - " " & ErrorMessage + " " & sErrorMessage Case NUM_ErrorTypes.Drive_Error ErrorIndexMsg = "Azionamento: Asse" ErrorNumberMsg = "Ext" diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb index 5a1e019e..2aceb2f6 100644 --- a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb @@ -271,12 +271,12 @@ Public Class FreeContourManagerVM Private m_cmdDelete As ICommand Private m_cmdModifyCurve As ICommand Private m_cmdAddPointCurve As ICommand + Private m_cmdRemovePointCurve As ICommand Private m_cmdArcflip As ICommand Private m_cmdMove As ICommand Private m_cmdRotate As ICommand Private m_cmdMirror As ICommand Private m_cmdScale As ICommand - Private m_cmdRemovePointCurve As ICommand Private m_cmdChangeStart As ICommand Private m_cmdInvertCurve As ICommand Private m_cmdTextAngle As ICommand @@ -982,13 +982,21 @@ Public Class FreeContourManagerVM ''' Execute the Line2P. This method is invoked by the Line2PCommand. ''' Public Sub Line2P(ByVal param As Object) - Dim nNewPathLayerId As Integer = EgtCreateGroup(nSelPartId) + ' cancello eventuale gruppo precedente + Dim nNewPathLayerId As Integer = EgtGetFirstNameInGroup(nSelPartId, "NewPathLayer") + If nNewPathLayerId <> GDB_ID.NULL Then + EgtEmptyGroup(nNewPathLayerId) + Else + nNewPathLayerId = EgtCreateGroup(nSelPartId) + End If EgtSetName(nNewPathLayerId, "NewPathLayer") EgtSetCurrPartLayer(nSelPartId, nNewPathLayerId) - InitCommand(True) + InitCommand(False) Map.refSceneHostVM.MainController.SetContinue() If Map.refSceneHostVM.MainController.ExecuteCommand(Controller.CMD.LINE2P) Then m_bIsCreatingPath = True + Else + EgtErase(nNewPathLayerId) End If End Sub