From 758290bd76969bca1e3082c8fb9cbaeeb8f3aaa6 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 3 Mar 2020 09:44:29 +0000 Subject: [PATCH] OmagCUT : - modifiche per gestione ghigliottina con nesting automatico (viene associata a flag Tagli allineati). --- CadCuts/NestPageUC.xaml.vb | 6 ++++-- Machine/AlarmsPageUC.xaml.vb | 17 ++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/CadCuts/NestPageUC.xaml.vb b/CadCuts/NestPageUC.xaml.vb index 6d3c329..451883e 100644 --- a/CadCuts/NestPageUC.xaml.vb +++ b/CadCuts/NestPageUC.xaml.vb @@ -865,9 +865,11 @@ Public Class NestPageUC EnableReferenceRegion(bAligned) ' Eseguo nesting automatico Dim bOpimizeOnX As Boolean = ( GetPrivateProfileInt( S_NEST, K_AUTOMATICOPTIMIZE, 2, m_MainWindow.GetIniFile()) = 1) + Dim bGuillotineMode As Boolean = bAligned Dim nAutomaticMaxTime As Integer = GetPrivateProfileInt( S_NEST, K_AUTOMATICMAXTIME, 20, m_MainWindow.GetIniFile()) - Dim nMaxTime As Integer = Math.Min( 2 + 0.5 * vParts.Count(), nAutomaticMaxTime) - EgtAutomaticPackParts( vParts, bOpimizeOnX, m_bReducedCut, nMaxTime) + Dim dPartTime As Double = If( bGuillotineMode, 1.0, 0.5) + Dim nMaxTime As Integer = Math.Min( 2.0 + dPartTime * vParts.Count(), nAutomaticMaxTime) + EgtAutomaticPackParts( vParts, bOpimizeOnX, m_bReducedCut, bGuillotineMode, nMaxTime) ' Sistemo i pezzi For Each nPartId As Integer In vParts ' se pezzo inserito diff --git a/Machine/AlarmsPageUC.xaml.vb b/Machine/AlarmsPageUC.xaml.vb index 74e2449..6e84b7a 100644 --- a/Machine/AlarmsPageUC.xaml.vb +++ b/Machine/AlarmsPageUC.xaml.vb @@ -294,9 +294,6 @@ Public Class AlarmsPageUC ' Leggo sicurezza su tagli in angoli interni dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_SAFE_LEN_INTCORNER, 0, m_MainWindow.GetMachIniFile()) AngleCutExtraLenTxBx.Text = LenToString(dVal, 2) - ' Leggo tagli ridotti per interferenza in nesting - CompleteCutsChBx.IsChecked = - (GetPrivateProfileInt(S_MACH_NEST, K_MACH_REDUCEDCUT, 0, m_MainWindow.GetMachIniFile()) = 0) ' Leggo distanza di sicurezza dVal = 0 EgtMdbGetGeneralParam(MCH_GP.SAFEZ, dVal) @@ -324,12 +321,16 @@ Public Class AlarmsPageUC ShortTxBx.Text = LenToString(dVal, 2) ' Flag per movimento in home alla fine dei tagli diretti FinalHomeChBx.IsChecked = m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome + ' Leggo tagli ridotti per interferenza in nesting + CompleteCutsChBx.IsChecked = + (GetPrivateProfileInt(S_MACH_NEST, K_MACH_REDUCEDCUT, 0, m_MainWindow.GetMachIniFile()) = 0) ' Flag per nesting allineato AlignChBx.IsChecked = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_NEST_ALIGNED, 0, m_MainWindow.GetMachIniFile()) <> 0) ' Flag per nesting automatico AutomaticChBx.IsChecked = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_NEST_AUTOMATIC, 0, m_MainWindow.GetMachIniFile()) <> 0) + AdjustAlignTextOnAutomaticOrCompleteCuts() ' Aggiorno messaggio sovratavola con numero tavola If GetTableCount() > 1 Then AdditionalTableTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 36) & " " & GetCurrentTable().ToString() @@ -628,6 +629,7 @@ Public Class AlarmsPageUC Else WritePrivateProfileString(S_MACH_NEST, K_MACH_REDUCEDCUT, "1", m_MainWindow.GetMachIniFile()) End If + AdjustAlignTextOnAutomaticOrCompleteCuts() End Sub Private Sub CornerCutsChBx_Click(sender As Object, e As RoutedEventArgs) Handles CornerCutsChBx.Click @@ -682,6 +684,15 @@ Public Class AlarmsPageUC Else WritePrivateProfileString(S_MACH_NEST, K_MACH_NEST_AUTOMATIC, "0", m_MainWindow.GetMachIniFile()) End If + AdjustAlignTextOnAutomaticOrCompleteCuts() + End Sub + + Private Sub AdjustAlignTextOnAutomaticOrCompleteCuts() + If AutomaticChBx.IsChecked() And Not CompleteCutsChBx.IsChecked() Then + AlignTxBl.Text = EgtMsg( 91060) ' Allineato e Ghigliottina + Else + AlignTxBl.Text = EgtMsg( 90932) ' Allineato + End If End Sub Private Sub AdditionalTableTxBx_EgtClosed(sender As Object, e As EventArgs) Handles AdditionalTableTxBx.EgtClosed