OmagCUT :

- piccole modifiche per scelta inizio e stacco lato per Waterjet.
This commit is contained in:
Dario Sassi
2026-02-24 08:43:01 +01:00
parent cfcde65bd7
commit 2d385229d2
4 changed files with 45 additions and 65 deletions
+28 -63
View File
@@ -107,27 +107,26 @@ Public Class NestPageUC
RemovePartBtn.ToolTip = EgtMsg(90333) ' Remove part - Elimina pezzo
SelectAllBtn.ToolTip = EgtMsg(90334) ' Select All - Seleziona Tutto
DeselectAllBtn.ToolTip = EgtMsg(90335) ' Deselect All - Deseleziona Tutto
DragRettangleBtn.ToolTip = EgtMsg(91207) ' Strech
' Nascondo i pulsanti in uso quando attivo la modalità REG
UG1_Reg.Visibility = Visibility.Hidden
Dim nColumsIn_UG1 As Integer = 2
Dim nColumsIn_UG1 As Integer = 1
' gestisco la visualizzazione del comando PAN (per il drag dei rettangoli)
m_bIsVisibleDragRettangle = (GetPrivateProfileInt(S_NEST, K_DRAG_RETTANGLE, 0, m_MainWindow.GetIniFile()) <> 0)
If Not m_bIsVisibleDragRettangle Then
nColumsIn_UG1 = 1
DragRettangleBtn.Visibility = Visibility.Collapsed
Else
If m_bIsVisibleDragRettangle Then
nColumsIn_UG1 += 1
DragRettangleBtn.Visibility = Visibility.Visible
DragRettangleBtn.ToolTip = EgtMsg(91207) ' Allunga/accorcia Rettangoli
Else
DragRettangleBtn.Visibility = Visibility.Collapsed
End If
' gestisco la visualizzazione del comando Splt (per i tagli waterjet)
' gestisco la visualizzazione del comando Split (per i tagli waterjet)
If m_MainWindow.m_CurrentMachine.WaterJettingActive Then
nColumsIn_UG1 += 1
SplitCurveWJBtn.Visibility = Visibility.Visible
'91133=Separa
SplitCurveWJBtn.ToolTip = EgtMsg(91133)
SplitCurveWJBtn.ToolTip = EgtMsg(91133) ' Separa Lato per Wj
Else
SplitCurveWJBtn.Visibility = Visibility.Collapsed
End If
@@ -138,8 +137,7 @@ Public Class NestPageUC
If m_MainWindow.m_CurrentMachine.WaterJettingActive Then
nColumnIn_UG0 += 1
StartCurveWJBtn.Visibility = Visibility.Visible
' 91132=Start
StartCurveWJBtn.ToolTip = EgtMsg(91132)
StartCurveWJBtn.ToolTip = EgtMsg(91132) ' Imposta Inizio per Wj
Else
StartCurveWJBtn.Visibility = Visibility.Collapsed
End If
@@ -279,10 +277,8 @@ Public Class NestPageUC
' 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_bSelectCurv Then
Return
End If
If Not m_bSelectCurv Or e.Button <> Windows.Forms.MouseButtons.Left Then Return
' Se esiste un elemento selezionato
EgtResetMark(m_CurrSelectedSawCurv)
m_CurrToolFromSelectedSawCurv = String.Empty
@@ -337,19 +333,7 @@ Public Class NestPageUC
EgtSetMark(nIdMachining)
EgtSelectObj(nIdMy)
EgtDraw()
'Dim nIdSaw As Integer = EgtGetFirstNameInGroup(nIdPV, "Saw" & nIdMy.ToString)
'If Not EgtGetGroupObjs(nIdSaw) Then
' m_CurrSelectedSawCurv = nIdSaw
' m_CurrSelectedCurv = nIdMy
' EgtSetMark(nIdSaw)
' EgtSelectObj(nIdMy)
' EgtDraw()
' Exit While
'End If
Exit While
End If
End If
nIdMy = EgtGetNextObjInSelWin()
@@ -365,11 +349,9 @@ Public Class NestPageUC
Private Sub OnMyMouseDownSceneSplitCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' 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_bIsCheckedSplitCurveWJ Then
Return
End If
' Se non abilitata separazione lato waterjet o bottone mouse non Left, esco
If Not m_bIsCheckedSplitCurveWJ Or e.Button <> Windows.Forms.MouseButtons.Left Then Return
' Se esiste un elemento selezionato
EgtResetMark(m_nIdSelectedWaterJet)
' Verifico se selezionato indicativo di pezzo
@@ -392,26 +374,16 @@ Public Class NestPageUC
' recupero il gruppo della lavorazione associata
Dim nIdParentPart As Integer = EgtGetParent(nIdParent)
Dim nIdPV As Integer = EgtGetFirstNameInGroup(nIdParentPart, NAME_PREVIEW)
' VERIFICA: recupero l'elenco delle Preview di Tipo WaterJet associate a questo Part
' recupero l'elenco delle Preview di Tipo WaterJet associate a questo Part
Dim ListGroup As List(Of Integer) = ResearchGropuWJ(nIdParent, nIdPV)
' VERIFICA: se esistono delle lavorazioni associate al percorso OutLoop di tipo Saw allora non procedo
Dim ListGroupSaw As List(Of Integer) = ResearchGropuSaw(nIdParent, nIdPV)
' se non esiste almeno 1 Preview di tipo WaterJet
' se esiste almeno 1 Preview di tipo WaterJet
If ListGroup.Count > 0 Then
m_nIdSelectedSideWJ = nIdMy
Dim nValInfo As String = 1
Dim nNewValInfo As Integer = nValInfo
Dim nValInfo As Integer = 0
If EgtGetInfo(nIdMy, INFO_JOINENTITY, nValInfo) Then
If nValInfo = 1 Then
nNewValInfo = 0
Else
nNewValInfo = 1
End If
Else
' se manca l'info allora il taglio sValInfo = "1" quindi separo il taglio
nNewValInfo = 0
nValInfo = If( nValInfo = 1, 0, 1)
End If
EgtSetInfo(nIdMy, INFO_JOINENTITY, nNewValInfo)
EgtSetInfo(nIdMy, INFO_JOINENTITY, nValInfo)
' Ricalcolo tutte le lavorazioni
Dim nWarn As Integer = 0
ResetAllMachinings(nWarn)
@@ -419,14 +391,14 @@ Public Class NestPageUC
ListGroup = ResearchGropuWJ(nIdParent, nIdPV)
Dim nIdWJ As Integer = GetPVIdFromIdSide(ListGroup, nIdMy)
GetCurrentPVFromIdSide(ListGroup, nIdMy, nIdWJ, nIdParent)
' assegno un identificativo grafico per inidcare che è un taglio separato
If nNewValInfo = 0 Then
' assegno un identificativo grafico per indicare che è un taglio separato
If nValInfo = 0 Then
AssignFlagOnGraphic(nIdMy, nIdParentPart)
Else
EraseFlagOnGraphic(nIdMy, nIdParentPart)
End If
m_nIdSelectedWaterJet = nIdWJ
' salvo il valore del PreView evidenziato
m_nIdSelectedWaterJet = nIdWJ
EgtSetMark(nIdWJ)
EgtSelectObj(nIdMy)
EgtDraw()
@@ -437,18 +409,14 @@ Public Class NestPageUC
End If
nIdMy = EgtGetNextObjInSelWin()
End While
Return
End Sub
' funzione per la selezione del punto di inizio tagli waterjet (percorso chiuso)
' funzione per l'indicazione del punto di inizio dei tagli waterjet (percorso chiuso)
Private Sub OnMyMouseDownSceneStartCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' 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_bIsCheckedStartCurveWJ Then
Return
End If
' Se non abilitato spostamento punto inizio waterjet o bottone mouse non Left, esco
If Not m_bIsCheckedStartCurveWJ Or e.Button <> Windows.Forms.MouseButtons.Left Then Return
' Acquisisco punto da disegno
Dim ptStartCurv As New Point3d
@@ -478,8 +446,7 @@ Public Class NestPageUC
If EgtGetType(nIdMy) = GDB_TY.CRV_ARC OrElse EgtGetType(nIdMy) = GDB_TY.CRV_COMPO OrElse EgtGetType(nIdMy) = GDB_TY.CRV_LINE Then
' verifico che il contorno sia chiuso, altrimenti esco
If Not VerifyOutLoopIsClosed(nIdParent) Then
' 91131=Il contorno non è chiuso
m_CurrProjPage.SetWarningMessage(EgtMsg(91131))
m_CurrProjPage.SetWarningMessage(EgtMsg(91131)) ' Il contorno non è chiuso
Exit While
End If
' recupero il gruppo della lavorazione associata
@@ -489,7 +456,7 @@ Public Class NestPageUC
Dim ListGroup As List(Of Integer) = ResearchGropuWJ(nIdParent, nIdPV)
' VERIFICA: se esistono delle lavorazioni associate al percorso OutLoop di tipo Saw allora non procedo
Dim ListGroupSaw As List(Of Integer) = ResearchGropuSaw(nIdParent, nIdPV)
' se non esiste almeno 1 Preview di tipo WaterJet
' se esiste 1 Preview di tipo WaterJet e nessuno di tipo Saw
If ListGroup.Count = 1 And ListGroupSaw.Count = 0 Then
EgtSetInfo(nIdParent, INFO_START, ptStartCurv)
' Ricalcolo tutte le lavorazioni
@@ -504,8 +471,7 @@ Public Class NestPageUC
EgtDraw()
Exit While
Else
' 91131=Il contorno non è chiuso
m_CurrProjPage.SetWarningMessage(EgtMsg(91131))
m_CurrProjPage.SetWarningMessage(EgtMsg(91131)) ' Il contorno non è chiuso
Exit While
End If
@@ -513,7 +479,6 @@ Public Class NestPageUC
End If
nIdMy = EgtGetNextObjInSelWin()
End While
Return
End Sub
#Region "DRAG RETTANGLE"
+17 -2
View File
@@ -352,7 +352,14 @@ Public Class AlarmsPageUC
AutomaticChBx.IsChecked = (GetPrivateProfileInt(S_NEST, K_AUTOMATICOPTIMIZE, 0, m_MainWindow.GetIniFile()) <> 0)
AdjustGhigliottinaTextOnAutomaticOrCompleteCuts()
' Flag per inserire la puasa dopo la sgrossatura delle cornici
FramePauseChBx.IsChecked = (GetPrivateProfileInt(S_MACH_FRAME, K_MACH_PAUSE, 1, m_MainWindow.GetMachIniFile()) <> 0)
If m_MainWindow.m_CurrentMachine.bSawRoughing Then
FrameGpBx.Visibility = Visibility.Visible
FramePauseChBx.IsChecked = (GetPrivateProfileInt(S_MACH_FRAME, K_MACH_PAUSE, 1, m_MainWindow.GetMachIniFile()) <> 0)
Else
FrameGpBx.Visibility = Visibility.Hidden
FramePauseChBx.IsChecked = False
End If
' Aggiorno messaggio sovratavola con numero tavola
If GetTableCount() > 1 Then
AdditionalTableTxBl.Text = EgtMsg(90936) & " " & GetCurrentTable().ToString() ' Altezza sovratavola
@@ -392,7 +399,15 @@ Public Class AlarmsPageUC
UseLaserOriginChBx.IsChecked = (nUseLaserOrigin <> 0)
End If
EnableFinalSawCutChBx.IsChecked = m_MainWindow.m_CurrentMachine.bEnableFinalSawCut
' Taglio finale
If m_MainWindow.m_CurrentMachine.bSawing Then
FinalSawCutGpBx.Visibility = Visibility.Visible
EnableFinalSawCutChBx.IsChecked = m_MainWindow.m_CurrentMachine.bEnableFinalSawCut
Else
FinalSawCutGpBx.Visibility = Visibility.Hidden
EnableFinalSawCutChBx.IsChecked = False
End If
End Sub
' aggiorna le text delle lavorazioni (la selezione avviene nella pagina del grezzo o dalla pagina del progetto corrente)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB