Compare commits

..

79 Commits

Author SHA1 Message Date
Nicola Pievani d6a9cac6b4 Gestione modo Auto in caso per DripFeed 2023-03-13 10:34:23 +01:00
Nicola Pievani 4ce898c25c Attivazione modalità auto prima di DripFeed 2023-03-10 16:27:48 +01:00
Nicola Pievani 6f59cddd80 Migliorata gestione messaggi durante DripFeed 2023-03-10 14:56:24 +01:00
Nicola Pievani c8b018f6df Comunicazione DripFeed funzionante 2023-03-10 12:13:22 +01:00
Nicola Pievani e287e827c4 Aggiunti messaggi (MsgBox per Debug) e corretti valori di controllo 2023-03-09 12:50:42 +01:00
Nicola Pievani 68e9a9201d Comunicazione con PPFile2 2 modifica delle costanti 2023-03-08 13:08:53 +01:00
Nicola Pievani 8946bf3a00 Sostituita funzione HSL con funzione Asyn 2023-03-01 14:40:39 +01:00
Nicola Pievani a15acb6528 Inizio scrittura funzione per DripFeed 2023-02-28 17:26:37 +01:00
Nicola Pievani e7e9d26b75 Aggiunte funzioni per gestione CN Axium DripFeed 2023-02-27 19:28:46 +01:00
NicolaP d9de23daca Correzione gestione pezzi in parcheggio 2023-02-10 13:19:42 +01:00
NicolaP ad5c9331ba Merge branch 'master' into develop 2023-02-10 11:54:26 +01:00
DarioS b67330b509 OmagCUT :
- in VerifyOutOfStrokes prima di controllare il valore dell'asse C si cerca di riportarlo nel range ammesso (modulo 360 gradi).
2023-02-10 11:30:20 +01:00
DarioS ca66108145 Merge branch 'master' of https://gitlab.steamware.net/egaltech/OmagCUT 2023-02-09 19:04:42 +01:00
NicolaP 379ccc7519 Merge branch 'develop' 2023-02-08 19:03:19 +01:00
NicolaP b751c27773 Merge branch 'Features/Manage_Offset_Saw_On_SingleCut' into develop 2023-02-08 19:03:04 +01:00
NicolaP 14e1c254f0 Nuova gestione OffsetLama per tagli diretti 2023-02-08 19:02:46 +01:00
NicolaP 6f08e5f520 Merge branch 'master' into develop 2023-02-08 18:18:35 +01:00
NicolaP 7d8933cc39 Merge remote-tracking branch 'origin/HEAD' 2023-02-08 12:16:42 +01:00
NicolaP 2179996bff Merge branch 'develop' 2023-02-08 12:16:09 +01:00
NicolaP 316bcc89ea Merge branch 'Features/Fix_Front_Unloading' into develop 2023-02-08 12:15:53 +01:00
NicolaP 17f41f1563 Correzione angolo previlegiato di deposito 2023-02-08 12:15:04 +01:00
NicolaP 6a17b88283 Inizio correzione gestione scarico frointale 2023-02-07 12:51:48 +01:00
DarioS ce151e5db7 Merge branch 'develop' of https://gitlab.steamware.net/egaltech/OmagCUT 2023-02-06 18:36:57 +01:00
DarioS b303fe2615 OmagCUT :
- aggiornamento logo a 2.5.
2023-02-06 18:32:32 +01:00
NicolaP 6f248ec645 Merge branch 'Features/Manage_Quality_WJ' into develop 2023-02-06 17:26:38 +01:00
NicolaP 3e0d43c1d8 Aggiornamento versione 2.5b1 2023-02-03 16:24:09 +01:00
NicolaP 70b1822446 Merge branch 'develop' 2023-02-03 16:04:31 +01:00
NicolaP 17d6ced974 Merge branch 'Features/Manage_New_Param_WaterJet_DB' into develop 2023-02-03 16:00:44 +01:00
NicolaP db145af965 Gestione spessore materiali inch 2023-02-03 16:00:26 +01:00
NicolaP 037fdb41b6 Gestione dati frazionati nella pagina Waterjet 2023-02-02 15:52:56 +01:00
NicolaP f89fe7fefd Aggiunta colonna AngCompensazione in DB WaterJet 2023-02-01 17:44:34 +01:00
NicolaP 6ecbd7f545 Cambio versione 2023-01-30 15:52:30 +01:00
NicolaP 734f480f67 Migliorata reset posizione pezzi in park 2023-01-30 15:07:23 +01:00
NicolaP 87fa5cc6dd Correzione gestione altezza AlzFront in Inch 2023-01-30 14:08:54 +01:00
NicolaP 5b00409abe Merge branch 'Features/Manage_Inches_Fractions' into develop 2023-01-27 17:16:10 +01:00
NicolaP 0f3b91e847 Inserite TextBox IsLen in altre pagine 2023-01-26 18:43:12 +01:00
NicolaP 3befbecd3c Gestione TextBox IsLength=False 2023-01-24 15:33:56 +01:00
NicolaP b6d2cc434c Nova Gestione Text Len 2023-01-23 16:47:02 +01:00
NicolaP 800a589285 Merge branch 'master' into develop 2023-01-23 09:17:19 +01:00
NicolaP 2618d3f14c Migliorata gestione visualizzazione ScrapWindow 2023-01-23 09:17:02 +01:00
NicolaP bb32a4e500 Aggiunto messaggio & cleanup 2023-01-20 12:33:02 +01:00
NicolaP 6d266819db Migliorato passaggio da 0° a 360° 2023-01-20 12:16:56 +01:00
NicolaP 3ce8965206 Migliorata gestione rotazione pezzi 2023-01-20 10:07:06 +01:00
NicolaP d924f4c107 Gestione rotazione pezzi con Drag 2023-01-19 18:06:21 +01:00
NicolaP b141bda34d Merge branch 'develop' 2023-01-18 18:05:09 +01:00
NicolaP ecb599c5c1 Correzione gestione allungamento tagli curvi 2023-01-18 16:51:22 +01:00
NicolaP 957a012de5 Merge branch 'master' into develop 2023-01-18 14:37:47 +01:00
NicolaP 12277387b6 Merge remote-tracking branch 'origin/HEAD' 2023-01-18 11:34:47 +01:00
DarioS ac92d1b4df OmagCUT :
- aggiornamento info programma.
2023-01-18 09:17:01 +01:00
NicolaP 5fe84aa6fd Inizio lettura Text in Inch 2023-01-17 19:09:19 +01:00
NicolaP b3ec57fb79 Gesteione textbox con frazioni 2023-01-12 18:36:41 +01:00
NicolaP c5f8e1f3fd Creata funzione che converte Double in frazione 2023-01-12 11:47:16 +01:00
NicolaP 202a63329b Merge branch 'develop' 2023-01-05 18:08:12 +01:00
NicolaP 8cdc527943 Spostato in macchina file ini macchina StartEndModifyOnIntCorner 2023-01-05 18:07:35 +01:00
NicolaP 61bb35fda2 Merge branch 'develop' 2023-01-03 17:36:41 +01:00
NicolaP ee70e8f4c2 Cambio versione 2.5a1 2023-01-03 17:36:22 +01:00
NicolaP 4d0e700d50 Gestione stato cncMode nella pagina Macchina 2023-01-03 17:34:25 +01:00
NicolaP 4432893794 Gestione definizione qualità nella pagina split 2022-12-28 19:25:59 +01:00
NicolaP 9fa98d78a5 Merge branch 'develop' 2022-12-28 17:34:43 +01:00
NicolaP e1d166375a Merge branch 'Features/Pre_Drill_WJ' into develop 2022-12-28 17:34:13 +01:00
NicolaP 4e669bc577 Caricamento dati per preforo Wj 2022-12-28 17:33:46 +01:00
NicolaP 73a1caf1d0 Stampa configurazione in fil eini macchina 2022-12-19 11:01:15 +01:00
NicolaP 322497121d Merge branch 'master' into develop 2022-12-16 19:12:19 +01:00
NicolaP 468270cbab Aggiunto parametro Tolerance per preforo 2022-12-16 19:11:57 +01:00
NicolaP 71ce283bad Salvataggio nel file ini dei parametri di squadratura 2022-12-16 17:59:46 +01:00
NicolaP 576d547a85 Aggiunti nuovi campi per la gestione dei fori nei lavelli 2022-12-16 17:50:39 +01:00
NicolaP a79316f290 Merge branch 'develop' 2022-12-15 19:17:00 +01:00
NicolaP 51ee7a0c92 Gestione messaggi 2022-12-15 19:16:44 +01:00
NicolaP 237eeb8871 Merge branch 'develop' 2022-12-15 19:15:00 +01:00
NicolaP abe1b3a430 Gestione messaggi pagina Squaring 2022-12-15 19:14:30 +01:00
NicolaP 7e205a6424 Merge branch 'Features/Squaring' into develop 2022-12-15 18:23:24 +01:00
NicolaP 7315166ca7 Merge branch 'develop' 2022-12-14 12:48:37 +01:00
NicolaP b9875ba243 "Barro" i nomi delle lavorazioni non attive. 2022-12-14 12:34:27 +01:00
NicolaP f7bcdff766 Correzione fresatura in SPIANATURA 2022-12-14 12:04:24 +01:00
NicolaP 47b98c6392 Merge branch 'develop' 2022-12-07 19:46:45 +01:00
NicolaP a0f5585391 Correzione gestioen ventose per prelievo 2022-12-07 19:46:19 +01:00
NicolaP e93c4e41a3 Merge remote-tracking branch 'origin/HEAD' into develop 2022-11-24 20:30:05 +01:00
DarioS ed4fc25c5d OmagCUT :
- modifiche per lancio script di macchina opzionale.
2022-11-23 13:14:03 +01:00
NicolaP d1d48bf8a4 Merge branch 'develop' 2022-11-21 10:58:08 +01:00
55 changed files with 3319 additions and 2281 deletions
+8
View File
@@ -27,6 +27,14 @@
<EgtWPFLib:EgtTextBox Name="ValueTxBx" Grid.Column="1" Grid.Row="1"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<ComboBox Name="ValueCmBx" Grid.Column="1" Grid.Row="1">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" FontSize="20" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Grid Name="ButtonsGrid" Grid.Column="1" Grid.Row="3" Grid.RowSpan="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
+54 -5
View File
@@ -1,6 +1,7 @@
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib
Imports System.Collections.ObjectModel
Public Class EditValueWD
@@ -8,29 +9,77 @@ Public Class EditValueWD
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private m_sMsg As String = "Value"
Private m_sValue As String = ""
Private m_sList As ObservableCollection(Of String)
Private m_IsText As Boolean = True
' avvia la visualizzazione della textbox
Sub New(Owner As Window, Optional sMsg As String = "")
Me.Owner = Owner
m_sMsg = sMsg
m_IsText = True
InitializeComponent()
End Sub
Friend Function SetVal( dVal As Double) As Boolean
m_sValue = DoubleToString( dVal, 3)
Friend Function SetVal(dVal As Double, Optional ByVal bLen As Boolean = False) As Boolean
If bLen Then
m_sValue = LenToString(dVal, 3)
Else
m_sValue = DoubleToString(dVal, 3)
End If
ValueTxBx.Text = m_sValue
Return true
Return True
End Function
Friend Function GetVal() As Double
' avvia la visualizzazione della combobox
Sub New(Owner As Window, sList As ObservableCollection(Of String), Optional sMsg As String = "")
Me.Owner = Owner
m_sMsg = sMsg
m_IsText = False
InitializeComponent()
m_sList = sList
SetComboBox(m_sList)
End Sub
Friend Function GetVal(Optional ByVal bLen As Boolean = False) As Double
Dim dVal As Double = 0
StringToDouble( m_sValue, dVal)
If bLen Then
StringToLen(m_sValue, dVal)
Else
StringToDouble(m_sValue, dVal)
End If
Return dVal
End Function
Friend Function SetComboBox(sList As ObservableCollection(Of String)) As Boolean
ValueCmBx.ItemsSource = sList
Return True
End Function
Friend Function SetItemComboBox(sItem As String) As Boolean
For Each MyItem As String In ValueCmBx.ItemsSource
If MyItem = sItem Then
ValueCmBx.SelectedItem = MyItem
End If
Next
Return True
End Function
Friend Function GetItemComboBox() As String
Dim sVal As String = ValueCmBx.SelectedItem
Return sVal
End Function
Private Sub EditValueWD_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
ValueTxbl.Text = m_sMsg
If m_IsText Then
ValueCmBx.Visibility = Visibility.Collapsed
ValueTxBx.Visibility = Visibility.Visible
Else
ValueCmBx.Visibility = Visibility.Visible
ValueTxBx.Visibility = Visibility.Collapsed
End If
End Sub
Private Sub EditValueWD_Rendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
+1 -1
View File
@@ -120,7 +120,7 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<EgtWPFLib:EgtTextBox Name="RotationAngleTxBx" Width="50"
<EgtWPFLib:EgtTextBox Name="RotationAngleTxBx" Width="50" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
<TextBlock Grid.Column="1" FontSize="30" Margin="2,-5,0,0"
Text="°"/>
+19 -4
View File
@@ -837,6 +837,7 @@ Public Class MoveRawPartPage
EgtGetRawPartCenter(nRawId, ptRawCen)
' Sposto il grezzo in battuta sul corner
Dim dAngRaw As Double = 0
Dim dNewAngRot As Double = 0
Dim AngRotList As New List(Of Double)
@@ -877,12 +878,16 @@ Public Class MoveRawPartPage
' sposto il pezzo in questa posizione
EgtMoveToCornerRawPart(nRawId, ptCorner, MCH_CR.BL)
' riprovo il movimento
If EgtRotateRawPart(nRawId, Vector3d.Z_AX(), -dAngRaw) Then
dNewAngRot = GetPrefRotAng(dAngRaw)
'dNewAngRot = DeltaAngC
If EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dNewAngRot) Then
If Not EgtMoveToCornerRawPart(nRawId, ptRef, nCorn) Then
' riposiziono il pezzo come era prima
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngRaw)
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), -dAngRaw)
EgtDraw()
Return
End If
dAngRaw = dNewAngRot
Else
Return
End If
@@ -908,17 +913,18 @@ Public Class MoveRawPartPage
End If
nOtherRaw = EgtGetNextRawPart(nOtherRaw)
End While
' Determino il movimento effettuato
Dim ptNewRawCen As Point3d
EgtGetRawPartCenter(nRawId, ptNewRawCen)
' Se tutto bene, aggiorno lista movimenti
If bRawOk Then
AddRawMoveData(nRawId, ptNewRawCen - ptRawCen, m_RawMoveDataList)
If dAngRaw <> 0 Then AddRawMoveData(nRawId, -dAngRaw, m_RawMoveDataList)
If dAngRaw <> 0 Then AddRawMoveData(nRawId, dAngRaw, m_RawMoveDataList)
' altrimenti annullo il movimento
Else
EgtMoveRawPart(nRawId, ptRawCen - ptNewRawCen)
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngRaw)
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), -dAngRaw)
m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_MOVERAWPAGEUC + 3)) ' Posizione scelta già occupata
End If
' Disabilito pezzo e nascondo le ventose
@@ -991,6 +997,15 @@ Public Class MoveRawPartPage
Return True
End Function
' determino la migliore rotazione per portare il pezzo in orizzontale
Private Function GetPrefRotAng(ByVal dAngDeg As Double) As Double
Dim dNewAngDeg As Double = -dAngDeg
If dAngDeg > 90 And dAngDeg < 270 Then
dNewAngDeg = 180 - dAngDeg
End If
Return dNewAngDeg
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
+2 -2
View File
@@ -8,7 +8,7 @@
d:DesignHeight="853.3" d:DesignWidth="1280" Initialized="NestPage_Initialized" Loaded="NestPage_Loaded" Unloaded="NestPage_Unloaded">
<!-- Definizione della NestPage -->
<Grid Name="NestPageGrid" >
<Grid Name="NestPageGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="12*"/>
@@ -78,7 +78,7 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<EgtWPFLib:EgtTextBox Name="RotationAngleTxBx" Width="50"
<EgtWPFLib:EgtTextBox Name="RotationAngleTxBx" Width="50" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
<TextBlock Grid.Column="1" FontSize="30" Margin="2,-5,0,0"
Text="°"/>
+227 -99
View File
@@ -62,6 +62,14 @@ Public Class NestPageUC
Private m_bMaximizeMove As Boolean = False
Private m_dAngStep As Double = 0
Private m_bReducedCut As Boolean = False
Private m_bKeyCtrlPressed As Boolean = False
Private m_bKeyLeftShiftPressed As Boolean = False
Private m_dAngTotal As Double = 0
Private m_dStartAng As Double = 0
Private m_bStartRot As Boolean = False
Private m_bStartMove As Boolean = False
' Dati per tolleranza spessore Trf
Private m_dTrfThickTolerance As Double = 0
' Dati movimento registrazione grezzo
@@ -94,6 +102,7 @@ Public Class NestPageUC
RemovePartBtn.ToolTip = EgtMsg(MSG_NESTPAGEUC + 3) 'Remove part - Elimina pezzo
SelectAllBtn.ToolTip = EgtMsg(MSG_NESTPAGEUC + 4) 'Select All - Seleziona Tutto
DeselectAllBtn.ToolTip = EgtMsg(MSG_NESTPAGEUC + 5) 'Deselect All - Deseleziona Tutto
DragRettanleBtn.ToolTip = "Strech"
Dim nColumsIn_UG1 As Integer = 2
' gestisco la visualizzazione del comando PAN (per il drag dei rettangoli)
@@ -1053,7 +1062,9 @@ Public Class NestPageUC
m_locPrev = e.Location
m_bDrag = m_bDrag AndAlso EgtUnProjectPoint(e.Location, m_ptPrev)
m_bDragToStart = m_bDrag
' attivo la modalità di traslazione e rotazione senza cltrollo collisioni (solo in fase di Drag)
m_bVerify = m_bDrag AndAlso (Keyboard.Modifiers And ModifierKeys.Shift) > 0
m_bKeyLeftShiftPressed = m_bVerify
m_vtTotMove = Vector3d.NULL()
End Sub
@@ -1116,51 +1127,114 @@ Public Class NestPageUC
m_bVerify = True
m_bFromParking = True
End If
' Inizio esecuzione di drag
m_bDragging = True
' Ricavo il punto corrente in coordinate mondo
Dim ptCurr As Point3d
EgtUnProjectPoint(e.Location, ptCurr)
' Ricavo il vettore di movimento
Dim vtMove As Vector3d = ptCurr - m_ptPrev
' Muovo i pezzi selezionati di quanto possibile
If vtMove.SqLen() > EPS_SMALL * EPS_SMALL Then
' Se movimento con sola verifica finale
If m_bVerify Then
EgtMove(nMoveId, vtMove)
m_vtTotMove += vtMove
' altrimenti caso con verifica durante il movimento
Else
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' muovo il pezzo
EgtMovePart(nMoveId, m_bReducedCut, vtMove)
EgtSaveCollInfo()
' se movimento risultante nullo, provo con movimento tangente
Dim bTgMoved As Boolean = False
If vtMove.IsSmall() Then
' riprovo con movimento tangente
Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
EgtTgMovePartOnCollision(nMoveId, m_bReducedCut, vtTgMove)
bTgMoved = (Not vtTgMove.IsSmall())
End If
' se abilitato magnetico (allineamento + snap), lo provo
Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False
If m_bMagnetic Then
If Not GetLockOnRotation(nMoveId) Then
EgtAlignPartOnCollision(nMoveId, m_bReducedCut, bAlignMoved)
End If
If m_dSnapDist > EPS_SMALL Then
EgtRestoreCollInfo()
EgtMovePartToSnapPointOnCollision(nMoveId, m_bReducedCut, m_dSnapDist, bSnapMoved)
End If
End If
m_CurrProjPage.ResetOrderMachiningFlag()
' la rotazione è attivabile solo se premuto il tasto Ctrl (e non sono in parheggio)
m_bKeyCtrlPressed = m_bDrag AndAlso (Keyboard.Modifiers And ModifierKeys.Control) > 0
'-------------Inizio ROTAZIONE ----------------
If m_bKeyCtrlPressed AndAlso (Not m_bFromParking OrElse m_bKeyLeftShiftPressed) Then
' Calcolo il centro di rotazione come centro del cluster
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nMoveId, ptCen) Then Return
' definisco il vettore dal centro del pezzo alla posizione del cursore
Dim vtCurr As Vector3d = ptCurr - ptCen
Dim dLen, dHAng, dVAng As Double
' recupero l'angolo orizzontale del vettore
vtCurr.ToSpherical(dLen, dHAng, dVAng)
If Not m_bStartRot Then
m_dAngTotal = 0
' notifico una rotazione
m_bStartRot = True
m_dStartAng = dVAng
End If
EgtDraw()
' Eventuale notifica al VeinMatching
Dim dDeltaAng As Double = dVAng - m_dStartAng
' gestione del passaggio da 0° → 360° evitando mantenendo la visualizzazione fluida
If Math.Abs(dDeltaAng) > 90 Then
If m_dStartAng < 180 And dVAng > 180 Then
dDeltaAng = dVAng - 360 - m_dStartAng
ElseIf m_dStartAng > 180 And dVAng < 180 Then
dDeltaAng = dVAng - m_dStartAng + 360
End If
End If
' Rotazione del pezzo attorno al suo centro
If Math.Abs(dDeltaAng) > EPS_ANG_SMALL Then
' se il tasto Shift è premuto (disabilitato il controllo collisioni durante il Drag)
If m_bKeyLeftShiftPressed Then
EgtRotate(nMoveId, ptCen, Vector3d.Z_AX(), dDeltaAng, GDB_RT.GLOB)
m_dAngTotal += dDeltaAng
Else
' esegue la rotazione fino ad incontrare un altro pezzo
RotatePartInsideBond(dDeltaAng, nMoveId)
m_CurrProjPage.ResetOrderMachiningFlag()
' Eventuale notifica al VeinMatching
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
VeinMatching.OnMovePartInRaw(nId)
nId = EgtGetNextSelectedObj()
End While
End If
m_dStartAng = dVAng
End If
'-------------Fine ROTAZIONE ----------------
Else
' -------------Inizio TRASLAZIONE ---------------
' Ricavo il vettore di movimento
Dim vtMove As Vector3d = ptCurr - m_ptPrev
' Muovo i pezzi selezionati di quanto possibile
If vtMove.SqLen() > EPS_SMALL * EPS_SMALL Then
' notifico una traslazione
If Not m_bStartMove Then
m_bStartMove = True
End If
' Se movimento con sola verifica finale (disabilitato il controllo collisioni durante il Drag)
If m_bVerify Then
EgtMove(nMoveId, vtMove)
m_vtTotMove += vtMove
' altrimenti caso con verifica durante il movimento
Else
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' muovo il pezzo
EgtMovePart(nMoveId, m_bReducedCut, vtMove)
EgtSaveCollInfo()
' se movimento risultante nullo, provo con movimento tangente
Dim bTgMoved As Boolean = False
If vtMove.IsSmall() Then
' riprovo con movimento tangente
Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
EgtTgMovePartOnCollision(nMoveId, m_bReducedCut, vtTgMove)
bTgMoved = (Not vtTgMove.IsSmall())
End If
' se abilitato magnetico (allineamento + snap), lo provo
Dim bAlignMoved As Boolean = False
Dim bSnapMoved As Boolean = False
If m_bMagnetic Then
If Not GetLockOnRotation(nMoveId) Then
EgtAlignPartOnCollision(nMoveId, m_bReducedCut, bAlignMoved)
End If
If m_dSnapDist > EPS_SMALL Then
EgtRestoreCollInfo()
EgtMovePartToSnapPointOnCollision(nMoveId, m_bReducedCut, m_dSnapDist, bSnapMoved)
End If
End If
m_CurrProjPage.ResetOrderMachiningFlag()
End If
' -------------Fine TRASLAZIONE ---------------
End If
End If
EgtDraw()
' Eventuale notifica al VeinMatching
If m_bStartMove OrElse m_bStartRot Then
If nMoveId = GDB_ID.SEL Then
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
@@ -1171,6 +1245,7 @@ Public Class NestPageUC
VeinMatching.OnMovePartInRaw(nMoveId)
End If
End If
' Aggiorno il punto precedente
m_ptPrev = ptCurr
' Terminata esecuzione di drag
@@ -1202,47 +1277,31 @@ Public Class NestPageUC
' Se eseguito drag
If Not m_bDragToStart Then
' Se movimento con sola verifica finale
If m_bVerify Then
' Determino cosa verificare
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Eseguo verifica
If VerifyTrfData(nMoveId) And EgtVerifyPart(nMoveId, m_bReducedCut) Then
m_CurrProjPage.ResetOrderMachiningFlag()
' Non superata riporto alla posizione iniziale
' Se movimento con sola verifica finale ----- TRASLAZIONE
If Not m_bStartRot And m_bStartMove Then
VerifyMove()
' Se movimento con sola verifica finale ----- TRASLAZIONE + ROTAZIONE
ElseIf m_bStartRot And m_bStartMove Then
If Not m_bFromParking Then
VerifyRot()
Else
If m_bFromParking Then
m_CurrProjPage.ClearMessage()
PreRemoveOnePart(nMoveId)
VeinMatching.OnRemovePartFromRaw(nMoveId)
Else
EgtMove(nMoveId, -m_vtTotMove)
' Eventuale notifica al VeinMatching
If nMoveId = GDB_ID.SEL Then
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
VeinMatching.OnMovePartInRaw(nId)
nId = EgtGetNextSelectedObj()
End While
Else
VeinMatching.OnMovePartInRaw(nMoveId)
End If
End If
'---------------------- COUNTER PART ----------------------
Dim sRefGroup As String = String.Empty
If EgtGetInfo(nMoveId, INFO_REFGROUP, sRefGroup) Then
' accendo il layer che contiene il contatore (spento in fase di Drag)
Dim nCounterLayer As Integer = EgtGetFirstNameInGroup(nMoveId, INFO_COUNTERLY)
EgtSetStatus(nCounterLayer, GDB_ST.ON_)
' aggiorno il layer che indica il numero di pezzi in parcheggio
CountPartInFamily(sRefGroup)
End If
'---------------------- COUNTER PART ----------------------
' forzo il reset delle info di rotazione
m_dStartAng = 0
m_dAngTotal = 0
m_bStartRot = False
End If
VerifyMove()
' verifico se la posizione finale della rotazione è corretta ----- ROTAZIONE
ElseIf m_bStartRot And Not m_bStartMove Then
If m_bFromParking Then
VerifyMove()
' forzo il reset delle info di rotazione
m_dStartAng = 0
m_dAngTotal = 0
m_bStartRot = False
Else
VerifyRot()
End If
m_bFromParking = False
' altrimenti caso con verifica durante il movimento
Else
' Basta reset alla fine
@@ -1294,8 +1353,8 @@ Public Class NestPageUC
VeinMatching.OnDeselectPart(m_nIdToDesel)
End If
' Reset
GetFamilyGroupInPark()
m_bDrag = False
m_nIdToSel = GDB_ID.NULL
m_nIdToDesel = GDB_ID.NULL
@@ -1306,6 +1365,70 @@ Public Class NestPageUC
EgtDraw()
End Sub
Private Sub VerifyMove()
If m_bVerify Then
' Determino cosa verificare
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Eseguo verifica
If VerifyTrfData(nMoveId) And EgtVerifyPart(nMoveId, m_bReducedCut) Then
m_CurrProjPage.ResetOrderMachiningFlag()
' Non superata riporto alla posizione iniziale
Else
If m_bFromParking Then
m_CurrProjPage.ClearMessage()
PreRemoveOnePart(nMoveId)
VeinMatching.OnRemovePartFromRaw(nMoveId)
Else
EgtMove(nMoveId, -m_vtTotMove)
' Eventuale notifica al VeinMatching
If nMoveId = GDB_ID.SEL Then
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
VeinMatching.OnMovePartInRaw(nId)
nId = EgtGetNextSelectedObj()
End While
Else
VeinMatching.OnMovePartInRaw(nMoveId)
End If
End If
'---------------------- COUNTER PART ----------------------
' solo se pezzo disposto in tavola
If m_bFromParking Then
Dim sRefGroup As String = String.Empty
If EgtGetInfo(nMoveId, INFO_REFGROUP, sRefGroup) Then
' accendo il layer che contiene il contatore (spento in fase di Drag)
Dim nCounterLayer As Integer = EgtGetFirstNameInGroup(nMoveId, INFO_COUNTERLY)
EgtSetStatus(nCounterLayer, GDB_ST.ON_)
' aggiorno il layer che indica il numero di pezzi in parcheggio
CountPartInFamily(sRefGroup)
End If
End If
'---------------------- COUNTER PART ----------------------
End If
m_bFromParking = False
End If
End Sub
Private Sub VerifyRot()
' se comando Shift è stato attivato
If m_bKeyLeftShiftPressed Then
' Determino cosa verificare
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
If Not EgtVerifyPart(nMoveId, m_bReducedCut) Then
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nMoveId, ptCen) Then Return
EgtRotate(nMoveId, ptCen, Vector3d.Z_AX(), -m_dAngTotal, GDB_RT.GLOB)
End If
End If
' resetto i valori
m_dStartAng = 0
m_dAngTotal = 0
m_bStartRot = False
End Sub
Friend Function SelectPart(nPartId As Integer, bNotifyVM As Boolean) As Boolean
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
' Determino se pezzo in tavola o in parcheggio
@@ -1577,7 +1700,7 @@ Public Class NestPageUC
If m_nPartPos <> PART_POS.IN_TABLE Then
Dim nId As Integer = EgtGetFirstSelectedObj()
While nId <> GDB_ID.NULL
' Se pezzo con rotazione libera
' Se pezzo con rotazione libera (in parcheggio)
If Not EgtExistsInfo(nId, INFO_PARTROT) Then
' Calcolo il centro di rotazione come centro del pezzo
Dim ptCen As Point3d
@@ -1613,25 +1736,30 @@ Public Class NestPageUC
Return True
' Altrimenti li ruoto tenendo conto delle collisioni
Else
' Verifico se ci sono dei pezzi bloccati in rotazione
Dim bLockedRot As Boolean = GetLockOnRotation(GDB_ID.SEL)
' Se tutti i pezzi possono ruotare
If Not bLockedRot Then
' Calcolo il centro di rotazione come centro del cluster
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(GDB_ID.SEL, ptCen) Then Return False
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Verifico rotazione complessiva
EgtRotate(GDB_ID.SEL, ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB)
If EgtVerifyPart(GDB_ID.SEL, m_bReducedCut) Then Return True
' Provo rotazione parziale (dopo aver annullato la complessiva)
EgtRotate(GDB_ID.SEL, ptCen, Vector3d.Z_AX(), -dAngRotDeg, GDB_RT.GLOB)
Return EgtRotatePart(GDB_ID.SEL, m_bReducedCut, ptCen, dAngRotDeg)
Else
Return False
End If
Return RotatePartInsideBond(dAngRotDeg, GDB_ID.SEL)
End If
End Function
' verifica che la rotazione sia ammessa
Private Function RotatePartInsideBond(dAngRotDeg As Double, nIdMove As Integer) As Boolean
' Verifico se ci sono dei pezzi bloccati in rotazione
Dim bLockedRot As Boolean = GetLockOnRotation(nIdMove)
' Se tutti i pezzi possono ruotare
If Not bLockedRot Then
' Calcolo il centro di rotazione come centro del cluster
Dim ptCen As Point3d
If Not EgtGetPartPartClusterCenterGlob(nIdMove, ptCen) Then Return False
' Aggiorno regioni per nesting
UpdateNestRegions()
EnableReferenceRegion(False)
' Verifico rotazione complessiva
EgtRotate(nIdMove, ptCen, Vector3d.Z_AX(), dAngRotDeg, GDB_RT.GLOB)
If EgtVerifyPart(nIdMove, m_bReducedCut) Then Return True
' Provo rotazione parziale (dopo aver annullato la complessiva)
EgtRotate(nIdMove, ptCen, Vector3d.Z_AX(), -dAngRotDeg, GDB_RT.GLOB)
Return EgtRotatePart(nIdMove, m_bReducedCut, ptCen, dAngRotDeg)
Else
Return False
End If
End Function
+9 -8
View File
@@ -98,14 +98,15 @@ Public Module SplitAuto
Mach.m_dStartFreeLen = FREELEN_INF + 1
Mach.m_dEndFreeLen = FREELEN_INF + 1
Dim nEntId, nSub As Integer
If EgtGetMachiningGeometry( 0, nEntId, nSub) Then
If EgtGetType( nEntId) = GDB_TY.CRV_ARC OrElse EgtGetType( nEntId) = GDB_TY.CRV_COMPO Then Mach.m_bIsLine = False
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_PREVANG, INFO_NEXTANG), Mach.m_dPrevAng)
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_NEXTANG, INFO_PREVANG), Mach.m_dNextAng)
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_START_FREELEN, INFO_END_FREELEN), Mach.m_dStartFreeLen)
EgtGetInfo( nEntId, If( Not Mach.m_bInvert, INFO_END_FREELEN, INFO_START_FREELEN), Mach.m_dEndFreeLen)
Mach.m_bEnableInvert = GetEnableInvert( nEntId)
EgtMidVector( nEntId, GDB_ID.ROOT, Mach.m_vtDir)
If EgtGetMachiningGeometry(0, nEntId, nSub) Then
' EgtGetType( nEntId) = GDB_TY.CRV_ARC OrElse
If EgtGetType(nEntId) = GDB_TY.CRV_COMPO Then Mach.m_bIsLine = False
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_PREVANG, INFO_NEXTANG), Mach.m_dPrevAng)
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_NEXTANG, INFO_PREVANG), Mach.m_dNextAng)
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_START_FREELEN, INFO_END_FREELEN), Mach.m_dStartFreeLen)
EgtGetInfo(nEntId, If(Not Mach.m_bInvert, INFO_END_FREELEN, INFO_START_FREELEN), Mach.m_dEndFreeLen)
Mach.m_bEnableInvert = GetEnableInvert(nEntId)
EgtMidVector(nEntId, GDB_ID.ROOT, Mach.m_vtDir)
If Mach.m_bInvert Then Mach.m_vtDir = -Mach.m_vtDir
Mach.m_nEntId = nEntId
End If
+86 -68
View File
@@ -38,7 +38,7 @@
<Image Source="{DynamicResource NumericKeyboardArrowImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
<Button Name="NextBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource NumericKeyboardArrowImg}" Style="{StaticResource OmagCut_ButtonIcon}" RenderTransformOrigin="0.5,0.5">
<Image Source="{DynamicResource NumericKeyboardArrowImg}" Style="{StaticResource OmagCut_ButtonIcon}" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="180"/>
@@ -48,8 +48,8 @@
</Button>
<Button Name="ModifyBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowTextButton}"/>
<Button Name="AutoBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowTextButton}"/>
<Button Name="RestartBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowTextButton}" Visibility="Hidden"/>
</Grid>
<Button Name="RestartBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowTextButton}" Visibility="Hidden"/>
</Grid>
</Grid>
<!--Left Button Grid-->
@@ -63,17 +63,27 @@
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox Name="MachiningLsBx" Grid.Row="1" ItemTemplate="{DynamicResource NameIdLsBxItem}"
<ListBox Name="MachiningLsBx" Grid.Row="1"
SelectionMode="Extended">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding bIsActive}" Value="False">
<Setter Property="Foreground" Value="{StaticResource OmagCut_White}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}">
<TextBlock.Style>
<Style TargetType="TextBlock" BasedOn="{StaticResource OmagCut_CurrProjSummeryTextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding bIsActive}" Value="False">
<Setter Property="TextDecorations" Value="Strikethrough"/>
<Setter Property="Foreground" Value="{StaticResource OmagCut_White}"/>
</DataTrigger>
<DataTrigger Binding="{Binding bIsActive}" Value="True">
<Setter Property="Foreground" Value="Black"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Row="2">
@@ -101,13 +111,13 @@
</Grid.ColumnDefinitions>
<Button Name="OnOffBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource ON_OFF-singolo-taglioImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
<Image Source="{DynamicResource ON_OFF-singolo-taglioImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOnBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-ONImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
<Image Source="{DynamicResource Tutti-ONImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOffBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-OFFImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
<Image Source="{DynamicResource Tutti-OFFImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
</Grid>
@@ -119,28 +129,36 @@
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Name="CutBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="CutStartBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="CutBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="CutStartBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<!-- solo per macchine con lavorazioni Waterjet -->
<ToggleButton Name="BridgesWJBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource PonticelliWJImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</ToggleButton>
<Button Name="CutEndBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<!-- solo per macchine con lavorazioni Waterjet -->
<ToggleButton Name="BridgesDeleteWJBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource PonticelliDeleteWJImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</ToggleButton>
<!-- solo per macchine con lavorazioni Waterjet -->
<ToggleButton Name="BridgesWJBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource PonticelliWJImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</ToggleButton>
<Button Name="CutEndBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-Allunga-AccorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<!--solo per macchine con lavorazioni Waterjet-->
<Button Name="QualityWJBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource QualityWJImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<!-- solo per macchine con lavorazioni Waterjet -->
<ToggleButton Name="BridgesDeleteWJBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource PonticelliDeleteWJImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</ToggleButton>
</Grid>
</Grid>
</Grid>
@@ -163,41 +181,41 @@
<Button Name="OutCenStartBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-Centro-FuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
<Image Source="{DynamicResource Inizio-Centro-FuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="OutCenEndBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-Centro-FuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="ModifStartBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Modifica-InizioImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="ModifEndBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Modifica-FineImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="InvertBtn" Grid.Column="4" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource InvertiImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="PauseBtn" Grid.Column="5" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Pausa-ON_OFFImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOutStartBtn" Grid.Column="6" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-tutti-fuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllCenStartBtn" Grid.Column="7" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-tutti-centroImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOutEndBtn" Grid.Column="8" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-tutti-fuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllCenEndBtn" Grid.Column="9" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-tutti-centroImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllExtendBtn" Grid.Column="10" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-allungaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllReduceBtn" Grid.Column="11" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-accorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="OutCenEndBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-Centro-FuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="ModifStartBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Modifica-InizioImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="ModifEndBtn" Grid.Column="3" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Modifica-FineImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="InvertBtn" Grid.Column="4" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource InvertiImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="PauseBtn" Grid.Column="5" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Pausa-ON_OFFImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOutStartBtn" Grid.Column="6" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-tutti-fuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllCenStartBtn" Grid.Column="7" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Inizio-tutti-centroImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllOutEndBtn" Grid.Column="8" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-tutti-fuoriImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllCenEndBtn" Grid.Column="9" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Fine-tutti-centroImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllExtendBtn" Grid.Column="10" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-allungaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
<Button Name="AllReduceBtn" Grid.Column="11" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource Tutti-accorciaImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
</Grid>
+137 -83
View File
@@ -109,7 +109,7 @@ Public Class SplitPageUC
m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MOVE_PARTS) AndAlso
EgtGetTableId(AUX_TAB) <> GDB_ID.NULL
' verifico se è abilitata la possibiltà di allungare i lati interni
m_StartEndModifyOnIntCorner = (GetPrivateProfileInt(S_NEST, K_STARTENDMODIFYONINTCORNER, 0, m_MainWindow.GetIniFile()) <> 0)
m_StartEndModifyOnIntCorner = (GetPrivateProfileInt(S_NEST, K_STARTENDMODIFYONINTCORNER, 0, m_MainWindow.GetMachIniFile()) <> 0)
' Nascondo eventuali pezzi in parcheggio
HideParkedParts()
' Nascondo eventuale contorno da foto
@@ -978,6 +978,54 @@ Public Class SplitPageUC
End If
End Sub
Private Sub QualityWJBtn_Click(Sender As Object, e As RoutedEventArgs) Handles QualityWJBtn.Click
Dim bFirstWJ As Boolean = True
Dim sQuality As String = String.Empty
' Recupero la lavorazione corrente
If m_CurrFirstInd = -1 Then Return
Dim bGenModif As Boolean = False
For Index As Integer = m_CurrFirstInd To m_CurrLastInd
If Not m_ItemList(Index).IsSelected Then
Continue For
End If
Dim nI As Integer = m_ItemList(Index).Ind
Dim nOperId As Integer = m_MachiningList(nI).m_nId
Dim nMachiningType As Integer = EgtGetOperationType(nOperId)
' se altrimenti getto d'acqua
If nMachiningType = MCH_MY.WATERJETTING Then
' ------------------ INIZIO PREPARAZIONE TASTIERINO VIRTUALE ------------------
If bFirstWJ Then
EgtSetCurrMachining(nOperId)
' Dialogo richiesta valore
Dim ValWnd As New EditValueWD(m_MainWindow, m_MainWindow.m_CurrentMachine.Qualities, "Quality")
If EgtGetInfo(nOperId, "Quality", sQuality) Then
ValWnd.SetItemComboBox(sQuality)
Else
ValWnd.SetItemComboBox(m_MainWindow.m_CurrentMachine.sCurrWaterJettingQuality)
End If
If Not ValWnd.ShowDialog() Then Return
sQuality = ValWnd.GetItemComboBox
' comunico che ho letto il primo dato
bFirstWJ = False
End If
' ------------------ INIZIO PREPARAZIONE TASTIERINO VIRTUALE ------------------
' Modifica della lavorazione
EgtSetCurrMachining(nOperId)
EgtSetInfo(nOperId, "Quality", sQuality)
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
' verifico interferenza
bGenModif = True
End If
Next
' Se modificato qualcosa
If bGenModif Then
EgtDraw()
m_bModified = True
End If
End Sub
Private Function AdjustBothCuts(nI As Integer,
Optional bAllForced As Boolean = False,
Optional bAccForced As Boolean = False) As Boolean
@@ -1332,6 +1380,7 @@ Public Class SplitPageUC
End Sub
Private Sub ModifStartBtn_Click(sender As Object, e As RoutedEventArgs) Handles ModifStartBtn.Click
Dim bLen As Boolean = True
' abilito la finestra per inserire i valori solo per il primo elemento della lista (di default tutti gli altri oggetti assumono lo stesso valore)
Dim bFirstInd As Boolean = True
Dim bFirstMill As Boolean = True
@@ -1367,10 +1416,10 @@ Public Class SplitPageUC
If bFirstInd Then
' Dialogo richiesta valore
Dim ValWnd As New EditValueWD(m_MainWindow, "SAW: " & EgtMsg(MSG_SPLITPAGEUC + 35)) ' Allungamento
ValWnd.SetVal(dOrigUsal)
ValWnd.SetVal(dOrigUsal, bLen)
If Not ValWnd.ShowDialog() Then Return
' carico il valore letto dal testierino virtuale
dUsal = ValWnd.GetVal()
dUsal = ValWnd.GetVal(bLen)
' comunico che ho letto il primo dato
bFirstInd = False
End If
@@ -1425,10 +1474,10 @@ Public Class SplitPageUC
' ------------------ INIZIO PREPARAZIONE TASTIERINO VIRTUALE ------------------
' Dialogo richiesta valore
Dim ValWnd As New EditValueWD(m_MainWindow, "MILL: " & EgtMsg(MSG_SPLITPAGEUC + 35)) ' Allungamento
ValWnd.SetVal(dOrigUsal)
ValWnd.SetVal(dOrigUsal, bLen)
If Not ValWnd.ShowDialog() Then Return
' carico il valore letto dal testierino virtuale
dUsal = ValWnd.GetVal()
dUsal = ValWnd.GetVal(bLen)
' comunico che ho letto il primo dato
bFirstMill = False
End If
@@ -1506,6 +1555,7 @@ Public Class SplitPageUC
End Sub
Private Sub ModifEndBtn_Click(sender As Object, e As RoutedEventArgs) Handles ModifEndBtn.Click
Dim bLen As Boolean = True
' abilito la finestra per inserire i valori solo per il primo elemento della lista (di default tutti gli altri oggetti assumono lo stesso valore)
Dim bFirstInd As Boolean = True
Dim bFirstMill As Boolean = True
@@ -1540,9 +1590,9 @@ Public Class SplitPageUC
If bFirstInd Then
' Dialogo richiesta valore
Dim ValWnd As New EditValueWD(m_MainWindow, "SAW: " & EgtMsg(MSG_SPLITPAGEUC + 35)) ' Allungamento
ValWnd.SetVal(dOrigUeal)
ValWnd.SetVal(dOrigUeal, bLen)
If Not ValWnd.ShowDialog() Then Return
dUeal = ValWnd.GetVal()
dUeal = ValWnd.GetVal(bLen)
bFirstInd = False
End If
' ------------------ FINE PREPARAZIONE TASTIERINO VIRTUALE ------------------
@@ -1595,9 +1645,9 @@ Public Class SplitPageUC
If bFirstMill Then
' Dialogo richiesta valore
Dim ValWnd As New EditValueWD(m_MainWindow, "MILL: " & EgtMsg(MSG_SPLITPAGEUC + 35)) ' Allungamento
ValWnd.SetVal(dOrigUeal)
ValWnd.SetVal(dOrigUeal, bLen)
If Not ValWnd.ShowDialog() Then Return
dUeal = ValWnd.GetVal()
dUeal = ValWnd.GetVal(bLen)
bFirstMill = False
End If
' ------------------ FINE PREPARAZIONE TASTIERINO VIRTUALE ------------------
@@ -1958,7 +2008,7 @@ Public Class SplitPageUC
Dim MyCuts As New List(Of Integer)
For nI As Integer = 0 To m_MachiningList.Count() - 1
If m_MachiningList(nI).m_bEnabled And
( m_MachiningList(nI).m_sLay = NAME_OUTLOOP Or m_MachiningList(nI).m_sLay = NAME_INLOOP) Then
(m_MachiningList(nI).m_sLay = NAME_OUTLOOP Or m_MachiningList(nI).m_sLay = NAME_INLOOP) Then
MyCuts.Add(m_MachiningList(nI).m_nId)
End If
Next
@@ -1970,7 +2020,7 @@ Public Class SplitPageUC
PrevBtn.IsEnabled = (m_nCurrPhase > 1)
' Per bottone NEXT
' Se abilitato manipolatore e non è con waterjet
If ( m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_MANIP) Or
If (m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_MANIP) Or
m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.AUTO_MANIP)) And
Not m_MainWindow.m_CurrentMachine.bWaterJetting Then
' Se in modifica
@@ -2032,6 +2082,7 @@ Public Class SplitPageUC
PauseBtn.IsEnabled = Not m_bShow And m_MainWindow.m_CurrentMachine.bEnablePause
BridgesWJBtn.IsEnabled = Not m_bShow
BridgesDeleteWJBtn.IsEnabled = Not m_bShow
QualityWJBtn.IsEnabled = Not m_bShow
' nascondo i comandi che non devono essere visualizzati in funzione delle lavorazioni attive
If m_nCountSawing = 0 And (m_nCountWaterjetting > 0 Or m_nCountOtherMachining) Then
@@ -2151,13 +2202,16 @@ Public Class SplitPageUC
If CutStartBtn.Visibility = Visibility.Hidden Then
BridgesWJBtn.Visibility = Visibility.Visible
BridgesDeleteWJBtn.Visibility = Visibility.Visible
QualityWJBtn.Visibility = Visibility.Visible
Else
BridgesWJBtn.Visibility = Visibility.Hidden
BridgesDeleteWJBtn.Visibility = Visibility.Hidden
QualityWJBtn.Visibility = Visibility.Hidden
End If
Else
BridgesWJBtn.Visibility = Visibility.Hidden
BridgesDeleteWJBtn.Visibility = Visibility.Hidden
QualityWJBtn.Visibility = Visibility.Hidden
End If
End Sub
@@ -2179,7 +2233,7 @@ Public Class SplitPageUC
Return True
End Function
Private Sub NumberDirectionMachining( nI As Integer, Optional bNumber As Boolean = True)
Private Sub NumberDirectionMachining(nI As Integer, Optional bNumber As Boolean = True)
EgtDisableModified()
' Determino se seconda lavorazione
Dim sName As String = String.Empty
@@ -2213,28 +2267,28 @@ Public Class SplitPageUC
End If
If bNumber Then
Dim nNbrId As Integer = EgtCreateTextAdv( m_nNbrGrpId, ptCen, 0, (nI + 1).ToString(), "",
Dim nNbrId As Integer = EgtCreateTextAdv(m_nNbrGrpId, ptCen, 0, (nI + 1).ToString(), "",
300, False, dHtxt, dRat, 0, INS_POS.MC)
m_MachiningList(nI).m_nNbrId = nNbrId
' Aggiungo a numero info con identificativo della lavorazione e viceversa
EgtSetInfo( nNbrId, "MId", m_MachiningList(nI).m_nId)
EgtSetInfo( m_MachiningList(nI).m_nId, "NbrId", nNbrId)
EgtSetInfo(nNbrId, "MId", m_MachiningList(nI).m_nId)
EgtSetInfo(m_MachiningList(nI).m_nId, "NbrId", nNbrId)
End If
' Se taglio con lama, metto la direzione accanto al numero
If m_MachiningList(nI).m_nType = MCH_OY.SAWING Then
Dim ptStart As New Point3d( ptCen + m_MachiningList(nI).m_vtDir * dHtxt)
Dim vtDir As New Vector3d( m_MachiningList(nI).m_vtDir)
Dim bTwin As Boolean = ( Not m_MachiningList(nI).m_bEnableInvert OrElse Math.Abs( m_MachiningList(nI).m_dSideAng) > 0.1)
Dim nArrId As Integer = AddMachiningDirection( ptStart, vtDir, dHtxt, bTwin)
Dim ptStart As New Point3d(ptCen + m_MachiningList(nI).m_vtDir * dHtxt)
Dim vtDir As New Vector3d(m_MachiningList(nI).m_vtDir)
Dim bTwin As Boolean = (Not m_MachiningList(nI).m_bEnableInvert OrElse Math.Abs(m_MachiningList(nI).m_dSideAng) > 0.1)
Dim nArrId As Integer = AddMachiningDirection(ptStart, vtDir, dHtxt, bTwin)
m_MachiningList(nI).m_nArrId = nArrId
' Aggiungo a freccia info con identificativo della lavorazione e viceversa
EgtSetInfo( nArrId, "MId", m_MachiningList(nI).m_nId)
EgtSetInfo( m_MachiningList(nI).m_nId, "ArrId", nArrId)
EgtSetInfo(nArrId, "MId", m_MachiningList(nI).m_nId)
EgtSetInfo(m_MachiningList(nI).m_nId, "ArrId", nArrId)
Else
m_MachiningList(nI).m_nArrId = GDB_ID.NULL
End If
' Assegno colore a numero e freccia
ColorNumberArrow( nI)
ColorNumberArrow(nI)
EgtEnableModified()
End Sub
@@ -2296,18 +2350,18 @@ Public Class SplitPageUC
Return True
End Function
Private Function AddMachiningDirection( ptStart As Point3d, vtDir As Vector3d, dLen As Double, bTwin As Boolean) As Integer
Dim dArrX As Double = dLen * Math.Cos( 30 * Math.PI / 180)
Dim dArrY As Double = dLen * Math.Sin( 30 * Math.PI / 180)
Dim nTmpId As Integer = EgtCreateLine( m_nNbrGrpId, Point3d.ORIG() + dArrY * Vector3d.Y_AX(), Point3d.ORIG() + dArrX * Vector3d.X_AX())
Dim nCrvId As Integer = EgtCreateCurveCompo( m_nNbrGrpId, nTmpId, True)
EgtAddCurveCompoLine( nCrvId, Point3d.ORIG() - dArrY * Vector3d.Y_AX())
Private Function AddMachiningDirection(ptStart As Point3d, vtDir As Vector3d, dLen As Double, bTwin As Boolean) As Integer
Dim dArrX As Double = dLen * Math.Cos(30 * Math.PI / 180)
Dim dArrY As Double = dLen * Math.Sin(30 * Math.PI / 180)
Dim nTmpId As Integer = EgtCreateLine(m_nNbrGrpId, Point3d.ORIG() + dArrY * Vector3d.Y_AX(), Point3d.ORIG() + dArrX * Vector3d.X_AX())
Dim nCrvId As Integer = EgtCreateCurveCompo(m_nNbrGrpId, nTmpId, True)
EgtAddCurveCompoLine(nCrvId, Point3d.ORIG() - dArrY * Vector3d.Y_AX())
If bTwin Then
EgtAddCurveCompoLine( nCrvId, Point3d.ORIG() + 2 * dArrX * Vector3d.X_AX())
EgtCloseCurveCompo( nCrvId)
EgtAddCurveCompoLine(nCrvId, Point3d.ORIG() + 2 * dArrX * Vector3d.X_AX())
EgtCloseCurveCompo(nCrvId)
End If
Dim frLoc As New Frame3d( ptStart, vtDir, Vector3d.Z_AX() ^ vtDir, Vector3d.Z_AX())
EgtTransform( nCrvId, frLoc)
Dim frLoc As New Frame3d(ptStart, vtDir, Vector3d.Z_AX() ^ vtDir, Vector3d.Z_AX())
EgtTransform(nCrvId, frLoc)
Return nCrvId
End Function
@@ -2338,35 +2392,35 @@ Public Class SplitPageUC
Private Sub MarkNumberArrow(nI As Integer, bMark As Boolean)
If nI < 0 Then Return
Dim nNbrId As Integer = m_MachiningList(nI).m_nNbrId
Dim nArrId As Integer = m_MachiningList( nI).m_nArrId
Dim nArrId As Integer = m_MachiningList(nI).m_nArrId
If bMark Then
EgtSetMark( nNbrId)
EgtSetMark( nArrId)
EgtSetMark(nNbrId)
EgtSetMark(nArrId)
Else
EgtResetMark( nNbrId)
EgtResetMark( nArrId)
EgtResetMark(nNbrId)
EgtResetMark(nArrId)
End If
End Sub
Private Sub ColorNumberArrow( nI As Integer)
Private Sub ColorNumberArrow(nI As Integer)
If nI < 0 Then Return
Dim nNbrId As Integer = m_MachiningList( nI).m_nNbrId
Dim nArrId As Integer = m_MachiningList( nI).m_nArrId
If m_MachiningList( nI).m_bEnabled Then
If m_MachiningList( nI).m_nInterf = FMI_TYPE.NONE Then
EgtSetColor( nNbrId, COL_MCH_FREE)
EgtSetColor( nArrId, COL_MCH_FREE)
Dim nNbrId As Integer = m_MachiningList(nI).m_nNbrId
Dim nArrId As Integer = m_MachiningList(nI).m_nArrId
If m_MachiningList(nI).m_bEnabled Then
If m_MachiningList(nI).m_nInterf = FMI_TYPE.NONE Then
EgtSetColor(nNbrId, COL_MCH_FREE)
EgtSetColor(nArrId, COL_MCH_FREE)
Else
EgtSetColor( nNbrId, COL_MCH_INTERF)
EgtSetColor( nArrId, COL_MCH_INTERF)
EgtSetColor(nNbrId, COL_MCH_INTERF)
EgtSetColor(nArrId, COL_MCH_INTERF)
End If
Else
If m_MachiningList( nI).m_nInterf = FMI_TYPE.NONE Then
EgtResetColor( nNbrId)
EgtResetColor( nArrId)
ElseIf Not m_MachiningList( nI).m_bEnabled Then
EgtSetColor( nNbrId, COL_MCH_DIS_INTERF)
EgtSetColor( nArrId, COL_MCH_DIS_INTERF)
If m_MachiningList(nI).m_nInterf = FMI_TYPE.NONE Then
EgtResetColor(nNbrId)
EgtResetColor(nArrId)
ElseIf Not m_MachiningList(nI).m_bEnabled Then
EgtSetColor(nNbrId, COL_MCH_DIS_INTERF)
EgtSetColor(nArrId, COL_MCH_DIS_INTERF)
End If
End If
End Sub
@@ -2392,38 +2446,38 @@ Public Class SplitPageUC
EgtEnableModified()
End Sub
Private Sub SwapStartEndData( nI As Integer)
Private Sub SwapStartEndData(nI As Integer)
' Swap angoli precedente e successivo
Dim dAng As Double = m_MachiningList( nI).m_dPrevAng
m_MachiningList( nI).m_dPrevAng = m_MachiningList( nI).m_dNextAng
m_MachiningList( nI).m_dNextAng = dAng
Dim dAng As Double = m_MachiningList(nI).m_dPrevAng
m_MachiningList(nI).m_dPrevAng = m_MachiningList(nI).m_dNextAng
m_MachiningList(nI).m_dNextAng = dAng
' Swap lunghezze libere
Dim dFreeLen As Double = m_MachiningList( nI).m_dStartFreeLen
m_MachiningList( nI).m_dStartFreeLen = m_MachiningList( nI).m_dEndFreeLen
m_MachiningList( nI).m_dEndFreeLen = dFreeLen
Dim dFreeLen As Double = m_MachiningList(nI).m_dStartFreeLen
m_MachiningList(nI).m_dStartFreeLen = m_MachiningList(nI).m_dEndFreeLen
m_MachiningList(nI).m_dEndFreeLen = dFreeLen
' Swap stato di allungamento
Dim bAll As Boolean = m_MachiningList( nI).m_bStartAll
m_MachiningList( nI).m_bStartAll = m_MachiningList( nI).m_bEndAll
m_MachiningList( nI).m_bEndAll = bAll
Dim bAll As Boolean = m_MachiningList(nI).m_bStartAll
m_MachiningList(nI).m_bStartAll = m_MachiningList(nI).m_bEndAll
m_MachiningList(nI).m_bEndAll = bAll
' Swap possibilità di allungamento
Dim bCanAll As Boolean = m_MachiningList( nI).m_bCanStartAll
m_MachiningList( nI).m_bCanStartAll = m_MachiningList( nI).m_bCanEndAll
m_MachiningList( nI).m_bCanEndAll = bCanAll
Dim bCanAll As Boolean = m_MachiningList(nI).m_bCanStartAll
m_MachiningList(nI).m_bCanStartAll = m_MachiningList(nI).m_bCanEndAll
m_MachiningList(nI).m_bCanEndAll = bCanAll
' Swap stato interferenza
if ( m_MachiningList( nI).m_nInterf And FMI_TYPE.LI) <> 0 And ( m_MachiningList( nI).m_nInterf And FMI_TYPE.LO) = 0 Then
m_MachiningList( nI).m_nInterf -= FMI_TYPE.LI
m_MachiningList( nI).m_nInterf += FMI_TYPE.LO
ElseIf ( m_MachiningList( nI).m_nInterf And FMI_TYPE.LI) = 0 And ( m_MachiningList( nI).m_nInterf And FMI_TYPE.LO) <> 0 Then
m_MachiningList( nI).m_nInterf += FMI_TYPE.LI
m_MachiningList( nI).m_nInterf -= FMI_TYPE.LO
If (m_MachiningList(nI).m_nInterf And FMI_TYPE.LI) <> 0 And (m_MachiningList(nI).m_nInterf And FMI_TYPE.LO) = 0 Then
m_MachiningList(nI).m_nInterf -= FMI_TYPE.LI
m_MachiningList(nI).m_nInterf += FMI_TYPE.LO
ElseIf (m_MachiningList(nI).m_nInterf And FMI_TYPE.LI) = 0 And (m_MachiningList(nI).m_nInterf And FMI_TYPE.LO) <> 0 Then
m_MachiningList(nI).m_nInterf += FMI_TYPE.LI
m_MachiningList(nI).m_nInterf -= FMI_TYPE.LO
End If
' Swap Allungamento Utente
Dim dOrigUsal As Double = 0
EgtGetInfo( m_MachiningList( nI).m_nId, INFO_MCH_USER_SAL, dOrigUsal)
EgtGetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_SAL, dOrigUsal)
Dim dOrigUeal As Double = 0
EgtGetInfo( m_MachiningList( nI).m_nId, INFO_MCH_USER_EAL, dOrigUeal)
EgtSetInfo( m_MachiningList( nI).m_nId, INFO_MCH_USER_SAL, dOrigUeal)
EgtSetInfo( m_MachiningList( nI).m_nId, INFO_MCH_USER_EAL, dOrigUsal)
EgtGetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_EAL, dOrigUeal)
EgtSetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_SAL, dOrigUeal)
EgtSetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_EAL, dOrigUsal)
End Sub
'-----------------------------------------------------------------------------------------------
@@ -2453,10 +2507,10 @@ Public Class SplitPageUC
Return m_sName
End Get
Set(value As String)
If value <> m_sName Then
m_sName = value
NotifyPropertyChanged("Name")
End If
If value <> m_sName Then
m_sName = value
NotifyPropertyChanged("Name")
End If
End Set
End Property
@@ -2465,10 +2519,10 @@ Public Class SplitPageUC
Return m_bIsActive
End Get
Set(value As Boolean)
If value <> m_bIsActive Then
m_bIsActive = value
NotifyPropertyChanged("bIsActive")
End If
If value <> m_bIsActive Then
m_bIsActive = value
NotifyPropertyChanged("bIsActive")
End If
End Set
End Property
+28 -10
View File
@@ -451,14 +451,14 @@ Module VacuumCups
Dim dPreferredRot As Double = m_dPreferredRot
' -------------------- INIZIO GESTIONE ROTAZIONE ASSE C PER NON ANDARE IN EXTRA-CORSA --------------------
' verifico l'orientamento del pezzo
If bRotateVacuumNearExtraStrokeX And (Math.Abs(dRotAngDeg - 90) < 45 Or Math.Abs(dRotAngDeg - 270) < 45) Then
If bRotateVacuumNearExtraStrokeX And Not IsHorizontal(dAngOrizzDeg) Then
' se l'orientamento è verticale
If frMinRect.Orig().x < b3Tab.Center().x Then
dPreferredRot = m_dPrefVertRotXMinus
Else
dPreferredRot = m_dPrefVertRotXPlus
End If
ElseIf bRotateVacuumNearExtraStrokeY And (Math.Abs(dRotAngDeg - 90) > 45 Or Math.Abs(dRotAngDeg - 270) > 45) Then
ElseIf bRotateVacuumNearExtraStrokeY And IsHorizontal(dAngOrizzDeg) Then
' se l'orientemanto è orizzontale e la macchina è stata abilitata
If frMinRect.Orig().y < b3Tab.Center().y Then
dPreferredRot = m_dPrefVertRotYPlus
@@ -467,8 +467,8 @@ Module VacuumCups
End If
End If
' -------------------- FINE GESTIONE ROTAZIONE ASSE C PER NON ANDARE IN EXTRA-CORSA --------------------
Dim dAngDelta As Double = If( Math.Abs( b3Vac.DimY() - b3Vac.DimX()) < 10 * EPS_SMALL, 90, 180)
While dRotAngDeg - dPreferredRot >= dAngDelta / 2
Dim dAngDelta As Double = If(Math.Abs(b3Vac.DimY() - b3Vac.DimX()) < 10 * EPS_SMALL, 90, 180)
While dRotAngDeg - dPreferredRot >= dAngDelta / 2
dRotAngDeg -= dAngDelta
End While
While dRotAngDeg - dPreferredRot <= -dAngDelta / 2
@@ -539,16 +539,34 @@ Module VacuumCups
Return dDist
End Function
' assegante le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile
Private Function IsHorizontal(dDegAng As Double) As Boolean
If (Math.Abs(dDegAng) > 45 And Math.Abs(dDegAng) < 135) Or (Math.Abs(dDegAng) > 225 And Math.Abs(dDegAng) < 315) Then
Return False
End If
Return True
End Function
' assegnate le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile
Public Function VerifyOutOfStrokes(ptRef As Point3d, dRotAngDeg As Double) As Integer
Dim dX, dY, dZ As Double
Dim nStat As Integer
' Posizione Home dell'asse rotante
Dim dCHome As Double
EgtGetAxisHomePos("C", dCHome)
' imposto la l'uscita della ventosa come fosse l'uscita di un utensile
' Corse dell'asse
Dim dCMin As Double
EgtGetAxisMin("C", dCMin)
Dim dCMax As Double
EgtGetAxisMax("C", dCMax)
' Porto l'angolo nel range
Dim dRotAngMachDeg As Double = dRotAngDeg + dCHome
AdjustAngleInRange(dRotAngMachDeg, dCMin, dCMax)
' Imposto la ventosa come fosse un utensile
EgtSetCalcTool("", "H4", 1)
EgtGetCalcPositions(ptRef, dRotAngDeg + dCHome, 0, nStat, dX, dY, dZ)
EgtVerifyOutstroke(dX, dY, dZ, dRotAngDeg + dCHome, 0, nStat)
' Calcolo gli assi macchina
Dim dX, dY, dZ As Double
Dim nStat As Integer
EgtGetCalcPositions(ptRef, dRotAngMachDeg, 0, nStat, dX, dY, dZ)
' Verifico le corse
EgtVerifyOutstroke(dX, dY, dZ, dRotAngMachDeg, 0, nStat)
Return nStat
End Function
+4
View File
@@ -50,6 +50,8 @@ Module ConstIni
Public Const K_SMARTMACHININGPAGE As String = "SmartMachiningPage"
Public Const K_STARTPROGRAM As String = "StartProgram"
Public Const K_GENERATECN As String = "GenerateCN"
Public Const K_FRACTIONPATTERN As String = "FractionPattern"
Public Const K_PRECISION As String = "Precision"
Public Const S_LANGUAGES As String = "Languages"
@@ -328,6 +330,8 @@ Module ConstIni
Public Const K_DC_TEST_LENGTH As String = "TestLength"
Public Const K_DC_TEST_ANGH As String = "TestAngH"
Public Const K_DC_TEST_OFFSET As String = "TestOffset"
Public Const K_DC_OFFSET_SQUARING As String = "OffsetSquaring"
Public Const K_DC_EXTRA_LEN_SQUARING As String = "ExtraLenSquaring"
Public Const S_STATDATA As String = "StatData"
Public Const K_SD_DAY As String = "Day"
+4 -2
View File
@@ -47,9 +47,7 @@
Public Const K_PHOTODELEY As String = "PhotoDeley"
Public Const S_EXECLUA As String = "ExecLua"
Public Const K_DIRSCRIPT_LUA As String = "DirScript"
Public Const K_FILESCRIPT_LUA As String = "FileScript"
Public Const K_CALLFUNCTION As String = "CallFunction"
Public Const S_NCDATA As String = "NcData"
Public Const K_NEWVARIABLE As String = "NewVariable"
@@ -221,6 +219,10 @@
Public Const K_MACH_CUTFSEVLEN As String = "CutFsevLen"
Public Const K_MACH_CUTFSEVPERC As String = "CutFsevPerc"
Public Const K_USELASERORIGIN As String = "UseLaserOrigin"
Public Const K_HOLES_DIAMITERWJ As String = "HolesDiameterWJ"
Public Const K_HOLES_OFFSETWJ As String = "HolesOffsetWJ"
Public Const K_MIN_RADIUSWJ As String = "MinRadiusWJ"
Public Const K_MACH_DRILLINGWJ_ON_CORNERS As String = "DrillingWJOnCorners"
' DrillMillC90
' CutLongDxSx
' AngRotMultiCut
+4 -2
View File
@@ -108,8 +108,10 @@ Public Class ControlsDirectCutUC
GridCutTxt.Text = EgtMsg(90204)
'FlatteningCutBtn.Content = EgtMsg(90206)
FlatteningCutTxt.Text = EgtMsg(90206)
SquaringTxt.Text = "Squaring"
ChangeUCTxBl.Text = "Others"
' 90261=Squaring
SquaringTxt.Text = EgtMsg(90261)
' 90409=Others
ChangeUCTxBl.Text = EgtMsg(90409)
End Sub
+1 -1
View File
@@ -65,7 +65,7 @@
<TextBlock Name="DirectionTxBl" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="LenghtTxBl" Grid.Column="0" Grid.Row="4"
+2 -1
View File
@@ -624,7 +624,8 @@ Public Class FlatteningCut
EgtTdbGetCurrToolParam(MCH_TP.THICK, dFootPrint)
ElseIf Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrMilling) Then
Dim sCurrMill = m_MainWindow.m_CurrentMachine.sCurrMill
GetDrillFromDrilling(sCurrMill, m_MainWindow.m_CurrentMachine.sCurrMilling)
'GetDrillFromDrilling(sCurrMill, m_MainWindow.m_CurrentMachine.sCurrMilling)
GetMillFromMilling(sCurrMill, m_MainWindow.m_CurrentMachine.sCurrMilling)
' recupero informazioni della fresa in uso
EgtTdbSetCurrTool(sCurrMill)
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dFootPrint)
+4 -4
View File
@@ -61,12 +61,12 @@
<TextBlock Name="DirectionTxBl" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="SideAngleTxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<Grid Grid.Row="5" Grid.ColumnSpan="2">
@@ -89,7 +89,7 @@
<TextBlock Name="DimPzXTxBl" Grid.Column="2" Grid.Row="0"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="NumPzXTxBx" Grid.Column="0" Grid.Row="1" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPzXTxBx" Grid.Column="0" Grid.Row="1" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPzXTxBx" Grid.Column="2" Grid.Row="1" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}" />
@@ -99,7 +99,7 @@
<TextBlock Name="DimPzYTxBl" Grid.Column="2" Grid.Row="2"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="NumPzYTxBx" Grid.Column="0" Grid.Row="3" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPzYTxBx" Grid.Column="0" Grid.Row="3" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPzYTxBx" Grid.Column="2" Grid.Row="3" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}" />
+2 -2
View File
@@ -69,10 +69,10 @@
<EgtWPFLib:EgtTextBox x:Name="L3TxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<Button x:Name="R1Btn" Grid.Row="4" Height="60" Width="60" Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<EgtWPFLib:EgtTextBox x:Name="R1TxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox x:Name="R1TxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<Button x:Name="R2Btn" Grid.Row="5" Height="60" Width="60" Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<EgtWPFLib:EgtTextBox x:Name="R2TxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox x:Name="R2TxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<Grid Grid.Row="7" Grid.ColumnSpan="2">
+12 -12
View File
@@ -68,12 +68,12 @@
<TextBlock Name="DirectionTxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="SideAngleTxBl" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<Grid Grid.Row="6" Grid.ColumnSpan="2" Visibility="Visible">
@@ -124,70 +124,70 @@
<TextBlock Name="Num1TxBl" Grid.Column="0" Grid.Row="0"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz1TxBx" Grid.Column="1" Grid.Row="0" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz1TxBx" Grid.Column="1" Grid.Row="0" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz1TxBx" Grid.Column="3" Grid.Row="0" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num2TxBl" Grid.Column="0" Grid.Row="1"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz2TxBx" Grid.Column="1" Grid.Row="1" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz2TxBx" Grid.Column="1" Grid.Row="1" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz2TxBx" Grid.Column="3" Grid.Row="1" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num3TxBl" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz3TxBx" Grid.Column="1" Grid.Row="2" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz3TxBx" Grid.Column="1" Grid.Row="2" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz3TxBx" Grid.Column="3" Grid.Row="2" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num4TxBl" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz4TxBx" Grid.Column="1" Grid.Row="3" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz4TxBx" Grid.Column="1" Grid.Row="3" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz4TxBx" Grid.Column="3" Grid.Row="3" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num5TxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz5TxBx" Grid.Column="1" Grid.Row="4" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz5TxBx" Grid.Column="1" Grid.Row="4" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz5TxBx" Grid.Column="3" Grid.Row="4" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num6TxBl" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz6TxBx" Grid.Column="1" Grid.Row="5" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz6TxBx" Grid.Column="1" Grid.Row="5" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz6TxBx" Grid.Column="3" Grid.Row="5" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num7TxBl" Grid.Column="0" Grid.Row="6"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz7TxBx" Grid.Column="1" Grid.Row="6" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz7TxBx" Grid.Column="1" Grid.Row="6" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz7TxBx" Grid.Column="3" Grid.Row="6" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num8TxBl" Grid.Column="0" Grid.Row="7"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz8TxBx" Grid.Column="1" Grid.Row="7" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz8TxBx" Grid.Column="1" Grid.Row="7" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz8TxBx" Grid.Column="3" Grid.Row="7" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num9TxBl" Grid.Column="0" Grid.Row="8"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz9TxBx" Grid.Column="1" Grid.Row="8" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz9TxBx" Grid.Column="1" Grid.Row="8" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz9TxBx" Grid.Column="3" Grid.Row="8" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="Num10TxBl" Grid.Column="0" Grid.Row="9"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="NumPz10TxBx" Grid.Column="1" Grid.Row="9" Width="75"
<EgtWPFLib:EgtTextBox Name="NumPz10TxBx" Grid.Column="1" Grid.Row="9" Width="75" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPz10TxBx" Grid.Column="3" Grid.Row="9" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
+1 -1
View File
@@ -63,7 +63,7 @@ Public Class Polishing
If PolishingCmBx.SelectedIndex < 0 Then
m_bPoliOk = False
UpdateSimulOkBtn()
End If
End If
' Rendo semitrasparente il grezzo
Dim nRawSolidId = EgtGetFirstNameInGroup(m_CurrProjPage.m_nRawId, NAME_RAW_SOLID)
EgtSetAlpha( nRawSolidId, 60)
+1 -1
View File
@@ -70,7 +70,7 @@
<TextBlock Name="DirectionTxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="OffsetTxBl" Grid.Column="0" Grid.Row="5"
+2 -2
View File
@@ -69,12 +69,12 @@
<TextBlock Name="DirectionTxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="DirectionTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="SideAngleTxBl" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0"
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="1" Grid.Row="5" Margin="0,0,6,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="OffsetTxBl" Grid.Column="0" Grid.Row="6"
+7 -4
View File
@@ -583,7 +583,7 @@ Public Class SingleCutUC
Dim sSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
EgtTdbSetCurrTool(sSaw)
Dim dThick As Double = 0
' se è impostata una lavorazione di lama
' Se è impostata una lavorazione di lama
If Not String.IsNullOrEmpty(sSawing) Then
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
End If
@@ -599,9 +599,12 @@ Public Class SingleCutUC
Dim ptStart As Point3d = m_ptTipP1
ptStart.z = 0
Dim nCutId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, m_dLen)
If Math.Abs(m_dOffset) > 10 * EPS_SMALL Then
Dim dTotOffset = m_dOffset
If m_bSawTh Then dTotOffset += If( m_dOffset > 0, dThick, -dThick)
' Applico la correzione di spessore lama -> anche se Offset=0! ver_2.5b1
Dim dTotOffset = m_dOffset
If m_bSawTh Then
dTotOffset += If(m_dOffset > 0, dThick, -dThick)
EgtOffsetCurve(nCutId, dTotOffset, OFF_TYPE.EXTEND)
Else
EgtOffsetCurve(nCutId, dTotOffset, OFF_TYPE.EXTEND)
End If
' Imposto affondamento e angolo di fianco sul taglio
+7 -2
View File
@@ -52,11 +52,14 @@ Public Class SquaringUC
Private Sub GridCut_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
OffsetTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 28)
ExtraLenTxBl.Text = "Extra length"
' 90260=Extra length
ExtraLenTxBl.Text = EgtMsg(90260)
SimulBtn.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 1)
OkBtn.ToolTip = EgtMsg(MSG_DIRECTCUTPAGEUC + 30)
' Carico i dati dell'ultimo taglio
m_dOffsetSquaring = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_OFFSET_SQUARING, m_dOffsetSquaring, m_MainWindow.GetIniFile())
m_dExtraLength = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_EXTRA_LEN_SQUARING, m_dExtraLength, m_MainWindow.GetIniFile())
m_dDepth = 0
m_dAngO = 90
m_dAngV = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_GRID_ANGV, m_dAngV, m_MainWindow.GetIniFile())
@@ -129,7 +132,9 @@ Public Class SquaringUC
Friend Sub Squaring_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
' Salvo i dati correnti
'WritePrivateProfileString(S_DIRECTCUTS, K_DC_GRID_DEPTH, DoubleToString(m_dDepth, 2), m_MainWindow.GetIniFile())
' Salvo i dati correnti
WritePrivateProfileString(S_DIRECTCUTS, K_DC_OFFSET_SQUARING, DoubleToString(m_dOffsetSquaring, 2), m_MainWindow.GetIniFile())
WritePrivateProfileString(S_DIRECTCUTS, K_DC_EXTRA_LEN_SQUARING, DoubleToString(m_dExtraLength, 2), m_MainWindow.GetIniFile())
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
+2 -2
View File
@@ -199,12 +199,12 @@
Visibility="Collapsed"
Grid.Column="2" Grid.Row="1"
HorizontalAlignment="Right"
Width="60" Height="30" Margin="0,0,0,0"
Width="60" Height="30" Margin="0,0,0,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="Parameter2FTxBx"
Grid.Column="3" Grid.Row="1"
HorizontalAlignment="Right"
Width="60" Height="30" Margin="0,0,0,0"
Width="60" Height="30" Margin="0,0,0,0" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<!-- Spessore aletta -->
+12 -6
View File
@@ -96,8 +96,14 @@ Public Class AlzFrontUC
Dim LabelId As Integer = GDB_ID.NULL
' definisco i valori delle altezza e degli angoli di spoglia per le alzatine e i frontalini (letti da file ini del programma)
GetPrivateProfileString(S_ALZFRONT, K_ALZ_HEIGHT, "0", Parameter1ATxBx.Text, m_MainWindow.GetIniFile)
GetPrivateProfileString(S_ALZFRONT, K_FRONT_HEIGHT, "0", Parameter1FTxBx.Text, m_MainWindow.GetIniFile)
Dim sVal As String = String.Empty
Dim dVal As Double = 0
GetPrivateProfileString(S_ALZFRONT, K_ALZ_HEIGHT, "0", sVal, m_MainWindow.GetIniFile)
Utility.StringToDouble(sVal, dVal)
Parameter1ATxBx.Text = Utility.LenToString(dVal, 4)
GetPrivateProfileString(S_ALZFRONT, K_FRONT_HEIGHT, "0", sVal, m_MainWindow.GetIniFile)
Utility.StringToDouble(sVal, dVal)
Parameter1FTxBx.Text = Utility.LenToString(dVal, 4)
GetPrivateProfileString(S_ALZFRONT, K_ALZ_DELTA_ANG, "0", Parameter2ATxBx.Text, m_MainWindow.GetIniFile)
GetPrivateProfileString(S_ALZFRONT, K_FRONT_DELTA_ANG, "0", Parameter2FTxBx.Text, m_MainWindow.GetIniFile)
Parameter5TxBx.Text = Utility.LenToString(m_MainWindow.m_CurrentProjectPageUC.m_dRawHeight, 2)
@@ -607,9 +613,9 @@ Public Class AlzFrontUC
Private Sub ParameterA1TxBx_EgtClosed(sender As Object, e As EventArgs) Handles Parameter1ATxBx.EgtClosed
' Nuovo angolo di inclinazione
Dim dValue As Double
StringToDouble(Parameter1ATxBx.Text, dValue)
StringToLen(Parameter1ATxBx.Text, dValue)
' salvo il valore nel file ini e inserisco il valore nel file lua
WritePrivateProfileString("Alz&Front", "A_Height", Parameter1ATxBx.Text, m_MainWindow.GetIniFile())
WritePrivateProfileString("Alz&Front", "A_Height", DoubleToString(dValue, 3), m_MainWindow.GetIniFile())
' aggiorno il disegno
LoadCurrentCompo()
End Sub
@@ -618,9 +624,9 @@ Public Class AlzFrontUC
Private Sub Parameter1FTxBx_EgtClosed(sender As Object, e As EventArgs) Handles Parameter1FTxBx.EgtClosed
' Nuovo angolo di inclinazione
Dim dValue As Double
StringToDouble(Parameter1FTxBx.Text, dValue)
StringToLen(Parameter1FTxBx.Text, dValue)
' salvo il valore nel file ini e inserisco il valore nel file lua
WritePrivateProfileString("Alz&Front", "F_Height", Parameter1FTxBx.Text, m_MainWindow.GetIniFile())
WritePrivateProfileString("Alz&Front", "F_Height", DoubleToString(dValue, 3), m_MainWindow.GetIniFile())
' aggiorno il disegno
LoadCurrentCompo()
End Sub
+1
View File
@@ -75,6 +75,7 @@ Public Class CompoDimensionUC
m_DrawPage.sCompoName.StartsWith("PBagno") Then
ShowInternalBtn(True)
ShowAlzFrontBtn(bEnableAlzFront)
m_DrawPage.MessageGrid.Visibility = Visibility.Hidden
Else
ShowInternalBtn(False)
ShowAlzFrontBtn(False)
+1 -1
View File
@@ -124,7 +124,7 @@
<TextBlock Name="PartNumTxBl" Grid.Column="0" Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"
TextAlignment="Right"/>
<EgtWPFLib:EgtTextBox Name="PartNumTxBx" Grid.Column="1" Width="60"
<EgtWPFLib:EgtTextBox Name="PartNumTxBx" Grid.Column="1" Width="60" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
</Grid>
+18 -7
View File
@@ -644,10 +644,17 @@ Public Class DrawPageUC
m_CompoDimension.GetNameEdit(j).Text = m_CVars(i - 1).m_sName
m_CompoDimension.GetNameEdit(j).Visibility = Windows.Visibility.Visible
m_CompoDimension.GetValueEdit(j).Text = m_CVars(i - 1).ToString()
'Dim dVal As Double
'StringToLen(m_CVars(i - 1).ToString(), dVal)
'm_CompoDimension.GetValueEdit(j).Text = LenToString(dVal, 3)
m_CompoDimension.GetValueEdit(j).Visibility = Windows.Visibility.Visible
If m_CVars(i - 1).m_nType = 5 Then
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).Keyboard = EgtTextBox.KeyboardType.Alphanumeric
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).KeyboardDimension = 600
ElseIf m_CVars(i - 1).m_nType = 4 Then
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).Keyboard = EgtTextBox.KeyboardType.Calculator
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).IsLength = False
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).KeyboardDimension = 300
Else
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).Keyboard = EgtTextBox.KeyboardType.Calculator
TryCast(m_CompoDimension.GetValueEdit(j), EgtTextBox).KeyboardDimension = 300
@@ -1485,7 +1492,10 @@ Public Class DrawPageUC
Case 2 ' intero
Return m_nVal.ToString()
Case 3 ' lunghezza
Return DoubleToString(EgtToUiUnits(m_dVal), 4)
'Dim dVal As Double
'StringToLen(m_sVal, dVal)
Return LenToString(m_dVal, 4)
'Return DoubleToString(EgtToUiUnits(m_dVal), 4)
Case 4 ' double
Return DoubleToString(m_dVal, 4)
Case 5 ' stringa
@@ -1510,12 +1520,13 @@ Public Class DrawPageUC
End If
Case 3 ' lunghezza
Dim dVal As Double
If StringToDouble(sVal, dVal) Then
If bConvertUnits Then
m_dVal = EgtFromUiUnits(dVal)
Else
m_dVal = dVal
End If
If bConvertUnits Then
StringToLen(sVal, dVal)
m_dVal = dVal
Return True
Else
StringToDouble(sVal, dVal)
m_dVal = dVal
Return True
End If
Case 4 ' double
+1 -1
View File
@@ -114,7 +114,7 @@
<TextBlock Name="PartNumTxBl" Grid.Column="0" Style="{DynamicResource OmagCut_CurrProjSummeryTextBlock}"
TextAlignment="Right"/>
<EgtWPFLib:EgtTextBox Name="PartNumTxBx" Grid.Column="1" Width="60"
<EgtWPFLib:EgtTextBox Name="PartNumTxBx" Grid.Column="1" Width="60" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
</Grid>
+12 -12
View File
@@ -56,7 +56,7 @@
<TextBlock Name="Entity1" Grid.Row="1" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A1" Grid.Column="1" Grid.Row="1" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A1TxBx" Grid.Column="2" Grid.Row="1" Width="60"
<EgtWPFLib:EgtTextBox Name="A1TxBx" Grid.Column="2" Grid.Row="1" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H1TxBx" Grid.Column="3" Grid.Row="1" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -64,7 +64,7 @@
<TextBlock Name="Entity2" Grid.Row="2" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A2" Grid.Column="1" Grid.Row="2" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A2TxBx" Grid.Column="2" Grid.Row="2" Width="60"
<EgtWPFLib:EgtTextBox Name="A2TxBx" Grid.Column="2" Grid.Row="2" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H2TxBx" Grid.Column="3" Grid.Row="2" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -72,7 +72,7 @@
<TextBlock Name="Entity3" Grid.Row="3" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A3" Grid.Column="1" Grid.Row="3" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A3TxBx" Grid.Column="2" Grid.Row="3" Width="60"
<EgtWPFLib:EgtTextBox Name="A3TxBx" Grid.Column="2" Grid.Row="3" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H3TxBx" Grid.Column="3" Grid.Row="3" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -80,7 +80,7 @@
<TextBlock Name="Entity4" Grid.Row="4" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A4" Grid.Column="1" Grid.Row="4" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A4TxBx" Grid.Column="2" Grid.Row="4" Width="60"
<EgtWPFLib:EgtTextBox Name="A4TxBx" Grid.Column="2" Grid.Row="4" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H4TxBx" Grid.Column="3" Grid.Row="4" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -88,7 +88,7 @@
<TextBlock Name="Entity5" Grid.Row="5" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A5" Grid.Column="1" Grid.Row="5" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A5TxBx" Grid.Column="2" Grid.Row="5" Width="60"
<EgtWPFLib:EgtTextBox Name="A5TxBx" Grid.Column="2" Grid.Row="5" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H5TxBx" Grid.Column="3" Grid.Row="5" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -96,7 +96,7 @@
<TextBlock Name="Entity6" Grid.Row="6" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A6" Grid.Column="1" Grid.Row="6" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A6TxBx" Grid.Column="2" Grid.Row="6" Width="60"
<EgtWPFLib:EgtTextBox Name="A6TxBx" Grid.Column="2" Grid.Row="6" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H6TxBx" Grid.Column="3" Grid.Row="6" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -104,7 +104,7 @@
<TextBlock Name="Entity7" Grid.Row="7" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A7" Grid.Column="1" Grid.Row="7" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A7TxBx" Grid.Column="2" Grid.Row="7" Width="60"
<EgtWPFLib:EgtTextBox Name="A7TxBx" Grid.Column="2" Grid.Row="7" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H7TxBx" Grid.Column="3" Grid.Row="7" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -112,7 +112,7 @@
<TextBlock Name="Entity8" Grid.Row="8" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A8" Grid.Column="1" Grid.Row="8" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A8TxBx" Grid.Column="2" Grid.Row="8" Width="60"
<EgtWPFLib:EgtTextBox Name="A8TxBx" Grid.Column="2" Grid.Row="8" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H8TxBx" Grid.Column="3" Grid.Row="8" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -120,7 +120,7 @@
<TextBlock Name="Entity9" Grid.Row="9" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A9" Grid.Column="1" Grid.Row="9" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A9TxBx" Grid.Column="2" Grid.Row="9" Width="60"
<EgtWPFLib:EgtTextBox Name="A9TxBx" Grid.Column="2" Grid.Row="9" Width="60" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H9TxBx" Grid.Column="3" Grid.Row="9" Width="60"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
@@ -128,7 +128,7 @@
<TextBlock Name="Entity10" Grid.Row="10" Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
<CheckBox Name="A10" Grid.Column="1" Grid.Row="10" Height="30" Width="40" HorizontalAlignment="Right"
Margin="-20,0,0,0"/>
<EgtWPFLib:EgtTextBox Name="A10TxBx" Grid.Column="2" Grid.Row="10" Width="60"
<EgtWPFLib:EgtTextBox Name="A10TxBx" Grid.Column="2" Grid.Row="10" Width="60" IsLength="False"
Margin="0,0,0,-2"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="H10TxBx" Grid.Column="3" Grid.Row="10" Width="60"
@@ -169,7 +169,7 @@
<UniformGrid Rows="1" Grid.Column="2" Grid.Row="1" Grid.ColumnSpan="2" Width="90" >
<EgtWPFLib:EgtTextBox Name="Parameter2aTxBx"
Grid.Column="2" Grid.Row="12"
Width="40" Height="30"
Width="40" Height="30" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="Parameter2bTxBx"
Grid.Column="3" Grid.Row="12"
@@ -204,7 +204,7 @@
<EgtWPFLib:EgtTextBox Name="Parameter5TxBx"
Grid.Column="2" Grid.ColumnSpan="2" Grid.Row="4"
Margin="0,0,0,-2"
Width="85" Height="30"
Width="85" Height="30" IsLength="False"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
</Grid>
+2 -2
View File
@@ -191,7 +191,7 @@ Public Class SideAngleUC
Parameter2bTxBx.Text = LenToString( m_dDripOffset2, 3)
Parameter3TxBx.Text = LenToString( m_dDripDepth, 3)
Parameter4TxBx.Text = LenToString(m_dEngraveDepth2, 3)
Parameter5TxBx.Text = LenToString(m_dEngraveAngle, 3)
Parameter5TxBx.Text = DoubleToString(m_dEngraveAngle, 3)
End If
' Aggiorno visualizzazione
@@ -1417,7 +1417,7 @@ Public Class SideAngleUC
Private Sub Parameter5TxBx_EgtClosed(sender As Object, e As EventArgs) Handles Parameter5TxBx.EgtClosed
If m_Mode = ModeOpt.ENGRAVE Then
' Recupero il valore
StringToLen(Parameter5TxBx.Text, m_dEngraveAngle)
StringToDouble(Parameter5TxBx.Text, m_dEngraveAngle)
' Creo le geometrie dei gocciolatoi
RefreshSideAngleText()
End If
+498 -472
View File
File diff suppressed because it is too large Load Diff
+84 -57
View File
@@ -29,7 +29,7 @@ Public Class AlarmsPageUC
Private Sub AlarmsPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
'Assegno liste a combobox
' Assegno liste a combobox
CurrSawCmBx.ItemsSource = m_SawList
CurrDrillCmBx.ItemsSource = m_DrillList
CurrMillCmBx.ItemsSource = m_MillList
@@ -37,8 +37,11 @@ Public Class AlarmsPageUC
CurrWJetCmBx.ItemsSource = m_WaterJetList
AuxiliaryToolCmBx.ItemsSource = m_AuxToolTypeList
' Variabile che accorcia il riferimento alla macchina corrente
m_CurrentMachine = m_MainWindow.m_CurrentMachine
' Assegno lista ad elenco materiali
MaterialsLstBx.ItemsSource = m_MainWindow.m_CurrentMachine.Materials
MaterialsLstBx.ItemsSource = m_CurrentMachine.Materials
' Se non è impostato il controllo numerico, nascondo il bottone di tastatura lama
If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then
@@ -88,7 +91,13 @@ Public Class AlarmsPageUC
TmDepthTxBl.Text = EgtMsg( 91063) ' Profondità
TmWidthTxBl.Text = EgtMsg( 91064) ' Larghezza
WJsParamGpBx.Header = EgtMsg( 91058) ' Parametri waterjet
WjIntCutsTxBl.Text = EgtMsg( 90930) ' Sempre sugli interni
WjIntCutsTxBl.Text = EgtMsg(90930) ' Sempre sugli interni
'-- INIZIO -- nuovi parametri per preforo lavello
HolesDiameterWJTxBl.Text = "Diameter"
HolesOffsetWJTxBl.Text = "Offset"
MinRadiusWJTxBl.Text = "Min Radius"
OneHoleInCornerWJTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 26)
'-- FINE -- nuovi parametri per preforo lavello
NestingParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 31) ' Nesting
AlignTxBl.Text = EgtMsg(90932) ' Allineato
GhigliottinaTxBl.Text = EgtMsg(91066) ' Ghigliottina
@@ -123,8 +132,6 @@ Public Class AlarmsPageUC
Private Sub AlarmsPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
If m_bFirst Then
' Variabile che accorcia il riferimento alla macchina corrente
m_CurrentMachine = m_MainWindow.m_CurrentMachine
' in assenza dell'uscita H1 nascondo i parametri lama
If EgtGetHeadId("H1") = GDB_ID.NULL Then
@@ -195,8 +202,8 @@ Public Class AlarmsPageUC
m_bFirst = False
End If
' Aggiorno lista delle lame per pagina macchina in cui scegliere quella corrente
CreateToolList(MCH_TF.SAWBLADE, m_SawList)
' Aggiorno lista delle lame per pagina macchina in cui scegliere quella corrente
CreateToolList(MCH_TF.SAWBLADE, m_SawList)
' Seleziono lama corrente
CurrSawCmBx.SelectedItem = m_CurrentMachine.sCurrSaw
@@ -332,12 +339,22 @@ Public Class AlarmsPageUC
EgtMdbSave()
' Leggo lavorazione angoli con fresa
CornerCutsChBx.IsChecked =
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_CORNERS, 1, m_MainWindow.GetMachIniFile()) <> 0)
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_CORNERS, 1, m_MainWindow.GetMachIniFile()) <> 0)
' Leggo lavorazione interni con fresa
InternalCutsChBx.IsChecked =
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, 0, m_MainWindow.GetMachIniFile()) <> 0)
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, 0, m_MainWindow.GetMachIniFile()) <> 0)
WjIntCutsChBx.IsChecked =
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, 0, m_MainWindow.GetMachIniFile()) <> 0)
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_MILLING_ON_SINKS, 0, m_MainWindow.GetMachIniFile()) <> 0)
' Lavorazione preforo lavello con WaterJet
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_HOLES_DIAMITERWJ, 0, m_MainWindow.GetMachIniFile())
HolesDiameterWJTxBx.Text = LenToString(dVal, 2)
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_HOLES_OFFSETWJ, 0, m_MainWindow.GetMachIniFile())
HolesOffsetWJTxBx.Text = LenToString(dVal, 2)
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MIN_RADIUSWJ, 0, m_MainWindow.GetMachIniFile())
MinRadiusWJTxBx.Text = LenToString(dVal, 2)
OneHoleInCornerWJChBx.IsChecked =
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, 1, m_MainWindow.GetMachIniFile()) <> 0)
' Leggo accorciamento angoli con fresa
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, m_MainWindow.GetMachIniFile())
ShortTxBx.Text = LenToString(dVal, 2)
@@ -350,7 +367,7 @@ Public Class AlarmsPageUC
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_ENGRAVING_WIDTH, 0, m_MainWindow.GetMachIniFile())
TmWidthTxBx.Text = LenToString(dVal, 2)
' Flag per movimento in home alla fine dei tagli diretti
FinalHomeChBx.IsChecked = m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome
FinalHomeChBx.IsChecked = m_CurrentMachine.bDirectCutsFinalHome
' Leggo tagli ridotti per interferenza in nesting
CompleteCutsChBx.IsChecked =
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_REDUCEDCUT, 0, m_MainWindow.GetMachIniFile()) = 0)
@@ -372,7 +389,7 @@ Public Class AlarmsPageUC
AdditionalTableTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 36) & " " & GetCurrentTable().ToString()
End If
' Leggo altezza sovratavola
dVal = m_MainWindow.m_CurrentMachine.dAdditionalTable
dVal = m_CurrentMachine.dAdditionalTable
AdditionalTableTxBx.Text = LenToString(dVal, 2)
' Leggo soglia e tolleranza per contorno grezzo da foto
ThresholdTxBx.Text = m_MainWindow.m_Camera.Threshold.ToString()
@@ -390,7 +407,7 @@ Public Class AlarmsPageUC
If nWashing = -1 Then
WashingGpBx.Visibility = Visibility.Hidden
Else
WashingChBx.IsChecked = ( nWashing <> 0)
WashingChBx.IsChecked = (nWashing <> 0)
End If
' Leggo parametri per variazione feed in tagli
CfrLenTxBx.Text = LenToString(m_CurrentMachine.dFsevLength, 3)
@@ -446,7 +463,7 @@ Public Class AlarmsPageUC
CurrWaterJettingTxBx.Text = m_CurrentMachine.sCurrWaterJetting
CurrWaterJettingTxBl.Visibility = Windows.Visibility.Visible
CurrWaterJettingTxBx.Visibility = Windows.Visibility.Visible
If m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
If m_CurrentMachine.bFromDBWaterJet Then
CurrWaterJettingTxBx.SetValue(Grid.ColumnSpanProperty, 1)
CurrWaterJettingTxBx.SetValue(MarginProperty, New Thickness(CurrWaterJettingTxBx.Margin.Left,
CurrWaterJettingTxBx.Margin.Top,
@@ -927,6 +944,35 @@ Public Class AlarmsPageUC
End If
End Sub
' -- INIZIO -- nuovi parametri per prefori WaterJet
Private Sub HolesDiameterWJTxBx_Click(sender As Object, e As EventArgs) Handles HolesDiameterWJTxBx.EgtClosed
Dim dVal As Double = 0
StringToLen(HolesDiameterWJTxBx.Text, dVal)
WritePrivateProfileString(S_MACH_NEST, K_HOLES_DIAMITERWJ, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
End Sub
Private Sub HolesOffsetWJTxBx_Click(sender As Object, e As EventArgs) Handles HolesOffsetWJTxBx.EgtClosed
Dim dVal As Double = 0
StringToLen(HolesOffsetWJTxBx.Text, dVal)
WritePrivateProfileString(S_MACH_NEST, K_HOLES_OFFSETWJ, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
End Sub
Private Sub MinRadiusWJTxBx_Click(sender As Object, e As EventArgs) Handles MinRadiusWJTxBx.EgtClosed
Dim dVal As Double = 0
StringToLen(MinRadiusWJTxBx.Text, dVal)
WritePrivateProfileString(S_MACH_NEST, K_MIN_RADIUSWJ, DoubleToString(dVal, 2), m_MainWindow.GetMachIniFile())
End Sub
Private Sub OneHoleInCornerWJChBx_Click(sender As Object, e As EventArgs) Handles OneHoleInCornerWJChBx.Click
If OneHoleInCornerWJChBx.IsChecked() Then
WritePrivateProfileString(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, "1", m_MainWindow.GetMachIniFile())
Else
WritePrivateProfileString(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, "0", m_MainWindow.GetMachIniFile())
End If
End Sub
' -- FINE -- nuovi parametri per prefori WaterJet
Private Sub TmEnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles TmEnableChBx.Click
If TmEnableChBx.IsChecked() Then
WritePrivateProfileString(S_MACH_NEST, K_MACH_ENGRAVING_WITHMILL, "1", m_MainWindow.GetMachIniFile())
@@ -949,9 +995,9 @@ Public Class AlarmsPageUC
Private Sub FinalHomeChBx_Click(sender As Object, e As RoutedEventArgs) Handles FinalHomeChBx.Click
If FinalHomeChBx.IsChecked() Then
m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome = True
m_CurrentMachine.bDirectCutsFinalHome = True
Else
m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome = False
m_CurrentMachine.bDirectCutsFinalHome = False
End If
End Sub
@@ -993,7 +1039,7 @@ Public Class AlarmsPageUC
Private Sub AdditionalTableTxBx_EgtClosed(sender As Object, e As EventArgs) Handles AdditionalTableTxBx.EgtClosed
Dim dVal As Double = 0
StringToLen(AdditionalTableTxBx.Text, dVal)
m_MainWindow.m_CurrentMachine.dAdditionalTable = dVal
m_CurrentMachine.dAdditionalTable = dVal
End Sub
Private Sub NewMatBtn_Click(sender As Object, e As RoutedEventArgs) Handles NewMatBtn.Click
@@ -1119,7 +1165,7 @@ Public Class AlarmsPageUC
EgtOutLog("Impostata modalità automatica: esito " & nResult.ToString)
End Select
' Recupero file LUA
EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\SawProbing.lua")
EgtLuaExecFile(m_CurrentMachine.sMachDir() & "\DirectCmd\SawProbing.lua")
' Recupero utensile da tastare
Dim ToolForProbing As ToolPos = ChooseToolForProbing()
If IsNothing(ToolForProbing) OrElse String.IsNullOrWhiteSpace(ToolForProbing.m_ToolName) Then Return
@@ -1158,7 +1204,7 @@ Public Class AlarmsPageUC
' Modifico stringa per inserire i newline
CmdString = CmdString.Replace("<br/>", Environment.NewLine)
' Creo file...
Dim FilePath As String = m_MainWindow.GetCncDir() & "\SawProbing" & m_MainWindow.m_CurrentMachine.sIsoFileExt
Dim FilePath As String = m_MainWindow.GetCncDir() & "\SawProbing" & m_CurrentMachine.sIsoFileExt
' ...e ci scrivo
Dim Writer As New IO.StreamWriter(FilePath, False)
Writer.Write(CmdString)
@@ -1286,9 +1332,9 @@ Public Class AlarmsPageUC
End Sub
Private Function ChooseToolForProbing() As ToolPos
Select Case m_MainWindow.m_CurrentMachine.MountedToolConfig
Select Case m_CurrentMachine.MountedToolConfig
Case CurrentMachine.MountedToolConfigs.SAW
Return New ToolPos(m_MainWindow.m_CurrentMachine.sCurrSaw, "T100", True)
Return New ToolPos(m_CurrentMachine.sCurrSaw, "T100", True)
Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL, CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER, CurrentMachine.MountedToolConfigs.TOOLCHANGER
Dim ChooseTool As New ChooseToolWD(m_MainWindow)
If ChooseTool.ShowDialog Then
@@ -1336,53 +1382,34 @@ Public Class AlarmsPageUC
Private Sub ExecLuaBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExecLuaBtn.Click
Dim sExecFile As String = GetExecLuaFile()
Dim sCallFunction As String = GetCallFunction()
' Recupero file LUA
Dim bExec As Boolean = EgtLuaExecFile(sExecFile)
' Lancio l'esecuzione della funzione principale
bExec = bExec And EgtLuaCallFunction(sCallFunction)
' Leggo variabili
Dim nErr As Integer = 0
EgtLuaGetGlobIntVar("CMD.ERR", nErr)
' Eseguo file LUA e recupero risultato
Dim nErr As Integer = 999
EgtLuaExecFile(sExecFile)
EgtLuaGetGlobIntVar("ELS.ERR", nErr)
' Reset lua
EgtLuaResetGlobVar("CMD")
EgtLuaResetGlobVar("ELS")
' Verifico condizioni di errore
If nErr <> 0 And bExec Then
' Errore in tastatura lama
EgtOutLog("Error in execution file: " & sExecFile & ", calling function: " & sCallFunction & ", CMD.ERR=" & nErr.ToString)
' Error in executing file FILENAME
Dim MsgBoxError As New EgtMsgBox(m_MainWindow, "", 90259 & " '" & sExecFile & "'.", EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
If nErr Then
' Errore...
EgtOutLog("Error executing file: " & sExecFile & ", ELS.ERR=" & nErr.ToString)
' Error executing script
Dim MsgBoxError As New EgtMsgBox(m_MainWindow, "", EgtMsg(90259), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
Return
End If
End Sub
' Recupero il percorso del file lua da eseguire
Private Function GetExecLuaFile() As String
Dim sDir As String = String.Empty
Dim sFile As String = String.Empty
If GetPrivateProfileString(S_EXECLUA, K_DIRSCRIPT_LUA, "", sDir, m_MainWindow.GetMachIniFile()) <> 0 And
GetPrivateProfileString(S_EXECLUA, K_FILESCRIPT_LUA, "", sFile, m_MainWindow.GetMachIniFile()) <> 0 Then
' Formatto le stringhe lette
sDir = sDir.Trim
sFile = sFile.Trim
If sDir.EndsWith("\"c) Then
sDir = sDir.Remove(sDir.LastIndexOf("\"c))
End If
If Not sFile.EndsWith(".lua") Then
sFile = sFile & ".lua"
End If
If File.Exists(sDir & "\" & sFile) Then
Return sDir & "\" & sFile
End If
If GetPrivateProfileString(S_EXECLUA, K_FILESCRIPT_LUA, "", sFile, m_MainWindow.GetMachIniFile()) <> 0 Then
' Sistemo nome file
sFile = sFile.Trim()
If Not sFile.EndsWith(".lua") Then sFile = sFile & ".lua"
' Creo path
Dim sPath As String = m_CurrentMachine.sMachDir() & "\Scripts\" & sFile
If File.Exists(sPath) Then Return sPath
End If
Return String.Empty
End Function
' Recupera il nome della funzione che deve essere chiamata
Private Function GetCallFunction() As String
Dim sCallFunction As String = "CMD.CmdString"
GetPrivateProfileString(S_EXECLUA, K_CALLFUNCTION, sCallFunction, sCallFunction, m_MainWindow.GetMachIniFile())
Return sCallFunction
End Function
End Class
+4 -1
View File
@@ -1414,7 +1414,10 @@ Public Class CurrentMachine
If bFound Then Exit For
Next
End If
Return dMaxThick
' il valore resituito è già nell'unità corrente del programma -> converto il dato in mm
Dim dValmm As Double = 0
StringToLen(DoubleToString(dMaxThick, 3), dValmm)
Return dValmm
End Function
#Region "USERNOTE"
+15 -10
View File
@@ -34,16 +34,21 @@
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>
<Button Name="AutoBtn" Grid.Column="0"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<Button Name="ManualBtn" Grid.Column="1"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<Button Name="MDIBtn" Grid.Column="2"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<Button Name="SingleBtn" Grid.Column="3"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<Button Name="HomeBtn" Grid.Column="4"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
<ToggleButton Name="AutoBtn" Grid.Column="0"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
Foreground="White"/>
<ToggleButton Name="ManualBtn" Grid.Column="1"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
Foreground="White"/>
<ToggleButton Name="MDIBtn" Grid.Column="2"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
Foreground="White"/>
<ToggleButton Name="SingleBtn" Grid.Column="3"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
Foreground="White"/>
<ToggleButton Name="HomeBtn" Grid.Column="4"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
Foreground="White"/>
</Grid>
+57
View File
@@ -8,6 +8,8 @@ Public Class MachineCNPageUC
Private m_bFirst As Boolean = True
Private m_ButtonPower As New List(Of MachineButton)
Private m_nCurrMode As Integer = 0
Private Sub TestingPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
StartBtn.Content = EgtMsg(MSG_MACHINECNPAGEUC + 1)
StopBtn.Content = EgtMsg(MSG_MACHINECNPAGEUC + 2)
@@ -51,6 +53,9 @@ Public Class MachineCNPageUC
PartProgTransferGpBx.Visibility = Windows.Visibility.Hidden
End If
' gestione visuliazzazione ToggleButton Auto/Sinlge/Mdi/Manula/Home
SetCncMode()
'------ NUOVI BOTTONI ----------
' Lettura configurazione bottoni (per impostare l'uso del Joystick) da Ini di macchina
m_ButtonPower.Clear()
@@ -98,6 +103,53 @@ Public Class MachineCNPageUC
End Sub
Private Sub SetCncMode()
Dim Mode As Integer = m_nCurrMode
Select Case Mode
Case 0
' Auoto
MDIConfirmBtn.IsEnabled = False
AutoBtn.IsChecked = True
SingleBtn.IsChecked = False
MDIBtn.IsChecked = False
ManualBtn.IsChecked = False
HomeBtn.IsChecked = False
Case 1
' Single
MDIConfirmBtn.IsEnabled = False
AutoBtn.IsChecked = False
SingleBtn.IsChecked = True
MDIBtn.IsChecked = False
ManualBtn.IsChecked = False
HomeBtn.IsChecked = False
Case 2
' Mdi
MDIConfirmBtn.IsEnabled = True
AutoBtn.IsChecked = False
SingleBtn.IsChecked = False
MDIBtn.IsChecked = True
ManualBtn.IsChecked = False
HomeBtn.IsChecked = False
Case 7
' Manual
MDIConfirmBtn.IsEnabled = False
AutoBtn.IsChecked = False
SingleBtn.IsChecked = False
MDIBtn.IsChecked = False
ManualBtn.IsChecked = True
HomeBtn.IsChecked = False
Case 8
' Home
MDIConfirmBtn.IsEnabled = False
AutoBtn.IsChecked = False
SingleBtn.IsChecked = False
MDIBtn.IsChecked = False
ManualBtn.IsChecked = False
HomeBtn.IsChecked = True
End Select
End Sub
Private Sub StartBtn_Click(sender As Object, e As RoutedEventArgs) Handles StartBtn.Click
If m_MainWindow.m_CNCommunication.m_nNCType = 3 AndAlso m_MainWindow.m_CNCommunication.m_CN.m_IsSiemensOne Then
Dim sDBVarPath As String = ""
@@ -278,4 +330,9 @@ Public Class MachineCNPageUC
End If
End Sub
Friend Sub CncModeChange(nMode As Integer)
m_nCurrMode = nMode
SetCncMode()
End Sub
End Class
+5 -5
View File
@@ -246,7 +246,7 @@
<TextBlock Name="SideAngleTxBl" Grid.Column="2" Grid.Row="3" Grid.RowSpan="3"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="3" Grid.Row="3" Grid.RowSpan="3" Margin="0,0,15,0"
<EgtWPFLib:EgtTextBox Name="SideAngleTxBx" Grid.Column="3" Grid.Row="3" Grid.RowSpan="3" Margin="0,0,15,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="StepTypeTxBl" Grid.Column="0" Grid.Row="6" Grid.RowSpan="3"
@@ -576,7 +576,7 @@
<TextBlock Name="ForwardAngleTxBl" Grid.Column="0" Grid.Row="6" Grid.RowSpan="3"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="ForwardAngleTxBx" Grid.Column="1" Grid.Row="6" Grid.RowSpan="3"
<EgtWPFLib:EgtTextBox Name="ForwardAngleTxBx" Grid.Column="1" Grid.Row="6" Grid.RowSpan="3" IsLength="False"
Style="{DynamicResource OmagCut_MachLeftCalculatorTextBoxInBorder}" />
<Border Name="LiHoleBrd" Grid.Column="0" Grid.Row="9" Grid.ColumnSpan="4" Grid.RowSpan="6"
@@ -605,12 +605,12 @@
<TextBlock Name="LpTurnsTxBl" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="LpTurnsTxBx" Grid.Column="1" Grid.Row="1"
<EgtWPFLib:EgtTextBox Name="LpTurnsTxBx" Grid.Column="1" Grid.Row="1" IsLength="False"
Style="{DynamicResource OmagCut_MachLeftCalculatorTextBoxInBorder}" />
<TextBlock Name="HpTurnsTxBl" Grid.Column="2" Grid.Row="1"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="HpTurnsTxBx" Grid.Column="3" Grid.Row="1"
<EgtWPFLib:EgtTextBox Name="HpTurnsTxBx" Grid.Column="3" Grid.Row="1" IsLength="False"
Style="{DynamicResource OmagCut_MachLeftCalculatorTextBoxInBorder}" />
</Grid>
@@ -725,7 +725,7 @@
<TextBlock Name="SpeedTxBl" Grid.Column="0"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SpeedTxBx" Grid.Column="1"
<EgtWPFLib:EgtTextBox Name="SpeedTxBx" Grid.Column="1" IsLength="False"
Style="{DynamicResource OmagCut_MachToolCalculatorTextBox}" />
</Grid>
+2 -2
View File
@@ -899,11 +899,11 @@ Public Class MachiningDbPageUC
For Each Material As MachiningMaterial In m_MaterialsList
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
If Material.bIsActive Then
sMaterialString += Material.nId.ToString & "." & Material.nSubId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";"
sMaterialString += Material.nId.ToString & "." & Material.nSubId.ToString & "," & DoubleToString(Material.dMinThickness, 3) & "," & DoubleToString(Material.dMaxThickness, 3) & ";"
End If
Else
If Material.bIsActive Then
sMaterialString += Material.nId.ToString & "," & DoubleToString(Material.dMinThickness, 0) & "," & DoubleToString(Material.dMaxThickness, 0) & ";"
sMaterialString += Material.nId.ToString & "," & DoubleToString(Material.dMinThickness, 3) & "," & DoubleToString(Material.dMaxThickness, 3) & ";"
End If
End If
Next
+3 -3
View File
@@ -281,12 +281,12 @@
</Grid.ColumnDefinitions>
<TextBlock Name="SpeedTxBl" Grid.Column="0" Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="SpeedTxBx" Grid.Column="1"
<EgtWPFLib:EgtTextBox Name="SpeedTxBx" Grid.Column="1" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBoxInGroupBox}" />
<TextBlock Name="MaxSpeedTxBl" Grid.Column="2"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="MaxSpeedTxBx" Grid.Column="3"
<EgtWPFLib:EgtTextBox Name="MaxSpeedTxBx" Grid.Column="3" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBoxInGroupBox}" />
</Grid>
@@ -384,7 +384,7 @@
<TextBlock Name="MaxAbsorptionTxBl" Grid.Column="0"
Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Grid.ColumnSpan="1" ScrollViewer.VerticalScrollBarVisibility="Disabled" TextWrapping="Wrap"/>
<EgtWPFLib:EgtTextBox Name="MaxAbsorptionTxBx" Grid.Column="1"
<EgtWPFLib:EgtTextBox Name="MaxAbsorptionTxBx" Grid.Column="1" IsLength="False"
Style="{DynamicResource OmagCut_LeftCalculatorTextBoxInBorder}" />
<TextBlock Name="MinFeedTxBl" Grid.Column="2" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" />
+163 -153
View File
@@ -8,256 +8,266 @@
mc:Ignorable="d"
d:DesignHeight="768" d:DesignWidth="1280" Initialized="WaterJetPage_Initialized">
<!-- Definizione della PolishingsPage -->
<Border Style="{DynamicResource OmagCut_PageBorder}">
<!-- Definizione della PolishingsPage -->
<Border Style="{DynamicResource OmagCut_PageBorder}">
<Grid Name="WaterJetPageGrid" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="8*"/>
<ColumnDefinition Width="4*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="8*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Name="WaterJetPageGrid" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="8*"/>
<ColumnDefinition Width="4*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="8*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Lista dei materiali-->
<GroupBox Name="MaterialGpBx" Style="{DynamicResource OmagCut_GroupBox}" Grid.Column="0"
<!--Lista dei materiali-->
<GroupBox Name="MaterialGpBx" Style="{DynamicResource OmagCut_GroupBox}" Grid.Column="0"
Header="{Binding Material_Msg}"
Grid.Row="0" BorderThickness="0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Lista dei materiali-->
<ListBox Name="MaterialsLstBx"
<!--Lista dei materiali-->
<ListBox Name="MaterialsLstBx"
ItemsSource="{Binding MaterialList}" SelectedItem="{Binding SelMaterial}"
Grid.RowSpan="2">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<!--Campo visualizzato solo per aggiungere un nuovo materiale-->
<EgtWPFLib:EgtTextBox Name="NewMaterialNameTxBx" Grid.Row="1"
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<!--Campo visualizzato solo per aggiungere un nuovo materiale-->
<EgtWPFLib:EgtTextBox Name="NewMaterialNameTxBx" Grid.Row="1"
Width="220"
Text="{Binding sNewMaterial}"
Visibility="{Binding NewMaterial_Visibility}"
Style="{DynamicResource OmagCut_KeyboardTextBox}"
KeyboardPosition="Top"/>
<!--Pulsanti per aggiungere/rimuovere/salvare la lista-->
<UniformGrid Grid.Row="2" Columns="3">
<Button Name="NewMaterialBtn" Grid.Column="0"
<!--Pulsanti per aggiungere/rimuovere/salvare la lista-->
<UniformGrid Grid.Row="2" Columns="3">
<Button Name="NewMaterialBtn" Grid.Column="0"
Content="{Binding New_Msg}"
Command="{Binding NewMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
<Button Name="DeleteMaterialBtn" Grid.Column="1"
<Button Name="DeleteMaterialBtn" Grid.Column="1"
Content="{Binding Delete_Msg}"
Command="{Binding DeleteMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
<Button Name="ModifyMaterialBtn" Grid.Column="1"
<Button Name="ModifyMaterialBtn" Grid.Column="1"
Content="{Binding Modify_Msg}"
Command="{Binding ModifyMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
</UniformGrid>
</UniformGrid>
</Grid>
</Grid>
</GroupBox>
</GroupBox>
<!--Raggruppo all'interno della stessa cornice le sottocatogorie e i parametri-->
<Border Style="{DynamicResource OmagCut_Border}"
<!--Raggruppo all'interno della stessa cornice le sottocatogorie e i parametri-->
<Border Style="{DynamicResource OmagCut_Border}"
Grid.Column="1" Grid.Row="0"
Grid.ColumnSpan="2" Grid.RowSpan="1">
<Grid Name="SubMaterialGrd" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Name="SubMaterialGrd" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Sottocategoria dei materiali associata alla lista precedente-->
<GroupBox Name="SubMaterialGpBx" Style="{DynamicResource OmagCut_GroupBox}"
<!--Sottocategoria dei materiali associata alla lista precedente-->
<GroupBox Name="SubMaterialGpBx" Style="{DynamicResource OmagCut_GroupBox}"
Header="{Binding SubMaterial_Msg}"
Grid.Column="0" Grid.Row="0"
Grid.ColumnSpan="1" Grid.RowSpan="8" BorderThickness="0">
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--Lista dei materiali-->
<ListBox Name="SubMaterialsLstBx" ItemsSource="{Binding Path=SelectedItem.SubMaterialList, ElementName=MaterialsLstBx}"
<!--Lista dei materiali-->
<ListBox Name="SubMaterialsLstBx" ItemsSource="{Binding Path=SelectedItem.SubMaterialList, ElementName=MaterialsLstBx}"
SelectedItem="{Binding Path=SelectedItem.SelSubMaterial, ElementName=MaterialsLstBx}"
Grid.RowSpan="2">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<!--Campo visualizzato solo per aggiungere un nuovo materiale-->
<EgtWPFLib:EgtTextBox Name="NewSubMaterialNameTxBx" Grid.Row="1"
<!--Campo visualizzato solo per aggiungere un nuovo materiale-->
<EgtWPFLib:EgtTextBox Name="NewSubMaterialNameTxBx" Grid.Row="1"
Width="220"
Text="{Binding sNewSubMaterial}"
Visibility="{Binding NewSubMaterial_Visibility}"
Style="{DynamicResource OmagCut_KeyboardTextBox}"
KeyboardPosition="Top"/>
<!--Pulsanti per aggiungere/rimuovere/salvare la lista-->
<UniformGrid Grid.Row="2" Columns="3">
<Button Name="NewSubMaterialBtn" Grid.Column="0"
<!--Pulsanti per aggiungere/rimuovere/salvare la lista-->
<UniformGrid Grid.Row="2" Columns="3">
<Button Name="NewSubMaterialBtn" Grid.Column="0"
Content="{Binding New_Msg}"
Command="{Binding NewSubMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
<Button Name="RemoveSubMaterialBtn" Grid.Column="1"
<Button Name="RemoveSubMaterialBtn" Grid.Column="1"
Content="{Binding Delete_Msg}"
Command="{Binding DeleteSubMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
<Button Name="ModifySubMaterialBtn" Grid.Column="1"
<Button Name="ModifySubMaterialBtn" Grid.Column="1"
Content="{Binding Modify_Msg}"
Command="{Binding ModifySubMaterialCommand}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
</UniformGrid>
</UniformGrid>
</Grid>
</Grid>
</GroupBox>
</GroupBox>
<!--Lista dei parametri associata alla sottovcategoria dei materiali-->
<GroupBox Name="ParamsGpBx"
<!--Lista dei parametri associata alla sottovcategoria dei materiali-->
<GroupBox Name="ParamsGpBx"
Grid.Column="1" Grid.Row="0" Margin="0,0,0,3"
Grid.ColumnSpan="3" Grid.RowSpan="8" BorderThickness="0">
<!--Titolazione delle colonne della tabella-->
<GroupBox.Header >
<Grid Width="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Thickness_Msg}" Grid.Column="0" HorizontalAlignment="Center"
<!--Titolazione delle colonne della tabella-->
<GroupBox.Header >
<Grid Width="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Thickness_Msg}" Grid.Column="0" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding Q1_Msg}" Grid.Column="1" HorizontalAlignment="Center"
<TextBlock Text="{Binding Q1_Msg}" Grid.Column="1" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding Q2_Msg}" Grid.Column="2" HorizontalAlignment="Center"
<TextBlock Text="{Binding Q2_Msg}" Grid.Column="2" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding Q3_Msg}" Grid.Column="3" HorizontalAlignment="Center"
<TextBlock Text="{Binding Q3_Msg}" Grid.Column="3" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding Q4_Msg}" Grid.Column="4" HorizontalAlignment="Center"
<TextBlock Text="{Binding Q4_Msg}" Grid.Column="4" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding Q5_Msg}" Grid.Column="5" HorizontalAlignment="Center"
<TextBlock Text="{Binding Q5_Msg}" Grid.Column="5" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
<TextBlock Text="{Binding QExtra_Msg}" Grid.Column="6" HorizontalAlignment="Center"
<TextBlock Text="{Binding QExtra_Msg}" Grid.Column="6" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
</Grid>
</GroupBox.Header>
<!--Definizione della Grid dei parametri delle lavorazioni-->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<TextBlock Text="{Binding AngComp_Msg}" Grid.Column="7" HorizontalAlignment="Center"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"
FontSize="{DynamicResource FontSize_GroupBoxHeader}"/>
</Grid>
<ListBox Name="ParamLstBx"
</GroupBox.Header>
<!--Definizione della Grid dei parametri delle lavorazioni-->
<Grid Grid.Column="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="308*"/>
<ColumnDefinition Width="73*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="7*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<ListBox Name="ParamLstBx"
ItemsSource="{Binding Path=SelectedItem.ParamList , ElementName=SubMaterialsLstBx}"
SelectedItem="{Binding Path=SelectedItem.SelWjParam , ElementName=SubMaterialsLstBx}"
Margin="0,0,0,0"
Grid.RowSpan="2">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
Grid.RowSpan="2" Grid.ColumnSpan="2">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="700">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<EgtWPFLib:EgtTextBox Text="{Binding Thickness}" Grid.Column="0"
<EgtWPFLib:EgtTextBox Text="{Binding Thickness}" Grid.Column="0"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding Q1}" Grid.Column="1"
<EgtWPFLib:EgtTextBox Text="{Binding Q1}" Grid.Column="1"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding Q2}" Grid.Column="2"
<EgtWPFLib:EgtTextBox Text="{Binding Q2}" Grid.Column="2"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding Q3}" Grid.Column="3"
<EgtWPFLib:EgtTextBox Text="{Binding Q3}" Grid.Column="3"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding Q4}" Grid.Column="4"
<EgtWPFLib:EgtTextBox Text="{Binding Q4}" Grid.Column="4"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding Q5}" Grid.Column="5"
<EgtWPFLib:EgtTextBox Text="{Binding Q5}" Grid.Column="5"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding QExtra}" Grid.Column="6"
<EgtWPFLib:EgtTextBox Text="{Binding QExtra}" Grid.Column="6"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
<EgtWPFLib:EgtTextBox Text="{Binding dAngComp}" Grid.Column="7" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorParamWjTextBox}" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<UniformGrid Grid.Row="2" Columns="9" Grid.ColumnSpan="3">
<Button Name="NewParamBtn" Grid.Column="0"
<UniformGrid Grid.Row="2" Columns="9" Grid.ColumnSpan="2">
<Button Name="NewParamBtn" Grid.Column="0"
Command="{Binding NewWjParamCommand}"
Content="{Binding New_Msg}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
<Button Name="RemoveParamBtn" Grid.Column="1"
<Button Name="RemoveParamBtn" Grid.Column="1"
Command="{Binding DeleteWjParamCommand}"
Content="{Binding Delete_Msg}"
Style="{DynamicResource OmagCut_WjDbRightGrayGradientYellowTextButton}"/>
</UniformGrid>
</UniformGrid>
</Grid>
</Grid>
</GroupBox>
</GroupBox>
</Grid>
</Border>
<Button Name="SaveKitBtn" Grid.Row="2" Grid.Column="2"
</Grid>
</Border>
<Button Name="SaveKitBtn" Grid.Row="2" Grid.Column="2"
Command="{Binding SaveCommand}"
Content="{Binding Save_Msg}"
Style="{DynamicResource OmagCut_RightGrayGradientYellowTextButton}"/>
</Grid>
</Grid>
</Border>
</Border>
</UserControl>
+51
View File
@@ -14,12 +14,20 @@ Public Class WaterJetPageUC
Private Sub WaterJetPage_Initialized(sender As Object, e As EventArgs)
m_refWaterjetDbWindowVM = New WaterjetDbWindowVM_OmagCUT(m_MainWindow.m_CurrentMachine.sMachDir)
'----------------------------------------------------------------------------------------
' TEMPORANEO - se dati in INCH e richiesta di frazioni eseguo la conversione in frazione!
ConvertParamListValueToFracrion()
'----------------------------------------------------------------------------------------
Me.DataContext = m_refWaterjetDbWindowVM
EgtWPFLib.Utility.MainWindow = m_MainWindow
End Sub
Public Sub WaterJetPage_Reinitialize()
m_refWaterjetDbWindowVM = New WaterjetDbWindowVM_OmagCUT(m_MainWindow.m_CurrentMachine.sMachDir)
'----------------------------------------------------------------------------------------
' TEMPORANEO - se dati in INCH e richiesta di frazioni eseguo la conversione in frazione!
ConvertParamListValueToFracrion()
'----------------------------------------------------------------------------------------
Me.DataContext = m_refWaterjetDbWindowVM
End Sub
@@ -51,5 +59,48 @@ Public Class WaterJetPageUC
End If
End Sub
Private Sub ConvertParamListValueToFracrion()
' TEMPORANEO - se dati in INCH e richiesta di frazioni eseguo la conversione in frazione!
Dim Index1 As Integer = 0
For Index1 = 0 To m_refWaterjetDbWindowVM.MaterialList.Count - 1
Dim Index2 As Integer = 0
For Index2 = 0 To m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList.Count - 1
Dim Index3 As Integer = 0
For Index3 = 0 To m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList.Count - 1
Dim dThickness As Double
Dim dQ1 As Double
Dim dQ2 As Double
Dim dQ3 As Double
Dim dQ4 As Double
Dim dQ5 As Double
Dim dQExtra As Double
Dim dAngComp As Double
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Thickness, dThickness)
Dim sVal As String = LenToString(dThickness, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetThickness(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Q1, dQ1)
sVal = LenToString(dQ1, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQ1(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Q2, dQ2)
sVal = LenToString(dQ2, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQ2(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Q3, dQ3)
sVal = LenToString(dQ3, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQ3(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Q4, dQ4)
sVal = LenToString(dQ4, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQ4(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).Q5, dQ5)
sVal = LenToString(dQ5, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQ5(sVal)
StringToLen(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).QExtra, dQExtra)
sVal = LenToString(dQExtra, 3)
m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).SetQExtra(sVal)
StringToDouble(m_refWaterjetDbWindowVM.MaterialList(Index1).SubMaterialList(Index2).ParamList(Index3).dAngComp, dAngComp)
Next
Next
Next
End Sub
End Class
+25 -1
View File
@@ -445,6 +445,12 @@ Public Class WaterjetDbWindowVM
End Get
End Property
Public ReadOnly Property AngComp_Msg As String
Get
Return "Ang"
End Get
End Property
Public ReadOnly Property New_Msg As String
Get
Return "Nuovo"
@@ -516,7 +522,14 @@ Public Class WaterjetDbWindowVM
StringToDouble(sParams(4), dQ4)
StringToDouble(sParams(5), dQ5)
StringToDouble(sParams(6), dQExtra)
QParamList.Add(New WjParam(QInd, dThickness, dQ1, dQ2, dQ3, dQ4, dQ5, dQExtra, m_refWaterPageV))
Dim LocalWjParam As New WjParam(QInd, dThickness, dQ1, dQ2, dQ3, dQ4, dQ5, dQExtra, m_refWaterPageV)
QParamList.Add(LocalWjParam)
' leggo il nuovo parametro di correzione conicità (di default il parametro è 0)
If sParams.Length() >= 8 Then
Dim dAngCompo As Double
StringToDouble(sParams(7), dAngCompo)
LocalWjParam.dAngComp = dAngCompo
End If
End If
QInd += 1
End While
@@ -868,6 +881,17 @@ Public Class WjParam
End Set
End Property
' angolo di compensazione conicità getto: 01/02/2023 ver 2.5b1
Private m_dAngComp As Double = 0
Public Property dAngComp As Double
Get
Return m_dAngComp
End Get
Set(value As Double)
m_dAngComp = value
End Set
End Property
Public ReadOnly Property ParamLstBx_Width As Double
Get
Return m_refWaterPageV.ParamsGpBx.ActualWidth - 20
+18 -3
View File
@@ -38,6 +38,8 @@ Class MainWindow
Friend m_MachinePageUC As MachinePageUC
Friend m_OptionsPageUC As OptionsPageUC
Friend m_IsClosingApplication As Integer = 0
' Dichiarazione variabili direttori
Private m_sExeRoot As String = String.Empty
Private m_sDataRoot As String = String.Empty
@@ -303,7 +305,7 @@ Class MainWindow
GetPrivateProfileString(S_MACH, K_CURRMACH, "", m_sCurrMachine, m_sIniFile)
' Impostazione path MachIni file
m_sMachIniFile = m_sMachinesRoot & "\" & m_sCurrMachine & "\" & m_sCurrMachine & ".ini"
' Impostazione path KitIni file
' Impostazione path Kit file
m_sKitsFile = m_sMachinesRoot & "\" & m_sCurrMachine & "\" & MACHININGS_DIR & "\" & KITS_FILE
' Imposto tipo di chiave
#If TRIAL Then
@@ -326,8 +328,8 @@ Class MainWindow
' Verifico abilitazione nesting automatico
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2411, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2411, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2502, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2502, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
' Inizializzazione generale di EgtInterface
@@ -1085,6 +1087,19 @@ Class MainWindow
m_CurrentProjectPageUC.SaveNamedProject()
m_CurrentProjectPageUC.SaveProject()
End If
' Inizio la chiusura del programma (verifico di aver terminato il processo DripFeed)
EgtOutLog("Iniziato processo di chiusura programma")
m_IsClosingApplication = 1
Dim nCount As Integer = 0
While m_IsClosingApplication <> 2
If nCount > 5 Then
Exit While
End If
' verifico che il processo DripFeed sia terminato
EgtOutLog("Stato chiusura programma: " & m_IsClosingApplication.ToString)
Thread.Sleep(100)
nCount += 1
End While
' Uscita
MainWindowExit()
End Sub
+4 -4
View File
@@ -20,9 +20,9 @@ Imports System.Windows
<Assembly: AssemblyTitle("OmagCUTR32.exe")>
<Assembly: AssemblyDescription("OmagCUT 32 bit")>
#End If
<Assembly: AssemblyCompany("EgalTech s.r.l.")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("OmagCUT")>
<Assembly: AssemblyCopyright("Copyright © 2015-2022 by EgalTech s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2015-2023 by Egalware s.r.l.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@@ -62,5 +62,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.11.2")>
<Assembly: AssemblyFileVersion("2.4.11.2")>
<Assembly: AssemblyVersion("2.5.3.2")>
<Assembly: AssemblyFileVersion("2.5.3.2")>
+36 -5
View File
@@ -2,6 +2,7 @@
Imports System.Globalization
Imports System.Collections.ObjectModel
Imports EgtUILib
Imports OmagCUT.Num
Public Class CNCommunication
@@ -354,8 +355,8 @@ Public Class CNCommunication
If Not String.IsNullOrEmpty(sVal) Then m_CN.SetCnDataVar(CN_generico.CnData.Remote, sVal)
End If
' Inizializzo la comunicazione
m_CN.Init()
' Inizializzo la comunicazione
m_CN.Init()
Catch ex As Exception
' set status to statusbar
@@ -496,6 +497,7 @@ Public Class CNCommunication
If m_CN.read_active_mode() <> m_nCurrMode Then
m_nCurrMode = m_CN.read_active_mode()
m_MachineStatus.DisplayActiveMode(m_nCurrMode)
m_CN.nMachineMode = m_nCurrMode
End If
Case 2
If m_CN.nMachineMode <> m_nCurrMode Then
@@ -619,11 +621,17 @@ Public Class CNCommunication
End If
' Nuove bottoni (Power Macchina)
If m_IsNewConsole AndAlso m_MainWindow.m_ActivePage = MainWindow.Pages.Machine Then
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerONChanged(m_CN.bPowerON)
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerOFFChanged(Not m_CN.bPowerON)
If m_MainWindow.m_ActivePage = MainWindow.Pages.Machine Then
If m_IsNewConsole Then
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerONChanged(m_CN.bPowerON)
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerOFFChanged(Not m_CN.bPowerON)
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.CncModeChange(m_CN.nMachineMode)
End If
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.CncModeChange(m_CN.nMachineMode)
End If
If m_MainWindow.m_ActivePage = MainWindow.Pages.WorkInProgress Then
m_MainWindow.m_WorkInProgressPageUC.m_MachineButtons.SpindleStateChanged(m_CN.bSpindleState)
m_MainWindow.m_WorkInProgressPageUC.m_MachineButtons.CoolantStateChanged(m_CN.bCoolantState OrElse m_CN.bInternalCoolantState OrElse m_CN.bExternCoolantState)
@@ -906,28 +914,51 @@ Public Class CNCommunication
End If
' Se richiesta successiva attivazione, faccio reset
If bActivate Then
EgtOutLog("Call function: DGeneralFunctions_Reset")
TimeSpanInit()
m_CN.DGeneralFunctions_Reset()
EgtOutLog(TimeSpanEnd())
End If
' Attesa opportuna
System.Threading.Thread.Sleep(m_MainWindow.m_CurrentMachine.nResetSendDelay)
If m_nNCType = 1 Then
' Cancellazione eventuale file già presente con lo stesso nome (ignoro eventuale errore)
EgtOutLog("Delete_NC_prog(sNumProg)")
TimeSpanInit()
m_CN.Delete_NC_prog(sNumProg)
EgtOutLog(TimeSpanEnd())
' Attesa opportuna
System.Threading.Thread.Sleep(100)
End If
EgtOutLog("Download_NC_prog(sCncPath, sNumProg)")
TimeSpanInit()
bOk = bOk AndAlso (m_CN.Download_NC_prog(sCncPath, sNumProg) = 0)
EgtOutLog("Nc Type : " & m_nNCType.ToString)
EgtOutLog("IsDripFeed : " & DirectCast(m_CN, NumNCOld).bIsDripFeed)
If m_nNCType = 1 AndAlso TypeOf m_CN Is NumNCOld AndAlso DirectCast(m_CN, NumNCOld).bIsDripFeed Then
' eventauli cambi di stato sono trattati all'interno della funzione
Return True
End If
EgtOutLog(TimeSpanEnd())
' Attesa opportuna
System.Threading.Thread.Sleep(100)
' Se richiesta attivazione
If bActivate Then
' Attivazione programma
EgtOutLog("ActivateProgram(nNumProg)")
TimeSpanInit()
bOk = bOk AndAlso (m_CN.ActivateProgram(nNumProg) = 0)
EgtOutLog(TimeSpanEnd())
' Attesa opportuna
System.Threading.Thread.Sleep(100)
' Modalità automatica
EgtOutLog("DGeneralFunctions_WriteCncMode(0)")
TimeSpanInit()
bOk = bOk AndAlso (m_CN.DGeneralFunctions_WriteCncMode(0) = 0)
EgtOutLog(TimeSpanEnd())
End If
' Messaggio con risultato
If bOk Then
m_CurrProjPage.SetInfoMessage(EgtMsg(90317)) 'Programma CN trasmesso con successo
+946 -786
View File
File diff suppressed because it is too large Load Diff
+5 -3
View File
@@ -122,9 +122,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
</Reference>
<Reference Include="EgtWPFLib, Version=2.1.7.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\EgtProg\Dll32\EgtWPFLib.dll</HintPath>
<Reference Include="EgtWPFLib">
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib.dll</HintPath>
</Reference>
<Reference Include="EgtWPFLib5">
<HintPath>..\..\EgtProg\OmagCUT\EgtWPFLib5.dll</HintPath>
@@ -1320,6 +1319,9 @@
<ItemGroup>
<Resource Include="Resources\NewIcons\Parking.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\NewIcons\Quality.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
+2
View File
@@ -221,6 +221,7 @@
<BitmapImage x:Key="Inizio-Allunga-AccorciaImg" UriSource="Resources/NewIcons/Inizio-allunga-o-accorcia.png"></BitmapImage>
<BitmapImage x:Key="PonticelliWJImg" UriSource="Resources/NewIcons/Ponticelli.png"></BitmapImage>
<BitmapImage x:Key="PonticelliDeleteWJImg" UriSource="Resources/NewIcons/Ponticelli_delete.png"></BitmapImage>
<BitmapImage x:Key="QualityWJImg" UriSource="Resources/NewIcons/Quality.png"></BitmapImage>
<BitmapImage x:Key="Fine-Allunga-AccorciaImg" UriSource="Resources/NewIcons/Fine-allunga-o-accorcia.png"></BitmapImage>
<BitmapImage x:Key="ON_OFF-singolo-taglioImg" UriSource="Resources/NewIcons/ON_OFF-singolo-taglio.png"></BitmapImage>
<BitmapImage x:Key="Tutti-ONImg" UriSource="Resources/NewIcons/Tutti-ON.png"></BitmapImage>
@@ -1209,6 +1210,7 @@
<Style x:Key="OmagCut_CalculatorTextBox" TargetType="{x:Type EgtWPFLib:EgtTextBox}" BasedOn="{StaticResource OmagCut_TextBox}">
<Setter Property="Keyboard" Value="Calculator"/>
<Setter Property="IsLength" Value="True"/>
<Setter Property="KeyboardDimension" Value="300"/>
</Style>
+436 -416
View File
@@ -55,23 +55,43 @@
</GroupBox>
<!--UNITA' DI MISURA-->
<GroupBox Name="UnitsOfMeasureGpBx"
Grid.Column="1"
Grid.RowSpan="3"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid >
<Grid Name ="UnitGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="3.2*"/>
<ColumnDefinition Width="1.8*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<ComboBox Name="UnitsOfMeasureCmBx" Grid.Column="1" Grid.Row="1" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox Name="UnitsOfMeasureCmBx" Grid.Column="1" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Name="FractionPatternCmBx" Grid.Column="1" Grid.Row="3" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Name="PrecisionCmBx" Grid.Column="2" Grid.Row="3" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
@@ -80,32 +100,32 @@
</ComboBox>
</Grid>
</GroupBox>
<GroupBox Name="TextColorGpBx"
Grid.Column="2" Grid.RowSpan="3" Grid.ColumnSpan="1"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Button Name="TextColorBtn"
Grid.Row="1" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
</Grid>
</GroupBox>
<GroupBox Name="TextColorGpBx"
Grid.Column="2" Grid.RowSpan="3" Grid.ColumnSpan="1"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Button Name="TextColorBtn"
Grid.Row="1" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
</Grid>
</GroupBox>
<GroupBox Name="FastGridGpBx"
<GroupBox Name="FastGridGpBx"
Grid.Column="1" Grid.Row="4" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
@@ -133,458 +153,458 @@
</GroupBox>
<GroupBox Name="SlabGpBx" Grid.RowSpan="1"
<GroupBox Name="SlabGpBx" Grid.RowSpan="1"
Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<TextBlock Name="SlabLayerMsgTxBl" Grid.Column="0" Grid.Row="0"
<TextBlock Name="SlabLayerMsgTxBl" Grid.Column="0" Grid.Row="0"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="PartsLayerMsgTxBl" Grid.Column="0" Grid.Row="1"
<TextBlock Name="PartsLayerMsgTxBl" Grid.Column="0" Grid.Row="1"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="ScrapLayerMsgTxBl" Grid.Column="0" Grid.Row="2"
<TextBlock Name="ScrapLayerMsgTxBl" Grid.Column="0" Grid.Row="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="StdThickMsgTxBl" Grid.Column="0" Grid.Row="3"
<TextBlock Name="StdThickMsgTxBl" Grid.Column="0" Grid.Row="3"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="SlabLayerMsgTxBx" Grid.Column="1" Grid.Row="0" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="SlabLayerMsgTxBx" Grid.Column="1" Grid.Row="0" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_LeftKeyboardTextBoxNoBorder}" />
<EgtWPFLib:EgtTextBox Name="PartsLayerMsgTxBx" Grid.Column="1" Grid.Row="1" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="PartsLayerMsgTxBx" Grid.Column="1" Grid.Row="1" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_LeftKeyboardTextBoxNoBorder}" />
<EgtWPFLib:EgtTextBox Name="ScrapLayerMsgTxBx" Grid.Column="1" Grid.Row="2" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="ScrapLayerMsgTxBx" Grid.Column="1" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_LeftKeyboardTextBoxNoBorder}" />
<EgtWPFLib:EgtTextBox Name="StdThickMsgTxBx" Grid.Column="1" Grid.Row="3" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="StdThickMsgTxBx" Grid.Column="1" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
</Grid>
</GroupBox>
</GroupBox>
<!--Incilinazione da colore-->
<GroupBox Name="ColorToSideAngGpBx" Grid.RowSpan="3"
<!--Incilinazione da colore-->
<GroupBox Name="ColorToSideAngGpBx" Grid.RowSpan="3"
Grid.Column="0" Grid.Row="3"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.ColumnSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1.5*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.ColumnSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1.5*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
</Grid.RowDefinitions>
<CheckBox Name="CTSAboxEnableChBx" Grid.Column="0" Grid.Row="0"
<CheckBox Name="CTSAboxEnableChBx" Grid.Column="0" Grid.Row="0"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<TextBlock Name="CTSAboxEnableMsgTxBl" Grid.Column="1" Grid.Row="0"
<TextBlock Name="CTSAboxEnableMsgTxBl" Grid.Column="1" Grid.Row="0"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" HorizontalAlignment="Left" />
<TextBlock Name="ToleranceMsgTxBl" Grid.Column="3" Grid.Row="0"
<TextBlock Name="ToleranceMsgTxBl" Grid.Column="3" Grid.Row="0"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="ToleranceMsgTxBx" Grid.Column="4" Grid.Row="0" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="ToleranceMsgTxBx" Grid.Column="4" Grid.Row="0" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
<TextBlock Name="TalloneMsgTxBl" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="InclinazioneMsgTxBl" Grid.Column="3" Grid.Row="1"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<CheckBox Name="CTSA1EnableChBx" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA1Btn" Grid.Row="2" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA1TalloneTxBx" Grid.Column="5" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA1InclinazioneTxBx" Grid.Column="3" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA2EnableChBx" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA2Btn" Grid.Row="3" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA2TalloneTxBx" Grid.Column="5" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA2InclinazioneTxBx" Grid.Column="3" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA3EnableChBx" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA3Btn" Grid.Row="4" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA3TalloneTxBx" Grid.Column="5" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA3InclinazioneTxBx" Grid.Column="3" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA4EnableChBx" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA4Btn" Grid.Row="5" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA4TalloneMsgTxBl" Grid.Column="2" Grid.Row="5"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA4TalloneTxBx" Grid.Column="5" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA4InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="5"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA4InclinazioneTxBx" Grid.Column="3" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA5EnableChBx" Grid.Column="0" Grid.Row="6"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA5Btn" Grid.Row="6" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA5TalloneMsgTxBl" Grid.Column="2" Grid.Row="6"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA5TalloneTxBx" Grid.Column="5" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA5InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="6"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA5InclinazioneTxBx" Grid.Column="3" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA6EnableChBx" Grid.Column="0" Grid.Row="7"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA6Btn" Grid.Row="7" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA6TalloneMsgTxBl" Grid.Column="2" Grid.Row="7"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA6TalloneTxBx" Grid.Column="5" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA6InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="7"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA6InclinazioneTxBx" Grid.Column="3" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA7EnableChBx" Grid.Column="0" Grid.Row="8"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA7Btn" Grid.Row="8" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA7TalloneMsgTxBl" Grid.Column="2" Grid.Row="8"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA7TalloneTxBx" Grid.Column="5" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA7InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="8"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA7InclinazioneTxBx" Grid.Column="3" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA8EnableChBx" Grid.Column="0" Grid.Row="9"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA8Btn" Grid.Row="9" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA8TalloneMsgTxBl" Grid.Column="2" Grid.Row="9"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA8TalloneTxBx" Grid.Column="5" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA8InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="9"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA8InclinazioneTxBx" Grid.Column="3" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA9EnableChBx" Grid.Column="0" Grid.Row="10"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA9Btn" Grid.Row="10" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA9TalloneMsgTxBl" Grid.Column="2" Grid.Row="10"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA9TalloneTxBx" Grid.Column="5" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA9InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="10"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA9InclinazioneTxBx" Grid.Column="3" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA10EnableChBx" Grid.Column="0" Grid.Row="11"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA10Btn" Grid.Row="11" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA10TalloneMsgTxBl" Grid.Column="2" Grid.Row="11"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA10TalloneTxBx" Grid.Column="5" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA10InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="11"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA10InclinazioneTxBx" Grid.Column="3" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
</GroupBox>
<TextBlock Name="TalloneMsgTxBl" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="InclinazioneMsgTxBl" Grid.Column="3" Grid.Row="1"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<GroupBox Name="ThemesGpBx"
<CheckBox Name="CTSA1EnableChBx" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA1Btn" Grid.Row="2" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA1TalloneTxBx" Grid.Column="5" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA1InclinazioneTxBx" Grid.Column="3" Grid.Row="2" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA2EnableChBx" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA2Btn" Grid.Row="3" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA2TalloneTxBx" Grid.Column="5" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA2InclinazioneTxBx" Grid.Column="3" Grid.Row="3" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA3EnableChBx" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA3Btn" Grid.Row="4" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTSA3TalloneTxBx" Grid.Column="5" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTSA3InclinazioneTxBx" Grid.Column="3" Grid.Row="4" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA4EnableChBx" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA4Btn" Grid.Row="5" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA4TalloneMsgTxBl" Grid.Column="2" Grid.Row="5"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA4TalloneTxBx" Grid.Column="5" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA4InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="5"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA4InclinazioneTxBx" Grid.Column="3" Grid.Row="5" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA5EnableChBx" Grid.Column="0" Grid.Row="6"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA5Btn" Grid.Row="6" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA5TalloneMsgTxBl" Grid.Column="2" Grid.Row="6"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA5TalloneTxBx" Grid.Column="5" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA5InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="6"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA5InclinazioneTxBx" Grid.Column="3" Grid.Row="6" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA6EnableChBx" Grid.Column="0" Grid.Row="7"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA6Btn" Grid.Row="7" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA6TalloneMsgTxBl" Grid.Column="2" Grid.Row="7"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA6TalloneTxBx" Grid.Column="5" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA6InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="7"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA6InclinazioneTxBx" Grid.Column="3" Grid.Row="7" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA7EnableChBx" Grid.Column="0" Grid.Row="8"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA7Btn" Grid.Row="8" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA7TalloneMsgTxBl" Grid.Column="2" Grid.Row="8"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA7TalloneTxBx" Grid.Column="5" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA7InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="8"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA7InclinazioneTxBx" Grid.Column="3" Grid.Row="8" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA8EnableChBx" Grid.Column="0" Grid.Row="9"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA8Btn" Grid.Row="9" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA8TalloneMsgTxBl" Grid.Column="2" Grid.Row="9"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA8TalloneTxBx" Grid.Column="5" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA8InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="9"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA8InclinazioneTxBx" Grid.Column="3" Grid.Row="9" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA9EnableChBx" Grid.Column="0" Grid.Row="10"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA9Btn" Grid.Row="10" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA9TalloneMsgTxBl" Grid.Column="2" Grid.Row="10"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA9TalloneTxBx" Grid.Column="5" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA9InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="10"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA9InclinazioneTxBx" Grid.Column="3" Grid.Row="10" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTSA10EnableChBx" Grid.Column="0" Grid.Row="11"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTSA10Btn" Grid.Row="11" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<TextBlock Name="CTSA10TalloneMsgTxBl" Grid.Column="2" Grid.Row="11"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA10TalloneTxBx" Grid.Column="5" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="CTSA10InclinazioneMsgTxBl" Grid.Column="4" Grid.Row="11"
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="CTSA10InclinazioneTxBx" Grid.Column="3" Grid.Row="11" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
</GroupBox>
<GroupBox Name="ThemesGpBx"
Grid.Column="1"
Grid.Row="5"
Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<ComboBox Name="ThemesCmBx" Grid.Column="1" Grid.Row="1" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Name="ThemesCmBx" Grid.Column="1" Grid.Row="1" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</Grid>
</GroupBox>
</GroupBox>
<!--Affondamneto da Colore-->
<GroupBox Name="ColorToEngraveGpBx" Grid.RowSpan="3"
<!--Affondamneto da Colore-->
<GroupBox Name="ColorToEngraveGpBx" Grid.RowSpan="3"
Grid.Column="3" Grid.ColumnSpan="2" Grid.Row="3"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.ColumnSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1.5*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0" Grid.ColumnSpan="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1.5*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.75*"/>
</Grid.RowDefinitions>
<CheckBox Name="CTEboxEnableChBx" Grid.Column="0" Grid.Row="0"
<CheckBox Name="CTEboxEnableChBx" Grid.Column="0" Grid.Row="0"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<TextBlock Name="CTEboxEnableMsgTxBl" Grid.Column="1" Grid.Row="0"
<TextBlock Name="CTEboxEnableMsgTxBl" Grid.Column="1" Grid.Row="0"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" HorizontalAlignment="Left" />
<TextBlock Name="ToleranceEMsgTxBl" Grid.Column="3" Grid.Row="0"
<TextBlock Name="ToleranceEMsgTxBl" Grid.Column="3" Grid.Row="0"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<EgtWPFLib:EgtTextBox Name="ToleranceEMsgTxBx" Grid.Column="4" Grid.Row="0" Margin="10,0,10,0"
<EgtWPFLib:EgtTextBox Name="ToleranceEMsgTxBx" Grid.Column="4" Grid.Row="0" Margin="10,0,10,0" IsLength="False"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
<TextBlock Name="AffondamentoMsgTxBl" Grid.Column="3" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<TextBlock Name="LarghezzaMsgTxBl" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<CheckBox Name="CTE1EnableChBx" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE1Btn" Grid.Row="2" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE1AffondamentoTxBx" Grid.Column="3" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE1LarghezzaTxBx" Grid.Column="5" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE2EnableChBx" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE2Btn" Grid.Row="3" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE2AffondamentoTxBx" Grid.Column="3" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE2LarghezzaTxBx" Grid.Column="5" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE3EnableChBx" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE3Btn" Grid.Row="4" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE3AffondamentoTxBx" Grid.Column="3" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE3LarghezzaTxBx" Grid.Column="5" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE4EnableChBx" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE4Btn" Grid.Row="5" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE4AffondamentoTxBx" Grid.Column="3" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE4LarghezzaTxBx" Grid.Column="5" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE5EnableChBx" Grid.Column="0" Grid.Row="6"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE5Btn" Grid.Row="6" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE5AffondamentoTxBx" Grid.Column="3" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE5LarghezzaTxBx" Grid.Column="5" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE6EnableChBx" Grid.Column="0" Grid.Row="7"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE6Btn" Grid.Row="7" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE6AffondamentoTxBx" Grid.Column="3" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE6LarghezzaTxBx" Grid.Column="5" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE7EnableChBx" Grid.Column="0" Grid.Row="8"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE7Btn" Grid.Row="8" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE7AffondamentoTxBx" Grid.Column="3" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE7LarghezzaTxBx" Grid.Column="5" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE8EnableChBx" Grid.Column="0" Grid.Row="9"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE8Btn" Grid.Row="9" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE8AffondamentoTxBx" Grid.Column="3" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE8LarghezzaTxBx" Grid.Column="5" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE9EnableChBx" Grid.Column="0" Grid.Row="10"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE9Btn" Grid.Row="10" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE9AffondamentoTxBx" Grid.Column="3" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE9LarghezzaTxBx" Grid.Column="5" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE10EnableChBx" Grid.Column="0" Grid.Row="11"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE10Btn" Grid.Row="11" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE10AffondamentoTxBx" Grid.Column="3" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE10LarghezzaTxBx" Grid.Column="5" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
</GroupBox>
<TextBlock Name="AffondamentoMsgTxBl" Grid.Column="3" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<!--Selezione il tipo di avvio del programma-->
<GroupBox Name="StartLauncherGpBx"
<TextBlock Name="LarghezzaMsgTxBl" Grid.Column="5" Grid.Row="1" Grid.ColumnSpan="2"
Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
<CheckBox Name="CTE1EnableChBx" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE1Btn" Grid.Row="2" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE1AffondamentoTxBx" Grid.Column="3" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE1LarghezzaTxBx" Grid.Column="5" Grid.Row="2" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE2EnableChBx" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE2Btn" Grid.Row="3" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE2AffondamentoTxBx" Grid.Column="3" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE2LarghezzaTxBx" Grid.Column="5" Grid.Row="3" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE3EnableChBx" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE3Btn" Grid.Row="4" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE3AffondamentoTxBx" Grid.Column="3" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE3LarghezzaTxBx" Grid.Column="5" Grid.Row="4" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE4EnableChBx" Grid.Column="0" Grid.Row="5"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE4Btn" Grid.Row="5" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE4AffondamentoTxBx" Grid.Column="3" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE4LarghezzaTxBx" Grid.Column="5" Grid.Row="5" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE5EnableChBx" Grid.Column="0" Grid.Row="6"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE5Btn" Grid.Row="6" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE5AffondamentoTxBx" Grid.Column="3" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE5LarghezzaTxBx" Grid.Column="5" Grid.Row="6" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE6EnableChBx" Grid.Column="0" Grid.Row="7"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE6Btn" Grid.Row="7" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE6AffondamentoTxBx" Grid.Column="3" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE6LarghezzaTxBx" Grid.Column="5" Grid.Row="7" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE7EnableChBx" Grid.Column="0" Grid.Row="8"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE7Btn" Grid.Row="8" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE7AffondamentoTxBx" Grid.Column="3" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE7LarghezzaTxBx" Grid.Column="5" Grid.Row="8" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE8EnableChBx" Grid.Column="0" Grid.Row="9"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE8Btn" Grid.Row="9" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE8AffondamentoTxBx" Grid.Column="3" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE8LarghezzaTxBx" Grid.Column="5" Grid.Row="9" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE9EnableChBx" Grid.Column="0" Grid.Row="10"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE9Btn" Grid.Row="10" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE9AffondamentoTxBx" Grid.Column="3" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE9LarghezzaTxBx" Grid.Column="5" Grid.Row="10" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<CheckBox Name="CTE10EnableChBx" Grid.Column="0" Grid.Row="11"
Style="{StaticResource OmagCut_CheckBox_Single}" Margin="0,0,10,0"/>
<Button Name="CTE10Btn" Grid.Row="11" Grid.Column="1"
Style="{StaticResource OmagCut_Button}" />
<EgtWPFLib:EgtTextBox Name="CTE10AffondamentoTxBx" Grid.Column="3" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
<EgtWPFLib:EgtTextBox Name="CTE10LarghezzaTxBx" Grid.Column="5" Grid.Row="11" Margin="10,0,10,0"
Style="{DynamicResource OmagCut_CalculatorTextBox}" />
</Grid>
</GroupBox>
<!--Selezione il tipo di avvio del programma-->
<GroupBox Name="StartLauncherGpBx"
Grid.Column="3" Grid.RowSpan="3" Grid.ColumnSpan="1"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<Grid >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="0.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.25*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.25*"/>
</Grid.RowDefinitions>
<ComboBox Name="StartLauncherCmBx" Grid.Column="1" Grid.Row="1" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox Name="StartLauncherCmBx" Grid.Column="1" Grid.Row="1" Style="{StaticResource OmagCut_ComboBox}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</Grid>
</GroupBox>
<GroupBox Name="FeedbackGpBx"
</Grid>
</GroupBox>
<GroupBox Name="FeedbackGpBx"
Grid.Column="4" Grid.RowSpan="3" Grid.ColumnSpan="1"
Style="{DynamicResource OmagCut_GroupBox}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Button Name="FeedbackBtn"
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.25*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.25*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Button Name="FeedbackBtn"
Grid.Row="1" Grid.Column="1"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource SendImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
</Grid>
<Image Source="{DynamicResource SendImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
</Button>
</Grid>
</GroupBox>
+77 -10
View File
@@ -7,6 +7,8 @@ Public Class OptionsPageUC
Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private UnitsList() As String = {"inch", "mm"}
Private FractionPatternList() As String = {"Decimal", "Foot'Inch""", "Only Inch"}
Private PrecisionList() As Double = {2, 4, 8, 16, 32, 64, 128}
Private ThemesList() As String = {"Classic", "Dark"}
' "Last Project", "New Project", "Open Folder", "Show Window"
@@ -18,6 +20,10 @@ Public Class OptionsPageUC
LanguageCmBx.ItemsSource = m_MainWindow.m_LanguagesList
' Associazione della lista unità di misura alla combobox
UnitsOfMeasureCmBx.ItemsSource = UnitsList
' Associazione della lista dei Pattern
FractionPatternCmBx.ItemsSource = FractionPatternList
' Associazione della lista della precisione
PrecisionCmBx.ItemsSource = PrecisionList
' Associazione della lista temi alla combobox
ThemesCmBx.ItemsSource = ThemesList
@@ -27,6 +33,16 @@ Public Class OptionsPageUC
' Imposto l'unità di misura corrente
UnitsOfMeasureCmBx.SelectedIndex = If(EgtUiUnitsAreMM(), 1, 0)
' Imposto il pattern della per la rappresentazione frazionaria
nCurrFractionPattern = GetPrivateProfileInt(S_GENERAL, K_FRACTIONPATTERN, 0, m_MainWindow.GetIniFile())
FractionPatternCmBx.SelectedIndex = nCurrFractionPattern
EgtWPFLib.FractionStringConverter.SetCurrFractionPattern(nCurrFractionPattern)
' Imposto la preciosne della rappresentazione frazionaria
dPrecision = CDbl(GetPrivateProfileInt(S_GENERAL, K_PRECISION, 64, m_MainWindow.GetIniFile()))
Dim Index As Integer = PrecisionCmBx.Items.IndexOf(dPrecision)
PrecisionCmBx.SelectedIndex = Index
' Imposto il tema corrente
ThemesCmBx.SelectedIndex = GetPrivateProfileInt(S_GENERAL, K_THEME, 0, m_MainWindow.GetIniFile())
Themes_StartUp()
@@ -322,9 +338,60 @@ Public Class OptionsPageUC
EgtSetUiUnits(bMM)
m_MainWindow.m_CurrentProjectPageUC.UpdateHeightTxBx()
WritePrivateProfileString(S_GENERAL, K_MMUNITS, If(bMM, "1", "0"), m_MainWindow.GetIniFile())
If bMM Then
' se selezione MILLIMETRI nascondo la combobox che permette di inserie il tipo di pattern per la definizione delle frazioni
FractionPatternCmBx.Visibility = Visibility.Hidden
PrecisionCmBx.Visibility = Visibility.Hidden
Dim RowNum As Integer = UnitGrid.RowDefinitions.Count
If RowNum > 3 Then
UnitsOfMeasureCmBx.SetValue(Grid.RowSpanProperty, 3)
End If
Else
' se selezione POLLICI mostro la combobox che permette di inserie il tipo di pattern per la definizione delle frazioni
FractionPatternCmBx.Visibility = Visibility.Visible
PrecisionCmBx.Visibility = Visibility.Visible
UnitsOfMeasureCmBx.SetValue(Grid.RowSpanProperty, 1)
End If
' Aggiorno dati nella pagina dipendenti da unità di misura
UpdateSlabDxf()
UpdateAllCSTA()
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
m_MainWindow.m_CurrentMachine.LoadWJMaterial()
If Not IsNothing(m_MainWindow.m_MachinePageUC.m_WaterJetPageUC) Then
m_MainWindow.m_MachinePageUC.m_WaterJetPageUC.WaterJetPage_Reinitialize()
End If
End If
End Sub
Private Sub FractionPatternCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles FractionPatternCmBx.SelectionChanged
nCurrFractionPattern = FractionPatternCmBx.SelectedIndex
EgtWPFLib.FractionStringConverter.SetCurrFractionPattern(nCurrFractionPattern)
WritePrivateProfileString(S_GENERAL, K_FRACTIONPATTERN, nCurrFractionPattern, m_MainWindow.GetIniFile())
' Aggiorno dati nella pagina dipendenti da unità di misura
UpdateSlabDxf()
UpdateAllCSTA()
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
m_MainWindow.m_CurrentMachine.LoadWJMaterial()
If Not IsNothing(m_MainWindow.m_MachinePageUC.m_WaterJetPageUC) Then
m_MainWindow.m_MachinePageUC.m_WaterJetPageUC.WaterJetPage_Reinitialize()
End If
End If
End Sub
Private Sub PrecisionCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles PrecisionCmBx.SelectionChanged
dPrecision = PrecisionCmBx.SelectedValue
WritePrivateProfileString(S_GENERAL, K_PRECISION, dPrecision, m_MainWindow.GetIniFile())
' Aggiorno dati nella pagina dipendenti da unità di misura
UpdateSlabDxf()
UpdateAllCSTA()
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
m_MainWindow.m_CurrentMachine.LoadWJMaterial()
If Not IsNothing(m_MainWindow.m_MachinePageUC.m_WaterJetPageUC) Then
m_MainWindow.m_MachinePageUC.m_WaterJetPageUC.WaterJetPage_Reinitialize()
End If
End If
End Sub
Private Sub ThemesCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ThemesCmBx.SelectionChanged
@@ -648,70 +715,70 @@ Public Class OptionsPageUC
Private Sub CTSA1InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA1InclinazioneTxBx.TextChanged
If CTSA1InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA1InclinazioneTxBx.Text, dAng) Then CTSA1InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA1InclinazioneTxBx.Text, dAng) Then CTSA1InclinazioneTxBx.Text = ""
End If
CTSA1EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA2InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA2InclinazioneTxBx.TextChanged
If CTSA2InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA2InclinazioneTxBx.Text, dAng) Then CTSA2InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA2InclinazioneTxBx.Text, dAng) Then CTSA2InclinazioneTxBx.Text = ""
End If
CTSA2EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA3InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA3InclinazioneTxBx.TextChanged
If CTSA3InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA3InclinazioneTxBx.Text, dAng) Then CTSA3InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA3InclinazioneTxBx.Text, dAng) Then CTSA3InclinazioneTxBx.Text = ""
End If
CTSA3EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA4InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA4InclinazioneTxBx.TextChanged
If CTSA4InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA4InclinazioneTxBx.Text, dAng) Then CTSA4InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA4InclinazioneTxBx.Text, dAng) Then CTSA4InclinazioneTxBx.Text = ""
End If
CTSA4EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA5InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA5InclinazioneTxBx.TextChanged
If CTSA5InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA5InclinazioneTxBx.Text, dAng) Then CTSA5InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA5InclinazioneTxBx.Text, dAng) Then CTSA5InclinazioneTxBx.Text = ""
End If
CTSA5EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA6InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA6InclinazioneTxBx.TextChanged
If CTSA6InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA6InclinazioneTxBx.Text, dAng) Then CTSA6InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA6InclinazioneTxBx.Text, dAng) Then CTSA6InclinazioneTxBx.Text = ""
End If
CTSA6EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA7InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA7InclinazioneTxBx.TextChanged
If CTSA7InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA7InclinazioneTxBx.Text, dAng) Then CTSA7InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA7InclinazioneTxBx.Text, dAng) Then CTSA7InclinazioneTxBx.Text = ""
End If
CTSA7EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA8InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA8InclinazioneTxBx.TextChanged
If CTSA8InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA8InclinazioneTxBx.Text, dAng) Then CTSA8InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA8InclinazioneTxBx.Text, dAng) Then CTSA8InclinazioneTxBx.Text = ""
End If
CTSA8EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA9InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA9InclinazioneTxBx.TextChanged
If CTSA9InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA9InclinazioneTxBx.Text, dAng) Then CTSA9InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA9InclinazioneTxBx.Text, dAng) Then CTSA9InclinazioneTxBx.Text = ""
End If
CTSA9EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA10InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA10InclinazioneTxBx.TextChanged
If CTSA10InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA10InclinazioneTxBx.Text, dAng) Then CTSA10InclinazioneTxBx.Text = ""
Dim dAng As Double : If Not StringToDouble(CTSA10InclinazioneTxBx.Text, dAng) Then CTSA10InclinazioneTxBx.Text = ""
End If
CTSA10EnableChBx_Click(sender, e)
End Sub
+1
View File
@@ -101,6 +101,7 @@ Public Class OmagPhotoWD
Dim m_refImagePrevieV As New EgtPHOTOLib.ImagePreviewV()
' modifico l'immagine e salvo
m_refImagePrevieV.SetContourScraps(m_ContornScrap)
m_refImagePrevieV.Hide()
m_refImagePrevieV.Show()
m_refImagePrevieV.SaveImage()
m_refImagePrevieV.Close()
+3 -2
View File
@@ -1,4 +1,6 @@
Imports System.IO
Imports System.ComponentModel
Imports System.Drawing
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib
@@ -478,7 +480,6 @@ Public Class ProjectMgrUC
If Not (m_CurrMachine.bProdLine Or m_CurrMachine.bDemo) Then
' Download programma (eventuali errori sono segnalati dalla funzione)
If m_CurrNcComm.SendProgram(sCncPath, 900) Then
' copio il progetto corrente come progetto in lavorazione
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
' se abilitato e non è restart, lancio eventuale lua post-trasmissione
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

