|
|
|
@@ -11,8 +11,12 @@ Public Class MoveRawPartPage
|
|
|
|
|
Private m_nAuxTabId As Integer = GDB_ID.NULL
|
|
|
|
|
' Fase corrente
|
|
|
|
|
Private m_nCurrPhase As Integer = 0
|
|
|
|
|
' Disposizione corrente
|
|
|
|
|
Private m_nCurrDisposition As Integer = GDB_ID.NULL
|
|
|
|
|
' Premuto Prev
|
|
|
|
|
Private m_bPrev As Boolean = False
|
|
|
|
|
' Pemuto Next
|
|
|
|
|
Private m_bToNext As Boolean = False
|
|
|
|
|
' Dati movimento
|
|
|
|
|
Private m_dStep As Double = 0
|
|
|
|
|
Private m_dRotation As Double = 0
|
|
|
|
@@ -41,6 +45,8 @@ Public Class MoveRawPartPage
|
|
|
|
|
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
|
|
|
|
|
m_SplitPage = m_MainWindow.m_CadCutPageUC.m_SplitPage
|
|
|
|
|
m_bActive = True
|
|
|
|
|
' resetto l'inidice del pezzo da mnovimentare
|
|
|
|
|
m_CurrRawOnVacuum = GDB_ID.NULL
|
|
|
|
|
' Leggo tipo movimento grezzi
|
|
|
|
|
m_bByHand = (GetVacuumType() = 0 Or
|
|
|
|
|
Not m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_MANIP) Or
|
|
|
|
@@ -68,29 +74,9 @@ Public Class MoveRawPartPage
|
|
|
|
|
m_nCurrPhase = EgtGetCurrPhase()
|
|
|
|
|
' Se movimento pezzi finale, sistemazioni per tavolo ausiliario
|
|
|
|
|
If m_SplitPage.m_bOnAuxTab Then
|
|
|
|
|
m_nAuxTabId = EgtGetTableId(AUX_TAB)
|
|
|
|
|
' Visualizzo tavolo ausiliario
|
|
|
|
|
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
|
|
|
|
If bOldEnMod Then EgtDisableModified()
|
|
|
|
|
EgtSetStatus(m_nAuxTabId, GDB_ST.ON_)
|
|
|
|
|
If bOldEnMod Then EgtEnableModified()
|
|
|
|
|
' Se definizione movimenti
|
|
|
|
|
If Not m_SplitPage.m_bShow Then
|
|
|
|
|
' Area tavolo ausiliario
|
|
|
|
|
Dim b3AuxTab As New BBox3d
|
|
|
|
|
EgtGetBBoxGlob(EgtGetFirstNameInGroup(m_nAuxTabId, "A1"), GDB_BB.STANDARD, b3AuxTab)
|
|
|
|
|
' Area tavolo principale
|
|
|
|
|
Dim b3Tab As New BBox3d
|
|
|
|
|
EgtGetTableArea(1, b3Tab)
|
|
|
|
|
' Imposto offset su tavolo principale per includere anche il secondario
|
|
|
|
|
Dim dOffsXP As Double = Math.Max(b3AuxTab.Max().x - b3Tab.Max().x, 0)
|
|
|
|
|
Dim dOffsYP As Double = Math.Max(b3AuxTab.Max().y - b3Tab.Max().y, 0)
|
|
|
|
|
Dim dOffsXM As Double = Math.Max(b3Tab.Min().x - b3AuxTab.Min().x, 0)
|
|
|
|
|
Dim dOffsYM As Double = Math.Max(b3Tab.Min().y - b3AuxTab.Min().y, 0)
|
|
|
|
|
EgtSetTableAreaOffset(dOffsXP, dOffsYP, dOffsXM, dOffsYM)
|
|
|
|
|
End If
|
|
|
|
|
EgtZoom(ZM.ALL)
|
|
|
|
|
' altrimenti, aggiorno visualizzazione
|
|
|
|
|
' assegnazione delle info tavola ausiliaria alla dispozione corrente
|
|
|
|
|
SetAuxTabInCurrDisposition()
|
|
|
|
|
' altrimenti, aggiorno visualizzazione
|
|
|
|
|
Else
|
|
|
|
|
EgtDraw()
|
|
|
|
|
End If
|
|
|
|
@@ -164,8 +150,9 @@ Public Class MoveRawPartPage
|
|
|
|
|
TopRBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
BottomLBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
BottomRBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
PauseBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
ResetBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
' altrimenti per movimento con ventose
|
|
|
|
|
' altrimenti per movimento con ventose
|
|
|
|
|
ElseIf Not m_SplitPage.m_bOnAuxTab Then
|
|
|
|
|
UpBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
LeftBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
@@ -180,8 +167,9 @@ Public Class MoveRawPartPage
|
|
|
|
|
TopRBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
BottomLBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
BottomRBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
PauseBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
ResetBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
' altrimenti per movimento finale dei pezzi
|
|
|
|
|
' altrimenti per movimento finale dei pezzi
|
|
|
|
|
Else
|
|
|
|
|
UpBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
|
LeftBtn.Visibility = Windows.Visibility.Hidden
|
|
|
|
@@ -196,14 +184,47 @@ Public Class MoveRawPartPage
|
|
|
|
|
TopRBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
BottomLBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
BottomRBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
PauseBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
ResetBtn.Visibility = Windows.Visibility.Visible
|
|
|
|
|
End If
|
|
|
|
|
' salvo l'idice della fase corrente
|
|
|
|
|
m_nCurrDisposition = EgtGetPhaseDisposition(m_nCurrPhase)
|
|
|
|
|
' Abilitazione bottone modifica
|
|
|
|
|
ModifyBtn.IsEnabled = m_SplitPage.m_bShow
|
|
|
|
|
' gestione abilitazione altri bottoni
|
|
|
|
|
EnableButtons()
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub SetAuxTabInCurrDisposition()
|
|
|
|
|
' Se movimento pezzi finale, sistemazioni per tavolo ausiliario
|
|
|
|
|
m_nAuxTabId = EgtGetTableId(AUX_TAB)
|
|
|
|
|
' Visualizzo tavolo ausiliario
|
|
|
|
|
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
|
|
|
|
If bOldEnMod Then EgtDisableModified()
|
|
|
|
|
EgtSetStatus(m_nAuxTabId, GDB_ST.ON_)
|
|
|
|
|
If bOldEnMod Then EgtEnableModified()
|
|
|
|
|
' Se definizione movimenti
|
|
|
|
|
If Not m_SplitPage.m_bShow Then
|
|
|
|
|
' Area tavolo ausiliario
|
|
|
|
|
Dim b3AuxTab As New BBox3d
|
|
|
|
|
EgtGetBBoxGlob(EgtGetFirstNameInGroup(m_nAuxTabId, "A1"), GDB_BB.STANDARD, b3AuxTab)
|
|
|
|
|
' Area tavolo principale
|
|
|
|
|
Dim b3Tab As New BBox3d
|
|
|
|
|
EgtGetTableArea(1, b3Tab)
|
|
|
|
|
' Imposto offset su tavolo principale per includere anche il secondario
|
|
|
|
|
Dim dOffsXP As Double = Math.Max(b3AuxTab.Max().x - b3Tab.Max().x, 0)
|
|
|
|
|
Dim dOffsYP As Double = Math.Max(b3AuxTab.Max().y - b3Tab.Max().y, 0)
|
|
|
|
|
Dim dOffsXM As Double = Math.Max(b3Tab.Min().x - b3AuxTab.Min().x, 0)
|
|
|
|
|
Dim dOffsYM As Double = Math.Max(b3Tab.Min().y - b3AuxTab.Min().y, 0)
|
|
|
|
|
EgtSetTableAreaOffset(dOffsXP, dOffsYP, dOffsXM, dOffsYM)
|
|
|
|
|
End If
|
|
|
|
|
EgtZoom(ZM.ALL)
|
|
|
|
|
|
|
|
|
|
' verifico che siano state salvate correttamente le info della tavola di scarico
|
|
|
|
|
EgtSaveFile("c:\EgtData\OmagCUT\Temp\AuxTab.nge", NGE.BIN)
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
|
|
|
|
' Verifico di essere il gestore attivo
|
|
|
|
|
If Not m_bActive Then Return
|
|
|
|
@@ -235,14 +256,14 @@ Public Class MoveRawPartPage
|
|
|
|
|
' Se il pezzo corrente è selezionato allora lo disattivo -> deposito del pezzo
|
|
|
|
|
If nStat = GDB_ST.SEL Then
|
|
|
|
|
EgtSetStatus(nId, GDB_ST.ON_)
|
|
|
|
|
' prima di rilasciare il pezzo verifico che non vada in collisione con altri pezzi sulla tavola
|
|
|
|
|
' prima di rilasciare il pezzo verifico che non vada in collisione con altri pezzi sulla tavola (evito il controllo se ultima fase)
|
|
|
|
|
If VerifyCollisionWithOtherRawPart(nId) Then
|
|
|
|
|
' mantengo la selezione del pezzo
|
|
|
|
|
EgtSetStatus(nId, GDB_ST.SEL)
|
|
|
|
|
m_CurrProjPage.SetErrorMessage("Collisione pezzi")
|
|
|
|
|
Else
|
|
|
|
|
' Se con ventose, le nascondo
|
|
|
|
|
If Not m_bByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
|
|
|
|
' mantengo la selezione del pezzo
|
|
|
|
|
EgtSetStatus(nId, GDB_ST.SEL)
|
|
|
|
|
m_CurrProjPage.SetErrorMessage("Collisione pezzi")
|
|
|
|
|
Else
|
|
|
|
|
' Se con ventose, le nascondo
|
|
|
|
|
If Not m_bByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
|
|
|
|
End If
|
|
|
|
|
Else
|
|
|
|
|
|
|
|
|
@@ -316,6 +337,8 @@ Public Class MoveRawPartPage
|
|
|
|
|
|
|
|
|
|
' Veririfica che il grezzo non entri in colliosione con altri pezzi
|
|
|
|
|
Private Function VerifyCollisionWithOtherRawPart(nIdOnVacumm As Integer) As Boolean
|
|
|
|
|
' se movimento su tavola di scarico non eseguo il controllo (evito di segnalre errori per pezzi ricavati interni al grezzo...)
|
|
|
|
|
If m_SplitPage.m_bOnAuxTab Then Return False
|
|
|
|
|
If nIdOnVacumm = GDB_ID.NULL Then Return False
|
|
|
|
|
' Creo gruppo temporaneo in cui generare le superfici per la veririfica di collisione
|
|
|
|
|
Dim m_nTempId As Integer = EgtCreateGroup(GDB_ID.ROOT)
|
|
|
|
@@ -763,6 +786,16 @@ Public Class MoveRawPartPage
|
|
|
|
|
Next
|
|
|
|
|
If Not bOkRotate Then Return
|
|
|
|
|
Else
|
|
|
|
|
' sposto il pezzo in centro tavola → perchè tutti i movimenti sono fatti ruotando il pezzo in centro tavola!
|
|
|
|
|
Dim b3Area As New BBox3d
|
|
|
|
|
EgtGetTableArea(1, b3Area)
|
|
|
|
|
Dim b3RawTemp As New BBox3d
|
|
|
|
|
EgtGetRawPartBBox(nRawId, b3RawTemp)
|
|
|
|
|
' ricavo il riferimento dell'angolo in basso a sinstra del grezzo rispetto alla tavola
|
|
|
|
|
Dim ptCorner As Point3d = New Point3d(b3Area.DimX / 2, b3Area.DimY / 2, 0) - New Vector3d(b3RawTemp.DimX / 2, b3RawTemp.DimY / 2, 0)
|
|
|
|
|
' sposto il pezzo in questa posizione
|
|
|
|
|
EgtMoveToCornerRawPart(nRawId, ptCorner, MCH_CR.BL)
|
|
|
|
|
' riprovo il movimento
|
|
|
|
|
If EgtRotateRawPart(nRawId, Vector3d.Z_AX(), -dAngRaw) Then
|
|
|
|
|
If Not EgtMoveToCornerRawPart(nRawId, ptRef, nCorn) Then
|
|
|
|
|
' riposiziono il pezzo come era prima
|
|
|
|
@@ -877,6 +910,62 @@ Public Class MoveRawPartPage
|
|
|
|
|
Return True
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Private Sub PauseBtn_Click(sender As Object, e As RoutedEventArgs) Handles PauseBtn.Click
|
|
|
|
|
' verifico che ci sia almeno un elemto selezionato (dati di aggancio pezzo)
|
|
|
|
|
If m_RawMoveDataList.Count = 0 Then Return
|
|
|
|
|
' verifico che sia stato inseito almeno uno spostamento, altrimenti lo rimuovo
|
|
|
|
|
Dim Index As Integer = 0
|
|
|
|
|
For Index = m_RawMoveDataList.Count - 1 To 0 Step -1
|
|
|
|
|
If Math.Abs(m_RawMoveDataList(Index).m_vtRawMove.x) < EPS_SMALL AndAlso Math.Abs(m_RawMoveDataList(Index).m_vtRawMove.y) < EPS_SMALL Then
|
|
|
|
|
m_RawMoveDataList.RemoveAt(Index)
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
' verifico che la lista non sia vuota
|
|
|
|
|
If m_RawMoveDataList.Count = 0 Then Return
|
|
|
|
|
|
|
|
|
|
' recupero disposizione fase corrente
|
|
|
|
|
Dim nDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
|
|
|
|
' aggiungo al gruppo disposizione dei sottogruppi con i dati di movimento dei grezzi spostati
|
|
|
|
|
SaveMoveInfoInDisposition(nDispId, m_RawMoveDataList)
|
|
|
|
|
' imposto eventuale movimento pezzi su tavola ausiliaria
|
|
|
|
|
SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
|
|
|
|
'' Eseguo calcolo speciale dei movimenti: per tavola multicut
|
|
|
|
|
'SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
|
|
|
|
|
|
|
|
|
' Creo nuova fase
|
|
|
|
|
Dim nNewPhase As Integer = EgtAddPhase()
|
|
|
|
|
|
|
|
|
|
' Eseguo eventuali spezzature dei grezzi e vi sposto i pezzi (i grezzi devono essere sempre copiati per Registrazione con rotazione)
|
|
|
|
|
Dim nRawId As Integer = EgtGetFirstRawPart()
|
|
|
|
|
While nRawId <> GDB_ID.NULL
|
|
|
|
|
' se il grezzo è presente nella fase precedente e non è quello selezionato allora procedo a creare una copia nella nuova fase
|
|
|
|
|
If EgtVerifyRawPartPhase(nRawId, nNewPhase - 1) Then
|
|
|
|
|
Dim bKeepRawPart As Boolean = True
|
|
|
|
|
For Each RawOnAuxTabData As RawMoveData In m_RawMoveDataList
|
|
|
|
|
If nRawId = RawOnAuxTabData.m_nId Then
|
|
|
|
|
bKeepRawPart = False
|
|
|
|
|
Exit For
|
|
|
|
|
End If
|
|
|
|
|
Next
|
|
|
|
|
If bKeepRawPart Then EgtKeepRawPart(nRawId, nNewPhase - 1)
|
|
|
|
|
End If
|
|
|
|
|
' passo al successivo grezzo
|
|
|
|
|
nRawId = EgtGetNextRawPart(nRawId)
|
|
|
|
|
End While
|
|
|
|
|
|
|
|
|
|
Dim nCurrDisposition As Integer = EgtGetPhaseDisposition(nNewPhase)
|
|
|
|
|
SetPause(nCurrDisposition)
|
|
|
|
|
m_nCurrDisposition = nCurrDisposition
|
|
|
|
|
' EgtSetStatus(nRawIdSlected, GDB_ST.OFF)
|
|
|
|
|
EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
|
|
|
|
EgtSetCurrPhase(nNewPhase)
|
|
|
|
|
SetAuxTabInCurrDisposition()
|
|
|
|
|
' ripulisco la lista degli spostamenti
|
|
|
|
|
m_RawMoveDataList.Clear()
|
|
|
|
|
' aggiorno la fase corrente
|
|
|
|
|
m_nCurrPhase = EgtGetCurrPhase()
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub ResetBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetBtn.Click
|
|
|
|
|
' Recupero il primo grezzo selezionato
|
|
|
|
|
Dim nRawId As Integer = EgtGetFirstSelectedObj()
|
|
|
|
@@ -912,7 +1001,30 @@ Public Class MoveRawPartPage
|
|
|
|
|
EgtDeselectAll()
|
|
|
|
|
' Torno alla fase precedente
|
|
|
|
|
m_bPrev = True
|
|
|
|
|
' Passo alla pagina delle spezzature
|
|
|
|
|
' Passo alla pagina delle spezzature solo se non esiste prima una fased di deposito sulla tavola di scarico
|
|
|
|
|
|
|
|
|
|
Dim nPrevDispId As Integer = EgtGetPrevOperation(m_nCurrDisposition)
|
|
|
|
|
' verifico se la fasa precedente è di tipo scarico
|
|
|
|
|
If IsDispUnloadOnAuxTab(nPrevDispId) Then
|
|
|
|
|
EgtSetCurrPhase(m_nCurrPhase - 1)
|
|
|
|
|
m_nCurrDisposition = nPrevDispId
|
|
|
|
|
m_nCurrPhase -= 1
|
|
|
|
|
m_bPrev = False
|
|
|
|
|
m_SplitPage.m_bShow = True
|
|
|
|
|
EgtDraw()
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
'If EgtGetOperationType(EgtGetPrevOperation(m_nCurrDisposition)) = MCH_OY.DISP AndAlso m_SplitPage.m_bOnAuxTab Then
|
|
|
|
|
' EgtSetCurrPhase(m_nCurrPhase - 1)
|
|
|
|
|
' m_nCurrDisposition = EgtGetPrevOperation(m_nCurrDisposition)
|
|
|
|
|
' m_nCurrPhase -= 1
|
|
|
|
|
' m_bPrev = False
|
|
|
|
|
' m_SplitPage.m_bShow = True
|
|
|
|
|
' EgtDraw()
|
|
|
|
|
' Return
|
|
|
|
|
'End If
|
|
|
|
|
|
|
|
|
|
m_MainWindow.m_CadCutPageUC.CadCutPageGrid.Children.Remove(Me)
|
|
|
|
|
m_MainWindow.m_CadCutPageUC.CadCutPageGrid.Children.Add(m_SplitPage)
|
|
|
|
|
m_MainWindow.m_CadCutPageUC.m_CadCutMode = CadCutPageUC.CadCutModes.Split
|
|
|
|
@@ -928,6 +1040,19 @@ Public Class MoveRawPartPage
|
|
|
|
|
' non cambio pagina
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' se la disposizione corrente è sulla tavola ausiliaria allora lo sarà anche quella successiva
|
|
|
|
|
If IsDispUnloadOnAuxTab(m_nCurrDisposition) Then
|
|
|
|
|
EgtSetCurrPhase(m_nCurrPhase + 1)
|
|
|
|
|
m_nCurrDisposition = EgtGetNextOperation(m_nCurrDisposition)
|
|
|
|
|
m_nCurrPhase += 1
|
|
|
|
|
m_bToNext = False
|
|
|
|
|
m_SplitPage.m_bShow = True
|
|
|
|
|
EgtDraw()
|
|
|
|
|
EnableButtons()
|
|
|
|
|
Return
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' resetto l'inidice del pezzo da mnovimentare
|
|
|
|
|
m_CurrRawOnVacuum = GDB_ID.NULL
|
|
|
|
|
' Deseleziono tutto
|
|
|
|
@@ -973,6 +1098,26 @@ Public Class MoveRawPartPage
|
|
|
|
|
EnableButtons()
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
' verifica se la disposizione indicata è uno scarico sulla tavola ausiliaria
|
|
|
|
|
Public Function IsDispUnloadOnAuxTab(nCurrDispId As Integer)
|
|
|
|
|
' verifico se la fase precedente è uno scarico su tavola ausiliaria
|
|
|
|
|
Dim bVal As Integer = 0
|
|
|
|
|
EgtGetInfo(nCurrDispId, "Pat", bVal)
|
|
|
|
|
Return bVal
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
' recupero la prima disposizione disponibile tra l'elenco delle operazioni presenti
|
|
|
|
|
Public Function GetNextDisposition(nCurrDisposId As Integer)
|
|
|
|
|
Dim nDispId As Integer = nCurrDisposId
|
|
|
|
|
While nDispId <> GDB_ID.NULL
|
|
|
|
|
If EgtGetOperationType(nDispId) = MCH_OY.DISP Then
|
|
|
|
|
Return nDispId
|
|
|
|
|
End If
|
|
|
|
|
nDispId = EgtGetNextOperation(nDispId)
|
|
|
|
|
End While
|
|
|
|
|
Return GDB_ID.NULL
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Private Sub EnableButtons()
|
|
|
|
|
UpBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
LeftBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
@@ -987,11 +1132,22 @@ Public Class MoveRawPartPage
|
|
|
|
|
TopRBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
BottomLBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
BottomRBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
PauseBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
ResetBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
|
|
|
NextBtn.IsEnabled = Not m_SplitPage.m_bOnAuxTab
|
|
|
|
|
If m_SplitPage.m_bShow Then
|
|
|
|
|
NextBtn.IsEnabled = (m_nCurrPhase < EgtGetPhaseCount())
|
|
|
|
|
Else
|
|
|
|
|
NextBtn.IsEnabled = Not m_SplitPage.m_bOnAuxTab
|
|
|
|
|
End If
|
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Private Sub MoveRawPartPage_Unloaded(sender As Object, e As EventArgs) Handles Me.Unloaded
|
|
|
|
|
' verifico che la fase corrente non sia vuota
|
|
|
|
|
Dim nLastDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
|
|
|
|
If EgtIsOperationEmpty(nLastDispId) And m_SplitPage.m_bOnAuxTab And m_RawMoveDataList.Count = 0 Then
|
|
|
|
|
EgtErase(nLastDispId)
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
|
|
' Se movimento con ventose
|
|
|
|
|
If Not m_bByHand Then
|
|
|
|
|
' nascondo le ventose
|
|
|
|
@@ -1007,11 +1163,11 @@ Public Class MoveRawPartPage
|
|
|
|
|
' imposto eventuale presenza rimozioni manuali
|
|
|
|
|
SaveRemoveByHandInDisposition(nDispId, m_bRemovedRaw)
|
|
|
|
|
' imposto eventuale movimento pezzi su tavola ausiliaria
|
|
|
|
|
SaveMovePartsOnAuxTable( nDispId, m_SplitPage.m_bOnAuxTab)
|
|
|
|
|
SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
|
|
|
|
' Eseguo calcolo speciale dei movimenti
|
|
|
|
|
SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
|
|
|
|
End If
|
|
|
|
|
' se altrimenti movimento senza ventose perchè lama troppo grande
|
|
|
|
|
' se altrimenti movimento senza ventose perchè lama troppo grande
|
|
|
|
|
ElseIf GetVacuumType() > 0 Then
|
|
|
|
|
' se non solo visualizzazione
|
|
|
|
|
If Not m_SplitPage.m_bShow Then
|
|
|
|
|