From fa737c7c807f2b51edb6dc3d623001471526c0b6 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 3 Apr 2023 13:33:44 +0200 Subject: [PATCH] - riattivata visualizzazione macchina su simulazione - aggiornata icona vista tool - gestita visualizzazione strati dopo calcolo slice - uniformata textbox assi macchina in simulazione --- .../MachineViewPanel/MachineViewPanelV.xaml | 2 +- Icarus/MachineViewPanel/MachineViewPanelVM.vb | 21 +- Icarus/SimulationPanel/SimulationPanelV.xaml | 274 +++++++++--------- Icarus/SimulationPanel/SimulationPanelVM.vb | 9 +- Icarus/SliceManager/SliceManagerVM.vb | 19 +- Icarus/SliderManager/SliderManagerVM.vb | 5 +- Icarus/Utility/Dictionary.xaml | 110 ++++++- Icarus/Utility/Map.vb | 12 + Icarus/ViewLayerManager/ViewLayerManagerVM.vb | 25 +- 9 files changed, 305 insertions(+), 172 deletions(-) diff --git a/Icarus/MachineViewPanel/MachineViewPanelV.xaml b/Icarus/MachineViewPanel/MachineViewPanelV.xaml index 82dbd5d..f05b2b4 100644 --- a/Icarus/MachineViewPanel/MachineViewPanelV.xaml +++ b/Icarus/MachineViewPanel/MachineViewPanelV.xaml @@ -7,7 +7,7 @@ Width="40" Style="{StaticResource SelViewSlider_ComboBox}"> - diff --git a/Icarus/MachineViewPanel/MachineViewPanelVM.vb b/Icarus/MachineViewPanel/MachineViewPanelVM.vb index 356ec36..9cfef41 100644 --- a/Icarus/MachineViewPanel/MachineViewPanelVM.vb +++ b/Icarus/MachineViewPanel/MachineViewPanelVM.vb @@ -4,32 +4,27 @@ Imports EgtWPFLib5 Public Class MachineViewPanelVM Inherits VMBase - Private m_nSelMachView As MCH_LOOK Public Property ghSelMachView As Integer Get - Return m_nSelMachView - 1 + Return If(Not IsNothing(Map.refSimulationPanelVM) AndAlso Not IsNothing(Map.refSimulationPanelVM.MySimul), Map.refSimulationPanelVM.MySimul.GetMachLook() - 1, Nothing) End Get Set(value As Integer) - m_nSelMachView = value + 1 - If Not IsNothing(Map.refSimulationPanelVM) Then - Dim MySimul As SimulationVM = Map.refSimulationPanelVM.MySimul - MySimul.SetMachLook(m_nSelMachView) + If Not IsNothing(Map.refSimulationPanelVM) AndAlso Not IsNothing(Map.refSimulationPanelVM.MySimul) Then + Map.refSimulationPanelVM.MySimul.SetMachLook(value + 1) ' aggiorno lo stato della macchina e la sua visualizzazione - EgtSetMachineLook(MySimul.GetMachLook()) - WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, m_nSelMachView) + EgtSetMachineLook(Map.refSimulationPanelVM.MySimul.GetMachLook()) + WriteMainPrivateProfileString(S_SIMUL, K_MACHVIEWMODE, value + 1) End If EgtDraw() End Set End Property - Friend Sub SetSelViewSlider(value As MCH_LOOK) - m_nSelMachView = value + Friend Sub RefreshSelViewSlider() NotifyPropertyChanged(NameOf(ghSelMachView)) End Sub Sub New() - ' leggo vista macchina da ini e la imposto - Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3) - SetSelViewSlider(DefaultMachViewMode) + ' Creo riferimento a questa classe in OmagOFFICEMap + Map.SetRefMachineViewPanelVM(Me) End Sub End Class diff --git a/Icarus/SimulationPanel/SimulationPanelV.xaml b/Icarus/SimulationPanel/SimulationPanelV.xaml index b4566e7..6a9b38c 100644 --- a/Icarus/SimulationPanel/SimulationPanelV.xaml +++ b/Icarus/SimulationPanel/SimulationPanelV.xaml @@ -2,146 +2,154 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" - Width="310" + xmlns:PrintApp="clr-namespace:Icarus" VerticalAlignment="Center"> - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + Style="{StaticResource Simulation_TextBlock}"/> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Icarus/SimulationPanel/SimulationPanelVM.vb b/Icarus/SimulationPanel/SimulationPanelVM.vb index 221d7be..29d33b5 100644 --- a/Icarus/SimulationPanel/SimulationPanelVM.vb +++ b/Icarus/SimulationPanel/SimulationPanelVM.vb @@ -52,6 +52,10 @@ Public Class SimulationPanelVM ' Creo riferimento a questa classe in OmagOFFICEMap Map.SetRefSimulationPanelVM(Me) MySimul = New MySimulation + ' leggo vista macchina da ini e la imposto + Dim DefaultMachViewMode As Integer = GetMainPrivateProfileInt(S_SIMUL, K_MACHVIEWMODE, 3) + MySimul.SetMachLook(DefaultMachViewMode) + Map.refMachineViewPanelVM.RefreshSelViewSlider() End Sub #End Region ' CONSTRUCTOR @@ -76,7 +80,6 @@ Public Class SimulationPanelVM 'Cambio la vista della scena EgtGetGenericView(m_dPrevAngVertDegView, m_dPrevAngHorizDegView) EgtSetView(VT.ISO_SW, False) - MySimul.SetMachLook(MCH_LOOK.ALL) EgtSetMachineLook(MySimul.GetMachLook()) ' Nascondo griglia EgtSetGridShow(False, False) @@ -111,6 +114,7 @@ Public Class SimulationPanelVM Map.refSliderManagerVM.SetLayerIndexIsEnabled(False) Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(False) Map.refInstrumentPanelVM.SetEdgeAnalysisIsEnabled(False) + EgtDraw() End Sub Private Function LoadCurrTools() As Boolean @@ -138,9 +142,6 @@ Public Class SimulationPanelVM Map.refMyStatusBarVM.ClearOutputMessage() ' Mi assicuro di terminare la simulazione MySimul.ResetSimulation() - ' Ripristino visibilità standard - MySimul.SetMachLook(MCH_LOOK.TAB) - EgtSetMachineLook(MySimul.GetMachLook()) '' Nascondo tutte le lavorazioni 'CamAuto.HideAllMachinings() ' Abilito impostazione modificato diff --git a/Icarus/SliceManager/SliceManagerVM.vb b/Icarus/SliceManager/SliceManagerVM.vb index 01db0c6..d7deb01 100644 --- a/Icarus/SliceManager/SliceManagerVM.vb +++ b/Icarus/SliceManager/SliceManagerVM.vb @@ -36,6 +36,11 @@ Public Class SliceManagerVM Private m_bStopScriptToManage As Boolean = False Private m_bSlice As Boolean = False + Friend ReadOnly Property bSlice As Boolean + Get + Return m_bSlice + End Get + End Property Private m_bCalcTFS As Boolean = False Private m_bGenerate As Boolean = False Private m_bCalcSolid As Boolean = False @@ -433,9 +438,6 @@ Public Class SliceManagerVM Map.refSliderManagerVM.SetLayerIndexIsEnabled(True) Map.refSliderManagerVM.SetLayerAdvancementIsEnabled(True) SetButtonsIsEnabled(True) - m_bSlice = False - m_bCalcTFS = False - m_bGenerate = False Return bOk End Function @@ -543,8 +545,6 @@ Public Class SliceManagerVM m_bCalculating = False Return End If - '' esco da altre pagine - 'Dim PreviousPage As Pages = Map.refTopPanelVM.SelPage ' eseguo calcoli CalcSlice(False) ' se non ho interrotto calcoli @@ -554,11 +554,16 @@ Public Class SliceManagerVM Map.refSliderManagerVM.SetLayerIndexToMax() NotifyPropertyChanged(NameOf(Time_Visibility)) NotifyPropertyChanged(NameOf(Mass_Visibility)) - 'Else - ' Map.refTopPanelVM.SelPage = PreviousPage + ' se ricalcolato slice attivo vista SliceToolpath e modo TillSelected + If m_bSlice Then + Map.refSliderManagerVM.SetSelViewSlider(SliderManagerVM.ViewSliderType.UNTIL_SELECTED) + End If Else m_bStopScriptToManage = False End If + m_bSlice = False + m_bCalcTFS = False + m_bGenerate = False m_bCalculating = False End Sub diff --git a/Icarus/SliderManager/SliderManagerVM.vb b/Icarus/SliderManager/SliderManagerVM.vb index b12c58c..b3eea24 100644 --- a/Icarus/SliderManager/SliderManagerVM.vb +++ b/Icarus/SliderManager/SliderManagerVM.vb @@ -368,7 +368,7 @@ Public Class SliderManagerVM End Set End Property Friend Sub SetSelViewSlider(value As ViewSliderType) - m_nSelViewSlider = value + ghSelViewSlider = value - 1 NotifyPropertyChanged(NameOf(ghSelViewSlider)) End Sub @@ -381,7 +381,8 @@ Public Class SliderManagerVM Map.SetRefSliderManagerVM(Me) ' leggo valore default ViewSlider Dim nViewSlider As Integer = GetMainPrivateProfileInt(S_PRINTING3D, K_VIEWSLIDER, 1) - SetSelViewSlider(nViewSlider) + m_nSelViewSlider = nViewSlider + NotifyPropertyChanged(NameOf(ghSelViewSlider)) End Sub #End Region ' CONSTRUCTOR diff --git a/Icarus/Utility/Dictionary.xaml b/Icarus/Utility/Dictionary.xaml index 90801b0..b891872 100644 --- a/Icarus/Utility/Dictionary.xaml +++ b/Icarus/Utility/Dictionary.xaml @@ -832,6 +832,9 @@ + + + - + + + + + +