|
|
|
@@ -663,7 +663,7 @@ Public Class SplitModeVM
|
|
|
|
|
SplitModeIsEnabled = Not OmagOFFICEMap.refMachiningTabVM.IsShow
|
|
|
|
|
|
|
|
|
|
' nascondo i comandi che non devono essere visualizzati in funzione delle lavorazioni attive
|
|
|
|
|
If m_nCountSawing = 0 And (m_nCountWaterjetting > 0 Or m_nCountOtherMachining) Then
|
|
|
|
|
If m_nCountSawing = 0 And (m_nCountWaterjetting > 0 Or m_nCountOtherMachining > 0) Then
|
|
|
|
|
VisibilityButtonFromMachining(MCH_OY.WATERJETTING)
|
|
|
|
|
Else
|
|
|
|
|
VisibilityButtonFromMachining(MCH_OY.SAWING)
|
|
|
|
@@ -1718,13 +1718,22 @@ Public Class SplitModeVM
|
|
|
|
|
If Not ModifStartWindow.ShowDialog() Then Return
|
|
|
|
|
' Modifica della lavorazione
|
|
|
|
|
Dim dUsal As Double = ModifStartWindowVM.GetVal()
|
|
|
|
|
EgtSetCurrMachining(nOperId)
|
|
|
|
|
Dim dAddLen As Double = 0
|
|
|
|
|
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
|
|
|
|
|
If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal)
|
|
|
|
|
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
Dim bRepeat As Boolean = False
|
|
|
|
|
Do
|
|
|
|
|
EgtSetCurrMachining(nOperId)
|
|
|
|
|
Dim dAddLen As Double = 0
|
|
|
|
|
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
|
|
|
|
|
If dAddLen - dOrigUsal < -10 * EPS_SMALL Then Return
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen + dUsal - dOrigUsal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dUsal)
|
|
|
|
|
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
If bRepeat Then
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dOrigUsal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
|
|
|
|
|
dUsal = dOrigUsal
|
|
|
|
|
End If
|
|
|
|
|
Loop Until Not bRepeat
|
|
|
|
|
' verifico interferenza
|
|
|
|
|
EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf)
|
|
|
|
|
ColorMachining(m_MachiningList(nI))
|
|
|
|
@@ -1813,14 +1822,25 @@ Public Class SplitModeVM
|
|
|
|
|
ModifStartWindowVM.SetVal(dOrigUeal)
|
|
|
|
|
If Not ModifStartWindow.ShowDialog() Then Return
|
|
|
|
|
' Modifica della lavorazione
|
|
|
|
|
Dim dUsal As Double = ModifStartWindowVM.GetVal()
|
|
|
|
|
EgtSetCurrMachining(nOperId)
|
|
|
|
|
Dim dAddLen As Double = 0
|
|
|
|
|
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
|
|
|
|
|
If dAddLen - dOrigUeal < -10 * EPS_SMALL Then Return
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUsal - dOrigUeal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUsal)
|
|
|
|
|
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
Dim dUeal As Double = ModifStartWindowVM.GetVal()
|
|
|
|
|
Dim bRepeat As Boolean = False
|
|
|
|
|
Do
|
|
|
|
|
EgtSetCurrMachining(nOperId)
|
|
|
|
|
Dim dAddLen As Double = 0
|
|
|
|
|
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
|
|
|
|
|
If dAddLen - dOrigUeal < -10 * EPS_SMALL Then
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen + dUeal - dOrigUeal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dUeal)
|
|
|
|
|
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
|
|
|
If bRepeat Then
|
|
|
|
|
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dOrigUeal)
|
|
|
|
|
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
|
|
|
|
|
dUeal = dOrigUeal
|
|
|
|
|
End If
|
|
|
|
|
Loop Until Not bRepeat
|
|
|
|
|
' verifico interferenza
|
|
|
|
|
EgtVerifyMachining(m_MachiningList(nI).m_nId, m_MachiningList(nI).m_nInterf)
|
|
|
|
|
ColorMachining(m_MachiningList(nI))
|
|
|
|
@@ -2208,13 +2228,21 @@ Public Class SplitModeVM
|
|
|
|
|
Set(value As Boolean)
|
|
|
|
|
If Not IsNothing(value) Then
|
|
|
|
|
m_IsSelected = value
|
|
|
|
|
If value Then
|
|
|
|
|
If value AndAlso Not OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Contains(Me) Then
|
|
|
|
|
OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Add(Me)
|
|
|
|
|
Else
|
|
|
|
|
OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Remove(Me)
|
|
|
|
|
End If
|
|
|
|
|
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 0 Then Return
|
|
|
|
|
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 1 Then OmagOFFICEMap.refSplitModeVM.m_bAreHomogeneous = True
|
|
|
|
|
' se non è stato aggiunto nessun nuovo elemento alla lista dei selezionati allora esco
|
|
|
|
|
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 0 Then
|
|
|
|
|
EgtDraw()
|
|
|
|
|
NotifyPropertyChanged("IsSelected")
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
' se ho un solo elemento allora so che è coerrente con se stesso come lavorazione
|
|
|
|
|
If OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList.Count = 1 Then
|
|
|
|
|
OmagOFFICEMap.refSplitModeVM.m_bAreHomogeneous = True
|
|
|
|
|
End If
|
|
|
|
|
' creo lista ordinata dei selezionati
|
|
|
|
|
Dim ItemList As New List(Of NameIdLsBxItem)
|
|
|
|
|
For Each Item In OmagOFFICEMap.refSplitModeVM.m_SelectedItemsList
|
|
|
|
@@ -2223,37 +2251,6 @@ Public Class SplitModeVM
|
|
|
|
|
|
|
|
|
|
' ------------------------ verifico che le lavorazioni siano dello stesso tipo ------------------------
|
|
|
|
|
OmagOFFICEMap.refSplitModeVM.VerifyHomogenousMachining(ItemList)
|
|
|
|
|
'Dim nSawing As Integer = 0
|
|
|
|
|
'Dim nWaterjetting As Integer = 0
|
|
|
|
|
'Dim nOtherMachining As Integer = 0
|
|
|
|
|
'' conto il numero di tipi di lavprazioni
|
|
|
|
|
'For Each Item As NameIdLsBxItem In ItemList
|
|
|
|
|
' If Item.Type = MCH_OY.SAWING Then
|
|
|
|
|
' nSawing += 1
|
|
|
|
|
' ElseIf Item.Type = MCH_OY.WATERJETTING Then
|
|
|
|
|
' nWaterjetting += 1
|
|
|
|
|
' Else
|
|
|
|
|
' nOtherMachining += 1
|
|
|
|
|
' End If
|
|
|
|
|
'Next
|
|
|
|
|
'' verifico se le lavorazioni sono omeogenee
|
|
|
|
|
'If nSawing > 0 And (nWaterjetting > 0 Or nOtherMachining > 0) Then
|
|
|
|
|
' m_bAreHomogeneous = False
|
|
|
|
|
' VisibilityButtonFromMachinig(MCH_OY.SAWING)
|
|
|
|
|
'ElseIf nSawing = 0 And nOtherMachining > 0 And nWaterjetting > 0 Then
|
|
|
|
|
' m_bAreHomogeneous = False
|
|
|
|
|
' VisibilityButtonFromMachinig(MCH_OY.WATERJETTING)
|
|
|
|
|
'Else
|
|
|
|
|
' VisibilityButtonFromMachinig(ItemList(0).Type)
|
|
|
|
|
' m_bAreHomogeneous = True
|
|
|
|
|
'End If
|
|
|
|
|
'' eventualmente stampo messaggio
|
|
|
|
|
'If Not m_bAreHomogeneous Then
|
|
|
|
|
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
|
|
|
' m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage("Lavorazioni non omogenee")
|
|
|
|
|
'Else
|
|
|
|
|
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
|
|
|
'End If
|
|
|
|
|
' -----------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
ItemList.Sort(Function(x, y) Comparer(Of Integer).Default.Compare(OmagOFFICEMap.refSplitModeVM.m_ItemList.IndexOf(x),
|
|
|
|
|