From aecb8ed4429dbe1f96268b2ebf01d9fe377ae0f8 Mon Sep 17 00:00:00 2001 From: NicolaP Date: Wed, 25 May 2022 18:08:08 +0200 Subject: [PATCH] Migliorato controllo contorno WaterJet per StartPoint --- CadCuts/NestPageUC.xaml.vb | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/CadCuts/NestPageUC.xaml.vb b/CadCuts/NestPageUC.xaml.vb index 5fdf0aa..26ebbad 100644 --- a/CadCuts/NestPageUC.xaml.vb +++ b/CadCuts/NestPageUC.xaml.vb @@ -295,6 +295,7 @@ Public Class NestPageUC ListGroup = ResearchGropuWJ(nIdParent, nIdPV) Dim nIdWJ As Integer = GetPVIdFromIdSide(ListGroup, nIdMy) GetCurrentPVFromIdSide(ListGroup, nIdMy, nIdWJ, nIdParent) + m_nIdSelectedWaterJet = nIdWJ ' salvo il valore del PreView evidenziato EgtSetMark(nIdWJ) EgtSelectObj(nIdMy) @@ -353,16 +354,18 @@ Public Class NestPageUC ' recupero il gruppo della lavorazione associata Dim nIdParentPart As Integer = EgtGetParent(nIdParent) Dim nIdPV As Integer = EgtGetFirstNameInGroup(nIdParentPart, "PV") - Dim nIdWJ As Integer = EgtGetFirstNameInGroup(nIdPV, "Waterjet" & nIdMy.ToString & "S") - ' verifico che la lavorazione associata sia di tipo waterjet - If Not EgtGetGroupObjs(nIdWJ) Then + ' VERIFICA: recupero l'elenco delle Preview di Tipo WaterJet_n_S associate a questo Part + Dim ListGroup As List(Of Integer) = ResearchGropuWJ(nIdParent, nIdPV) + ' se non esiste almeno 1 Preview di tipo WaterJet + If ListGroup.Count <> EgtGetGroupObjs(nIdParent) Then EgtSetInfo(nIdParent, "Start", ptStartCurv) ' Ricalcolo tutte le lavorazioni Dim nWarn As Integer = 0 ResetAllMachinings(nWarn) - ' Aggiorno visualizzazione - nIdWJ = EgtGetFirstNameInGroup(nIdPV, "Waterjet" & nIdMy.ToString & "S") - ' verco se + ' recupero l'indice del PreView che deve essere acceso per indicare la selezione + ListGroup = ResearchGropuWJ(nIdParent, nIdPV) + Dim nIdWJ As Integer = GetPVIdFromIdSide(ListGroup, nIdMy) + GetCurrentPVFromIdSide(ListGroup, nIdMy, nIdWJ, nIdParent) m_nIdSelectedWaterJet = nIdWJ EgtSetMark(nIdWJ) EgtDraw() @@ -772,18 +775,17 @@ Public Class NestPageUC EgtResetMark(m_nIdSelectedWaterJet) m_nIdSelectedSideWJ = GDB_ID.NULL m_nIdSelectedWaterJet = GDB_ID.NULL + EgtDraw() End Sub Public Sub ResetStartCurvWJParam() EgtResetMark(m_nIdSelectedWaterJet) m_nIdSelectedWaterJet = GDB_ID.NULL - + EgtDraw() End Sub #End Region ' Split Curve - - Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene ' Verifico di essere il gestore attivo e non in modalità registrazione If Not m_bActive Or m_bRegister Then Return @@ -1095,13 +1097,9 @@ Public Class NestPageUC End If ' verifico che sia attivo il comando di modifica tagli waterjet If m_bIsCheckedSplitCurveWJ Then - ' deseleziono gli oggeti, resetto le variabili usate, aggiorno il disegno - ResetSplitCurvWJParam() Return End If If m_bIsCheckedStartCurveWJ Then - ' deseleziono gli oggeti, resetto le variabili usate, aggiorno il disegno - OnMyMouseDownSceneStartCurv(sender, e) Return End If @@ -2147,8 +2145,10 @@ Public Class NestPageUC If DragRettanleBtn.IsChecked Then m_bIsCheckedDragRettangle = True SplitCurveWJBtn.IsChecked = False + ResetSplitCurvWJParam() m_bIsCheckedSplitCurveWJ = False StartCurveWJBtn.IsChecked = False + ResetStartCurvWJParam() m_bIsCheckedStartCurveWJ = False Else m_bIsCheckedDragRettangle = False @@ -2165,6 +2165,7 @@ Public Class NestPageUC DragRettanleBtn.IsChecked = False m_bIsCheckedDragRettangle = False StartCurveWJBtn.IsChecked = False + ResetStartCurvWJParam() m_bIsCheckedStartCurveWJ = False Else m_bIsCheckedSplitCurveWJ = False @@ -2181,6 +2182,7 @@ Public Class NestPageUC m_bIsCheckedStartCurveWJ = True DragRettanleBtn.IsChecked = False m_bIsCheckedDragRettangle = False + ResetSplitCurvWJParam() SplitCurveWJBtn.IsChecked = False m_bIsCheckedSplitCurveWJ = False Else