EgtCAM5 :
- Miglioramenti Db utensili.
This commit is contained in:
+70
-53
@@ -84,44 +84,44 @@ Namespace EgtCAM5
|
||||
Return m_SelectedOperation
|
||||
End Get
|
||||
Set(value As OperationListBoxItem)
|
||||
'If value IsNot m_SelectedOperation Then
|
||||
If Not IsNothing(value) Then
|
||||
' Verifico se c'è l'operazione precedente
|
||||
If m_LastMarkedOperationId <> GDB_ID.NULL Then
|
||||
' La deevidenzio
|
||||
EgtResetMark(m_LastMarkedOperationId)
|
||||
' Ne deseleziono la geometria
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End If
|
||||
' Verifico se l'operazione è una disposizione
|
||||
If EgtGetOperationType(value.Id) = MCH_OY.DISP Then
|
||||
If value IsNot m_SelectedOperation Then
|
||||
If Not IsNothing(value) Then
|
||||
' Verifico se c'è l'operazione precedente
|
||||
If m_LastMarkedOperationId <> GDB_ID.NULL Then
|
||||
' La deevidenzio
|
||||
EgtResetMark(m_LastMarkedOperationId)
|
||||
' Ne deseleziono la geometria
|
||||
EgtDeselectAll()
|
||||
EgtDraw()
|
||||
End If
|
||||
' Verifico se l'operazione è una disposizione
|
||||
If EgtGetOperationType(value.Id) = MCH_OY.DISP Then
|
||||
|
||||
' L'operazione è una lavorazione
|
||||
Else
|
||||
' Imposto come corrente la lavorazione(operazione) selezionata
|
||||
Dim x = EgtSetCurrMachining(value.Id)
|
||||
' Evidenzio la lavorazione(operazione) selezionata
|
||||
EgtSetMark(value.Id)
|
||||
' Seleziono la geometria della lavorazione
|
||||
Dim CountIndex = 0
|
||||
Dim EntityIndex As Integer = 0
|
||||
Dim SubEntityIndex As Integer = 0 ' Nell'interfaccia non si usa ma devo comunque definirla perchè la funzione la restituisce obbligatoriamente
|
||||
While EgtGetMachiningGeometry(CountIndex, EntityIndex, SubEntityIndex)
|
||||
If SubEntityIndex = GDB_ID.NULL Then
|
||||
EgtSelectObj(EntityIndex)
|
||||
End If
|
||||
CountIndex += 1
|
||||
End While
|
||||
EgtDraw()
|
||||
' La salvo come ultima operazione selezionata
|
||||
m_LastMarkedOperationId = value.Id
|
||||
' Notifico l'operazione selezionata all'expander dei parametri operazione
|
||||
Application.Msn.NotifyColleagues(Application.SELECTEDOPERATION, value)
|
||||
' L'operazione è una lavorazione
|
||||
Else
|
||||
' Imposto come corrente la lavorazione(operazione) selezionata
|
||||
EgtSetCurrMachining(value.Id)
|
||||
' Evidenzio la lavorazione(operazione) selezionata
|
||||
EgtSetMark(value.Id)
|
||||
' Seleziono la geometria della lavorazione
|
||||
Dim CountIndex = 0
|
||||
Dim EntityIndex As Integer = 0
|
||||
Dim SubEntityIndex As Integer = 0 ' Nell'interfaccia non si usa ma devo comunque definirla perchè la funzione la restituisce obbligatoriamente
|
||||
While EgtGetMachiningGeometry(CountIndex, EntityIndex, SubEntityIndex)
|
||||
If SubEntityIndex = GDB_ID.NULL Then
|
||||
EgtSelectObj(EntityIndex)
|
||||
End If
|
||||
CountIndex += 1
|
||||
End While
|
||||
EgtDraw()
|
||||
' La salvo come ultima operazione selezionata
|
||||
m_LastMarkedOperationId = value.Id
|
||||
' Notifico l'operazione selezionata all'expander dei parametri operazione
|
||||
Application.Msn.NotifyColleagues(Application.SELECTEDOPERATION, value)
|
||||
End If
|
||||
End If
|
||||
m_SelectedOperation = value
|
||||
End If
|
||||
m_SelectedOperation = value
|
||||
'End If
|
||||
OnPropertyChanged("SelectedOperation")
|
||||
End Set
|
||||
End Property
|
||||
@@ -495,14 +495,20 @@ Namespace EgtCAM5
|
||||
If SelectedIndex < 2 Then
|
||||
Return
|
||||
End If
|
||||
' Recupero Id entità precedente a quella selezionata
|
||||
' Recupero Id entità selezionata e precedente a quella selezionata
|
||||
Dim SelectedId As Integer = OperationList(SelectedIndex).Id
|
||||
Dim PreviousId As Integer = OperationList(SelectedIndex - 1).Id
|
||||
' Sposto l'entità selezionata
|
||||
EgtRelocate(SelectedOperation.Id, PreviousId, GDB_POS.BEFORE)
|
||||
' Ricarico la lista delle operazioni
|
||||
Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST)
|
||||
' Riseleziono l'entità selezionata
|
||||
Me.SelectedOperation = DirectCast(param, OperationListBoxItem)
|
||||
' Sposto l'operazione selezionata nell'ambiente Egt
|
||||
If EgtRelocate(SelectedOperation.Id, PreviousId, GDB_POS.BEFORE) Then
|
||||
' Sposto l'operazione selezionata nella grafica
|
||||
OperationList.Move(SelectedIndex, SelectedIndex - 1)
|
||||
' Ricalcolo la lavorazione selezionata e la precedente
|
||||
EgtSetCurrMachining(PreviousId)
|
||||
EgtApplyMachining(False)
|
||||
EgtSetCurrMachining(SelectedId)
|
||||
EgtApplyMachining(False)
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -533,18 +539,29 @@ Namespace EgtCAM5
|
||||
''' Execute the Point. This method is invoked by the PointCommand.
|
||||
''' </summary>
|
||||
Public Sub MoveDown(ByVal param As Object)
|
||||
If m_NewMachining Then
|
||||
NewMachining = False
|
||||
Else
|
||||
If Not IsNothing(SelectedOperation) Then
|
||||
' Smarco e deseleziono la geometria selezionata
|
||||
EgtResetMark(m_LastMarkedOperationId)
|
||||
EgtDeselectAll()
|
||||
If Not IsNothing(SelectedOperation) Then
|
||||
' Verifico se l'entità selezionata è una lavorazione o una disposizione,
|
||||
' se è una disposizione esco perchè non si possono spostare
|
||||
If SelectedOperation.Type = MCH_OY.DISP Then Return
|
||||
' Trovo indice dell'entità selezionata
|
||||
Dim SelectedIndex As Integer = OperationList.IndexOf(SelectedOperation)
|
||||
' Verifico che l'indice sia < della lunghezza della lista delle operazioni,altrimenti è già ultima e quindi non la posso spostare
|
||||
If SelectedIndex > OperationList.Count - 2 Then
|
||||
Return
|
||||
End If
|
||||
' Recupero Id entitàselezionata e successiva a quella selezionata
|
||||
Dim SelectedId As Integer = OperationList(SelectedIndex).Id
|
||||
Dim PostId As Integer = OperationList(SelectedIndex + 1).Id
|
||||
' Sposto l'operazione selezionata nell'ambiente Egt
|
||||
If EgtRelocate(SelectedOperation.Id, PostId, GDB_POS.AFTER) Then
|
||||
' Sposto l'operazione selezionata nella grafica
|
||||
OperationList.Move(SelectedIndex, SelectedIndex + 1)
|
||||
' Ricalcolo la lavorazione selezionata e la successiva
|
||||
EgtSetCurrMachining(SelectedId)
|
||||
EgtApplyMachining(False)
|
||||
EgtSetCurrMachining(PostId)
|
||||
EgtApplyMachining(False)
|
||||
EgtDraw()
|
||||
' Rimuovo l'operazione selezionata
|
||||
EgtRemoveOperation(SelectedOperation.Id)
|
||||
' Ricarico la lista delle operazioni
|
||||
Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST)
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Reference in New Issue
Block a user