+213 -3
View File
@@ -1,5 +1,8 @@
Imports System.Globalization
Imports System.Diagnostics
Imports System.Collections.ObjectModel
Imports System.Text.RegularExpressions
Imports EgtWPFLib
Imports EgtUILib
Module Utility
@@ -15,8 +18,25 @@ Module Utility
End Function
'--------------------------------------------------------------------------------------------------
Friend Sub UpdateUI()
Friend StopWatch As Stopwatch
Friend Sub TimeSpanInit()
StopWatch = New Stopwatch
StopWatch.Start()
End Sub
Friend Function TimeSpanEnd()
Dim sTime As String = ""
If Not IsNothing(StopWatch) Then
StopWatch.Stop()
Dim ts As TimeSpan = StopWatch.Elapsed
sTime = String.Format("{0:00}:{1:00}:{2:00}.{3:000}", ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds)
End If
Return sTime
End Function
'--------------------------------------------------------------------------------------------------
Friend Sub UpdateUI()
' Costringo ad aggiornare UI
Dim nDummy As Integer
Application.Current.Dispatcher.Invoke(Windows.Threading.DispatcherPriority.Background, _
@@ -24,6 +44,144 @@ Module Utility
End Sub
'--------------------------------------------------------------------------------------------------
#Region "INCHES FRACTIONS"
'Enum FractionPattern
' None
' Feet_Inches
' Inches
'End Enum
'' seleziona il tipo di Pattern con cui stamoare i dati
Friend nCurrFractionPattern As FractionStringConverter.FractionPattern = FractionPattern.Feet_Inches
Friend dPrecision As Double = 64
'Friend Function StringFractionToStringDecimal(dVal As Double, dBase As Double) As String
' Dim sSign As String = String.Empty
' If dVal < 0 Then
' sSign = "-"
' dVal = Math.Abs(dVal)
' End If
' Dim sFraction As String = String.Empty
' ' integer and decima part of the value
' Dim dInteger As Double = Math.Floor(dVal)
' Dim dFraction As Double = dVal - dInteger
' ' the nearest decimal numerator
' Dim dNumeretor As Double = dFraction * dBase
' Dim dRound As Double = Math.Round(dNumeretor)
' ' estimates the irreducible fraction
' If dRound = 0 Then
' ' no decimal part
' ElseIf dRound = dBase Then
' ' no decimal part
' dInteger = dInteger + 1
' Else
' ' simplify fraction
' While dRound Mod 2 = 0
' dRound = dRound / 2
' dBase = dBase / 2
' End While
' sFraction = DoubleToString(dRound, 0) & "/" & DoubleToString(dBase, 0)
' End If
' ' sVal: dFeet'dInteger"sFraction --- dInteger sFraction
' Return WriteFraction(dInteger, sFraction)
'End Function
'' trasforma il valore da pollici a piedi
'Private Sub ConvertInchesToFeet(ByRef dFeet As Double, ByRef dInches As Double)
' If dInches = 0 Then Return
' While dInches - 12 >= 0
' dFeet = dFeet + 1
' dInches = dInches - 12
' End While
'End Sub
'' stampa dati in funzione del pattern dichiarato
'Private Function WriteFraction(ByVal dInches As Double, sFraction As String) As String
' Dim sVal As String = String.Empty
' Select Case nCurrFractionPattern
' Case FractionPattern.Feet_Inches
' Dim dFeet As Double = 0
' ConvertInchesToFeet(dFeet, dInches)
' If dFeet > 0 Then
' sVal = String.Format("{0}'{1}""{2}", DoubleToString(dFeet, 0), DoubleToString(dInches, 0), sFraction).Trim
' Else
' sVal = String.Format("{0}""{1}", DoubleToString(dInches, 0), sFraction).Trim
' End If
' Case FractionPattern.Inches
' sVal = DoubleToString(dInches, 0) & " " & sFraction
' sVal = String.Format("{0}""{1}", DoubleToString(dInches, 0), sFraction).Trim
' End Select
' Return sVal
'End Function
'' riceve la stringa sorgente e restituisce la nuova strunga in formato decimale (senza eseguire conversioni di unità)
'Friend Function StringFractionToDouble(sVal As String, ByRef sValConverted As String) As Boolean
' Dim dVal As Double = 0
' ' dato in ingresso: sVal = 2'3"23/32
' Dim sFeet As String = String.Empty
' Dim sFeetPattern As String = "^.*?(?=')"
' Dim dFeet As Double = 0
' Dim bOkFeet As Boolean = True
' Dim bFeetExists As Boolean = False
' Dim sInch As String = String.Empty
' Dim sInchPattern As String = "(?<=')(.*?)(?="")" ' se la stringa contiene l'apice singolo
' Dim sInchPattern1 As String = "(.*?)(?="")" ' se la stringa NON contiene l'apice singolo
' Dim dInch As Double = 0
' Dim bOkInch As Boolean = True
' Dim bInchExists As Boolean = False
' Dim sFraction As String = String.Empty
' Dim sFractionPattern As String = "(?<="")(.*)" ' se la stringa contiene l'apice doppio
' Dim sFractionPattern1 As String = "(?<=')(.*)" ' se la stringa NON contiene l'apice doppio ma solo quello singolo
' Dim dFraction As Double = 0
' Dim bOkFraction As Boolean = True
' Dim bFractionExists As Boolean = False
' ' recupero il valore di Feet (2')
' Dim sMyMatch As String = Regex.Match(sVal, sFeetPattern).Groups(1).Value
' If Not String.IsNullOrEmpty(sMyMatch) Or Not String.IsNullOrWhiteSpace(sMyMatch) Then
' sFeet = sMyMatch.Trim
' bOkFeet = StringToDouble(sFeet, dFeet)
' bFeetExists = True
' End If
' ' recupero il valore di Inch (3") dopo i Feet - oppure direttamente i pollici
' If bFeetExists Then
' sMyMatch = Regex.Match(sVal, sInchPattern).Groups(1).Value
' Else
' sMyMatch = Regex.Match(sVal, sInchPattern1).Groups(1).Value
' End If
' If Not String.IsNullOrEmpty(sMyMatch) Or Not String.IsNullOrWhiteSpace(sMyMatch) Then
' sInch = sMyMatch.Trim
' bOkInch = StringToDouble(sInch, dInch)
' bInchExists = True
' End If
' ' recupero il valore frazionario (23/32) dopo i pollici - oppure dopo i feet - oppure direttamente i valore inteso come pollici
' If bInchExists Then
' sMyMatch = Regex.Match(sVal, sFractionPattern).Groups(1).Value
' ElseIf bFeetExists And Not bInchExists Then
' sMyMatch = Regex.Match(sVal, sFractionPattern1).Groups(1).Value
' ElseIf Not bFeetExists And Not bInchExists Then
' sMyMatch = sVal
' End If
' If Not String.IsNullOrEmpty(sMyMatch) Or Not String.IsNullOrWhiteSpace(sMyMatch) Then
' sFraction = sMyMatch
' bOkFraction = StringToDouble(sFraction, dFraction)
' End If
' ' calcolo il valore decimale dell'espressione
' If bOkFeet And bOkInch And bOkFraction Then
' dVal = dFeet / 12 + dInch + dFraction
' sValConverted = DoubleToString(dVal, 4)
' Return True
' Else
' Return False
' End If
'End Function
#End Region ' Inches Fraction
'--------------------------------------------------------------------------------------------------
Friend Function DoubleToString(dVal As Double, nNumDec As Integer) As String
Dim sFormat As String = "F" + Math.Abs(nNumDec).ToString()
Dim sVal As String = dVal.ToString(sFormat, CultureInfo.InvariantCulture)
@@ -46,12 +204,28 @@ Module Utility
Return True
End Function
' conerte il dato (in mm) in stringa nell'unità corrente
Friend Function LenToString(dVal As Double, nNumDec As Integer) As String
Return DoubleToString(EgtToUiUnits(dVal), nNumDec)
Dim sVal As String = DoubleToString(EgtToUiUnits(dVal), nNumDec)
' se richiesta scrittura in frazione (solo se unità corrente INCHES)
If nCurrFractionPattern <> FractionPattern.None And Not EgtUiUnitsAreMM() Then
' conevrto il dato corrente in decimale
Dim dCurrVal As Double = dVal
StringToDouble(sVal, dCurrVal)
Return DoubleToStringFraction(dCurrVal, dPrecision)
End If
Return sVal
End Function
Friend Function StringToLen(sVal As String, ByRef dVal As Double) As Boolean
If String.IsNullOrEmpty(sVal) Then Return False
If nCurrFractionPattern <> FractionPattern.None And Not EgtUiUnitsAreMM() Then
Dim sValSource As String = sVal
' conevrto la stringa in formato decimale (sempre in stringa)
StringFractionToStringDecimal(sValSource, sVal)
End If
If EgtLuaEvalNumExpr(sVal, dVal) Then
dVal = EgtFromUiUnits(dVal)
Return True
@@ -373,4 +547,40 @@ Module Utility
End If
End Sub
Public Sub GetMillFromMilling(ByRef sCurrMill As String, ByVal sCurrMilling As String)
If String.IsNullOrEmpty(sCurrMill) Or String.IsNullOrWhiteSpace(sCurrMill) Then
' creo l'elenco degli utensili di foratura
Dim sToolName As String = String.Empty
Dim nType As Integer = MCH_TY.NONE
Dim MillToolList As New ObservableCollection(Of String)
MillToolList.Clear()
If EgtTdbGetFirstTool(MCH_TF.MILL, sToolName, nType) Then
MillToolList.Add(sToolName)
While EgtTdbGetNextTool(MCH_TF.MILL, sToolName, nType)
MillToolList.Add(sToolName)
End While
End If
' recupero l'utensile associato alla lavorazione
'Dim sCurrDrilling As String = m_MainWindow.m_CurrentMachine.sCurrDrilling
Dim ToolString As String = String.Empty
EgtMdbSetCurrMachining(sCurrMilling)
' Recupero nome utensile tramite TUUID
Dim sTuuid As String = String.Empty
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sTuuid)
EgtTdbGetToolFromUUID(sTuuid, ToolString)
Dim bToolExist As Boolean = False
For Each CurrTool As IEnumerable In MillToolList
If CurrTool.ToString() = ToolString Then
bToolExist = True
Exit For
End If
Next
If bToolExist Then
sCurrMill = ToolString
Else
sCurrMill = String.Empty
End If
End If
End Sub
End Module