85e906e4c8
- aggiunta prima versione di Vein Matching - si eliminano spazi iniziali e finali da nomi utensili e lavorazioni - nuovo utensile come copia di esistente ora crea nuovo disegno - nuovo utensile ora assegna valori di default alla geometria.
169 lines
7.0 KiB
VB.net
169 lines
7.0 KiB
VB.net
Imports EgtUILib
|
|
Imports EgtWPFLib
|
|
Imports System.Reflection
|
|
Imports System.Globalization
|
|
|
|
Public Class CadCutPageUC
|
|
|
|
' Riferimenti a pagine
|
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Private m_CurrProjPage As CurrentProjectPageUC
|
|
|
|
' Dichiarazione delle Page UserControl
|
|
Friend WithEvents m_NestPage As NestPageUC
|
|
Friend m_SplitPage As SplitPageUC
|
|
Friend m_MoveRawPartPage As MoveRawPartPage
|
|
Friend m_CSVPage As CSVPage
|
|
Friend m_ProjectMgr As ProjectMgrUC
|
|
|
|
' Variabile che indica la modalità
|
|
Friend m_CadCutMode As CadCutModes
|
|
|
|
' Oggetto di gestione della macchina fotografica
|
|
Friend m_Camera As New Camera
|
|
|
|
' Elenco pagine interne a cadcutpage
|
|
Friend Enum CadCutModes As Integer
|
|
Nest
|
|
Split
|
|
MoveRawPart
|
|
End Enum
|
|
|
|
Private Sub CadCutPage_Initialized(sender As Object, e As EventArgs)
|
|
|
|
' Creazione delle Page UserControl
|
|
m_NestPage = New NestPageUC
|
|
m_SplitPage = New SplitPageUC
|
|
m_MoveRawPartPage = New MoveRawPartPage
|
|
m_CSVPage = New CSVPage
|
|
m_ProjectMgr = New ProjectMgrUC
|
|
|
|
' Posizionamento nella griglia delle Page UserControl
|
|
m_NestPage.SetValue(Grid.RowSpanProperty, 3)
|
|
m_NestPage.SetValue(Grid.ColumnSpanProperty, 2)
|
|
m_SplitPage.SetValue(Grid.RowSpanProperty, 3)
|
|
m_SplitPage.SetValue(Grid.ColumnSpanProperty, 3)
|
|
m_MoveRawPartPage.SetValue(Grid.RowSpanProperty, 3)
|
|
m_MoveRawPartPage.SetValue(Grid.ColumnSpanProperty, 3)
|
|
m_CSVPage.SetValue(Grid.RowSpanProperty, 3)
|
|
m_CSVPage.SetValue(Grid.ColumnSpanProperty, 3)
|
|
m_ProjectMgr.SetValue(Grid.RowProperty, 2)
|
|
m_ProjectMgr.SetValue(Grid.ColumnProperty, 1)
|
|
|
|
' Assegno UC a questa pagina
|
|
CadCutPageGrid.Children.Add(m_ProjectMgr)
|
|
End Sub
|
|
|
|
Private Sub CadCutPage_Loaded(sender As Object, e As RoutedEventArgs)
|
|
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
|
|
' Se abilitato, visualizzo bottone CSV
|
|
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_NESTING) Then
|
|
m_ProjectMgr.CSVBtn.Visibility = Windows.Visibility.Visible
|
|
Else
|
|
m_ProjectMgr.CSVBtn.Visibility = Windows.Visibility.Hidden
|
|
End If
|
|
' Se abilitato, visualizzo bottone VeinMatching
|
|
If GetPrivateProfileInt(S_VEINMATCHING, K_VEINMA_ENABLE, 0, m_MainWindow.GetIniFile()) <> 0 Then
|
|
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Visible
|
|
Else
|
|
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Hidden
|
|
End If
|
|
' Seleziono UserControl di apertura
|
|
CadCutPageGrid.Children.Add(m_NestPage)
|
|
m_CadCutMode = CadCutModes.Nest
|
|
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Split.png", UriKind.Relative))
|
|
' Se macchina fotografica abilitata
|
|
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_PHOTO) Then
|
|
PhotoBtn.IsEnabled = True
|
|
' Inizializzo gestore macchina fotografica
|
|
m_Camera.Init()
|
|
Else
|
|
PhotoBtn.IsEnabled = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub PhotoBtn_Click(sender As Object, e As RoutedEventArgs) Handles PhotoBtn.Click
|
|
' Se macchina fotografica abilitata, faccio una foto
|
|
If m_Camera.GetCameraLink() Then
|
|
If Not m_Camera.CameraClick() Then
|
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90313)) 'Fotografia non riuscita
|
|
End If
|
|
' Altrimenti lancio browser di immagini
|
|
Else
|
|
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
|
|
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_PhotoPage)
|
|
m_MainWindow.m_ActivePage = MainWindow.Pages.Photo
|
|
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub PostPhoto(ByVal sPath As String)
|
|
' Carico la foto
|
|
m_MainWindow.m_CurrentProjectPageUC.LoadPhoto(sPath)
|
|
' Aggiorno visualizzazione
|
|
EgtZoom(ZM.ALL)
|
|
End Sub
|
|
|
|
Private Sub RawPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RawPartBtn.Click
|
|
m_MainWindow.m_CurrentProjectPageUC.CurrProjGrid.Visibility = Windows.Visibility.Hidden
|
|
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Remove(Me)
|
|
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_RawPartPage)
|
|
m_MainWindow.m_ActivePage = MainWindow.Pages.RawPart
|
|
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
|
|
End Sub
|
|
|
|
Private Sub DrawBtn_Click(sender As Object, e As RoutedEventArgs) Handles DrawBtn.Click
|
|
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
|
|
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_DrawPageUC)
|
|
m_MainWindow.m_ActivePage = MainWindow.Pages.Draw
|
|
End Sub
|
|
|
|
Private Sub ImportBtn_Click(sender As Object, e As RoutedEventArgs) Handles ImportBtn.Click
|
|
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_CurrentProjectPageUC)
|
|
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_ImportPageUC)
|
|
m_MainWindow.m_ActivePage = MainWindow.Pages.Import
|
|
m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut
|
|
End Sub
|
|
|
|
Private Sub CadCutPage_Unloaded(sender As Object, e As RoutedEventArgs)
|
|
' Chiudo tutti gli UserControl attivi
|
|
Select Case m_CadCutMode
|
|
Case CadCutModes.Nest
|
|
CadCutPageGrid.Children.Remove(m_NestPage)
|
|
Case CadCutModes.Split
|
|
CadCutPageGrid.Children.Remove(m_SplitPage)
|
|
Case CadCutModes.MoveRawPart
|
|
CadCutPageGrid.Children.Remove(m_MoveRawPartPage)
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub SplitBtn_Click(sender As Object, e As RoutedEventArgs) Handles SplitBtn.Click
|
|
Select Case m_CadCutMode
|
|
Case CadCutModes.Nest
|
|
' Passo alla pagina Split
|
|
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Nest.png", UriKind.Relative))
|
|
CadCutPageGrid.Children.Remove(m_NestPage)
|
|
CadCutPageGrid.Children.Add(m_SplitPage)
|
|
m_CadCutMode = CadCutModes.Split
|
|
' Carico eventuale manipolatore pezzi
|
|
LoadVacuumCups()
|
|
' !!! Provvisorio : riparto da capo !!!
|
|
' Cancello tutte le lavorazioni
|
|
EraseMachinings(GDB_ID.NULL)
|
|
' Reinserisco tutte le lavorazioni
|
|
AddMachinings(GDB_ID.NULL, True, False)
|
|
' Aggiorno visualizzazione
|
|
EgtDraw()
|
|
Case CadCutModes.Split
|
|
' Cancello eventuale manipolatore pezzi
|
|
RemoveVacuumCups()
|
|
' Passo alla pagina Nest
|
|
SplitImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Split.png", UriKind.Relative))
|
|
CadCutPageGrid.Children.Remove(m_SplitPage)
|
|
CadCutPageGrid.Children.Add(m_NestPage)
|
|
m_CadCutMode = CadCutModes.Nest
|
|
End Select
|
|
End Sub
|
|
|
|
End Class
|