From 694feab56ea0f33ca2730840fd42f58a01648068 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Tue, 15 Mar 2022 09:19:04 +0100 Subject: [PATCH] - Eliminata TopBar da finestra di caricamento - Corretto colore testo selzionato in RawPart e PartinRawPart - Gestita visibilita' nesting da Btl solo quando presente nel file - Gestito offset variabile su spessore parete --- EgtBEAMWALL.Core/Constants/ConstBeam.vb | 1 + EgtBEAMWALL.Core/LoadingWnd/LoadingWndV.xaml | 2 ++ .../ItemParamList/PartInRawPartListV.xaml | 5 +++++ .../ItemParamList/RawPartListV.xaml | 5 +++++ .../MainMenu/MainMenuVM.vb | 4 +++- .../NestingRunningWnd/NestingRunningWndVM.vb | 3 +++ .../OptimizePanel/OptimizePanelVM.vb | 12 ++++++++++++ .../ProdManager/ProdManagerVM.vb | 2 ++ .../WarehouseWnd/WarehouseHelper.vb | 19 +++++++++++++++++++ 9 files changed, 52 insertions(+), 1 deletion(-) diff --git a/EgtBEAMWALL.Core/Constants/ConstBeam.vb b/EgtBEAMWALL.Core/Constants/ConstBeam.vb index a2bdead7..f652378b 100644 --- a/EgtBEAMWALL.Core/Constants/ConstBeam.vb +++ b/EgtBEAMWALL.Core/Constants/ConstBeam.vb @@ -286,6 +286,7 @@ Public Const WRH_CURRENT As String = "Current" Public Const WRH_STARTOFFSET As String = "StartOffset" Public Const WRH_OFFSET As String = "Offset" + Public Const WRH_RANGE As String = "Range" Public Const WRH_QUANTITY As String = "Quantity" Public Const WRH_L As String = "L" Public Const WRH_KERF As String = "Kerf" diff --git a/EgtBEAMWALL.Core/LoadingWnd/LoadingWndV.xaml b/EgtBEAMWALL.Core/LoadingWnd/LoadingWndV.xaml index faaf9248..6eab8aec 100644 --- a/EgtBEAMWALL.Core/LoadingWnd/LoadingWndV.xaml +++ b/EgtBEAMWALL.Core/LoadingWnd/LoadingWndV.xaml @@ -4,6 +4,8 @@ xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" Height="200" Width="300" + TitleBarHeight="0" + ResizeMode="NoResize" WindowStyle="None" IsClosable="False" IsMinimizable="False" WindowStartupLocation="Manual" ShowInTaskbar="False"> diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/PartInRawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/PartInRawPartListV.xaml index 0412720e..87873f01 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/PartInRawPartListV.xaml +++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/PartInRawPartListV.xaml @@ -30,6 +30,11 @@ diff --git a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/RawPartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/RawPartListV.xaml index e736b194..27825855 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ItemParamList/RawPartListV.xaml +++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/RawPartListV.xaml @@ -30,6 +30,11 @@ diff --git a/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb b/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb index 6cf3de7e..13051a64 100644 --- a/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/MainMenu/MainMenuVM.vb @@ -370,12 +370,14 @@ Public Class MainMenuVM Map.refProjectVM.BTLStructureVM = Nothing Map.refProjectVM.MachGroupPanelVM = Nothing End If + ' aggiorno lista possibili nesting + Map.refOptimizePanelVM.UpdateOriginTypeList(EgtGetFirstNameInGroup(GDB_ID.ROOT, "RawParts") <> GDB_ID.NULL) + ' aggiorno visibilita' degli elementi grafici Map.refMainWindowVM.NotifyPropertyChanged(NameOf(Map.refMainWindowVM.nSelTabPage)) Map.refMainMenuVM.NotifyPropertyChanged(NameOf(Map.refMainMenuVM.SendFeedbackIsEnabled)) Map.refInstrumentPanelVM.NotifyPropertyChanged(NameOf(Map.refInstrumentPanelVM.ChangeParam_Visibility)) Map.refInstrumentPanelVM.NotifyPropertyChanged(NameOf(Map.refInstrumentPanelVM.ChangeMaterial_Visibility)) Map.refTopPanelVM.NotifyPropertyChanged(NameOf(Map.refTopPanelVM.MovePart_Visibility)) - ' aggiorno visibilita' degli elementi grafici Map.refProjectVM.SetBottomPanel_Visibility(False) Map.refProjectVM.SetLeftPanel_Visibility(True) Map.refLeftPanelVM.UpdateView() diff --git a/EgtBEAMWALL.ViewerOptimizer/NestingRunningWnd/NestingRunningWndVM.vb b/EgtBEAMWALL.ViewerOptimizer/NestingRunningWnd/NestingRunningWndVM.vb index 07afaa6d..944dfc41 100644 --- a/EgtBEAMWALL.ViewerOptimizer/NestingRunningWnd/NestingRunningWndVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/NestingRunningWnd/NestingRunningWndVM.vb @@ -309,6 +309,9 @@ Public Class NestingRunningWndVM ' calcolo nesting For m_SectionIndex = 0 To m_SectionProgressList.Count - 1 Dim SectionProgress As SectionProgress = m_SectionProgressList(m_SectionIndex) + If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then + dOffset = WarehouseHelper.GetWallOffsetByWidth(SectionProgress.Section.dH) + End If ' passo a lua lista id pezzi da nestare If SectionProgress.SectionPartList.Count > 0 AndAlso SectionProgress.SParamList.Count > 0 AndAlso Not ExecNesting(sLogPath, CurrentMachine.sMachineName, SectionProgress.SectionPartList, SectionProgress.SParamList, dStartOffset, dOffset, dKerf, m_bLDIntersOther, m_nMinScore, SectionProgress.dCalcNestTime) Then diff --git a/EgtBEAMWALL.ViewerOptimizer/OptimizePanel/OptimizePanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/OptimizePanel/OptimizePanelVM.vb index c86c47dd..f58e08a3 100644 --- a/EgtBEAMWALL.ViewerOptimizer/OptimizePanel/OptimizePanelVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/OptimizePanel/OptimizePanelVM.vb @@ -256,6 +256,18 @@ Public Class OptimizePanelVM m_bNestingRunning = False End Sub + Friend Sub UpdateOriginTypeList(bFromBtl As Boolean) + m_OriginTypeList = New List(Of IdNameStruct) + If Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso + (Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM OrElse (Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL And Map.refMainWindowVM.MainWindowM.GetKeyOption(KEY_OPT.NESTING_AUTO))) Then + m_OriginTypeList.Add(New IdNameStruct(OriginType.STANDARD, EgtMsg(61964))) + End If + If bFromBtl Then + m_OriginTypeList.Add(New IdNameStruct(OriginType.FROM_BTL, EgtMsg(61965))) + End If + NotifyPropertyChanged(NameOf(OriginTypeList)) + End Sub + #End Region ' METHODS #Region "COMMANDS" diff --git a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb index 19639d77..f5f40bea 100644 --- a/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb +++ b/EgtBEAMWALL.ViewerOptimizer/ProdManager/ProdManagerVM.vb @@ -301,6 +301,8 @@ Public Class ProdManagerVM Map.refSceneHostVM.MainController.NewProject() Map.refMainWindowVM.SetTitle("New - EgtBEAMWALL") End If + ' aggiorno lista possibili nesting + Map.refOptimizePanelVM.UpdateOriginTypeList(EgtGetFirstNameInGroup(GDB_ID.ROOT, "RawParts") <> GDB_ID.NULL) ' resetto eventuale visualizzazione statistiche Map.refInstrumentPanelVM.ResetStatisticsIsChecked() ' aggiorno titolo diff --git a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb index 15dacd99..18813c51 100644 --- a/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb +++ b/EgtBEAMWALL.ViewerOptimizer/WarehouseWnd/WarehouseHelper.vb @@ -38,6 +38,25 @@ Module WarehouseHelper Return GenInterface.GetPrivateProfileDouble(If(Type = BWType.BEAM, WRH_BEAM, WRH_WALL), WRH_OFFSET, 0, GetWarehouseIniPath()) End Function + ' funzione che restituisce l'offset dato spessore pareti + Public Function GetWallOffsetByWidth(dHeight As Double) As Double + Dim dOffset As Double = 0 + Dim nRangeIndex As Integer = 1 + Dim sRange As String = "" + While GenInterface.GetPrivateProfileString(WRH_WALL, WRH_RANGE & nRangeIndex, "", sRange, GetWarehouseIniPath()) >= 0 AndAlso Not String.IsNullOrWhiteSpace(sRange) + Dim sRanges() As String = sRange.Split(","c) + If sRanges.Count() >= 2 Then + Dim dMaxThickness As Double = 0 + StringToDouble(sRanges(1), dMaxThickness) + If dHeight <= dMaxThickness Then + If StringToDouble(sRanges(0), dOffset) Then Return dOffset + End If + End If + nRangeIndex += 1 + End While + Return 0 + End Function + Public Function SetOffset(Type As BWType, Offset As Double) As Boolean Return GenInterface.WritePrivateProfileString(If(Type = BWType.BEAM, WRH_BEAM, WRH_WALL), WRH_OFFSET, Offset, GetWarehouseIniPath()) End Function