Compare commits

...

20 Commits

Author SHA1 Message Date
NicolaP de11954066 Aggiunti comandi viste in Simula e InLavoro 2022-02-07 16:31:29 +01:00
Samuele Locatelli f07cfdc9dc Merge incoming 2022-02-05 10:46:07 +01:00
DarioS 4f060f3d3d OmagCUT 2.4b1 :
- riportata interfaccia per lucidature con epicicli.
2022-02-04 18:33:31 +01:00
NicolaP ef5c98020e Cambio versione 2.4a3 2022-01-27 19:38:30 +01:00
NicolaP c2a1fa3fdc Merge branch 'Features/Tagli_Diretti_WaterJet' 2022-01-27 19:36:57 +01:00
NicolaP 319275f43c Gestione TagioGrglio con macchina WaterJet 2022-01-27 19:01:08 +01:00
NicolaP 61d238e196 Gestione TaglioMultiplo con macchina WaterJet 2022-01-27 17:01:07 +01:00
NicolaP 0900728bbf Gestione TaglioSIngolo con macchina solo WaterJet 2022-01-27 13:03:23 +01:00
NicolaP ee83a453e7 Eliminato il campo qualità "" 2022-01-20 19:30:30 +01:00
NicolaP 9109a8cfb7 Correzione gestione parametro Offset, inserita nuova immagine per movimento a spirale 2022-01-20 12:57:46 +01:00
NicolaP f1ab1f1e77 Preparazione nuovi parametri interfaccia Lucidature 2022-01-20 12:12:34 +01:00
NicolaP 7596849254 Migliorato codice 2022-01-19 20:21:30 +01:00
NicolaP e12eb2599e Correzione e miglioramento selezione tagli per Test 2022-01-19 16:14:44 +01:00
NicolaP a0754265ac Correzioni Modifica Inizio/Fine, definizione lista LeadIn, messaggio Cycle-Start 2022-01-17 18:42:29 +01:00
NicolaP 1645a39506 Merge branch 'Correzione_Incidi_(Ovale)' 2022-01-17 16:24:09 +01:00
NicolaP 9e2c2c1b98 Aggiornamento versione 2.4a2 2022-01-17 16:23:21 +01:00
NicolaP 51f15818c2 Merge remote-tracking branch 'origin/DB_WaterJet_Renzo' into Correzione_Incidi_(Ovale) 2022-01-17 16:14:45 +01:00
NicolaP b0081241d8 Merge branch 'Feature/Mach_WaterJet' into Correzione_Incidi_(Ovale) 2022-01-17 16:14:29 +01:00
NicolaP 173230df5a Correzione e modifica impaginazione Lavorazione di Scasso 2022-01-17 15:49:08 +01:00
RenzoL 367ac62fc8 Implementato flag FromDBWaterJet per utilizzo Materiali e Qualità WaterJet 2022-01-12 15:43:11 +01:00
31 changed files with 831 additions and 301 deletions
+1 -1
View File
@@ -196,7 +196,7 @@ Public Class CadCutPageUC
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
EgtDeselectObj(m_NestPage.m_CurrSelectedCurv)
m_ProjectMgr.TestBtn.IsChecked = False
m_CurrProjPage.m_bSelectCurv = False
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
Select Case m_CadCutMode
Case CadCutModes.Nest, CadCutModes.FastGrid
' Passo alla pagina Split
+15 -2
View File
@@ -12,6 +12,8 @@ Public Class NestPageUC
Friend m_bRegister As Boolean = False
' Flag per pezzi selezionati in tavola o fuori
Private m_nPartPos As Integer = PART_POS.NONE_TABLE
' Flag per impostata per selezionare di una curva
Friend m_bSelectCurv As Boolean = False
Friend m_CurrSelectedCurv As Integer = GDB_ID.NULL
Friend m_CurrSelectedSawCurv As Integer = GDB_ID.NULL
@@ -124,14 +126,16 @@ Public Class NestPageUC
End If
End Sub
Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownSceneSelCurv
Private Sub OnMyMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Verifico di essere il gestore attivo e non in modalità registrazione
If Not m_bActive Or m_bRegister Then Return
' Si può selezionare solo con il tasto sinistro e se il bottone TEST Attivo
If e.Button <> Windows.Forms.MouseButtons.Left Or
Not m_CurrProjPage.m_bSelectCurv Then
Not m_bSelectCurv Then
Return
End If
' Se esiste un elemento selezionato
EgtResetMark(m_CurrSelectedSawCurv)
' provo a riconoscere il valore medio del segmento
' Verifico se selezionato indicativo di pezzo
EgtSetObjFilterForSelWin(False, True, False, False, False)
@@ -164,6 +168,7 @@ Public Class NestPageUC
m_CurrSelectedSawCurv = nIdSaw
m_CurrSelectedCurv = nIdMy
EgtSelectObj(nIdSaw)
EgtSetMark(nIdSaw)
EgtSelectObj(nIdMy)
EgtDraw()
Exit While
@@ -184,6 +189,12 @@ Public Class NestPageUC
Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
Return
End If
' se in modalità slezione tagli
If m_bSelectCurv Then
OnMyMouseDownSceneSelCurv(sender, e)
Return
End If
' Per default no drag
m_bDrag = False
' Verifico se selezionato indicativo di pezzo
@@ -402,6 +413,8 @@ Public Class NestPageUC
Private Sub OnMyMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseUpScene
' Verifico di essere il gestore attivo
If Not m_bActive Then Return
' verifico che non sia attivo il comando Test
If m_bSelectCurv Then Return
' Se eseguito drag
If Not m_bDragToStart Then
' Se movimento con sola verifica finale
+2 -2
View File
@@ -1191,8 +1191,8 @@ Public Class SplitPageUC
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
bRepeat = Not UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
If bRepeat Then
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dOrigUeal)
EgtSetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUeal)
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dOrigUeal)
EgtSetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
dUeal = dOrigUeal
End If
Loop Until Not bRepeat
+10
View File
@@ -11,11 +11,21 @@
Public Const K_ZIGZAGX As String = "ZigZagX"
Public Const K_OFFZIGZAGX As String = "OffZigZagX"
Public Const K_STEPX As String = "StepX"
Public Const K_RADIUSX As String = "RadiusX"
Public Const K_DISTANCEX As String = "DistanceX"
Public Const K_ZIGZAGY As String = "ZigZagY"
Public Const K_OFFZIGZAGY As String = "OffZigZagY"
Public Const K_STEPY As String = "StepY"
Public Const K_RADIUSY As String = "RadiusY"
Public Const K_DISTANCEY As String = "DistanceY"
Public Const K_SPIRAL As String = "Spiral"
Public Const K_OFFSPIRAL As String = "OffSpiral"
Public Const K_STEPSPIRAL As String = "StepSpiral"
Public Const K_RADIUSSPIRAL As String = "RadiusSpiral"
Public Const K_DISTANCESPIRAL As String = "DistanceSpiral"
Public Const K_LILEN As String = "LiLen"
Public Const K_LIHEIGHT As String = "LiHeight"
Public Const K_LILOAD As String = "LiLoad"
End Module
+1
View File
@@ -282,5 +282,6 @@
Public Const S_MATERIALS As String = "Materials"
Public Const K_CURRMATERIAL As String = "CurrMaterial"
Public Const K_MATERIAL As String = "Material"
Public Const K_FROMDBWATERJET As String = "FromDBWaterJet"
End Module
+26 -23
View File
@@ -133,25 +133,6 @@ Public Class DirectCutPageUC
' leggo il numero di assi attivi nella macchina
Dim AxesNumber = GetPrivateProfileInt(S_AXES, K_AXESNUM, 5, m_MainWindow.GetMachIniFile())
'' leggo se è stata configurata la nuova conole
'If GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile()) = 1 And Not bCollapsedNewBottonsConsole Then
' XYBtn.Content = "X - Y"
' XYBtn.Foreground = Brushes.White
' ZCBtn.Content = "Z - C"
' ZCBtn.Foreground = Brushes.White
' If AxesNumber < 5 Then
' ZBBtn.Visibility = Windows.Visibility.Collapsed
' End If
' ZBBtn.Content = "Z - B"
' ZBBtn.Foreground = Brushes.White
' RemoteBtn.Content = "Remote"
' RemoteBtn.Foreground = Brushes.White
'Else
' XYBtn.Visibility = Windows.Visibility.Collapsed
' ZCBtn.Visibility = Windows.Visibility.Collapsed
' ZBBtn.Visibility = Windows.Visibility.Collapsed
'End If
End Sub
Private Sub DirectCutPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
@@ -228,8 +209,12 @@ Public Class DirectCutPageUC
' Se macchina fotografica abilitata
PhotoBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_PHOTO)
' Attivo le lavorazioni solo se esiste il grezzo
' Attivo le lavorazioni solo se esiste il grezzo e se presente testa H1
Dim bRawOk As Boolean = (GetRawHeight() > EPS_SMALL)
Dim bH1Exists As Boolean = (EgtGetHeadId("H1") <> GDB_ID.NULL)
ManualBtn.IsEnabled = bH1Exists
' sviluppo rimasto in sospeso
If m_bManulaCut Then
' anche se non è presente un grezzo mantengo abilitato il bottone
SingleCutBtn.IsEnabled = True
@@ -238,10 +223,14 @@ Public Class DirectCutPageUC
End If
MultipleCutBtn.IsEnabled = bRawOk
GridCutBtn.IsEnabled = bRawOk
SingleDrillBtn.IsEnabled = bRawOk
FlatteningCutBtn.IsEnabled = bRawOk
SingleDrillBtn.IsEnabled = (bRawOk And bH1Exists)
FlatteningCutBtn.IsEnabled = (bRawOk And bH1Exists)
PolishingBtn.IsEnabled = (bRawOk And m_MainWindow.m_CurrentMachine.bPolishing)
SawTestBtn.IsEnabled = bRawOk
SawTestBtn.IsEnabled = (bRawOk And bH1Exists)
CopyTemplateBtn.IsEnabled = bH1Exists
' aggiorno la visualizzazione dei parametri
ReloadParam()
' Nascondo i pezzi in parcheggio
HideParkedParts()
@@ -249,6 +238,20 @@ Public Class DirectCutPageUC
End Sub
Public Sub ReloadParam()
Dim sCurrSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
Dim sCurrSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
Dim bSaw As Boolean = False
' se esiste una lavorazione di lama corrente vuol dire che deve essere preferita
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
End If
m_SingleCut.SetEnableParam(bSaw)
m_MultipleCut.SetEnableParam(bSaw)
m_GridCut.SetEnableParam(bSaw)
End Sub
Private Sub SetVisibilityJogButtuns()
XYBtn.Visibility = Visibility.Collapsed
ZCBtn.Visibility = Visibility.Collapsed
+30 -16
View File
@@ -152,6 +152,7 @@ Public Class GridCut
EgtDraw()
End Sub
Friend Sub GridCut_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())
@@ -185,6 +186,11 @@ Public Class GridCut
m_bActive = False
End Sub
Public Sub SetEnableParam(ByVal bIsSaw As Boolean)
' se macchina solo WaterJet Disabilito/Nascondo parametri della lama
DepthTxBx.IsEnabled = bIsSaw
End Sub
Private Sub UpdateSimulOkBtn()
If m_bCutOk Then
SimulBtn.IsEnabled = True
@@ -242,6 +248,12 @@ Public Class GridCut
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizone lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
@@ -256,12 +268,12 @@ Public Class GridCut
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
End If
@@ -285,10 +297,8 @@ Public Class GridCut
' Porto il tip nell'origine tavola
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP1Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Disegno il taglio
@@ -317,6 +327,12 @@ Public Class GridCut
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizone lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
@@ -331,12 +347,12 @@ Public Class GridCut
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
End If
@@ -358,10 +374,8 @@ Public Class GridCut
' Porto il tip nell'origine tavola
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP2Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Se il secondo punto non coincide con il primo, disegno il taglio
+34 -18
View File
@@ -213,6 +213,10 @@ Public Class MultipleCut
m_bActive = False
End Sub
Public Sub SetEnableParam(ByVal bIsSaw As Boolean)
DepthTxBx.IsEnabled = bIsSaw
End Sub
Private Sub UpdateSimulOkBtn()
If m_bCutOk Then
SimulBtn.IsEnabled = True
@@ -270,6 +274,12 @@ Public Class MultipleCut
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizone lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
@@ -284,12 +294,14 @@ Public Class MultipleCut
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Altrimenti da lama
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
End If
@@ -312,10 +324,9 @@ Public Class MultipleCut
' Porto il tip nell'origine tavola
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP1Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Disegno il taglio
CreateMultipleCut()
@@ -343,6 +354,12 @@ Public Class MultipleCut
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizone lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
@@ -357,12 +374,12 @@ Public Class MultipleCut
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Altrimenti da lama
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
End If
@@ -383,10 +400,9 @@ Public Class MultipleCut
' Porto il tip nell'origine tavola
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP2Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Se il secondo punto non coincide con il primo, disegno il taglio
+43 -19
View File
@@ -137,6 +137,9 @@ Public Class SingleCutUC
Point2Btn.IsEnabled = False
' Deseleziono bottone primo punto
Point1Btn.IsChecked = False
' la visualizzazione dei comandi è gestira dalla DirectCutPageUC richiamando la funzione ReloadParam
' Aggiorno visualizzazione
EgtDraw()
End Sub
@@ -172,6 +175,12 @@ Public Class SingleCutUC
m_bActive = False
End Sub
Public Sub SetEnableParam(ByVal bIsSaw As Boolean)
' se macchina solo WaterJet Disabilito/Nascondo parametri della lama
DepthTxBx.IsEnabled = bIsSaw
SawThChBx.IsEnabled = bIsSaw
End Sub
Private Sub UpdateSimulOkBtn()
If m_bCutOk Then
SimulBtn.IsEnabled = True
@@ -229,6 +238,12 @@ Public Class SingleCutUC
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizione lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
' Recupero la posizione macchina
@@ -242,12 +257,12 @@ Public Class SingleCutUC
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Altrimenti da lama
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
End If
@@ -271,10 +286,9 @@ Public Class SingleCutUC
' Porto il tip nell'origine tavola
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP1Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Disegno il taglio
@@ -303,6 +317,12 @@ Public Class SingleCutUC
' Verifico configurazione tavola e grezzo
If Not m_bRawOk Then Return
' Recupero dati utensile e testa corrente
Dim sTool As String = ""
Dim sHead As String = ""
Dim nExit As Integer = 0
EgtGetCalcTool(sTool, sHead, nExit)
' Se acquisizone lama o laser
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
' Recupero la posizione macchina
@@ -316,12 +336,14 @@ Public Class SingleCutUC
If Not EgtSetCalcTool("", "H3", 1) Then Return
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
' Ora imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Altrimenti da lama
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Altrimenti da lama
Else
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Trasformo in posizione punta utensile in basso
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
End If
@@ -343,10 +365,8 @@ Public Class SingleCutUC
' Porto il tip nell'origine tavola
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
m_bPointP2Ok = True
' Ricavo dati lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
' Imposto la lama corrente
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
End If
' Se il secondo punto non coincide con il primo, disegno il taglio
@@ -559,9 +579,13 @@ Public Class SingleCutUC
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
' Recupero spessore lama corrente
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
Dim sSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
EgtTdbSetCurrTool(sSaw)
Dim dThick As Double = 0
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
' se è impostata una lavorazione di lama
If Not String.IsNullOrEmpty(sSawing) Then
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
End If
' Rimuovo eventuale vecchio pezzo per taglio diretto
EraseDirectCutPart()
' Disattivo eventuali lavorazioni presenti
+4
View File
@@ -755,6 +755,10 @@ Public Class SideAngleUC
vJoint.Add(False)
End If
Next
' se non riesco a generare un elenco allora esco
If vJoint.Count < 1 Then Return
If vJoint(0) And vJoint(vJoint.Count - 1) Then
bJointStart = True
End If
+16 -2
View File
@@ -437,10 +437,24 @@ Public Class AlarmsPageUC
End If
If m_CurrentMachine.sCurrWaterJetting <> String.Empty Then
CurrWaterJettingTxBx.Text = m_CurrentMachine.sCurrWaterJetting
CurrWaterJettingQualityTxBx.Text = m_CurrentMachine.sCurrWaterJettingQuality
CurrWaterJettingTxBl.Visibility = Windows.Visibility.Visible
CurrWaterJettingTxBx.Visibility = Windows.Visibility.Visible
CurrWaterJettingQualityTxBx.Visibility = Windows.Visibility.Visible
If m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
CurrWaterJettingTxBx.SetValue(Grid.ColumnSpanProperty, 1)
CurrWaterJettingTxBx.SetValue(MarginProperty, New Thickness(CurrWaterJettingTxBx.Margin.Left,
CurrWaterJettingTxBx.Margin.Top,
5,
CurrWaterJettingTxBx.Margin.Bottom))
CurrWaterJettingQualityTxBx.Text = m_CurrentMachine.sCurrWaterJettingQuality
CurrWaterJettingQualityTxBx.Visibility = Windows.Visibility.Visible
Else
CurrWaterJettingTxBx.SetValue(Grid.ColumnSpanProperty, 2)
CurrWaterJettingTxBx.SetValue(MarginProperty, New Thickness(CurrWaterJettingTxBx.Margin.Left,
CurrWaterJettingTxBx.Margin.Top,
10,
CurrWaterJettingTxBx.Margin.Bottom))
CurrWaterJettingQualityTxBx.Visibility = Windows.Visibility.Collapsed
End If
Else
CurrWaterJettingTxBl.Visibility = Windows.Visibility.Hidden
CurrWaterJettingTxBx.Visibility = Windows.Visibility.Hidden
+14 -4
View File
@@ -77,6 +77,9 @@ Public Class CurrentMachine
Private m_bPolishingWheel As Boolean = False
Private m_bWaterJet As Boolean = False
' Abilitazione DB WaterJet
Private m_bFromDBWaterJet As Boolean = False
' Flag per visualizzazione TcPos, Testa/uscita e Note utente
Private m_nShowToolChanger As Integer = 0 ' 0=no, 1=tutti utensili, 2=solo lame
Private m_bShowHeadExit As Boolean = False
@@ -436,6 +439,12 @@ Public Class CurrentMachine
End Get
End Property
Friend ReadOnly Property bFromDBWaterJet As Boolean
Get
Return m_bFromDBWaterJet
End Get
End Property
Friend ReadOnly Property ShowToolChanger As Integer
Get
Return m_nShowToolChanger
@@ -1006,7 +1015,7 @@ Public Class CurrentMachine
End Get
Set(value As Material)
Dim CurrMatId As String = If(Not IsNothing(value), value.nId.ToString, "")
If bWaterJet Then
If bWaterJet And bFromDBWaterJet Then
WritePrivateProfileString(S_MATERIALS, K_CURRMATERIAL, CurrMatId & If(Not IsNothing(value), "." & value.SubId, ""), sMachIniFile)
Else
WritePrivateProfileString(S_MATERIALS, K_CURRMATERIAL, CurrMatId, sMachIniFile)
@@ -1108,6 +1117,8 @@ Public Class CurrentMachine
' waterjet
m_bWaterJet = (GetPrivateProfileInt(S_TOOLS, K_WATERJET, 0, sMachIniFile) > 0) And
m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.ENABLE_WJ)
' Leggo abilitazione DB WaterJet
m_bFromDBWaterJet = (GetPrivateProfileInt(S_MATERIALS, K_FROMDBWATERJET, 0, sMachIniFile) > 0)
' Leggo abilitazione visualizzazione TcPos, Head/exit e Note utente
m_nShowToolChanger = GetPrivateProfileInt(S_TOOLS, K_SHOWTOOLCHANGER, 0, sMachIniFile)
m_bShowHeadExit = (GetPrivateProfileInt(S_TOOLS, K_SHOWHEADEXIT, 0, sMachIniFile) > 0)
@@ -1247,7 +1258,7 @@ Public Class CurrentMachine
Dim Material As Material = Nothing
Dim nIndex As Integer = 1
If m_bWaterJet Then
If m_bWaterJet And m_bFromDBWaterJet Then
LoadWJMaterial(True)
Else
While (GetPrivateProfileMaterial(S_MATERIALS, K_MATERIAL & nIndex, Material, sMachIniFile))
@@ -1262,7 +1273,7 @@ Public Class CurrentMachine
' Leggo materiale correntemente attivo
Dim sCurrMatId As String = String.Empty
EgtUILib.GetPrivateProfileString(S_MATERIALS, K_CURRMATERIAL, "0", sCurrMatId, sMachIniFile)
If bWaterJet Then
If bWaterJet And bFromDBWaterJet Then
Dim sCurrMatIds As String()
sCurrMatIds = sCurrMatId.Split("."c)
If sCurrMatIds.Length > 1 Then
@@ -1303,7 +1314,6 @@ Public Class CurrentMachine
Local_MaterialList = EgtWPFLib5.WaterjetDbWindowVM.LoadWjMaterials(sFilePath)
' definisco la lista delle qualità (solo se è vuota)
If m_Qualities.Count < 1 Then
m_Qualities.Add("")
m_Qualities.Add("Q1")
m_Qualities.Add("Q2")
m_Qualities.Add("Q3")
+1 -1
View File
@@ -64,7 +64,7 @@ Public Class MachinePageUC
PolishingsBtn.IsEnabled = False
End If
If Not m_MainWindow.m_CurrentMachine.bWaterJet Then
If Not m_MainWindow.m_CurrentMachine.bWaterJet Or Not m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
WaterJetBtn.IsEnabled = False
End If
+39 -34
View File
@@ -552,12 +552,15 @@ Public Class MachiningDbPageUC
HeadSideCmBx.SelectedIndex = ToolInt - 1
EgtMdbGetCurrMachiningParam(MCH_MP.LEADINTYPE, ToolInt)
If LeadInTypeCmBx.Items.Count > 0 Then
LeadInTypeCmBx.SelectedItem = LeadInTypeCmBx.Items(0)
LeadInTypeCmBx.SelectedItem = LeadInTypeCmBx.Items(0)
Else
LeadInTypeCmBx.SelectedItem = Nothing
End If
For Each LInType As IdNameStruct In LeadInTypeCmBx.Items
If ToolInt = LInType.Id Then LeadInTypeCmBx.SelectedItem = LInType
If ToolInt = LInType.Id Then
LeadInTypeCmBx.SelectedItem = LInType
Exit For
End If
Next
EgtMdbGetCurrMachiningParam(MCH_MP.EXTLINKTYPE, ToolInt)
ExtLinkTypeCmBx.SelectedIndex = ToolInt
@@ -705,7 +708,7 @@ Public Class MachiningDbPageUC
' Lista materiali
m_MaterialsList.Clear()
For Each Material As Material In m_MainWindow.m_CurrentMachine.Materials
If m_MainWindow.m_CurrentMachine.bWaterJet Then
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName, Material.SubId))
Else
m_MaterialsList.Add(New MachiningMaterial(Material.nId, Material.sName))
@@ -720,7 +723,7 @@ Public Class MachiningDbPageUC
Dim SubParam() As String = Param(0).Split(".".ToCharArray)
Dim nParId As Integer = 0
Dim nSubParId As Integer = 0
If m_MainWindow.m_CurrentMachine.bWaterJet Then
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
If StringToInt(SubParam(0), nParId) AndAlso nParId = Material.nId AndAlso SubParam.Count > 1 AndAlso
StringToInt(SubParam(1), nSubParId) AndAlso nSubParId = Material.nSubId Then
@@ -819,13 +822,13 @@ Public Class MachiningDbPageUC
' Parmetri nascosti di svuotatura
If nMachiningType = MCH_MY.POCKETING Then
EgtMdbSetCurrMachiningParam(MCH_MP.SUBTYPE, MCH_POCK_SUB.SPIRALOUT)
EgtMdbSetCurrMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX)
' EgtMdbSetCurrMachiningParam( MCH_MP.LEADINTYPE, MCH_POCK_LI.HELIX)
Dim dToolDiam As Double = 100
If Not IsNothing(ToolCmBx.SelectedItem) Then
EgtTdbSetCurrTool( ToolCmBx.SelectedItem.ToString())
EgtTdbGetCurrToolParam( MCH_TP.DIAM, dToolDiam)
End If
EgtMdbSetCurrMachiningParam( MCH_MP.LITANG, 0.495 * dToolDiam)
EgtMdbSetCurrMachiningParam(MCH_MP.LITANG, 0.99 * dToolDiam)
EgtMdbSetCurrMachiningParam( MCH_MP.LIELEV, 2.0)
End If
' Parametri WaterJetting
@@ -894,7 +897,7 @@ Public Class MachiningDbPageUC
' Scrivo stringa materiali da lista
Dim sMaterialString As String = String.Empty
For Each Material As MachiningMaterial In m_MaterialsList
If m_MainWindow.m_CurrentMachine.bWaterJet Then
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) & ";"
End If
@@ -1138,30 +1141,26 @@ Public Class MachiningDbPageUC
' Definizione della grid TypeGrd con la giusta altezza e numero di righe
Dim RowNum As Integer = TypeGrd.RowDefinitions.Count
If RowNum > 2 Then
' elimino eventuali righe in eccesso
For Index As Integer = RowNum - 1 To 2 Step -1
TypeGrd.RowDefinitions.RemoveAt(Index)
Next
LeadInTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadInTypeCmBx.SetValue(Grid.ColumnProperty, 3)
LeadOutTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadOutTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadOutTypeCmBx.SetValue(Grid.ColumnProperty, 3)
TypeBrd.SetValue(Grid.RowProperty, 12)
TypeBrd.SetValue(Grid.RowSpanProperty, 6)
ElseIf RowNum < 2 Then
' costruiso una riga in più da inserire
Dim Row As New RowDefinition
TypeGrd.RowDefinitions.Add(Row)
LeadInTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadInTypeCmBx.SetValue(Grid.ColumnProperty, 3)
LeadOutTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadOutTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadOutTypeCmBx.SetValue(Grid.ColumnProperty, 3)
TypeBrd.SetValue(Grid.RowProperty, 12)
TypeBrd.SetValue(Grid.RowSpanProperty, 6)
End If
LeadInTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadInTypeTxBl.SetValue(Grid.ColumnProperty, 0)
LeadInTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadInTypeCmBx.SetValue(Grid.ColumnProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadOutTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadOutTypeCmBx.SetValue(Grid.ColumnProperty, 3)
TypeBrd.SetValue(Grid.RowProperty, 12)
TypeBrd.SetValue(Grid.RowSpanProperty, 6)
LeadInTypeTxBl.Visibility = Windows.Visibility.Visible
LeadInTypeCmBx.Visibility = Windows.Visibility.Visible
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
@@ -1779,7 +1778,7 @@ Public Class MachiningDbPageUC
StepTypeTxBl.Visibility = Windows.Visibility.Hidden
StepTypeCmBx.Visibility = Windows.Visibility.Hidden
SideBrd.SetValue(Grid.RowProperty, 9)
SideBrd.Visibility = Windows.Visibility.Visible
SideBrd.Visibility = Windows.Visibility.Hidden
WorkSideTxBl.Visibility = Windows.Visibility.Hidden
WorkSideCmBx.Visibility = Windows.Visibility.Hidden
HeadSideTxBl.Visibility = Windows.Visibility.Hidden
@@ -1791,15 +1790,22 @@ Public Class MachiningDbPageUC
For Index As Integer = RowNum - 1 To 2 Step -1
TypeGrd.RowDefinitions.RemoveAt(Index)
Next
LeadInTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadInTypeCmBx.SetValue(Grid.ColumnProperty, 3)
LeadOutTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadOutTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadOutTypeCmBx.SetValue(Grid.ColumnProperty, 3)
TypeBrd.SetValue(Grid.RowProperty, 12)
TypeBrd.SetValue(Grid.RowSpanProperty, 6)
ElseIf RowNum < 2 Then
' costruiso una riga in più da inserire
Dim Row As New RowDefinition
TypeGrd.RowDefinitions.Add(Row)
End If
LeadInTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadInTypeTxBl.SetValue(Grid.ColumnProperty, 0)
LeadInTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadInTypeCmBx.SetValue(Grid.ColumnProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.RowProperty, 1)
LeadOutTypeTxBl.SetValue(Grid.ColumnProperty, 2)
LeadOutTypeCmBx.SetValue(Grid.RowProperty, 1)
LeadOutTypeCmBx.SetValue(Grid.ColumnProperty, 3)
TypeBrd.SetValue(Grid.RowProperty, 12)
TypeBrd.SetValue(Grid.RowSpanProperty, 6)
LeadInTypeTxBl.Visibility = Windows.Visibility.Visible
LeadInTypeCmBx.Visibility = Windows.Visibility.Visible
ExtLinkTypeTxBl.Visibility = Windows.Visibility.Hidden
@@ -2285,7 +2291,7 @@ Public Class MachiningDbPageUC
Private Sub MaxThicknessTxBx_EgtClosed(sender As Object, e As EventArgs) Handles MaxThicknessTxBx.EgtClosed
Dim SelectedMaterial As MachiningMaterial = MaterialsList.SelectedItem
Dim dMaxThick As Double = 0
If m_MainWindow.m_CurrentMachine.bWaterJet Then
If m_MainWindow.m_CurrentMachine.bWaterJet And m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
' solo per water jet controllo lo spessore massimo ammissibile
dMaxThick = m_MainWindow.m_CurrentMachine.GetMaxThicknessCurrMaterial(SelectedMaterial.Name)
Dim dVal As Double
@@ -2369,7 +2375,6 @@ Public Class MachiningDbPageUC
Case MCH_MY.POCKETING
LeadInTypeCmBx.ItemsSource = New ObservableCollection(Of IdNameStruct)(
{New IdNameStruct(MCH_POCK_LI.NONE, EgtMsg(MSG_COMBOBOXPARAM + 42)),
New IdNameStruct(MCH_POCK_LI.GLIDE, EgtMsg(MSG_COMBOBOXPARAM + 48)),
New IdNameStruct(MCH_POCK_LI.ZIGZAG, EgtMsg(MSG_COMBOBOXPARAM + 38)),
New IdNameStruct(MCH_POCK_LI.HELIX, EgtMsg(MSG_COMBOBOXPARAM + 49))})
LeadOutTypeCmBx.ItemsSource = New ObservableCollection(Of IdNameStruct)(
+43 -17
View File
@@ -158,6 +158,9 @@
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
@@ -165,10 +168,12 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<!--Decrizione immagini-->
<Border Grid.Row="1" Grid.Column="1" Margin="10">
<Image Source="../Resources/Contour.png" Stretch="Uniform"/>
</Border>
@@ -178,24 +183,45 @@
<Border Grid.Row="3" Grid.Column="1" Margin="10">
<Image Source="../Resources/ZigZagY.png" Stretch="Uniform"/>
</Border>
<Border Grid.Row="4" Grid.Column="1" Margin="10">
<Image Source="../Resources/Spiral.png" Stretch="Uniform"/>
</Border>
<TextBlock Name="MotionTxBl" Grid.Row="0" Grid.Column="1" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="30,0" HorizontalAlignment="Center"/>
<TextBlock Name="RepeatTxBl" Grid.Row="0" Grid.Column="2" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="30,0" HorizontalAlignment="Center"/>
<TextBlock Name="StepTxBl" Grid.Row="0" Grid.Column="3" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="30,0" HorizontalAlignment="Center"/>
<TextBlock Name="OffSetTxBl" Grid.Row="0" Grid.Column="4" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="30,0" HorizontalAlignment="Center"/>
<!--Titolazione colonne-->
<TextBlock Name="MotionTxBl" Grid.Row="0" Grid.Column="1" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<TextBlock Name="RepeatTxBl" Grid.Row="0" Grid.Column="2" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<TextBlock Name="StepTxBl" Grid.Row="0" Grid.Column="3" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<TextBlock Name="OffSetTxBl" Grid.Row="0" Grid.Column="4" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<TextBlock Name="RadiusTxBl" Grid.Row="0" Grid.Column="5" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<TextBlock Name="DistanceTxBl" Grid.Row="0" Grid.Column="6" Style="{DynamicResource OmagCut_ToolsDBTextBlock}" Margin="5,0" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="ContourTxBx" Grid.Row="1" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="OffContourTxBx" Grid.Row="1" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<!--Contornatura-->
<EgtWPFLib:EgtTextBox Name="ContourTxBx" Grid.Row="1" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="OffContourTxBx" Grid.Row="1" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="ZigZagXTxBx" Grid.Row="2" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="StepXTxBx" Grid.Row="2" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="OffZigZagXTxBx" Grid.Row="2" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="ZigZagYTxBx" Grid.Row="3" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="StepYTxBx" Grid.Row="3" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="OffZigZagYTxBx" Grid.Row="3" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<!--Cammino orizzontale X-->
<EgtWPFLib:EgtTextBox Name="ZigZagXTxBx" Grid.Row="2" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="StepXTxBx" Grid.Row="2" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="OffZigZagXTxBx" Grid.Row="2" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="RadiusXTxBx" Grid.Row="2" Grid.Column="5" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="DistanceXTxBx" Grid.Row="2" Grid.Column="6" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<GroupBox Name="LiLoGpBx" Grid.Row="4" Grid.Column="1" Grid.RowSpan="2" Grid.ColumnSpan="3" Style="{DynamicResource OmagCut_GroupBox}">
<!--Cammino verticale Y-->
<EgtWPFLib:EgtTextBox Name="ZigZagYTxBx" Grid.Row="3" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="StepYTxBx" Grid.Row="3" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="OffZigZagYTxBx" Grid.Row="3" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="RadiusYTxBx" Grid.Row="3" Grid.Column="5" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="DistanceYTxBx" Grid.Row="3" Grid.Column="6" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<!--Cammino a spirale-->
<EgtWPFLib:EgtTextBox Name="SpiralTxBx" Grid.Row="4" Grid.Column="2" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="StepSpiralTxBx" Grid.Row="4" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="OffSpiralTxBx" Grid.Row="4" Grid.Column="4" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="RadiusSpiralTxBx" Grid.Row="4" Grid.Column="5" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<EgtWPFLib:EgtTextBox Name="DistanceSpiralTxBx" Grid.Row="4" Grid.Column="6" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<!--Parametri di lavoro condivisi-->
<GroupBox Name="LiLoGpBx" Grid.Row="5" Grid.Column="1" Grid.RowSpan="2" Grid.ColumnSpan="5" Style="{DynamicResource OmagCut_GroupBox}">
<Grid Name="LiLoGrd">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
@@ -212,11 +238,11 @@
</Grid.RowDefinitions>
<TextBlock Name="LiLenTxBl" Grid.Row="1" Grid.Column="0" Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="LiLenTxBx" Grid.Row="1" Grid.Column="1" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="LiLenTxBx" Grid.Row="1" Grid.Column="1" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<TextBlock Name="LiHeightTxBl" Grid.Row="1" Grid.Column="2" Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="LiHeightTxBx" Grid.Row="1" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="LiHeightTxBx" Grid.Row="1" Grid.Column="3" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
<TextBlock Name="LiLoadTxBl" Grid.Row="3" Grid.Column="0" Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="LiLoadTxBx" Grid.Row="3" Grid.Column="1" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="30,0"/>
<EgtWPFLib:EgtTextBox Name="LiLoadTxBx" Grid.Row="3" Grid.Column="1" Style="{DynamicResource OmagCut_CalculatorTextBox}" Margin="10,0"/>
</Grid>
</GroupBox>
+427 -101
View File
@@ -61,6 +61,8 @@ Public Class PolishingsPageUC
RepeatTxBl.Text = EgtMsg(91093) ' Ripetizioni
StepTxBl.Text = EgtMsg(90787) ' Passo
OffSetTxBl.Text = EgtMsg(91089) ' Offset
RadiusTxBl.Text = "Raggio"
DistanceTxBl.Text = "Distanza"
LiLoGpBx.Header = EgtMsg(91094) ' Attacco/Uscita
LiLenTxBl.Text = EgtMsg(91097) ' Lunghezza
LiHeightTxBl.Text = EgtMsg(91095) ' Altezza
@@ -452,7 +454,9 @@ Public Class PolishingsPageUC
If KitMachItem.m_IsModifiedId OrElse KitMachItem.m_IsModifiedToolUUID OrElse KitMachItem.m_IsModifiedToolName OrElse KitMachItem.m_IsModifiedSelTool OrElse
KitMachItem.m_IsModifiedActive OrElse KitMachItem.m_IsModifiedContour OrElse KitMachItem.m_IsModifiedOffCnt OrElse KitMachItem.m_IsModifiedZigZagX OrElse
KitMachItem.m_IsModifiedOffZigZagX OrElse KitMachItem.m_IsModifiedZigZagY OrElse KitMachItem.m_IsModifiedStepX OrElse KitMachItem.m_IsModifiedStepY OrElse
KitMachItem.m_IsModifiedOffZigZagY OrElse KitMachItem.m_IsModifiedLiLen OrElse KitMachItem.m_IsModifiedLiHeight OrElse KitMachItem.m_IsModifiedLiLoad Then
KitMachItem.m_IsModifiedOffZigZagY OrElse KitMachItem.m_IsModifiedSpiral OrElse KitMachItem.m_IsModifiedOffSpiral OrElse KitMachItem.m_IsModifiedStepSpiral OrElse
KitMachItem.m_IsModifiedRadiusSpiral OrElse KitMachItem.m_IsModifiedDistanceSpiral OrElse KitMachItem.m_IsModifiedLiLen OrElse KitMachItem.m_IsModifiedLiHeight OrElse
KitMachItem.m_IsModifiedLiLoad Then
Return True
End If
Next
@@ -476,10 +480,19 @@ Public Class PolishingsPageUC
KitMachItem.m_IsModifiedOffCnt = False
KitMachItem.m_IsModifiedZigZagX = False
KitMachItem.m_IsModifiedOffZigZagX = False
KitMachItem.m_IsModifiedRadiusX = False
KitMachItem.m_IsModifiedDistanceX = False
KitMachItem.m_IsModifiedZigZagY = False
KitMachItem.m_IsModifiedOffZigZagY = False
KitMachItem.m_IsModifiedRadiusY = False
KitMachItem.m_IsModifiedDistanceY = False
KitMachItem.m_IsModifiedSpiral = False
KitMachItem.m_IsModifiedOffSpiral = False
KitMachItem.m_IsModifiedRadiusSpiral = False
KitMachItem.m_IsModifiedDistanceSpiral = False
KitMachItem.m_IsModifiedStepX = False
KitMachItem.m_IsModifiedStepY = False
KitMachItem.m_IsModifiedStepSpiral = False
KitMachItem.m_IsModifiedLiLen = False
KitMachItem.m_IsModifiedLiHeight = False
KitMachItem.m_IsModifiedLiLoad = False
@@ -493,20 +506,29 @@ Public Class PolishingsPageUC
OffContourTxBx.Text = LenToString(kmShow.dOffsetCnt, 3)
ZigZagXTxBx.Text = kmShow.nZigZagX.ToString()
OffZigZagXTxBx.Text = LenToString(kmShow.dOffZigZagX, 3)
StepXTxBx.Text = LenToString( kmShow.dStepX, 3)
StepXTxBx.Text = LenToString(kmShow.dStepX, 3)
RadiusXTxBx.Text = LenToString(kmShow.dRadiusX, 3)
DistanceXTxBx.Text = LenToString(kmShow.dDistanceX, 3)
ZigZagYTxBx.Text = kmShow.nZigZagY.ToString()
OffZigZagYTxBx.Text = LenToString(kmShow.dOffZigZagY, 3)
StepYTxBx.Text = LenToString( kmShow.dStepY, 3)
LiLenTxBx.Text = LenToString( kmShow.dLiLen, 3)
LiHeightTxBx.Text = LenToString( kmShow.dLiHeight, 3)
LiLoadTxBx.Text = LenToString( kmShow.dLiLoad, 3)
StepYTxBx.Text = LenToString(kmShow.dStepY, 3)
RadiusYTxBx.Text = LenToString(kmShow.dRadiusY, 3)
DistanceYTxBx.Text = LenToString(kmShow.dDistanceY, 3)
SpiralTxBx.Text = kmShow.nSpiral.ToString()
StepSpiralTxBx.Text = LenToString(kmShow.dStepSpiral, 3)
OffSpiralTxBx.Text = LenToString(kmShow.dOffSpiral, 3)
RadiusSpiralTxBx.Text = LenToString(kmShow.dRadiusSpiral, 3)
DistanceSpiralTxBx.Text = LenToString(kmShow.dDistanceSpiral, 3)
LiLenTxBx.Text = LenToString(kmShow.dLiLen, 3)
LiHeightTxBx.Text = LenToString(kmShow.dLiHeight, 3)
LiLoadTxBx.Text = LenToString(kmShow.dLiLoad, 3)
End Sub
Private Sub KitMachsLstBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles KitMachsLstBx.SelectionChanged
Dim SelectedKitMach As KitMach = KitMachsLstBx.SelectedItem
If Not IsNothing(SelectedKitMach) Then
' visualizzo i parametri relativi al KitMach selezionato
ShowKitMach( SelectedKitMach)
ShowKitMach(SelectedKitMach)
End If
End Sub
@@ -520,14 +542,16 @@ Public Class PolishingsPageUC
End Sub
Private Sub OffContourTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffContourTxBx.EgtClosed
Dim nTemp As Integer = 0
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
nTemp = OffContourTxBx.Text
KitMachsLstBx.SelectedItem.dOffsetCnt = nTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffsetCnt = nTemp
StringToLen(OffContourTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dOffsetCnt = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffsetCnt = dTemp
End If
End Sub
#Region "ZigZag X"
Private Sub ZigZagXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ZigZagXTxBx.EgtClosed
Dim nTemp As Integer = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
@@ -538,11 +562,11 @@ Public Class PolishingsPageUC
End Sub
Private Sub OffZigZagXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffZigZagXTxBx.EgtClosed
Dim nTemp As Integer = 0
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
nTemp = OffZigZagXTxBx.Text
KitMachsLstBx.SelectedItem.dOffZigZagX = nTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffZigZagX = nTemp
StringToLen(OffZigZagXTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dOffZigZagX = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffZigZagX = dTemp
End If
End Sub
@@ -555,6 +579,28 @@ Public Class PolishingsPageUC
End If
End Sub
Private Sub RadiusXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles RadiusXTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(RadiusXTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dRadiusX = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dRadiusX = dTemp
End If
End Sub
Private Sub DistanceXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DistanceXTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(DistanceXTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dDistanceX = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dDistanceX = dTemp
End If
End Sub
#End Region ' ZigZag X
#Region "ZizZag Y"
Private Sub ZigZagYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles ZigZagYTxBx.EgtClosed
Dim nTemp As Integer = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
@@ -565,11 +611,11 @@ Public Class PolishingsPageUC
End Sub
Private Sub OffZigZagYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffZigZagYTxBx.EgtClosed
Dim nTemp As Integer = 0
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
nTemp = OffZigZagYTxBx.Text
KitMachsLstBx.SelectedItem.dOffZigZagY = nTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffZigZagY = nTemp
StringToLen(OffZigZagYTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dOffZigZagY = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffZigZagY = dTemp
End If
End Sub
@@ -582,6 +628,75 @@ Public Class PolishingsPageUC
End If
End Sub
Private Sub RadiusYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles RadiusYTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(RadiusYTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dRadiusY = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dRadiusY = dTemp
End If
End Sub
Private Sub DistanceYTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DistanceYTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(DistanceYTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dDistanceY = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dDistanceY = dTemp
End If
End Sub
#End Region ' ZigZagY
#Region "Spirale"
Private Sub SpiralTxBx_EgtClosed(sender As Object, e As EventArgs) Handles SpiralTxBx.EgtClosed
Dim nTemp As Integer = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
nTemp = SpiralTxBx.Text
KitMachsLstBx.SelectedItem.nSpiral = nTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).nSpiral = nTemp
End If
End Sub
Private Sub OffSpiralTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffSpiralTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(OffSpiralTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dOffSpiral = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dOffSpiral = dTemp
End If
End Sub
Private Sub StepSpiralTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepSpiralTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(StepSpiralTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dStepSpiral = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dStepSpiral = dTemp
End If
End Sub
Private Sub RadiusSpiralTxBx_EgtClosed(sender As Object, e As EventArgs) Handles RadiusSpiralTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(RadiusSpiralTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dRadiusSpiral = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dRadiusSpiral = dTemp
End If
End Sub
Private Sub DistanceSpiralTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DistanceSpiralTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
StringToLen(DistanceSpiralTxBx.Text, dTemp)
KitMachsLstBx.SelectedItem.dDistanceSpiral = dTemp
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).dDistanceSpiral = dTemp
End If
End Sub
#End Region ' Spirale
Private Sub LiLenTxBx_EgtClosed(sender As Object, e As EventArgs) Handles LiLenTxBx.EgtClosed
Dim dTemp As Double = 0
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
@@ -616,11 +731,11 @@ Public Class PolishingsPageUC
End Sub
Private Sub ToolCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
If Not IsNothing( KitMachsLstBx.SelectedItem) Then
If Not IsNothing(KitMachsLstBx.SelectedItem) Then
m_OldItem.KitMachList(KitMachsLstBx.SelectedItem.nId - 1).SelTool = KitMachsLstBx.SelectedItem.SelTool
If KitMachsLstBx.SelectedItem.SelTool >= 0 then
KitMachsLstBx.SelectedItem.sToolName = m_ToolList( KitMachsLstBx.SelectedItem.SelTool)
KitMachsLstBx.SelectedItem.sToolUUID = m_ToolUuidList( KitMachsLstBx.SelectedItem.SelTool)
If KitMachsLstBx.SelectedItem.SelTool >= 0 Then
KitMachsLstBx.SelectedItem.sToolName = m_ToolList(KitMachsLstBx.SelectedItem.SelTool)
KitMachsLstBx.SelectedItem.sToolUUID = m_ToolUuidList(KitMachsLstBx.SelectedItem.SelTool)
Else
KitMachsLstBx.SelectedItem.sToolName = "---"
KitMachsLstBx.SelectedItem.sToolUUID = "---"
@@ -630,143 +745,176 @@ Public Class PolishingsPageUC
End If
End Sub
Private Function ReadKitName( nKitIndex As Integer) As String
Private Function ReadKitName(nKitIndex As Integer) As String
' Leggo il nome del kit
Dim sKey As String = K_KIT & nKitIndex.ToString("D2")
Dim sName As String = ""
GetPrivateProfileString( S_HEADER, sKey, "", sName, m_sKitFile)
GetPrivateProfileString(S_HEADER, sKey, "", sName, m_sKitFile)
Return sName
End Function
Private Function ReadKit( nKitIndex As Integer, removeFlag As Boolean, ByRef Kit As Kit) As Boolean
Private Function ReadKit(nKitIndex As Integer, removeFlag As Boolean, ByRef Kit As Kit) As Boolean
' Leggo il nome del kit
Dim sName As String = ReadKitName( nKitIndex)
If String.IsNullOrWhiteSpace( sName) Then Return False
Dim sName As String = ReadKitName(nKitIndex)
If String.IsNullOrWhiteSpace(sName) Then Return False
' Creo il kit
Kit = New Kit( If( removeFlag, nKitIndex - 1, nKitIndex), sName)
Kit = New Kit(If(removeFlag, nKitIndex - 1, nKitIndex), sName)
' Leggo le sue lavorazioni
For nkitMachIndex As Integer = 1 To 100
Dim kmItem As KitMach = Nothing
if ReadKitMach( sName, nkitMachIndex, kmItem) Then
Kit.AddKitMach( kmItem)
If ReadKitMach(sName, nkitMachIndex, kmItem) Then
Kit.AddKitMach(kmItem)
Else
Exit For
End If
Next
' Se non sono state trovate lavorazioni, ne aggiungo una standard
If Kit.KitMachList.Count() = 0 Then
Kit.AddKitMach( New KitMach( 1))
Kit.AddKitMach(New KitMach(1))
End If
Return True
End Function
Private Function ReadKitMach( sKitName As String, nKitMachIndex As Integer, ByRef kmItem As KitMach) As Boolean
Private Function ReadKitMach(sKitName As String, nKitMachIndex As Integer, ByRef kmItem As KitMach) As Boolean
' Verifico esistenza lavorazione del kit
Dim sSect As String = S_KIT & "." & sKitName
Dim sKeyInd As String = nkitMachIndex.ToString("D2") & "."
Dim sKeyInd As String = nKitMachIndex.ToString("D2") & "."
Dim sName As String = ""
If GetPrivateProfileString( sSect, sKeyInd & K_TOOLNAME, "", sName, m_sKitFile) = 0 Then Return False
If GetPrivateProfileString(sSect, sKeyInd & K_TOOLNAME, "", sName, m_sKitFile) = 0 Then Return False
' Lettura completa
kmItem = New KitMach
kmItem.sToolName = sName
kmItem.nId = nkitMachIndex
GetPrivateProfileString( sSect, sKeyInd & K_TOOL, "", kmItem.sToolUUID, m_sKitFile)
kmItem.bActive = ( GetPrivateProfileInt( sSect, sKeyInd & K_ACTIVE, 0, m_sKitFile) = 1)
kmItem.nId = nKitMachIndex
GetPrivateProfileString(sSect, sKeyInd & K_TOOL, "", kmItem.sToolUUID, m_sKitFile)
kmItem.bActive = (GetPrivateProfileInt(sSect, sKeyInd & K_ACTIVE, 0, m_sKitFile) = 1)
kmItem.nContour = GetPrivateProfileInt(sSect, sKeyInd & K_CONTOUR, 0, m_sKitFile)
kmItem.dOffsetCnt = GetPrivateProfileInt(sSect, sKeyInd & K_OFFSETCNT, 0, m_sKitFile)
kmItem.dOffsetCnt = GetPrivateProfileDouble(sSect, sKeyInd & K_OFFSETCNT, 0, m_sKitFile)
kmItem.nZigZagX = GetPrivateProfileInt(sSect, sKeyInd & K_ZIGZAGX, 0, m_sKitFile)
kmItem.dOffZigZagX = GetPrivateProfileInt(sSect, sKeyInd & K_OFFZIGZAGX, 0, m_sKitFile)
kmItem.dOffZigZagX = GetPrivateProfileDouble(sSect, sKeyInd & K_OFFZIGZAGX, 0, m_sKitFile)
kmItem.dStepX = GetPrivateProfileDouble(sSect, sKeyInd & K_STEPX, 0, m_sKitFile)
kmItem.dRadiusX = GetPrivateProfileDouble(sSect, sKeyInd & K_RADIUSX, 0, m_sKitFile)
kmItem.dDistanceX = GetPrivateProfileDouble(sSect, sKeyInd & K_DISTANCEX, 0, m_sKitFile)
kmItem.nZigZagY = GetPrivateProfileInt(sSect, sKeyInd & K_ZIGZAGY, 0, m_sKitFile)
kmItem.dOffZigZagY = GetPrivateProfileInt(sSect, sKeyInd & K_OFFZIGZAGY, 0, m_sKitFile)
kmItem.dStepY = GetPrivateProfileDouble( sSect, sKeyInd & K_STEPY, 0, m_sKitFile)
kmItem.dLiLen = GetPrivateProfileDouble( sSect, sKeyInd & K_LILEN, 0, m_sKitFile)
kmItem.dLiHeight = GetPrivateProfileDouble( sSect, sKeyInd & K_LIHEIGHT, 0, m_sKitFile)
kmItem.dLiLoad = GetPrivateProfileDouble( sSect, sKeyInd & K_LILOAD, 0, m_sKitFile)
kmItem.dOffZigZagY = GetPrivateProfileDouble(sSect, sKeyInd & K_OFFZIGZAGY, 0, m_sKitFile)
kmItem.dStepY = GetPrivateProfileDouble(sSect, sKeyInd & K_STEPY, 0, m_sKitFile)
kmItem.dRadiusY = GetPrivateProfileDouble(sSect, sKeyInd & K_RADIUSY, 0, m_sKitFile)
kmItem.dDistanceY = GetPrivateProfileDouble(sSect, sKeyInd & K_DISTANCEY, 0, m_sKitFile)
kmItem.nSpiral = GetPrivateProfileInt(sSect, sKeyInd & K_SPIRAL, 0, m_sKitFile)
kmItem.dOffSpiral = GetPrivateProfileDouble(sSect, sKeyInd & K_OFFSPIRAL, 0, m_sKitFile)
kmItem.dStepSpiral = GetPrivateProfileDouble(sSect, sKeyInd & K_STEPSPIRAL, 0, m_sKitFile)
kmItem.dRadiusSpiral = GetPrivateProfileDouble(sSect, sKeyInd & K_RADIUSSPIRAL, 0, m_sKitFile)
kmItem.dDistanceSpiral = GetPrivateProfileDouble(sSect, sKeyInd & K_DISTANCESPIRAL, 0, m_sKitFile)
kmItem.dLiLen = GetPrivateProfileDouble(sSect, sKeyInd & K_LILEN, 0, m_sKitFile)
kmItem.dLiHeight = GetPrivateProfileDouble(sSect, sKeyInd & K_LIHEIGHT, 0, m_sKitFile)
kmItem.dLiLoad = GetPrivateProfileDouble(sSect, sKeyInd & K_LILOAD, 0, m_sKitFile)
Return True
End Function
Friend Function WriteKitName( nKitIndex As Integer, sKitName As String) As Boolean
Friend Function WriteKitName(nKitIndex As Integer, sKitName As String) As Boolean
Dim sKey As String = K_KIT & nKitIndex.ToString("D2")
Return WritePrivateProfileString( S_HEADER, sKey, sKitName, m_sKitFile)
Return WritePrivateProfileString(S_HEADER, sKey, sKitName, m_sKitFile)
End Function
Private Function WriteKitMach( nKitIndex As Integer, nKitMachIndex As Integer, kmItem As KitMach) As Boolean
Private Function WriteKitMach(nKitIndex As Integer, nKitMachIndex As Integer, kmItem As KitMach) As Boolean
' Leggo il nome del kit
Dim sKitName As String = ReadKitName( nKitIndex)
If String.IsNullOrWhiteSpace( sKitName) Then Return False
Dim sKitName As String = ReadKitName(nKitIndex)
If String.IsNullOrWhiteSpace(sKitName) Then Return False
' Sezione
Dim sSect As String = S_KIT & "." & sKitName
' Indice
Dim sKeyInd As String = nKitMachIndex.ToString("D2") & "."
' Scrivo i dati della lavorazione
If Not IsNothing( kmItem) Then
WritePrivateProfileString( sSect, sKeyInd & K_TOOL, kmItem.sToolUUID, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_TOOLNAME, kmItem.sToolName, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_ACTIVE, If( kmItem.bActive, "1", "0"), m_sKitFile)
If Not IsNothing(kmItem) Then
WritePrivateProfileString(sSect, sKeyInd & K_TOOL, kmItem.sToolUUID, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_TOOLNAME, kmItem.sToolName, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ACTIVE, If(kmItem.bActive, "1", "0"), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_CONTOUR, kmItem.nContour.ToString(), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFSETCNT, kmItem.dOffsetCnt.ToString(), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFSETCNT, DoubleToString(kmItem.dOffsetCnt, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ZIGZAGX, kmItem.nZigZagX.ToString(), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGX, kmItem.dOffZigZagX.ToString(), m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_STEPX, DoubleToString( kmItem.dStepX, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGX, DoubleToString(kmItem.dOffZigZagX.ToString, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPX, DoubleToString(kmItem.dStepX, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSX, DoubleToString(kmItem.dRadiusX, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCEX, DoubleToString(kmItem.dDistanceX, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ZIGZAGY, kmItem.nZigZagY.ToString(), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGY, kmItem.dOffZigZagY.ToString(), m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_STEPY, DoubleToString( kmItem.dStepY, 3), m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LILEN, DoubleToString( kmItem.dLiLen, 3), m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LIHEIGHT, DoubleToString( kmItem.dLiHeight, 3), m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LILOAD, DoubleToString( kmItem.dLiLoad, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGY, DoubleToString(kmItem.dOffZigZagY, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPY, DoubleToString(kmItem.dStepY, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSY, DoubleToString(kmItem.dRadiusY, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCEY, DoubleToString(kmItem.dDistanceY, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_SPIRAL, kmItem.nSpiral.ToString(), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFSPIRAL, DoubleToString(kmItem.dOffSpiral.ToString, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPSPIRAL, DoubleToString(kmItem.dStepSpiral, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSSPIRAL, DoubleToString(kmItem.dRadiusSpiral, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCESPIRAL, DoubleToString(kmItem.dDistanceSpiral, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LILEN, DoubleToString(kmItem.dLiLen, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LIHEIGHT, DoubleToString(kmItem.dLiHeight, 3), m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LILOAD, DoubleToString(kmItem.dLiLoad, 3), m_sKitFile)
Else
WritePrivateProfileString( sSect, sKeyInd & K_TOOL, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_TOOLNAME, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_ACTIVE, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_TOOL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_TOOLNAME, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ACTIVE, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_CONTOUR, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFSETCNT, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ZIGZAGX, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGX, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_STEPX, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPX, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSX, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCEX, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_ZIGZAGY, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFZIGZAGY, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_STEPY, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LILEN, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LIHEIGHT, Nothing, m_sKitFile)
WritePrivateProfileString( sSect, sKeyInd & K_LILOAD, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPY, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSY, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCEY, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_SPIRAL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_OFFSPIRAL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_STEPSPIRAL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_RADIUSSPIRAL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_DISTANCESPIRAL, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LILEN, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LIHEIGHT, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, sKeyInd & K_LILOAD, Nothing, m_sKitFile)
End If
Return True
End Function
Private Function EraseKit( nKitIndex As Integer) As Boolean
Private Function EraseKit(nKitIndex As Integer) As Boolean
' Leggo il nome del kit
Dim sKitName As String = ReadKitName( nKitIndex)
If String.IsNullOrWhiteSpace( sKitName) Then Return False
Dim sKitName As String = ReadKitName(nKitIndex)
If String.IsNullOrWhiteSpace(sKitName) Then Return False
' Lo elimino dalla lista dei kit scalando tutti di una posizione e eliminando l'ultimo
Dim nNextKitIndex As Integer = nKitIndex + 1
Dim sNextKitName As String = ReadKitName( nNextKitIndex)
while Not String.IsNullOrWhiteSpace( sNextKitName)
WriteKitName( nNextKitIndex - 1, sNextKitName)
Dim sNextKitName As String = ReadKitName(nNextKitIndex)
While Not String.IsNullOrWhiteSpace(sNextKitName)
WriteKitName(nNextKitIndex - 1, sNextKitName)
nNextKitIndex += 1
sNextKitName = ReadKitName( nNextKitIndex)
sNextKitName = ReadKitName(nNextKitIndex)
End While
WriteKitName( nNextKitIndex - 1, Nothing)
WriteKitName(nNextKitIndex - 1, Nothing)
' Sezione
Dim sSect As String = S_KIT & "." & sKitName
' Cancello tutte le lavorazioni del kit
WritePrivateProfileString( sSect, Nothing, Nothing, m_sKitFile)
WritePrivateProfileString(sSect, Nothing, Nothing, m_sKitFile)
Return True
End Function
Private Function EraseKitMach( nKitIndex As Integer, nKitMachIndex As Integer) As Boolean
Private Function EraseKitMach(nKitIndex As Integer, nKitMachIndex As Integer) As Boolean
' Leggo il nome del kit
Dim sKitName As String = ReadKitName( nKitIndex)
If String.IsNullOrWhiteSpace( sKitName) Then Return False
Dim sKitName As String = ReadKitName(nKitIndex)
If String.IsNullOrWhiteSpace(sKitName) Then Return False
' Lo elimino dali KitMach scalando tutti di una posizione e eliminando l'ultimo
Dim kmCurr As KitMach = Nothing
Dim nNextKitMachIndex As Integer = nKitMachIndex + 1
While ReadKitMach( sKitName, nNextKitMachIndex, kmCurr)
While ReadKitMach(sKitName, nNextKitMachIndex, kmCurr)
kmCurr.nId = nNextKitMachIndex - 1
WriteKitMach( nKitIndex, nNextKitMachIndex - 1, kmCurr)
WriteKitMach(nKitIndex, nNextKitMachIndex - 1, kmCurr)
nNextKitMachIndex += 1
End While
WriteKitMach( nKitIndex, nNextKitMachIndex - 1, Nothing)
WriteKitMach(nKitIndex, nNextKitMachIndex - 1, Nothing)
Return True
End Function
@@ -804,7 +952,7 @@ Class Kit
Get
Return m_nId
End Get
Set( value As Integer)
Set(value As Integer)
m_nId = value
End Set
End Property
@@ -824,7 +972,7 @@ Class Kit
End Set
End Property
Sub New( nId As Integer, sName As String)
Sub New(nId As Integer, sName As String)
m_nId = nId
m_sName = sName
@@ -832,21 +980,21 @@ Class Kit
End Sub
Sub New( nId As Integer, sName As String, kitSou As Kit)
Sub New(nId As Integer, sName As String, kitSou As Kit)
m_nId = nId
m_sName = sName
m_KitMachList = New List(Of KitMach)
If IsNothing( kitSou) Then Return
If IsNothing(kitSou) Then Return
For Each kmItem As KitMach In kitSou.m_KitMachList
AddKitMach( kmItem)
AddKitMach(kmItem)
Next
End Sub
Sub AddKitMach( kitMachItem As KitMach)
Sub AddKitMach(kitMachItem As KitMach)
m_KitMachList.Add(kitMachItem)
End Sub
@@ -862,15 +1010,29 @@ Class KitMach
Private m_sToolName As String
Private m_SelTool As Integer
Friend Shared m_ToolList As List(Of String)
Private m_bActive As Boolean
Private m_nContour As Integer
Private m_dOffsetCnt As Double
Private m_nZigZagX As Integer
Private m_dStepX As Double
Private m_dOffZigZagX As Double
Private m_dRadiusX As Double
Private m_dDistanceX As Double
Private m_nZigZagY As Integer
Private m_dStepY As Double
Private m_dOffZigZagY As Double
Private m_dRadiusY As Double
Private m_dDistanceY As Double
Private m_nSpiral As Integer
Private m_dOffSpiral As Double
Private m_dStepSpiral As Double
Private m_dRadiusSpiral As Double
Private m_dDistanceSpiral As Double
Private m_dLiLen As Double
Private m_dLiHeight As Double
Private m_dLiLoad As Double
@@ -958,6 +1120,8 @@ Class KitMach
End Set
End Property
#Region "Contorno"
Public m_IsModifiedActive As Boolean = False
Public Property bActive As Boolean
Get
@@ -985,11 +1149,11 @@ Class KitMach
End Property
Public m_IsModifiedOffCnt As Boolean = False
Public Property dOffsetCnt As Integer
Public Property dOffsetCnt As Double
Get
Return m_dOffsetCnt
End Get
Set(value As Integer)
Set(value As Double)
If value <> m_dOffsetCnt Then
m_dOffsetCnt = value
m_IsModifiedOffCnt = True
@@ -997,6 +1161,10 @@ Class KitMach
End Set
End Property
#End Region ' Contorno
#Region "ZigZag X"
Public m_IsModifiedZigZagX As Boolean = False
Public Property nZigZagX As Integer
Get
@@ -1011,11 +1179,11 @@ Class KitMach
End Property
Public m_IsModifiedOffZigZagX As Boolean = False
Public Property dOffZigZagX As Integer
Public Property dOffZigZagX As Double
Get
Return m_dOffZigZagX
End Get
Set(value As Integer)
Set(value As Double)
If value <> m_dOffZigZagX Then
m_dOffZigZagX = value
m_IsModifiedOffZigZagX = True
@@ -1036,6 +1204,36 @@ Class KitMach
End Set
End Property
Public m_IsModifiedRadiusX As Boolean = False
Public Property dRadiusX As Double
Get
Return m_dRadiusX
End Get
Set(value As Double)
If value <> m_dRadiusX Then
m_dRadiusX = value
m_IsModifiedRadiusX = True
End If
End Set
End Property
Public m_IsModifiedDistanceX As Boolean = False
Public Property dDistanceX As Double
Get
Return m_dDistanceX
End Get
Set(value As Double)
If value <> m_dDistanceX Then
m_dDistanceX = value
m_IsModifiedDistanceX = True
End If
End Set
End Property
#End Region ' ZigZag X
#Region "ZigZag Y"
Public m_IsModifiedZigZagY As Boolean = False
Public Property nZigZagY As Integer
Get
@@ -1050,11 +1248,11 @@ Class KitMach
End Property
Public m_IsModifiedOffZigZagY As Boolean = False
Public Property dOffZigZagY As Integer
Public Property dOffZigZagY As Double
Get
Return m_dOffZigZagY
End Get
Set(value As Integer)
Set(value As Double)
If value <> m_dOffZigZagY Then
m_dOffZigZagY = value
m_IsModifiedOffZigZagY = True
@@ -1075,6 +1273,105 @@ Class KitMach
End Set
End Property
Public m_IsModifiedRadiusY As Boolean = False
Public Property dRadiusY As Double
Get
Return m_dRadiusY
End Get
Set(value As Double)
If value <> m_dRadiusY Then
m_dRadiusY = value
m_IsModifiedRadiusY = True
End If
End Set
End Property
Public m_IsModifiedDistanceY As Boolean = False
Public Property dDistanceY As Double
Get
Return m_dDistanceY
End Get
Set(value As Double)
If value <> m_dDistanceY Then
m_dDistanceY = value
m_IsModifiedDistanceY = True
End If
End Set
End Property
#End Region ' ZigZag Y
#Region "Spirale"
Public m_IsModifiedSpiral As Boolean = False
Public Property nSpiral As Integer
Get
Return m_nSpiral
End Get
Set(value As Integer)
If value <> m_nSpiral Then
m_nSpiral = value
m_IsModifiedSpiral = True
End If
End Set
End Property
Public m_IsModifiedOffSpiral As Boolean = False
Public Property dOffSpiral As Double
Get
Return m_dOffSpiral
End Get
Set(value As Double)
If value <> m_dOffSpiral Then
m_dOffSpiral = value
m_IsModifiedOffSpiral = True
End If
End Set
End Property
Public m_IsModifiedStepSpiral As Boolean = False
Public Property dStepSpiral As Double
Get
Return m_dStepSpiral
End Get
Set(value As Double)
If value <> m_dStepSpiral Then
m_dStepSpiral = value
m_IsModifiedStepSpiral = True
End If
End Set
End Property
Public m_IsModifiedRadiusSpiral As Boolean = False
Public Property dRadiusSpiral As Double
Get
Return m_dRadiusSpiral
End Get
Set(value As Double)
If value <> m_dRadiusSpiral Then
m_dRadiusSpiral = value
m_IsModifiedRadiusSpiral = True
End If
End Set
End Property
Public m_IsModifiedDistanceSpiral As Boolean = False
Public Property dDistanceSpiral As Double
Get
Return m_dDistanceSpiral
End Get
Set(value As Double)
If value <> m_dDistanceSpiral Then
m_dDistanceSpiral = value
m_IsModifiedDistanceSpiral = True
End If
End Set
End Property
#End Region ' Spirale
#Region "Parametri lavorazione"
Public m_IsModifiedLiLen As Boolean = False
Public Property dLiLen As Double
Get
@@ -1114,6 +1411,8 @@ Class KitMach
End Set
End Property
#End Region ' Parametri lavorazione
Sub New()
m_nId = 0
m_SelTool = 0
@@ -1125,15 +1424,24 @@ Class KitMach
m_nZigZagX = 0
m_dOffZigZagX = 0
m_dStepX = 0
m_dRadiusX = 0
m_dDistanceX = 0
m_nZigZagY = 0
m_dOffZigZagY = 0
m_dStepY = 0
m_dRadiusY = 0
m_dDistanceY = 0
m_nSpiral = 0
m_dOffSpiral = 0
m_dStepSpiral = 0
m_dRadiusSpiral = 0
m_dDistanceSpiral = 0
m_dLiLen = 0
m_dLiHeight = 0
m_dLiLoad = 0
End Sub
Sub New( nId As Integer)
Sub New(nId As Integer)
m_nId = nId
m_SelTool = 0
m_sToolUUID = "---"
@@ -1144,17 +1452,26 @@ Class KitMach
m_nZigZagX = 0
m_dOffZigZagX = 0
m_dStepX = 0
m_dRadiusX = 0
m_dDistanceX = 0
m_nZigZagY = 0
m_dOffZigZagY = 0
m_dStepY = 0
m_dRadiusY = 0
m_dDistanceY = 0
m_nSpiral = 0
m_dOffSpiral = 0
m_dStepSpiral = 0
m_dRadiusSpiral = 0
m_dDistanceSpiral = 0
m_dLiLen = 0
m_dLiHeight = 0
m_dLiLoad = 0
End Sub
Sub New( kmSou As KitMach)
Sub New(kmSou As KitMach)
m_nId = kmSou.nId
m_SelTool = kmSou.selTool
m_SelTool = kmSou.SelTool
m_sToolUUID = kmSou.sToolUUID
m_sToolName = kmSou.sToolName
m_bActive = kmSou.bActive
@@ -1163,9 +1480,18 @@ Class KitMach
m_nZigZagX = kmSou.nZigZagX
m_dOffZigZagX = kmSou.dOffZigZagX
m_dStepX = kmSou.dStepX
m_dRadiusX = kmSou.dRadiusX
m_dDistanceX = kmSou.dDistanceX
m_nZigZagY = kmSou.nZigZagY
m_dOffZigZagY = kmSou.dOffZigZagY
m_dStepY = kmSou.dStepY
m_dRadiusY = kmSou.dRadiusY
m_dDistanceY = kmSou.dDistanceY
m_nSpiral = kmSou.nSpiral
m_dOffSpiral = kmSou.dOffSpiral
m_dStepSpiral = kmSou.dStepSpiral
m_dRadiusSpiral = kmSou.dRadiusSpiral
m_dDistanceSpiral = kmSou.dDistanceSpiral
m_dLiLen = kmSou.dLiLen
m_dLiHeight = kmSou.dLiHeight
m_dLiLoad = kmSou.m_dLiLoad
+6 -4
View File
@@ -323,8 +323,8 @@ Class MainWindow
' Verifico abilitazione nesting automatico
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2312, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2312, 1, m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2401, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2401, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
' Inizializzazione generale di EgtInterface
@@ -567,6 +567,7 @@ Class MainWindow
Private Sub WorkInProgressBtn_Click(sender As Object, e As RoutedEventArgs) Handles WorkInProgressBtn.Click
m_CurrentProjectPageUC.m_SceneButtons.MeasureBtn.IsChecked = False
' disbilito Test
TestOff()
Select Case m_ActivePage
@@ -1140,7 +1141,7 @@ Class MainWindow
' Aggiorno interfaccia
CadCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FRAMES)
FrameCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FLATS) AndAlso (EgtGetHeadId("H1") <> GDB_ID.NULL)
DirectCutBtn.IsEnabled = (EgtGetHeadId("H1") <> GDB_ID.NULL)
' DirectCutBtn.IsEnabled = (EgtGetHeadId("H1") <> GDB_ID.NULL)
End Sub
' Nomi dei file per OmagVIEW
@@ -1885,8 +1886,9 @@ Class MainWindow
' deseleziono gli oggetti e spengo il bottone
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
EgtResetMark(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
m_CadCutPageUC.m_ProjectMgr.TestBtn.IsChecked = False
m_CurrentProjectPageUC.m_bSelectCurv = False
Me.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
End Sub
End Class
+2 -2
View File
@@ -62,5 +62,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.4.1.1")>
<Assembly: AssemblyFileVersion("2.4.1.1")>
<Assembly: AssemblyVersion("2.4.2.1")>
<Assembly: AssemblyFileVersion("2.4.2.1")>
+3
View File
@@ -1238,6 +1238,9 @@
<ItemGroup>
<Resource Include="Resources\NewIcons\Acquisisci-P.png" />
</ItemGroup>
<ItemGroup>
<Resource Include="Resources\Spiral.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
+1 -1
View File
@@ -18,7 +18,7 @@ Class CicloStartWD
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
' imopposto il messaggio di avvio
CicloStartTxbl.Text = "Avvio Ciclo-Start"
CicloStartTxbl.Text = EgtMsg(91130) ' Esegui programma?
End Sub
' creo un progetto nuovo
+5 -10
View File
@@ -6,7 +6,6 @@ Imports EgtWPFLib5
Public Class CurrentProjectPageUC
' Dichiarazione eventi
Friend Event OnMouseDownSceneSelCurv(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
@@ -24,8 +23,8 @@ Public Class CurrentProjectPageUC
' Dati del grezzo
Friend m_nRawId As Integer = GDB_ID.NULL
Friend m_dRawHeight As Double
' pagina impostata per selezionare una lavorazione
Friend m_bSelectCurv As Boolean = False
'' Flag per impostata per selezionare di una curva
'Friend m_bSelectCurv As Boolean = False
' Costanti tipo progetto
Friend Enum PRJ_TYPE As Integer
EMPTY = 0
@@ -50,7 +49,7 @@ Public Class CurrentProjectPageUC
m_MainWindow.m_FrameCutPageUC.SetValue(Grid.ColumnSpanProperty, 2)
'Assegno SceneButtons alla pagina
UpperButtonGrid.Children.Add(m_SceneButtons)
Me.UpperButtonGrid.Children.Add(m_SceneButtons)
'Assegnazione scena all'host e posizionamento nella PlacePageGrid
CurrentProjectSceneHost.Child = CurrentProjectScene
@@ -67,6 +66,7 @@ Public Class CurrentProjectPageUC
End Sub
Private Sub CurrentProjectPage_Loaded(sender As Object, e As RoutedEventArgs)
' Impostazioni MruLists: carico la lista degli ultimi file caricati/aperti
m_MruFiles.Init(S_MRUFILES, 8)
If m_bFirst Then
@@ -328,12 +328,7 @@ Public Class CurrentProjectPageUC
End Sub
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseDownScene
If m_bSelectCurv Then
RaiseEvent OnMouseDownSceneSelCurv(sender, e)
Else
RaiseEvent OnMouseDownScene(sender, e)
End If
RaiseEvent OnMouseDownScene(sender, e)
End Sub
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene
+6 -4
View File
@@ -33,6 +33,7 @@ Public Class ProjectMgrUC
End Sub
Private Sub ProjectMgrUC_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Impostazioni
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
m_CurrMachine = m_MainWindow.m_CurrentMachine
@@ -269,6 +270,7 @@ Public Class ProjectMgrUC
End If
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
m_MainWindow.m_ActivePage = MainWindow.Pages.Simulation
End Sub
Private Sub WorkBtn_Click(sender As Object, e As RoutedEventArgs) Handles WorkBtn.Click
@@ -276,7 +278,7 @@ Public Class ProjectMgrUC
m_CurrProjPage.SetWarningMessage("Trial Version")
#Else
' se sono in modalità Test allora eseguo solo il posizionamento della lama
If m_CurrProjPage.m_bSelectCurv Then
If m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv Then
' Verifico non sia versione Ufficio
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
m_CurrProjPage.SetWarningMessage("Office Version")
@@ -336,7 +338,7 @@ Public Class ProjectMgrUC
' verifica assi lineari
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
If nStat <> 0 Then
vtDirT = - vtDirT
vtDirT = -vtDirT
ptMid -= vtDirT * dThick
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
@@ -736,11 +738,11 @@ Public Class ProjectMgrUC
Private Sub TestBtn_Click(sender As Object, e As RoutedEventArgs) Handles TestBtn.Click
If TestBtn.IsChecked Then
m_CurrProjPage.m_bSelectCurv = True
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = True
' deseleziono tutto
EgtDeselectAll()
Else
m_CurrProjPage.m_bSelectCurv = False
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
End If
+14 -4
View File
@@ -4,7 +4,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="85.3" d:DesignWidth="597.1">
d:DesignHeight="85.3">
<!-- Definizione del controllo SceneButton -->
<Grid Name="SceneButtonsGrid">
@@ -16,7 +16,9 @@
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<ToggleButton Name="MeasureBtn" Grid.Column="0" Style="{DynamicResource OmagCut_RightGrayYellowIconToggleButton}">
<Image Source="{DynamicResource MeasureImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
@@ -39,7 +41,15 @@
<Button Name="TopViewBtn" Grid.Column="6" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Image Source="{DynamicResource LookFromTOPImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
</Grid>
<Button Name="FrontViewBtn" Grid.Column="7" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Image Source="{DynamicResource LookFromTOPImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
<Button Name="LeftViewBtn" Grid.Column="8" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Image Source="{DynamicResource LookFromTOPImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
</Grid>
</UserControl>
+49 -18
View File
@@ -72,25 +72,56 @@ Public Class SceneButtonsUC
EgtSetView(VT.TOP)
End Sub
Private Sub LeftViewBtn_Click(sender As Object, e As RoutedEventArgs) Handles LeftViewBtn.Click
EgtSetView(VT.LEFT)
End Sub
Private Sub FrontViewBtn_Click(sender As Object, e As RoutedEventArgs) Handles FrontViewBtn.Click
EgtSetView(VT.FRONT)
End Sub
Private Function GetCurrScene() As EgtUILib.Scene
Select Case m_MainWindow.m_ActivePage
Case MainWindow.Pages.WorkInProgress
Return m_MainWindow.m_WorkInProgressPageUC.WorkInProgressScene
Case MainWindow.Pages.DirectCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.CadCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.Open
Return m_MainWindow.m_OpenPage.OpenScene
Case MainWindow.Pages.FrameCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.Draw
Return m_MainWindow.m_DrawPageUC.DrawScene
Case MainWindow.Pages.Import
Return m_MainWindow.m_ImportPageUC.ImportScene
Case Else
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
End Select
Select Case m_MainWindow.m_ActivePage
Case MainWindow.Pages.WorkInProgress
Return m_MainWindow.m_WorkInProgressPageUC.WorkInProgressScene
Case MainWindow.Pages.DirectCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.CadCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.Open
Return m_MainWindow.m_OpenPage.OpenScene
Case MainWindow.Pages.FrameCut
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
Case MainWindow.Pages.Draw
Return m_MainWindow.m_DrawPageUC.DrawScene
Case MainWindow.Pages.Import
Return m_MainWindow.m_ImportPageUC.ImportScene
Case Else
Return m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene
End Select
End Function
Sub New(Optional ByVal bActiveViewBtn As Boolean = False)
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
If bActiveViewBtn Then
If Not SceneButtonsGrid.Children.Contains(LeftViewBtn) Then
Dim Row As New RowDefinition
SceneButtonsGrid.RowDefinitions.Add(Row)
SceneButtonsGrid.Children.Add(FrontViewBtn)
SceneButtonsGrid.Children.Add(LeftViewBtn)
End If
Else
If SceneButtonsGrid.Children.Contains(LeftViewBtn) Then
SceneButtonsGrid.Children.RemoveAt(7)
SceneButtonsGrid.Children.RemoveAt(7)
SceneButtonsGrid.Width = 721.2
End If
End If
End Sub
End Class
+21 -11
View File
@@ -263,7 +263,7 @@ Public Class ChooseMachining
If SysNotes <> String.Empty Then
Dim MachiningMaterials() = SysNotes.Split(";".ToCharArray)
SysNotes = String.Empty
If m_CurrentMachine.bWaterJet Then
If m_CurrentMachine.bWaterJet And m_CurrentMachine.bFromDBWaterJet Then
For Each Material As Object In MachiningMaterials
Dim Param() As String = Material.Split(",".ToCharArray)
Dim SubParam() As String = Param(0).Split(".".ToCharArray)
@@ -589,18 +589,24 @@ Public Class ChooseMachining
' verifico che sia stato inserito veramente una lavorazione prima di comunicare una modifica
If CurrMillingCmBx.SelectedItem <> m_CurrentMachine.sCurrWaterJetting Then m_MachIsModified = True
End If
If String.IsNullOrEmpty(CurrWJettingQualityCmBx.SelectedItem) Then
CurrWJettingQualityCmBx.SelectedItem = m_CurrentMachine.sCurrWaterJettingQuality
End If
' verifico che la selezione sia andata a buon fine, altrimenti comunico l'avvenuta modifica
If String.IsNullOrEmpty(CurrWJettingQualityCmBx.SelectedItem) Then
' verifico che sia stato inserito veramente una lavorazione prima di comunicare una modifica
If CurrWJettingQualityCmBx.SelectedItem <> m_CurrentMachine.sCurrWaterJettingQuality Then m_MachIsModified = True
End If
CurrWJettingQualityCmBx.Visibility = Windows.Visibility.Visible
CurrWJettingTxBl.Visibility = Windows.Visibility.Visible
CurrWJettingCmBx.Visibility = Windows.Visibility.Visible
' se DB WaterJet abilitato avrò anche la CmBx della Quality altrimenti espando la CmBx del Waterjetting corrente su tutta la riga
If m_MainWindow.m_CurrentMachine.bFromDBWaterJet Then
CurrWJettingCmBx.SetValue(Grid.ColumnSpanProperty, 1)
If String.IsNullOrEmpty(CurrWJettingQualityCmBx.SelectedItem) Then
CurrWJettingQualityCmBx.SelectedItem = m_CurrentMachine.sCurrWaterJettingQuality
End If
' verifico che la selezione sia andata a buon fine, altrimenti comunico l'avvenuta modifica
If String.IsNullOrEmpty(CurrWJettingQualityCmBx.SelectedItem) Then
' verifico che sia stato inserito veramente una lavorazione prima di comunicare una modifica
If CurrWJettingQualityCmBx.SelectedItem <> m_CurrentMachine.sCurrWaterJettingQuality Then m_MachIsModified = True
End If
CurrWJettingQualityCmBx.Visibility = Windows.Visibility.Visible
Else
CurrWJettingCmBx.SetValue(Grid.ColumnSpanProperty, 3)
CurrWJettingQualityCmBx.Visibility = Windows.Visibility.Collapsed
End If
End If
Me.Height = 42 * m_RowNumber
@@ -633,10 +639,14 @@ Public Class ChooseMachining
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
DialogResult = True
' Aggiorno i parametri dei tagli diretti
m_MainWindow.m_DirectCutPageUC.ReloadParam()
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
DialogResult = False
' Aggiorno i parametri dei tagli diretti
m_MainWindow.m_DirectCutPageUC.ReloadParam()
End Sub
End Class
+1 -1
View File
@@ -167,7 +167,7 @@ Public Class RawPartPageUC
Private Sub RawPartPage_Loaded(sender As Object, e As RoutedEventArgs)
' aggiorno la lista dei materiali
Dim Index As Integer = 1
If m_CurrentMachine.bWaterJet Then
If m_CurrentMachine.bWaterJet And m_CurrentMachine.bFromDBWaterJet Then
m_CurrentMachine.LoadWJMaterial()
End If
Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

+2 -2
View File
@@ -22,9 +22,9 @@
<!-- Definizione della Grid superiore -->
<Grid Name="UpperButtonGrid" Grid.Column="1" Grid.Row="0" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="4*"/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="9*"/>
</Grid.ColumnDefinitions>
<Button Name="MachViewModeBtn" Grid.Column="1"
+12 -1
View File
@@ -5,7 +5,8 @@ Public Class SimulationPageUC
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private m_CurrProjPage As CurrentProjectPageUC
' Dichiarazione delle Page UserControl
Friend m_SceneButtons As SceneButtonsUC
' Funzioni di callback per output in interfaccia da LUA
Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
Private m_OutTextCallback As New OutTextCallback(AddressOf ProcessOutText)
@@ -48,6 +49,12 @@ Public Class SimulationPageUC
End Sub
Private Sub SimulationPage_Initialized(sender As Object, e As EventArgs)
'Creazione delle Page UserControl
m_SceneButtons = New SceneButtonsUC(True)
'Posizionemento nella griglia delle Page UserControl
m_SceneButtons.SetValue(Grid.ColumnProperty, 5)
' Impostazioni box stime
m_bEstim = (GetPrivateProfileInt(S_MACH_ESTIMATIONS, K_ENABLEEST, 0, m_MainWindow.GetMachIniFile()) <> 0)
If Not m_bEstim Then EstimGrid.Visibility = Windows.Visibility.Hidden
@@ -74,12 +81,16 @@ Public Class SimulationPageUC
StopBtn.SetValue(Grid.RowProperty, 4)
SpeedSlider.SetValue(Grid.RowProperty, 5)
End If
Me.UpperButtonGrid.Children.Add(m_SceneButtons)
' Pulsante Play
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
End Sub
Private Sub SimulationPage_Loaded(sender As Object, e As RoutedEventArgs)
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
Dim bOk As Boolean = True
' Elimino eventuale attrezzaggio da OmagOFFICE
EgtEraseCurrSetup()
+2 -2
View File
@@ -17,9 +17,9 @@
<Grid Name="UpperButtonsGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="9*"/>
</Grid.ColumnDefinitions>
<Button Name="MachViewModeBtn" Grid.Column="1"
+1 -1
View File
@@ -31,7 +31,7 @@ Public Class WorkInProgressPageUC
Private Sub WorkInProgressPage_Initialized(sender As Object, e As EventArgs)
' Creazione delle Page UserControl
m_SceneButtons = New SceneButtonsUC
m_SceneButtons = New SceneButtonsUC(True)
m_MachineButtons = New MachineButtonsUC
' Posizionemento nella griglia dei bottoni di vista