Correzione e miglioramento selezione tagli per Test

This commit is contained in:
NicolaP
2022-01-19 16:14:44 +01:00
parent a0754265ac
commit e12eb2599e
5 changed files with 28 additions and 19 deletions
+1 -1
View File
@@ -196,7 +196,7 @@ Public Class CadCutPageUC
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
EgtDeselectObj(m_NestPage.m_CurrSelectedCurv)
m_ProjectMgr.TestBtn.IsChecked = False
m_CurrProjPage.m_bSelectCurv = False
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
Select Case m_CadCutMode
Case CadCutModes.Nest, CadCutModes.FastGrid
' Passo alla pagina Split
+16 -2
View File
@@ -6,12 +6,15 @@ Public Class NestPageUC
' Riferimento alla MainWindow
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private WithEvents m_CurrProjPage As CurrentProjectPageUC
Private Event OnMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Flag di pagina attiva
Private m_bActive As Boolean = False
' Flag per modalità nesting standard o registrazione posizione lastra
Friend m_bRegister As Boolean = False
' Flag per pezzi selezionati in tavola o fuori
Private m_nPartPos As Integer = PART_POS.NONE_TABLE
' Flag per impostata per selezionare di una curva
Friend m_bSelectCurv As Boolean = False
Friend m_CurrSelectedCurv As Integer = GDB_ID.NULL
Friend m_CurrSelectedSawCurv As Integer = GDB_ID.NULL
@@ -124,14 +127,16 @@ Public Class NestPageUC
End If
End Sub
Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownSceneSelCurv
Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles Me.OnMouseDownSceneSelCurv
' Verifico di essere il gestore attivo e non in modalità registrazione
If Not m_bActive Or m_bRegister Then Return
' Si può selezionare solo con il tasto sinistro e se il bottone TEST Attivo
If e.Button <> Windows.Forms.MouseButtons.Left Or
Not m_CurrProjPage.m_bSelectCurv Then
Not m_bSelectCurv Then
Return
End If
' Se esiste un elemento selezionato
EgtResetMark(m_CurrSelectedSawCurv)
' provo a riconoscere il valore medio del segmento
' Verifico se selezionato indicativo di pezzo
EgtSetObjFilterForSelWin(False, True, False, False, False)
@@ -164,6 +169,7 @@ Public Class NestPageUC
m_CurrSelectedSawCurv = nIdSaw
m_CurrSelectedCurv = nIdMy
EgtSelectObj(nIdSaw)
EgtSetMark(nIdSaw)
EgtSelectObj(nIdMy)
EgtDraw()
Exit While
@@ -184,6 +190,12 @@ Public Class NestPageUC
Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
Return
End If
' se in modalità slezione tagli
If m_bSelectCurv Then
RaiseEvent OnMouseDownSceneSelCurv(sender, e)
Return
End If
' Per default no drag
m_bDrag = False
' Verifico se selezionato indicativo di pezzo
@@ -402,6 +414,8 @@ Public Class NestPageUC
Private Sub OnMyMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseUpScene
' Verifico di essere il gestore attivo
If Not m_bActive Then Return
' verifico che non sia attivo il comando Test
If m_bSelectCurv Then Return
' Se eseguito drag
If Not m_bDragToStart Then
' Se movimento con sola verifica finale
+4 -3
View File
@@ -323,8 +323,8 @@ Class MainWindow
' Verifico abilitazione nesting automatico
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2312, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2312, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2401, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2401, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
' Inizializzazione generale di EgtInterface
@@ -1885,8 +1885,9 @@ Class MainWindow
' deseleziono gli oggetti e spengo il bottone
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
EgtResetMark(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
m_CadCutPageUC.m_ProjectMgr.TestBtn.IsChecked = False
m_CurrentProjectPageUC.m_bSelectCurv = False
Me.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
End Sub
End Class
+3 -9
View File
@@ -6,7 +6,6 @@ Imports EgtWPFLib5
Public Class CurrentProjectPageUC
' Dichiarazione eventi
Friend Event OnMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
@@ -24,8 +23,8 @@ Public Class CurrentProjectPageUC
' Dati del grezzo
Friend m_nRawId As Integer = GDB_ID.NULL
Friend m_dRawHeight As Double
' pagina impostata per selezionare una lavorazione
Friend m_bSelectCurv As Boolean = False
'' Flag per impostata per selezionare di una curva
'Friend m_bSelectCurv As Boolean = False
' Costanti tipo progetto
Friend Enum PRJ_TYPE As Integer
EMPTY = 0
@@ -328,12 +327,7 @@ Public Class CurrentProjectPageUC
End Sub
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseDownScene
If m_bSelectCurv Then
RaiseEvent OnMouseDownSceneSelCurv(sender, e)
Else
RaiseEvent OnMouseDownScene(sender, e)
End If
RaiseEvent OnMouseDownScene(sender, e)
End Sub
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene
+4 -4
View File
@@ -276,7 +276,7 @@ Public Class ProjectMgrUC
m_CurrProjPage.SetWarningMessage("Trial Version")
#Else
' se sono in modalità Test allora eseguo solo il posizionamento della lama
If m_CurrProjPage.m_bSelectCurv Then
If m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv Then
' Verifico non sia versione Ufficio
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
m_CurrProjPage.SetWarningMessage("Office Version")
@@ -336,7 +336,7 @@ Public Class ProjectMgrUC
' verifica assi lineari
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
If nStat <> 0 Then
vtDirT = - vtDirT
vtDirT = -vtDirT
ptMid -= vtDirT * dThick
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
@@ -736,11 +736,11 @@ Public Class ProjectMgrUC
Private Sub TestBtn_Click(sender As Object, e As RoutedEventArgs) Handles TestBtn.Click
If TestBtn.IsChecked Then
m_CurrProjPage.m_bSelectCurv = True
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = True
' deseleziono tutto
EgtDeselectAll()
Else
m_CurrProjPage.m_bSelectCurv = False
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
End If