EgtCAM5 1.6v7 :

- aggiornamento lista lavorazioni alla chiusura finestra DB lavorazioni
- corretta visualizzazione utensile di lavorazione in finestra DB lavorazioni
- aggiunta icona per Region
- disabilitato doppio click su barra di scorrimento verticale di lista lavorazioni
- gestione visualizzazione più fasi di lavorazione
- corretta gestione geometria modificata per lavorazione
- corretta gestione overlap in operazione fresatura.
This commit is contained in:
Dario Sassi
2016-10-13 15:20:04 +00:00
parent 9026a3c4f7
commit 467e9992d4
14 changed files with 54 additions and 26 deletions
@@ -198,12 +198,15 @@ Namespace EgtCAM5
EgtResetMark(m_LastMarkedOperationId)
' Ne deseleziono la geometria
EgtDeselectAll()
EgtDraw()
End If
' Imposto la fase di lavorazione corrente
Dim nPhase As Integer = EgtGetOperationPhase(value.Id)
If nPhase <> 0 Then
EgtSetCurrPhase(nPhase)
End If
' Verifico se l'operazione è una disposizione
If EgtGetOperationType(value.Id) = MCH_OY.DISP Then
' L'operazione è una lavorazione
' L'operazione è una lavorazione
Else
' Imposto come corrente la lavorazione(operazione) selezionata
EgtSetCurrMachining(value.Id)
@@ -219,12 +222,13 @@ Namespace EgtCAM5
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
' Aggiorno visualizzazione
EgtDraw()
End If
m_SelectedOperation = value
End If
@@ -691,6 +695,8 @@ Namespace EgtCAM5
ListIsExpanded = True
Else
If Not IsNothing(SelectedOperation) Then
' Salvo indice operazione selezionata
Dim nPrevOperId As Integer = EgtGetPrevOperation(SelectedOperation.Id)
' Smarco e deseleziono la geometria selezionata
EgtResetMark(m_LastMarkedOperationId)
EgtDeselectAll()
@@ -698,7 +704,7 @@ Namespace EgtCAM5
' Rimuovo l'operazione selezionata
EgtRemoveOperation(SelectedOperation.Id)
' Ricarico la lista delle operazioni
Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST, -1)
Application.Msn.NotifyColleagues(Application.LOADOPERATIONLIST, nPrevOperId)
End If
End If
End Sub
@@ -871,7 +877,7 @@ Namespace EgtCAM5
#Region "ReloadMachiningCommand"
''' <summary>
''' Returns a command that do Point.
''' Restituisce funzione per ricalcolo lavorazione.
''' </summary>
Public ReadOnly Property ReloadMachiningCommand As ICommand
Get
@@ -883,14 +889,11 @@ Namespace EgtCAM5
End Property
''' <summary>
''' Execute the Point. This method is invoked by the PointCommand.
''' Ricalcola una lavorazione.
''' </summary>
Public Sub ReloadMachining(ByVal param As Object)
' Aggiorno valore depth
SelectedOperation.NotifyPropertyChanged("Depth")
' Verifico se la geometria è cambiata
' Parametro che indica se ci sono state modifiche
Dim ModifiedGeometry As Boolean = False
' Carico tutta la geometria selezionata in una lista
Dim SelectedGeometry As New List(Of Integer)
Dim EntityIndex As Integer = EgtGetFirstSelectedObj()
@@ -898,16 +901,20 @@ Namespace EgtCAM5
SelectedGeometry.Add(EntityIndex)
EntityIndex = EgtGetNextSelectedObj()
End While
' Carico un elemento della geometria di lavorazione
Dim CountIndex = 0
' Verifico se la geometria è cambiata, confrontando selezione attuale con geometria di lavorazione
Dim ModifiedGeometry As Boolean = False
Dim CountIndex As Integer = 0
EntityIndex = 0
Dim SubEntityIndex As Integer = 0 ' Nell'interfaccia non si usa ma devo comunque definirla perchè la funzione la restituisce obbligatoriamente
Dim SubEntityIndex As Integer = 0 ' Sottocomponente, per ora non usato ma necessario
While EgtGetMachiningGeometry(CountIndex, EntityIndex, SubEntityIndex)
If SubEntityIndex = GDB_ID.NULL Then
If SelectedGeometry.IndexOf(EntityIndex) < 0 Then
If SubEntityIndex = GDB_ID.NULL And CountIndex < SelectedGeometry.Count() Then
If SelectedGeometry(CountIndex) <> EntityIndex Then
ModifiedGeometry = True
Exit While
End If
Else
ModifiedGeometry = True
Exit While
End If
CountIndex += 1
End While
@@ -916,8 +923,6 @@ Namespace EgtCAM5
End If
' Imposto geometria selezionata come geometria di lavorazione
If ModifiedGeometry Then EgtSetMachiningGeometry(SelectedGeometry.ToArray)
' Verifico se i parametri sono cambiati
' Se necessario ricalcolo la lavorazione
EgtApplyMachining(ModifiedGeometry)
EgtDraw()