From 37399e31a1e04cb45b44e5d1ce41f57886a728fc Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 10 Oct 2022 16:25:29 +0200 Subject: [PATCH] - Correzione bottone reset che non funzionava - Correzione waiting time --- Icarus/Constants/Const3dPrint.vb | 1 + Icarus/SliceManager/SliceManagerVM.vb | 38 ++++++++++----------- Icarus/TSFEditor/TFSEditorVM.vb | 49 ++++++++++++++++++++++++--- 3 files changed, 64 insertions(+), 24 deletions(-) diff --git a/Icarus/Constants/Const3dPrint.vb b/Icarus/Constants/Const3dPrint.vb index cd5389e..71916f1 100644 --- a/Icarus/Constants/Const3dPrint.vb +++ b/Icarus/Constants/Const3dPrint.vb @@ -31,6 +31,7 @@ Public Const KEY_FTRG = "FTrg" Public Const KEY_FMAX = "FMax" Public Const KEY_TCUR = "TCur" + Public Const KEY_TWAIT = "WaitingTime" Public Const KEY_FCUR = "FCur" Public Const KEY_LENGTH = "Length" Public Const KEY_SPEED = "Speed" diff --git a/Icarus/SliceManager/SliceManagerVM.vb b/Icarus/SliceManager/SliceManagerVM.vb index 2c89d7d..ecd8ebc 100644 --- a/Icarus/SliceManager/SliceManagerVM.vb +++ b/Icarus/SliceManager/SliceManagerVM.vb @@ -296,19 +296,17 @@ Public Class SliceManagerVM Dim bOk As Boolean = True Dim bToRecalcSlice As Boolean = False Dim bToRecalcTFS As Boolean = False - If m_bSlice Then - Dim nPartId As Integer = EgtGetFirstPart() - While nPartId <> GDB_ID.NULL - Dim bTemp As Boolean = False - If EgtGetInfo(nPartId, MAC_TORECALC_SLICE, bTemp) AndAlso bTemp Then - bToRecalcSlice = True - End If - If EgtGetInfo(nPartId, MAC_TORECALC_GENERATE, bTemp) AndAlso bTemp Then - bToRecalcTFS = True - End If - nPartId = EgtGetNextPart(nPartId) - End While - End If + Dim nPartId As Integer = EgtGetFirstPart() + While nPartId <> GDB_ID.NULL + Dim bTemp As Boolean = False + If EgtGetInfo(nPartId, MAC_TORECALC_SLICE, bTemp) AndAlso bTemp Then + bToRecalcSlice = True + End If + If EgtGetInfo(nPartId, MAC_TORECALC_GENERATE, bTemp) AndAlso bTemp Then + bToRecalcTFS = True + End If + nPartId = EgtGetNextPart(nPartId) + End While If bToRecalcSlice Then m_bSlice = True m_bCalcTFS = True @@ -324,11 +322,11 @@ Public Class SliceManagerVM bOk = ExecSlice(m_bSlice, m_bCalcTFS) ' se calcolo andato a buon fine, rimuovo flag richiesta ricalcolo If bOk Then - Dim nPartId As Integer = EgtGetFirstPart() - While nPartId <> GDB_ID.NULL + Dim nCurrPartId As Integer = EgtGetFirstPart() + While nCurrPartId <> GDB_ID.NULL ' eseguo rimozione flag EgtRemoveInfo(nPartId, MAC_TORECALC_SLICE) - nPartId = EgtGetNextPart(nPartId) + nCurrPartId = EgtGetNextPart(nCurrPartId) End While End If ' aggiorno massa @@ -357,11 +355,11 @@ Public Class SliceManagerVM 'ExecExitMachScript() ' se calcolo andato a buon fine, rimuovo flag richiesta ricalcolo If bOk Then - Dim nPartId As Integer = EgtGetFirstPart() - While nPartId <> GDB_ID.NULL + Dim nCurrPartId As Integer = EgtGetFirstPart() + While nCurrPartId <> GDB_ID.NULL ' eseguo rimozione flag - EgtRemoveInfo(nPartId, MAC_TORECALC_GENERATE) - nPartId = EgtGetNextPart(nPartId) + EgtRemoveInfo(nCurrPartId, MAC_TORECALC_GENERATE) + nCurrPartId = EgtGetNextPart(nCurrPartId) End While Else MessageBox.Show("Error in NC code generation! See log file.", "Error", MessageBoxButton.OK, MessageBoxImage.Error) diff --git a/Icarus/TSFEditor/TFSEditorVM.vb b/Icarus/TSFEditor/TFSEditorVM.vb index 98a0fac..d6ab875 100644 --- a/Icarus/TSFEditor/TFSEditorVM.vb +++ b/Icarus/TSFEditor/TFSEditorVM.vb @@ -464,6 +464,9 @@ Public Class TFSEditorVM ' cancello gruppo della tabella Dim nLayTFSCalcId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, LAY_TFSCALC) EgtEmptyGroup(nLayTFSCalcId) + For Each CurrPart In Map.refTopPanelVM.PartList + EgtSetInfo(CurrPart.nPartId, MAC_TORECALC_GENERATE, True) + Next Map.refSliceManagerVM.CalcSlice(False, True, True) End Sub @@ -570,6 +573,42 @@ Public Class TFSLayer End Get End Property + Private m_dTWait As Double + Public Property sTWait As String + Get + Return LenToString(m_dTWait, 0) + End Get + Set(value As String) + Dim dNewValue As Double + If StringToLen(value, dNewValue) Then + m_dTWait = dNewValue + EgtSetInfo(nId, "WaitingTime", m_dTWait) + m_bTWait_IsModified = True + ' Imposto flag di ricalcolo generate + EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True) + NotifyPropertyChanged(NameOf(Background)) + Else + NotifyPropertyChanged(NameOf(sTWait)) + End If + End Set + End Property + Friend Sub SetTWait(value As Double) + m_dTWait = value + EgtSetInfo(nId, "WaitingTime", m_dTWait) + m_bTWait_IsModified = True + ' Imposto flag di ricalcolo generate + EgtSetInfo(Map.refTopPanelVM.SelPart.nPartId, MAC_TORECALC_GENERATE, True) + NotifyPropertyChanged(NameOf(Background)) + NotifyPropertyChanged(NameOf(sTWait)) + End Sub + + Private m_bTWait_IsModified As Boolean + Public ReadOnly Property bTWait_IsModified As Boolean + Get + Return m_bTWait_IsModified + End Get + End Property + Private m_dFMin As Double Public ReadOnly Property sFMin As String Get @@ -648,7 +687,7 @@ Public Class TFSLayer Public ReadOnly Property Background As SolidColorBrush Get - If m_bFCurr_IsModified Then + If m_bFCurr_IsModified OrElse m_bTWait_IsModified Then Return Brushes.White ElseIf m_dTCurr < m_dTMin Then Return Brushes.Red @@ -663,7 +702,7 @@ Public Class TFSLayer Public ReadOnly Property Foreground As SolidColorBrush Get - If m_bFCurr_IsModified Then + If m_bFCurr_IsModified OrElse m_bTWait_IsModified Then Return Brushes.Black ElseIf m_dSpeed <= Map.refTFSEditorVM.dSpeedMin OrElse m_dSpeed >= Map.refTFSEditorVM.dSpeedMax Then Return Brushes.DeepSkyBlue @@ -675,7 +714,7 @@ Public Class TFSLayer Public ReadOnly Property FontWeight As FontWeight Get - If m_bFCurr_IsModified Then + If m_bFCurr_IsModified OrElse m_bTWait_IsModified Then Return FontWeights.Normal ElseIf m_dSpeed <= Map.refTFSEditorVM.dSpeedMin OrElse m_dSpeed >= Map.refTFSEditorVM.dSpeedMax Then Return FontWeights.Bold @@ -695,6 +734,7 @@ Public Class TFSLayer EgtGetInfo(nId, KEY_TTRG, m_dTTrg) EgtGetInfo(nId, KEY_TMAX, m_dTMax) EgtGetInfo(nId, KEY_TCUR, m_dTCurr) + EgtGetInfo(nId, KEY_TWAIT, m_dTWait) EgtGetInfo(nId, KEY_FMIN, m_dFMin) EgtGetInfo(nId, KEY_FTRG, m_dFTrg) EgtGetInfo(nId, KEY_FMAX, m_dFMax) @@ -714,7 +754,7 @@ Public Class TFSLayer NotifyPropertyChanged(NameOf(Background)) End Sub - Sub New(nId As Integer, nIndex As Integer, dLength As Double, dTMin As Double, dTTrg As Double, dTMax As Double, dTCurr As Double, dFMin As Double, dFTrg As Double, dFMax As Double, dFCurr As Double, dSpeed As Double) + Sub New(nId As Integer, nIndex As Integer, dLength As Double, dTMin As Double, dTTrg As Double, dTMax As Double, dTCurr As Double, dTWait As Double, dFMin As Double, dFTrg As Double, dFMax As Double, dFCurr As Double, dSpeed As Double) m_nId = nId m_nIndex = nIndex m_dLength = dLength @@ -722,6 +762,7 @@ Public Class TFSLayer m_dTTrg = dTTrg m_dTMax = dTMax m_dTCurr = dTCurr + m_dTWait = dTWait m_dFMin = dFMin m_dFTrg = dFTrg m_dFMax = dFMax