From e39ca02cbecc4809ff47c4077e31823c3bd1efbf Mon Sep 17 00:00:00 2001 From: Nicola Pievani Date: Thu, 27 May 2021 19:19:28 +0200 Subject: [PATCH] Inseriti i 5 nuovi pulsanti NUM --- DirectCuts/DirectCutPageUC.xaml.vb | 17 ++++--- DirectCuts/MachineButtonsUC.xaml.vb | 56 +++++++++++++++------ DrawImport/CompoDimensionUC.xaml.vb | 2 +- DrawImport/ImportPageUC.xaml.vb | 12 ++--- DrawImport/InternalComponentPageUC.xaml.vb | 4 +- DrawImport/MainComponentPageUC.xaml.vb | 2 +- DrawImport/SecondaryComponentPageUC.xaml.vb | 2 +- NcComm/CNCommunication.vb | 10 +++- Project/CurrentProjectPageUC.xaml.vb | 4 +- Project/ProjectMgrUC.xaml.vb | 27 +++++++--- 10 files changed, 95 insertions(+), 41 deletions(-) diff --git a/DirectCuts/DirectCutPageUC.xaml.vb b/DirectCuts/DirectCutPageUC.xaml.vb index 75c7a96..a793caa 100644 --- a/DirectCuts/DirectCutPageUC.xaml.vb +++ b/DirectCuts/DirectCutPageUC.xaml.vb @@ -73,7 +73,7 @@ Public Class DirectCutPageUC 'Posizionemento nella griglia delle Page UserControl m_MachineButtons.SetValue(Grid.RowProperty, 2) - m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 3) + m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 6) m_ManualAxesMove.SetValue(Grid.RowProperty, 1) If m_bManulaCut Then m_SingleCutAuto.SetValue(Grid.RowProperty, 1) @@ -89,12 +89,15 @@ Public Class DirectCutPageUC m_ControlsMachineButton.SetValue(Grid.RowProperty, 1) m_VacuumMachineButton.SetValue(Grid.RowProperty, 1) + Dim bCollpsedNewBottonsConsole As Boolean = False m_NewMachineButtonsType = m_ControlsMachineButton.GetPrivateProfileMachineButtons(S_CONTROLMACHBUTTONS, "Button1", Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, m_MainWindow.GetMachIniFile()) If Not m_NewMachineButtonsType Then 'Assegno MachineButtons alla pagina LowerButtonGrid.Children.Add(m_MachineButtons) ControlsMachineBtn.Visibility = Windows.Visibility.Collapsed VacuumMachineBtn.Visibility = Windows.Visibility.Collapsed + ' per le configurazioni diverse dalla Digitale5 + bCollpsedNewBottonsConsole = True End If If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then @@ -110,15 +113,16 @@ Public Class DirectCutPageUC PolishingBtn.Content = EgtMsg( 90231) CopyTemplateBtn.Content = EgtMsg( 90209) SawTestBtn.Content = EgtMsg(90207) + ' nuovi bottoni 20/05/2021 - If GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile()) = 1 Then + If GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile()) = 1 And Not bCollpsedNewBottonsConsole Then XYBtn.Content = "X - Y" ZBtn.Content = "Z" BCBtn.Content = "B - C" Else - XYBtn.Visibility = Visibility.Collapsed - ZBtn.Visibility = Visibility.Collapsed - BCBtn.Visibility = Visibility.Collapsed + XYBtn.Visibility = Windows.Visibility.Collapsed + ZBtn.Visibility = Windows.Visibility.Collapsed + BCBtn.Visibility = Windows.Visibility.Collapsed End If End Sub @@ -309,6 +313,7 @@ Public Class DirectCutPageUC End If End Sub + '------------------NUOVI BOTTONI PER GESTIONE JOYSTICK------------------------------------------------- Private Sub XYBtn_Click(sender As Object, e As RoutedEventArgs) Handles XYBtn.Click Dim XYAxesButton As MachineButton = m_ButtonAxesList(0) ' eseguo lo script lua associato @@ -369,7 +374,7 @@ Public Class DirectCutPageUC BCBtn.IsChecked = bBCAxes End If End Sub - + '------------------NUOVI BOTTONI PER GESTIONE JOYSTICK------------------------------------------------- Private Sub MachViewModeBtn_Click(sender As Object, e As RoutedEventArgs) Handles MachViewModeBtn.Click If m_bShowMachine Then ' aggiorno lo stato diff --git a/DirectCuts/MachineButtonsUC.xaml.vb b/DirectCuts/MachineButtonsUC.xaml.vb index 4cf0640..59a1fab 100644 --- a/DirectCuts/MachineButtonsUC.xaml.vb +++ b/DirectCuts/MachineButtonsUC.xaml.vb @@ -71,7 +71,7 @@ Public Class MachineButtonsUC GetToggleButton(nIndex + 1).Visibility = Windows.Visibility.Hidden Next - ' Se variabile di stato "Nothing" imposto immagine fissa + ' Se variabile di stato "Nothing"/"DoorOpened"/"DoorClosed" imposto immagine fissa For nIndex As Integer = 0 To m_nCount - 1 If StateFlagArray(nIndex) = BTN_STATE_NOTHING OrElse StateFlagArray(nIndex) = BTN_STATE_DOOR_OPENED OrElse @@ -97,19 +97,21 @@ Public Class MachineButtonsUC If Not m_MainWindow.m_bNCLink Then For nIndex As Integer = 0 To m_nCount - 1 Dim sImage As String = If(String.IsNullOrEmpty(ImageArrayN(nIndex)), ImageArrayY(nIndex), ImageArrayN(nIndex)) - Try - Dim s As String - If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then - s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage - Else - s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & sImage - End If - 'Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage - Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s) - GetImage(nIndex + 1).Source = sButtonImageSource - Catch ex As Exception - EgtOutLog("Error loading image " & sImage) - End Try + If Not String.IsNullOrEmpty(sImage) Then + Try + Dim s As String + If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then + s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage + Else + s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & sImage + End If + 'Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage + Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s) + GetImage(nIndex + 1).Source = sButtonImageSource + Catch ex As Exception + EgtOutLog("Error loading image " & sImage) + End Try + End If Next End If @@ -562,6 +564,32 @@ Public Class MachineButtonsUC End If End Sub + '----------------- Queste funzioni determina lo stato del bottone direttamente dalla lettura delle variabili CN + Friend Sub XYAxesChanged(ByVal bXYAxes As Boolean) + ' recupero le asscociazioni con i bottoni + Dim nIndex As Integer = Array.IndexOf(StateFlagArray, "XYAxes") + If nIndex = -1 Then Return + ' selezoiono lo stato del bottone + GetToggleButton(nIndex + 1).IsChecked = bXYAxes + End Sub + + Friend Sub ZAxesChanged(ByVal bZAxes As Boolean) + ' recupero le asscociazioni con i bottoni + Dim nIndex As Integer = Array.IndexOf(StateFlagArray, "ZAxes") + If nIndex = -1 Then Return + ' selezoiono lo stato del bottone + GetToggleButton(nIndex + 1).IsChecked = bZAxes + End Sub + + Friend Sub BCAxesChanged(ByVal bBCAxes As Boolean) + ' recupero le asscociazioni con i bottoni + Dim nIndex As Integer = Array.IndexOf(StateFlagArray, "BCAxes") + If nIndex = -1 Then Return + ' selezoiono lo stato del bottone + GetToggleButton(nIndex + 1).IsChecked = bBCAxes + End Sub + '----------------------------------------------------------------------------------------------------------------- + Private Function GetToggleButton(ByVal nIndex As Integer) As Primitives.ToggleButton Select Case nIndex Case 1 diff --git a/DrawImport/CompoDimensionUC.xaml.vb b/DrawImport/CompoDimensionUC.xaml.vb index a186482..877ae92 100644 --- a/DrawImport/CompoDimensionUC.xaml.vb +++ b/DrawImport/CompoDimensionUC.xaml.vb @@ -76,7 +76,7 @@ Public Class CompoDimensionUC AddBtn.Visibility = Windows.Visibility.Visible CancelBtn.Visibility = Windows.Visibility.Visible Else - m_DrawPage.SideAngleBtn.IsEnabled = True + m_DrawPage.SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle m_DrawPage.FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling m_DrawPage.EngraveBtn.IsEnabled = True m_DrawPage.DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And diff --git a/DrawImport/ImportPageUC.xaml.vb b/DrawImport/ImportPageUC.xaml.vb index c7090bb..40527ba 100644 --- a/DrawImport/ImportPageUC.xaml.vb +++ b/DrawImport/ImportPageUC.xaml.vb @@ -598,7 +598,7 @@ Public Class ImportPageUC ResetBtn.IsEnabled = True OkBtn.IsEnabled = True ' abilito bottone angoli su lati esterni - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw) @@ -628,7 +628,7 @@ Public Class ImportPageUC ResetBtn.IsEnabled = True OkBtn.IsEnabled = True ' abilito bottone angoli su lati esterni - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw) @@ -658,7 +658,7 @@ Public Class ImportPageUC ResetBtn.IsEnabled = True OkBtn.IsEnabled = True ' abilito bottone angoli su lati esterni - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw) @@ -1021,7 +1021,7 @@ Public Class ImportPageUC m_nSelectedLayer = GDB_ID.NULL EgtDeselectAll() ' Riabilito SideAngleBtn, FiloTop, DripDrillBtn e unità di misura - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill) @@ -1071,7 +1071,7 @@ Public Class ImportPageUC m_nSelectedLayer = GDB_ID.NULL EgtDeselectAll() ' Riabilito SideAngleBtn, FiloTop, DripCutBtn e unità di misura - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw) @@ -1119,7 +1119,7 @@ Public Class ImportPageUC m_nSelectedLayer = GDB_ID.NULL EgtDeselectAll() ' Riabilito SideAngleBtn, DripCutBtn, DripDrillBtn e unità di misura - SideAngleBtn.IsEnabled = True + SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw) DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And diff --git a/DrawImport/InternalComponentPageUC.xaml.vb b/DrawImport/InternalComponentPageUC.xaml.vb index 0e99a15..6ac6312 100644 --- a/DrawImport/InternalComponentPageUC.xaml.vb +++ b/DrawImport/InternalComponentPageUC.xaml.vb @@ -31,7 +31,7 @@ Public Class InternalComponentPageUC End If m_MainWindow.m_DrawPageUC.m_ActiveComponentPage = DrawPageUC.Pages.InternalComponent ' Abilito bottoni angoli di fianco e lavorazioni da sotto - m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = True + m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = True m_MainWindow.m_DrawPageUC.DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And @@ -181,7 +181,7 @@ Public Class InternalComponentPageUC m_MainWindow.m_DrawPageUC.FiloTopBtn.IsChecked = False m_MainWindow.m_DrawPageUC.EngraveBtn.IsChecked = False m_MainWindow.m_DrawPageUC.DripCutBtn.IsChecked = False - m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = True + m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = True m_MainWindow.m_DrawPageUC.DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And diff --git a/DrawImport/MainComponentPageUC.xaml.vb b/DrawImport/MainComponentPageUC.xaml.vb index 9e0eff3..5ae8317 100644 --- a/DrawImport/MainComponentPageUC.xaml.vb +++ b/DrawImport/MainComponentPageUC.xaml.vb @@ -190,7 +190,7 @@ Public Class MainComponentPageUC m_MainWindow.m_DrawPageUC.FiloTopBtn.IsChecked = False m_MainWindow.m_DrawPageUC.EngraveBtn.IsChecked = False m_MainWindow.m_DrawPageUC.DripCutBtn.IsChecked = False - m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = True + m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = True m_MainWindow.m_DrawPageUC.DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And diff --git a/DrawImport/SecondaryComponentPageUC.xaml.vb b/DrawImport/SecondaryComponentPageUC.xaml.vb index a541cc0..e20c999 100644 --- a/DrawImport/SecondaryComponentPageUC.xaml.vb +++ b/DrawImport/SecondaryComponentPageUC.xaml.vb @@ -226,7 +226,7 @@ Public Class SecondaryComponentPageUC m_MainWindow.m_DrawPageUC.FiloTopBtn.IsChecked = False m_MainWindow.m_DrawPageUC.EngraveBtn.IsChecked = False m_MainWindow.m_DrawPageUC.DripCutBtn.IsChecked = False - m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = True + m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = True m_MainWindow.m_DrawPageUC.DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And diff --git a/NcComm/CNCommunication.vb b/NcComm/CNCommunication.vb index 44d9c63..921b3aa 100644 --- a/NcComm/CNCommunication.vb +++ b/NcComm/CNCommunication.vb @@ -560,7 +560,7 @@ Public Class CNCommunication m_MainWindow.m_DirectCutPageUC.BCAxesChanged(m_CN.bBCAxes) End If Else - m_MainWindow.m_DirectCutPageUC.m_MachineButtons.SpindleStateChanged(m_CN.bSpindleState) + m_MainWindow.m_DirectCutPageUC.m_MachineButtons.SpindleStateChanged(m_CN.bSpindleState) m_MainWindow.m_DirectCutPageUC.m_MachineButtons.CoolantStateChanged(m_CN.bCoolantState OrElse m_CN.bInternalCoolantState OrElse m_CN.bExternCoolantState) m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserStateChanged(m_CN.bLaserState) m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserTracStateChanged(m_CN.bLaserTracState) @@ -572,6 +572,14 @@ Public Class CNCommunication m_MainWindow.m_DirectCutPageUC.m_MachineButtons.FiveAxisStateChanged(False) End If m_MainWindow.m_WorkInProgressPageUC.m_MachineButtons.DoorStateChanged(m_CN.nDoorClosedState) + + ' Nuovi bottoni (uso joystick) per Area4 + If m_IsNewConsole Then + m_MainWindow.m_DirectCutPageUC.m_MachineButtons.XYAxesChanged(m_CN.bXYAxes) + m_MainWindow.m_DirectCutPageUC.m_MachineButtons.ZAxesChanged(m_CN.bZAxes) + m_MainWindow.m_DirectCutPageUC.m_MachineButtons.BCAxesChanged(m_CN.bBCAxes) + End If + End If End If diff --git a/Project/CurrentProjectPageUC.xaml.vb b/Project/CurrentProjectPageUC.xaml.vb index 042c80d..6daa78e 100644 --- a/Project/CurrentProjectPageUC.xaml.vb +++ b/Project/CurrentProjectPageUC.xaml.vb @@ -193,8 +193,8 @@ Public Class CurrentProjectPageUC NewProject() End If - ' creo nuovo progetto - NewProject() + '' creo nuovo progetto + 'NewProject() ' Nascondo progress per fotografia PhotoProgress.Visibility = Windows.Visibility.Hidden diff --git a/Project/ProjectMgrUC.xaml.vb b/Project/ProjectMgrUC.xaml.vb index 4e5dde2..bf82ecd 100644 --- a/Project/ProjectMgrUC.xaml.vb +++ b/Project/ProjectMgrUC.xaml.vb @@ -314,9 +314,18 @@ Public Class ProjectMgrUC Dim dX, dY, dZ As Double EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ) + ' verifica assi lineari + EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat) + If nStat <> 0 Then + vtDirT.Rotate(Vector3d.Z_AX, 180) + EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2) + ' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile) + EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ) + End If + '--------------------------- Comunico i movimenti in origine macchina al CN ---------------------------------------- - ExecuteComandCNC(ptMid, dC1, dB1) + ExecuteCommandCNC(ptMid, dC1, dB1) Return End If ' ---------------------------- Fine modalità test -------------------------------------------- @@ -606,7 +615,7 @@ Public Class ProjectMgrUC End Sub ' ------------------------------------------------ GENERA COMANDI CNC MOVIMENTO ------------------------------------------------ - Private Sub ExecuteComandCNC(ptMid As Point3d, dAngC As Double, dAngB As Double) + Private Sub ExecuteCommandCNC(ptMid As Point3d, dAngC As Double, dAngB As Double) 'If m_CurrNcComm.m_nNCType = 3 AndAlso m_CurrNcComm.m_CN.m_IsSiemensOne Then ' SiemensMoveAxis(ptMid, dAngC, dAngB) @@ -616,7 +625,9 @@ Public Class ProjectMgrUC Dim nTemp As Integer = 0 Dim dTemp As Double = 0 Dim CmdString As String = String.Empty - EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") + If Not EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then + Return + End If '----------- DATI MOVIMENTO ----------- ' imposto avanzamneto in rapido (non deve essere impostata feed e speed) @@ -692,7 +703,7 @@ Public Class ProjectMgrUC ' Reset lua EgtLuaResetGlobVar("CMD") - ' Modifico stringa per inserire i newline + ' Modifico stringa per inserire i newline ( in questo caso non c'è bisogno perchè tutto sulla stessa linea) CmdString = CmdString.Replace("
", Environment.NewLine) ' Creo file... Dim FilePath As String = m_MainWindow.GetCncDir() & "\TestWork" & m_MainWindow.m_CurrentMachine.sIsoFileExt @@ -811,13 +822,15 @@ Public Class ProjectMgrUC Private Sub TestBtn_Click(sender As Object, e As RoutedEventArgs) Handles TestBtn.Click If TestBtn.IsChecked Then m_CurrProjPage.m_bSelectCurv = True + ' deseleziono tutto + EgtDeselectAll() Else m_CurrProjPage.m_bSelectCurv = False EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv) - ' aggiorno il disegno - EgtDraw() + EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv) End If - + ' aggiorno il disegno + EgtDraw() End Sub Private Sub VeinMatchingBtn_Click(sender As Object, e As RoutedEventArgs) Handles VeinMatchingBtn.Click