ab283a3efa
- correzioni al polishing (oar si notifica che è un taglio diretto e si controlla meglio l'utensile) - varie migliorie nei tagli diretti.
259 lines
10 KiB
VB.net
259 lines
10 KiB
VB.net
Imports EgtUILib
|
|
|
|
Public Class ControlsDirectCutUC
|
|
|
|
' Dichiarazione delle Page UserControl
|
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Friend m_MachineButtons As MachineButtonsUC
|
|
Friend m_ManualAxesMove As ManualAxesMoveUC
|
|
Friend m_SingleCutAuto As SingleCutAuto
|
|
Friend m_SingleCut As SingleCutUC
|
|
Friend m_SingleDrill As SingleDrillUC
|
|
Friend m_MultipleCut As MultipleCut
|
|
Friend m_GridCut As GridCut
|
|
Friend m_FlatteningCut As FlatteningCut
|
|
Friend m_Squaring As SquaringUC
|
|
Friend m_ControlsMachineButton As ControlsMachineButtonUC
|
|
Friend m_VacuumMachineButton As VacuumMachineButtonUC
|
|
|
|
Friend m_ControlDirectCutPage1 As ControlsDirectCutUC1
|
|
|
|
' Stato di visualizzazione della macchina
|
|
Friend m_bShowMachine As Boolean = False
|
|
Friend m_nMachLook As Integer = MCH_LOOK.ALL
|
|
' Dati generali CN
|
|
Friend m_CN As CN_generico
|
|
Private m_bFirst As Boolean = True
|
|
' Riferimento alla pagina correntemente attiva
|
|
Friend m_ActiveDirectCutPage As DirectCutPages = DirectCutPages.DirectCut
|
|
' Variabili che indicano attivazione paginette con bottoni macchina
|
|
Private m_ControlsBtn_IsActive As Boolean
|
|
|
|
Public Shared m_dZSafe As Double = 52
|
|
|
|
' Variabile che indica se sono attivi i bottoni macchina nuovi o vecchi
|
|
Friend m_NewMachineButtonsType As Boolean
|
|
' Indica che la finestra del talio Singolo deve essere di tipo manuale
|
|
Friend m_bManualCut As Boolean = False
|
|
|
|
' elenco dei nuovi bottoni
|
|
Private m_ButtonJogList As New List(Of MachineButton)
|
|
|
|
Enum DirectCutPages
|
|
' pagina principale di tagli diretti
|
|
DirectCut
|
|
' nuova pagina di tagli diretti
|
|
DirectCut1
|
|
' elenco dei comandi associati
|
|
ManualAxesMove
|
|
SingleCut
|
|
MultipleCut
|
|
GridCut
|
|
FlatteningCut
|
|
Polishing
|
|
CopyTemplate
|
|
SingleCutAuto
|
|
SingleDrill
|
|
Squaring
|
|
End Enum
|
|
|
|
Private Sub ControlsDirectCutUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
|
|
' leggo la configurazione del programma per i nuovi tagli manuali
|
|
m_bManualCut = ( GetPrivateProfileInt(S_GENERAL, K_MANUAL_CUT, 0, m_MainWindow.GetIniFile()) <> 0)
|
|
|
|
' Creazione delle Page UserControl
|
|
m_MachineButtons = New MachineButtonsUC
|
|
m_ManualAxesMove = New ManualAxesMoveUC
|
|
m_SingleCut = New SingleCutUC
|
|
m_SingleCutAuto = New SingleCutAuto
|
|
m_SingleDrill = New SingleDrillUC
|
|
m_MultipleCut = New MultipleCut
|
|
m_GridCut = New GridCut
|
|
m_FlatteningCut = New FlatteningCut
|
|
m_Squaring = New SquaringUC
|
|
m_ControlsMachineButton = New ControlsMachineButtonUC
|
|
m_VacuumMachineButton = New VacuumMachineButtonUC
|
|
' Riferimento alla pagina succesiva
|
|
m_ControlDirectCutPage1 = New ControlsDirectCutUC1
|
|
|
|
' Posizionemento nella griglia delle Page UserControl DirectCutPageUC
|
|
m_MachineButtons.SetValue(Grid.RowProperty, 2)
|
|
m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 7)
|
|
m_ManualAxesMove.SetValue(Grid.RowProperty, 1)
|
|
If m_bManualCut Then
|
|
m_SingleCutAuto.SetValue(Grid.RowProperty, 1)
|
|
Else
|
|
m_SingleCut.SetValue(Grid.RowProperty, 1)
|
|
End If
|
|
m_SingleDrill.SetValue(Grid.RowProperty, 1)
|
|
m_MultipleCut.SetValue(Grid.RowProperty, 1)
|
|
m_GridCut.SetValue(Grid.RowProperty, 1)
|
|
m_FlatteningCut.SetValue(Grid.RowProperty, 1)
|
|
m_Squaring.SetValue(Grid.RowProperty, 1)
|
|
m_ControlsMachineButton.SetValue(Grid.RowProperty, 1)
|
|
m_VacuumMachineButton.SetValue(Grid.RowProperty, 1)
|
|
|
|
ManualTxt.Text = EgtMsg(90201) ' Movimento manuale
|
|
SingleCutTxt.Text = EgtMsg(90202) ' Taglio singolo
|
|
SingleDrillTxt.Text = EgtMsg(90258) ' Foro singolo
|
|
MultipleCutTxt.Text = EgtMsg(90203) ' Taglio multiplo
|
|
GridCutTxt.Text = EgtMsg(90204) ' Taglio griglia
|
|
FlatteningCutTxt.Text = EgtMsg(90206) ' Spianatura
|
|
SquaringTxt.Text = EgtMsg(90261) ' Squadratura
|
|
ChangeUCTxBl.Text = EgtMsg(90409) ' Altri
|
|
|
|
End Sub
|
|
|
|
Private Sub ControlsDirectCutUC_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
|
' Se rientro da simulazione
|
|
If m_ActiveDirectCutPage = DirectCutPages.SingleCut Then
|
|
LeftButtonGrid.Children.Add(m_SingleCut)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto Then
|
|
LeftButtonGrid.Children.Add(m_SingleCutAuto)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.MultipleCut Then
|
|
LeftButtonGrid.Children.Add(m_MultipleCut)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.GridCut Then
|
|
LeftButtonGrid.Children.Add(m_GridCut)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.FlatteningCut Then
|
|
LeftButtonGrid.Children.Add(m_FlatteningCut)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleDrill Then
|
|
LeftButtonGrid.Children.Add(m_SingleDrill)
|
|
Return
|
|
ElseIf m_ActiveDirectCutPage = DirectCutPages.Squaring Then
|
|
LeftButtonGrid.Children.Add(m_Squaring)
|
|
Return
|
|
End If
|
|
|
|
If m_MainWindow.m_DirectCutPageUC.m_ActiveControl <> DirectCutPageUC.Controls.MachineButtonUC Or
|
|
m_MainWindow.m_DirectCutPageUC.m_ActiveControl <> DirectCutPageUC.Controls.VacuumButtonUC Then
|
|
' Caso standard
|
|
m_ActiveDirectCutPage = DirectCutPages.DirectCut
|
|
End If
|
|
|
|
' Attivo le lavorazioni solo se esiste il grezzo e se presente testa H1
|
|
Dim bRawOk As Boolean = (GetRawHeight() > EPS_SMALL)
|
|
Dim bH1Exists As Boolean = m_MainWindow.m_CurrentMachine.ExistsSawHead()
|
|
|
|
ManualBtn.IsEnabled = bH1Exists
|
|
' sviluppo rimasto in sospeso
|
|
If m_bManualCut Then
|
|
' anche se non è presente un grezzo mantengo abilitato il bottone
|
|
SingleCutBtn.IsEnabled = True
|
|
Else
|
|
SingleCutBtn.IsEnabled = bRawOk
|
|
End If
|
|
MultipleCutBtn.IsEnabled = bRawOk
|
|
GridCutBtn.IsEnabled = bRawOk
|
|
SingleDrillBtn.IsEnabled = (bRawOk And bH1Exists)
|
|
FlatteningCutBtn.IsEnabled = (bRawOk And bH1Exists)
|
|
SquaringBtn.IsEnabled = bRawOk
|
|
|
|
' aggiorno la visualizzazione dei parametri
|
|
ReloadParam()
|
|
|
|
' Nascondo i pezzi in parcheggio
|
|
HideParkedParts()
|
|
EgtZoom(ZM.ALL)
|
|
|
|
End Sub
|
|
|
|
' ricarico i parametri utensili per definizione
|
|
Public Sub ReloadParam()
|
|
Dim sCurrSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
|
|
Dim sCurrSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
Dim bSaw As Boolean = False
|
|
|
|
' se esiste una lavorazione di lama corrente vuol dire che deve essere preferita
|
|
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
|
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
|
End If
|
|
If Not bSaw Then
|
|
EgtOutLog(" WARNING! Impossible to get point from SAW, there isn't SAW or SAWING! It's available only by DRAW")
|
|
End If
|
|
m_SingleCut.SetEnableParam(bSaw)
|
|
m_MultipleCut.SetEnableParam(bSaw)
|
|
m_GridCut.SetEnableParam(bSaw)
|
|
End Sub
|
|
|
|
#Region "COMMAND CLICK BTN"
|
|
|
|
Private Sub ManualBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualBtn.Click
|
|
LeftButtonGrid.Children.Add(m_ManualAxesMove)
|
|
m_ActiveDirectCutPage = DirectCutPages.ManualAxesMove
|
|
End Sub
|
|
|
|
Private Sub SingleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleCutBtn.Click
|
|
If m_bManualCut Then
|
|
LeftButtonGrid.Children.Add(m_SingleCutAuto)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto
|
|
Else
|
|
LeftButtonGrid.Children.Add(m_SingleCut)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleCut
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub MultipleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles MultipleCutBtn.Click
|
|
LeftButtonGrid.Children.Add(m_MultipleCut)
|
|
m_ActiveDirectCutPage = DirectCutPages.MultipleCut
|
|
End Sub
|
|
|
|
Private Sub GridCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles GridCutBtn.Click
|
|
LeftButtonGrid.Children.Add(m_GridCut)
|
|
m_ActiveDirectCutPage = DirectCutPages.GridCut
|
|
End Sub
|
|
|
|
Private Sub FlatteningCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles FlatteningCutBtn.Click
|
|
LeftButtonGrid.Children.Add(m_FlatteningCut)
|
|
m_ActiveDirectCutPage = DirectCutPages.FlatteningCut
|
|
End Sub
|
|
|
|
Private Sub SquaringBtn_Click(sender As Object, e As RoutedEventArgs) Handles SquaringBtn.Click
|
|
LeftButtonGrid.Children.Add(m_Squaring)
|
|
m_ActiveDirectCutPage = DirectCutPages.Squaring
|
|
End Sub
|
|
|
|
Private Sub SingleDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleDrillBtn.Click
|
|
LeftButtonGrid.Children.Add(m_SingleDrill)
|
|
m_ActiveDirectCutPage = DirectCutPages.SingleDrill
|
|
End Sub
|
|
|
|
' cambio pagina
|
|
Private Sub ChangeUCBtn_Click(sender As Object, e As RoutedEventArgs) Handles ChangeUCBtn.Click
|
|
DirectCutPage_Unloaded(Nothing, Nothing)
|
|
m_ActiveDirectCutPage = DirectCutPages.DirectCut
|
|
m_MainWindow.m_DirectCutPageUC.LoadDirectCutUC1()
|
|
End Sub
|
|
|
|
#End Region ' Command Click Btn
|
|
|
|
|
|
Friend Sub DirectCutPage_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
|
Select Case m_ActiveDirectCutPage
|
|
Case DirectCutPages.DirectCut Or DirectCutPages.ManualAxesMove
|
|
' Non è necessario fare alcunché
|
|
Case DirectCutPages.SingleCut
|
|
LeftButtonGrid.Children.Remove(m_SingleCut)
|
|
Case DirectCutPages.SingleCutAuto
|
|
LeftButtonGrid.Children.Remove(m_SingleCutAuto)
|
|
Case DirectCutPages.MultipleCut
|
|
LeftButtonGrid.Children.Remove(m_MultipleCut)
|
|
Case DirectCutPages.GridCut
|
|
LeftButtonGrid.Children.Remove(m_GridCut)
|
|
Case DirectCutPages.FlatteningCut
|
|
LeftButtonGrid.Children.Remove(m_FlatteningCut)
|
|
Case DirectCutPages.SingleDrill
|
|
LeftButtonGrid.Children.Remove(m_SingleDrill)
|
|
Case DirectCutPages.Squaring
|
|
LeftButtonGrid.Children.Remove(m_Squaring)
|
|
End Select
|
|
End Sub
|
|
|
|
End Class
|