Compare commits

...

34 Commits

Author SHA1 Message Date
NicolaP 4432893794 Gestione definizione qualità nella pagina split 2022-12-28 19:25:59 +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 a7d7c66e2b Migliorata gestione uscita dalla pagina DirecCUT 2022-12-15 18:23:02 +01:00
NicolaP 7bb35e4694 Nascondo la visualizzazione macchina in Squaring 2022-12-15 18:07:21 +01:00
NicolaP 65e72391d8 Gestione di due oagine per tagli diretti 2022-12-15 16:27:35 +01:00
NicolaP 32e4d6d76b Inizio gestione nuova UC per tagli diretti 2022-12-14 20:30:49 +01:00
NicolaP 59b9354551 Gestione rientra da simulazione 2022-12-14 16:55:50 +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 a6457ece76 Iniziato creazione UserControl per bottoni TAGLI DIRETTI 2022-12-07 16:39:41 +01:00
NicolaP e93c4e41a3 Merge remote-tracking branch 'origin/HEAD' into develop 2022-11-24 20:30:05 +01:00
NicolaP abaf1ac3a8 Costruzione pagina per detensionamento 2022-11-24 20:29:37 +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
NicolaP 4e0d362b36 Gestione comunicazione errori nel programma. 2022-11-21 10:57:50 +01:00
NicolaP 1afdc8551f Merge commit 'd17cd8d2d81400a42720871a91979d9d2f43cda0' into develop 2022-11-21 10:34:56 +01:00
NicolaP d17cd8d2d8 Cambio versione 2.4k2 2022-11-21 10:34:22 +01:00
NicolaP cc11ab463f Merge branch 'develop' 2022-11-21 10:32:54 +01:00
NicolaP d322dc192d Merge branch 'Features/Btn_Exec_Lua' into develop 2022-11-21 10:32:40 +01:00
NicolaP 29eae5517a Merge branch 'develop' 2022-11-03 19:33:27 +01:00
33 changed files with 2409 additions and 988 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*"/>
+41
View File
@@ -1,6 +1,7 @@
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib
Imports System.Collections.ObjectModel
Public Class EditValueWD
@@ -8,13 +9,27 @@ 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
' 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 SetVal( dVal As Double) As Boolean
m_sValue = DoubleToString( dVal, 3)
ValueTxBx.Text = m_sValue
@@ -27,10 +42,36 @@ Public Class EditValueWD
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
+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>
+126 -74
View File
@@ -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
@@ -1958,7 +2006,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 +2018,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 +2080,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 +2200,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 +2231,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 +2265,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 +2348,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 +2390,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 +2444,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 +2505,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 +2517,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
+11 -4
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,6 +539,13 @@ Module VacuumCups
Return dDist
End Function
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
' assegante 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
+2
View File
@@ -328,6 +328,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
+177
View File
@@ -0,0 +1,177 @@
<UserControl x:Class="ControlsDirectCutUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="Self"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:OmagCUT="clr-namespace:OmagCUT"
xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
mc:Ignorable="d"
d:DesignHeight="597.3" d:DesignWidth="256">
<Grid Name="LeftButtonGrid" Grid.Row="1" >
<Grid.RowDefinitions>
<!--<RowDefinition Height="1*"/>
<RowDefinition Height="7*"/>-->
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<!-- Definizione della Grid laterale -->
<Grid Name="CutTypeGrid" Grid.Row="1" >
<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*"/>
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
<Button Name="ManualBtn" Grid.Column="2" Grid.Row="0"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Movimento-manualeImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="ManualTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="SingleCutBtn" Grid.Row="1"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Taglio-singoloImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SingleCutTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="MultipleCutBtn" Grid.Row="2"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Taglio-multiploImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="MultipleCutTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="GridCutBtn" Grid.Row="3"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Taglio-grigliaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="GridCutTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="SingleDrillBtn" Grid.Row="4"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Foro-singoloImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SingleDrillTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="FlatteningCutBtn" Grid.Row="5"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource SpianaturaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="FlatteningCutTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<!--<Button Name="PolishingBtn" Grid.Row="6"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource LucidaturaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="PolishingTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>-->
<!--<Button Name="CopyTemplateBtn" Grid.Row="7"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="CopyTemplateTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>-->
<Button Name="SquaringBtn" Grid.Row="6"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SquaringTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<!--<Button Name="SawTestBtn" Grid.Row="6"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Test-lamaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SawTestTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>-->
<Grid Name="ChangeUCGrid" Grid.Row="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Name="ChangeUCBtn" Grid.ColumnSpan="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<!--<Image Name="ImageCompo9" Source="{DynamicResource NumericKeyboardArrowImg}" />-->
<TextBlock Name="ChangeUCTxBl" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
</Grid>
</Grid>
</Grid>
</UserControl>
+262
View File
@@ -0,0 +1,262 @@
Imports EgtUILib
Public Class ControlsDirectCutUC
' Dichiarazione delle Page UserControl
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
' ---- MAI USATA ---- nuova finestra per i comandi per il taglio manuale nuovo
Friend m_SingleCutAuto As SingleCutAuto
' ---- MAI USATA ----
Friend m_MachineButtons As MachineButtonsUC
Friend m_ManualAxesMove As ManualAxesMoveUC
Friend m_SingleCut As SingleCutUC
Friend m_SingleDrill As SingleDrillUC
Friend m_MultipleCut As MultipleCut
Friend m_GridCut As GridCut
Friend m_FlatteningCut As FlatteningCut
Friend m_Squaring As SquaringUC
Friend m_ControlsMachineButton As ControlsMachineButtonUC
Friend m_VacuumMachineButton As VacuumMachineButtonUC
Friend m_ControlDirectCutPage1 As ControlsDirectCutUC1
' Stato di visualizzazione della macchina
Friend m_bShowMachine As Boolean = False
Friend m_nMachLook As Integer = MCH_LOOK.ALL
' Dati generali CN
Friend m_CN As CN_generico
Private m_bFirst As Boolean = True
' Riferimento alla pagina correntemente attiva
Friend m_ActiveDirectCutPage As DirectCutPages = DirectCutPages.DirectCut
' Variabili che indicano attivazione paginette con bottoni macchina
Private m_ControlsBtn_IsActive As Boolean
Public Shared m_dZSafe As Double = 52
' Variabile che indica se sono attivi i bottoni macchina nuovi o vecchi
Friend m_NewMachineButtonsType As Boolean
' Indica che la finestra del talio Singolo deve essere di tipo manuale
Friend m_bManulaCut As Boolean = False
' elenco dei nuovi bottoni
Private m_ButtonJogList As New List(Of MachineButton)
Enum DirectCutPages
' pagina principale di tagli diretti
DirectCut
' nuova pagina di tagli diretti
DirectCut1
' elenco dei comandi associati
ManualAxesMove
SingleCut
MultipleCut
GridCut
FlatteningCut
Polishing
CopyTemplate
SawTest
SingleCutAuto
SingleDrill
Squaring
End Enum
Private Sub ControlsDirectCutUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' leggo la configurazione del programma per i nuovi tagli manuali
m_bManulaCut = GetPrivateProfileInt(S_GENERAL, K_MANUAL_CUT, 0, m_MainWindow.GetIniFile()) <> 0
'Creazione delle Page UserControl
m_MachineButtons = New MachineButtonsUC
m_ManualAxesMove = New ManualAxesMoveUC
m_SingleCut = New SingleCutUC
m_SingleDrill = New SingleDrillUC
m_MultipleCut = New MultipleCut
m_GridCut = New GridCut
m_FlatteningCut = New FlatteningCut
m_Squaring = New SquaringUC
m_ControlsMachineButton = New ControlsMachineButtonUC
m_VacuumMachineButton = New VacuumMachineButtonUC
' reiferimento alla pagina succesiva
m_ControlDirectCutPage1 = New ControlsDirectCutUC1
' Costruisco la finestra per il nuovo tipo di taglio manuale
m_SingleCutAuto = New SingleCutAuto
'Posizionemento nella griglia delle Page UserControl DirectCutPageUC
m_MachineButtons.SetValue(Grid.RowProperty, 2)
m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 7)
m_ManualAxesMove.SetValue(Grid.RowProperty, 1)
If m_bManulaCut Then
m_SingleCutAuto.SetValue(Grid.RowProperty, 1)
Else
m_SingleCut.SetValue(Grid.RowProperty, 1)
End If
m_SingleDrill.SetValue(Grid.RowProperty, 1)
m_MultipleCut.SetValue(Grid.RowProperty, 1)
m_GridCut.SetValue(Grid.RowProperty, 1)
m_FlatteningCut.SetValue(Grid.RowProperty, 1)
m_Squaring.SetValue(Grid.RowProperty, 1)
m_ControlsMachineButton.SetValue(Grid.RowProperty, 1)
m_VacuumMachineButton.SetValue(Grid.RowProperty, 1)
' ManualBtn.Content = EgtMsg(90201)
ManualTxt.Text = EgtMsg(90201)
'SingleCutBtn.Content = EgtMsg(90202)
SingleCutTxt.Text = EgtMsg(90202)
'SingleDrillBtn.Content = "Foro singolo"
SingleDrillTxt.Text = EgtMsg(90258)
'MultipleCutBtn.Content = EgtMsg(90203)
MultipleCutTxt.Text = EgtMsg(90203)
'GridCutBtn.Content = EgtMsg(90204)
GridCutTxt.Text = EgtMsg(90204)
'FlatteningCutBtn.Content = EgtMsg(90206)
FlatteningCutTxt.Text = EgtMsg(90206)
' 90261=Squaring
SquaringTxt.Text = EgtMsg(90261)
' 90409=Others
ChangeUCTxBl.Text = EgtMsg(90409)
End Sub
Private Sub ControlsDirectCutUC_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Se rientro da simulazione
If m_ActiveDirectCutPage = DirectCutPages.SingleCut Then
LeftButtonGrid.Children.Add(m_SingleCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto Then
LeftButtonGrid.Children.Add(m_SingleCutAuto)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.MultipleCut Then
LeftButtonGrid.Children.Add(m_MultipleCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.GridCut Then
LeftButtonGrid.Children.Add(m_GridCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.FlatteningCut Then
LeftButtonGrid.Children.Add(m_FlatteningCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleDrill Then
LeftButtonGrid.Children.Add(m_SingleDrill)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.Squaring Then
LeftButtonGrid.Children.Add(m_Squaring)
Return
End If
' Caso standard
m_ActiveDirectCutPage = DirectCutPages.DirectCut
' 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
Else
SingleCutBtn.IsEnabled = bRawOk
End If
MultipleCutBtn.IsEnabled = bRawOk
GridCutBtn.IsEnabled = bRawOk
SingleDrillBtn.IsEnabled = (bRawOk And bH1Exists)
FlatteningCutBtn.IsEnabled = (bRawOk And bH1Exists)
SquaringBtn.IsEnabled = bRawOk
' aggiorno la visualizzazione dei parametri
ReloadParam()
' Nascondo i pezzi in parcheggio
HideParkedParts()
EgtZoom(ZM.ALL)
End Sub
' ricarico i parametri utensili per definizione
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
#Region "COMMAND CLICK BTN"
Private Sub ManualBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualBtn.Click
LeftButtonGrid.Children.Add(m_ManualAxesMove)
m_ActiveDirectCutPage = DirectCutPages.ManualAxesMove
End Sub
Private Sub SingleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleCutBtn.Click
If m_bManulaCut Then
LeftButtonGrid.Children.Add(m_SingleCutAuto)
m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto
Else
LeftButtonGrid.Children.Add(m_SingleCut)
m_ActiveDirectCutPage = DirectCutPages.SingleCut
End If
End Sub
Private Sub MultipleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles MultipleCutBtn.Click
LeftButtonGrid.Children.Add(m_MultipleCut)
m_ActiveDirectCutPage = DirectCutPages.MultipleCut
End Sub
Private Sub GridCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles GridCutBtn.Click
LeftButtonGrid.Children.Add(m_GridCut)
m_ActiveDirectCutPage = DirectCutPages.GridCut
End Sub
Private Sub FlatteningCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles FlatteningCutBtn.Click
LeftButtonGrid.Children.Add(m_FlatteningCut)
m_ActiveDirectCutPage = DirectCutPages.FlatteningCut
End Sub
Private Sub SquaringBtn_Click(sender As Object, e As RoutedEventArgs) Handles SquaringBtn.Click
LeftButtonGrid.Children.Add(m_Squaring)
m_ActiveDirectCutPage = DirectCutPages.Squaring
End Sub
Private Sub SingleDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleDrillBtn.Click
LeftButtonGrid.Children.Add(m_SingleDrill)
m_ActiveDirectCutPage = DirectCutPages.SingleDrill
End Sub
' cambio pagina
Private Sub ChangeUCBtn_Click(sender As Object, e As RoutedEventArgs) Handles ChangeUCBtn.Click
DirectCutPage_Unloaded(Nothing, Nothing)
m_ActiveDirectCutPage = DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.LoadDirectCutUC1()
End Sub
#End Region ' Command Click Btn
Friend Sub DirectCutPage_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
Select Case m_ActiveDirectCutPage
Case DirectCutPages.DirectCut Or DirectCutPages.ManualAxesMove
' Non è necessario fare alcunché
Case DirectCutPages.SingleCut
LeftButtonGrid.Children.Remove(m_SingleCut)
Case DirectCutPages.SingleCutAuto
LeftButtonGrid.Children.Remove(m_SingleCutAuto)
Case DirectCutPages.MultipleCut
LeftButtonGrid.Children.Remove(m_MultipleCut)
Case DirectCutPages.GridCut
LeftButtonGrid.Children.Remove(m_GridCut)
Case DirectCutPages.FlatteningCut
LeftButtonGrid.Children.Remove(m_FlatteningCut)
Case DirectCutPages.SingleDrill
LeftButtonGrid.Children.Remove(m_SingleDrill)
Case DirectCutPages.Squaring
LeftButtonGrid.Children.Remove(m_Squaring)
End Select
End Sub
End Class
+86
View File
@@ -0,0 +1,86 @@
<UserControl x:Class="ControlsDirectCutUC1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
DataContext="Self"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:OmagCUT="clr-namespace:OmagCUT"
xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
mc:Ignorable="d"
d:DesignHeight="597.3" d:DesignWidth="256">
<Grid Name="LeftButtonGrid" Grid.Row="1" >
<Grid.RowDefinitions>
<!--<RowDefinition Height="1*"/>
<RowDefinition Height="7*"/>-->
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<!-- Definizione della Grid laterale -->
<Grid Name="CutTypeGrid" Grid.Row="1" >
<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*"/>
<!--<RowDefinition Height="1*"/>-->
</Grid.RowDefinitions>
<Button Name="SawTestBtn" Grid.Row="0"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Test-lamaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SawTestTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="PolishingBtn" Grid.Row="1"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource LucidaturaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="PolishingTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="CopyTemplateBtn" Grid.Row="2"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="CopyTemplateTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Grid Name="ChangeUC1Grid" Grid.Row="7">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Name="ChangeUC1Btn" Grid.ColumnSpan="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Image Name="ImageCompo9" Source="{DynamicResource NumericKeyboardArrowImg}" />
<!--<TextBlock Name="LabelCompo9" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>-->
</Grid>
</Button>
</Grid>
</Grid>
</Grid>
</UserControl>
+142
View File
@@ -0,0 +1,142 @@
Imports EgtUILib
Public Class ControlsDirectCutUC1
' Dichiarazione delle Page UserControl
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Friend m_Polishing As Polishing
Friend m_CopyTemplate As CopyTemplateUC
Friend m_SawTest As SawTestUC
' Stato di visualizzazione della macchina
Friend m_bShowMachine As Boolean = False
Friend m_nMachLook As Integer = MCH_LOOK.ALL
' Dati generali CN
Friend m_CN As CN_generico
Private m_bFirst As Boolean = True
' Riferimento alla pagina correntemente attiva
Friend m_ActiveDirectCutPage As DirectCutPages = DirectCutPages.DirectCut
' Variabili che indicano attivazione paginette con bottoni macchina
Private m_ControlsBtn_IsActive As Boolean
Public Shared m_dZSafe As Double = 52
' Variabile che indica se sono attivi i bottoni macchina nuovi o vecchi
Friend m_NewMachineButtonsType As Boolean
' Indica che la finestra del talio Singolo deve essere di tipo manuale
Friend m_bManulaCut As Boolean = False
Enum DirectCutPages
DirectCut
DirectCut1
Polishing
CopyTemplate
SawTest
End Enum
Private Sub ControlsDirectCutUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' leggo la configurazione del programma per i nuovi tagli manuali
m_bManulaCut = GetPrivateProfileInt(S_GENERAL, K_MANUAL_CUT, 0, m_MainWindow.GetIniFile()) <> 0
'Creazione delle Page UserControl
m_SawTest = New SawTestUC
m_Polishing = New Polishing
m_CopyTemplate = New CopyTemplateUC
'Posizionemento nella griglia delle Page UserControl
m_SawTest.SetValue(Grid.RowProperty, 1)
m_Polishing.SetValue(Grid.RowProperty, 1)
m_CopyTemplate.SetValue(Grid.RowProperty, 1)
' assegno i nomi ai pulsanti
SawTestTxt.Text = EgtMsg(90207)
PolishingTxt.Text = EgtMsg(90231)
'CopyTemplateBtn.Content = EgtMsg(90209)
CopyTemplateTxt.Text = EgtMsg(90209)
'SquaringTxt.Text = "Squaring"
End Sub
Private Sub ControlsDirectCutUC1_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Se rientro da simulazione
If m_ActiveDirectCutPage = DirectCutPages.SawTest Then
LeftButtonGrid.Children.Add(m_SawTest)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.CopyTemplate Then
Me.LeftButtonGrid.Children.Add(m_CopyTemplate)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.Polishing Then
Me.LeftButtonGrid.Children.Add(m_Polishing)
Return
End If
' Caso standard
m_ActiveDirectCutPage = DirectCutPages.DirectCut1
' 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)
PolishingBtn.IsEnabled = (bRawOk And m_MainWindow.m_CurrentMachine.bPolishing)
SawTestBtn.IsEnabled = (bRawOk And bH1Exists)
CopyTemplateBtn.IsEnabled = bH1Exists
' aggiorno la visualizzazione dei parametri
ReloadParam()
' Nascondo i pezzi in parcheggio
HideParkedParts()
EgtZoom(ZM.ALL)
End Sub
' ricarica i dati utensili
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
#Region "COMMAND CLICK BTN"
Private Sub SawTestBtn_Click(sender As Object, e As RoutedEventArgs) Handles SawTestBtn.Click
LeftButtonGrid.Children.Add(m_SawTest)
m_ActiveDirectCutPage = DirectCutPages.SawTest
End Sub
Private Sub PolishingBtn_Click(sender As Object, e As RoutedEventArgs) Handles PolishingBtn.Click
LeftButtonGrid.Children.Add(m_Polishing)
m_ActiveDirectCutPage = DirectCutPages.Polishing
End Sub
Private Sub CopyTemplateBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyTemplateBtn.Click
LeftButtonGrid.Children.Add(m_CopyTemplate)
m_ActiveDirectCutPage = DirectCutPages.CopyTemplate
End Sub
Private Sub ChangeUC1Btn_Click(sender As Object, e As RoutedEventArgs) Handles ChangeUC1Btn.Click
DirectCutPage_Unloaded(Nothing, Nothing)
m_ActiveDirectCutPage = DirectCutPages.DirectCut1
m_MainWindow.m_DirectCutPageUC.LoadDirectCutUC()
End Sub
#End Region ' Command Click Btn
Friend Sub DirectCutPage_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
Select Case m_ActiveDirectCutPage
Case DirectCutPages.SawTest
LeftButtonGrid.Children.Remove(m_SawTest)
Case DirectCutPages.Polishing
LeftButtonGrid.Children.Remove(m_Polishing)
Case DirectCutPages.CopyTemplate
LeftButtonGrid.Children.Remove(m_CopyTemplate)
End Select
End Sub
End Class
+4 -2
View File
@@ -5,6 +5,8 @@ Public Class CopyTemplateUC
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private WithEvents m_CurrProjPage As CurrentProjectPageUC
Private m_refControlDirectCutUC As ControlsDirectCutUC1
' Flag di pagina attiva
Private m_bActive As Boolean = False
' Array stringhe modalità di acquisizione dei punti
@@ -59,6 +61,7 @@ Public Class CopyTemplateUC
Private Sub CopyTemplate_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
m_refControlDirectCutUC = m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC1
m_bActive = True
SaveBtn.IsEnabled = False
LineBtn.IsChecked = True
@@ -254,8 +257,7 @@ Public Class CopyTemplateUC
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_refControlDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function EraseCopyTemplatePart() As Boolean
+80 -63
View File
@@ -28,10 +28,10 @@
<ColumnDefinition Width="7*"/>
</Grid.ColumnDefinitions>
<Button Name="PhotoBtn" Grid.Column="0" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Button Name="PhotoBtn" Grid.Column="0" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Image Source="{DynamicResource PhotoImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
<Button Name="RawPartBtn" Grid.Column="1" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Button Name="RawPartBtn" Grid.Column="1" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
<Image Source="{DynamicResource RawPartImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
@@ -42,25 +42,27 @@
</Grid>
<!-- Definizione della Grid laterale -->
<Grid Name="LeftButtonGrid" Grid.Row="1" >
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<!-- Definizione della Grid laterale -->
<Grid Name="CutTypeGrid" Grid.Row="1" >
<!-- Definizione della Grid laterale -->
<!--
<Grid Name="LeftButtonGrid" Grid.Row="1" >
<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*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
-->
<!-- Definizione della Grid laterale -->
<!--<Grid Name="CutTypeGrid" Grid.Row="1" >
<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*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Button Name="ManualBtn" Grid.Column="2" Grid.Row="0"
Style="{DynamicResource OmagCut_YellowIconButton}">
@@ -140,7 +142,7 @@
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="PolishingBtn" Grid.Row="6"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
@@ -154,36 +156,51 @@
</Grid>
</Button>
<Button Name="CopyTemplateBtn" Grid.Row="7"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="CopyTemplateTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="SawTestBtn" Grid.Row="8"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Test-lamaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SawTestTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
-->
<!--<Button Name="CopyTemplateBtn" Grid.Row="7"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="CopyTemplateTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>-->
<!--
<Button Name="SquaringBtn" Grid.Row="7"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Copia-dimaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SquaringTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
<Button Name="SawTestBtn" Grid.Row="8"
Style="{DynamicResource OmagCut_YellowIconButton}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition Width="140"/>
</Grid.ColumnDefinitions>
<Image Source="{DynamicResource Test-lamaImg}" Style="{DynamicResource OmagCut_ButtonIcon}" Grid.Column="0" />
<TextBlock Name="SawTestTxt" Grid.Column="1"
Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</Grid>
</Button>
</Grid>-->
<!--
</Grid>-->
</Grid>
</Grid>
<!-- Definizione della Grid laterale per bottoni macchina -->
<Grid Name="MachineButtonGrid" Grid.Row="1">
<Grid.RowDefinitions>
@@ -216,23 +233,23 @@
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}">
<Image Source="{DynamicResource VacuumImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<!--Comando asse X-Y-->
<ToggleButton Name="XYBtn" Grid.Column="2"
<!--Comando asse X-Y-->
<ToggleButton Name="XYBtn" Grid.Column="2"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}">
<Image Source="{DynamicResource XYJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
<Image Source="{DynamicResource XYJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<!--Comando asse Z-C-->
<ToggleButton Name="ZCBtn" Grid.Column="3"
<!--Comando asse Z-C-->
<ToggleButton Name="ZCBtn" Grid.Column="3"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}">
<Image Source="{DynamicResource ZCJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<Image Source="{DynamicResource ZCJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<!--Comando asse Z-B-->
<ToggleButton Name="ZBBtn" Grid.Column="4"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}">
<Image Source="{DynamicResource ZBJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
<Image Source="{DynamicResource ZBJogImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<!--Comando Remote-->
@@ -244,13 +261,13 @@
<!--Parking-->
<ToggleButton Name="ParkingBtn" Grid.Column="6"
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}">
<Image Source="{DynamicResource ParkingImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
<Image Source="{DynamicResource ParkingImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</ToggleButton>
<!--Comando Manula/MDI-->
<!--Comando Manula/MDI-->
<Button Name="ManualModeBtn" Grid.Column="8"
Style="{DynamicResource OmagCut_YellowGradientYellowIconButton}">
<Image Source="{DynamicResource ManualImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
<Image Source="{DynamicResource ManualImg}" Style="{StaticResource OmagCut_ScaleButtonIcon}"/>
</Button>
</Grid>
+67 -210
View File
@@ -7,18 +7,20 @@ Public Class DirectCutPageUC
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Friend m_MachineButtons As MachineButtonsUC
Friend m_ManualAxesMove As ManualAxesMoveUC
Friend m_SingleCut As SingleCutUC
Friend m_SingleDrill As SingleDrillUC
' nuova finestra per i comandi per il taglio manuale nuovo
Friend m_SingleCutAuto As SingleCutAuto
Friend m_MultipleCut As MultipleCut
Friend m_GridCut As GridCut
Friend m_FlatteningCut As FlatteningCut
Friend m_Polishing As Polishing
Friend m_CopyTemplate As CopyTemplateUC
Friend m_SawTest As SawTestUC
Friend m_ControlsMachineButton As ControlsMachineButtonUC
Friend m_VacuumMachineButton As VacuumMachineButtonUC
Friend m_ControlsDirectCutUC As ControlsDirectCutUC
Friend m_ControlsDirectCutUC1 As ControlsDirectCutUC1
Friend m_ActiveControl As Controls
Enum Controls
DirectCutUC
DirectCutUC1
MachineButtonUC
VacuumButtonUC
End Enum
' Stato di visualizzazione della macchina
Friend m_bShowMachine As Boolean = False
@@ -26,8 +28,6 @@ Public Class DirectCutPageUC
' Dati generali CN
Friend m_CN As CN_generico
Private m_bFirst As Boolean = True
' Riferimento alla pagina correntemente attiva
Friend m_ActiveDirectCutPage As DirectCutPages = DirectCutPages.DirectCut
' Variabili che indicano attivazione paginette con bottoni macchina
Private m_ControlsBtn_IsActive As Boolean
@@ -41,56 +41,23 @@ Public Class DirectCutPageUC
' elenco dei nuovi bottoni
Private m_ButtonJogList As New List(Of MachineButton)
Enum DirectCutPages
DirectCut
ManualAxesMove
SingleCut
MultipleCut
GridCut
FlatteningCut
Polishing
CopyTemplate
SawTest
SingleCutAuto
SingleDrill
End Enum
Private Sub DirectCutPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' leggo la configurazione del programma per i nuovi tagli manuali
m_bManulaCut = GetPrivateProfileInt(S_GENERAL, K_MANUAL_CUT, 0, m_MainWindow.GetIniFile()) <> 0
'Creazione delle Page UserControl
m_MachineButtons = New MachineButtonsUC
m_ManualAxesMove = New ManualAxesMoveUC
m_SingleCut = New SingleCutUC
m_SingleDrill = New SingleDrillUC
m_MultipleCut = New MultipleCut
m_GridCut = New GridCut
m_FlatteningCut = New FlatteningCut
m_Polishing = New Polishing
m_CopyTemplate = New CopyTemplateUC
m_SawTest = New SawTestUC
m_ControlsMachineButton = New ControlsMachineButtonUC
m_VacuumMachineButton = New VacuumMachineButtonUC
' Costruisco la finestra per il nuovo tipo di taglio manuale
m_SingleCutAuto = New SingleCutAuto
m_ControlsDirectCutUC = New ControlsDirectCutUC
m_ControlsDirectCutUC1 = New ControlsDirectCutUC1
'Posizionemento nella griglia delle Page UserControl
m_MachineButtons.SetValue(Grid.RowProperty, 2)
m_MachineButtons.SetValue(Grid.ColumnSpanProperty, 7)
m_ManualAxesMove.SetValue(Grid.RowProperty, 1)
If m_bManulaCut Then
m_SingleCutAuto.SetValue(Grid.RowProperty, 1)
Else
m_SingleCut.SetValue(Grid.RowProperty, 1)
End If
m_SingleDrill.SetValue(Grid.RowProperty, 1)
m_MultipleCut.SetValue(Grid.RowProperty, 1)
m_GridCut.SetValue(Grid.RowProperty, 1)
m_FlatteningCut.SetValue(Grid.RowProperty, 1)
m_Polishing.SetValue(Grid.RowProperty, 1)
m_CopyTemplate.SetValue(Grid.RowProperty, 1)
m_SawTest.SetValue(Grid.RowProperty, 1)
m_ControlsDirectCutUC.SetValue(Grid.RowProperty, 1)
m_ControlsDirectCutUC1.SetValue(Grid.RowProperty, 1)
m_ControlsMachineButton.SetValue(Grid.RowProperty, 1)
m_VacuumMachineButton.SetValue(Grid.RowProperty, 1)
@@ -104,31 +71,6 @@ Public Class DirectCutPageUC
VacuumMachineBtn.Visibility = Windows.Visibility.Collapsed
End If
If GetPrivateProfileInt(S_NUMERICALCONTROL, K_TYPE, 0, m_MainWindow.GetMachIniFile()) = 0 Then
ManualBtn.IsEnabled = False
ManualModeBtn.Visibility = Windows.Visibility.Hidden
End If
' ManualBtn.Content = EgtMsg(90201)
ManualTxt.Text = EgtMsg(90201)
'SingleCutBtn.Content = EgtMsg(90202)
SingleCutTxt.Text = EgtMsg(90202)
'SingleDrillBtn.Content = "Foro singolo"
SingleDrillTxt.Text = EgtMsg(90258)
'MultipleCutBtn.Content = EgtMsg(90203)
MultipleCutTxt.Text = EgtMsg(90203)
'GridCutBtn.Content = EgtMsg(90204)
GridCutTxt.Text = EgtMsg(90204)
'FlatteningCutBtn.Content = EgtMsg(90206)
FlatteningCutTxt.Text = EgtMsg(90206)
'PolishingBtn.Content = EgtMsg(90231)
PolishingTxt.Text = EgtMsg(90231)
'CopyTemplateBtn.Content = EgtMsg(90209)
CopyTemplateTxt.Text = EgtMsg(90209)
'SawTestBtn.Content = EgtMsg(90207)
SawTestTxt.text = EgtMsg(90207)
' nuovi bottoni 20/05/2021 - modifica specifiche 04/08/2021
' leggo il numero di assi attivi nella macchina
Dim AxesNumber = GetPrivateProfileInt(S_AXES, K_AXESNUM, 5, m_MainWindow.GetMachIniFile())
@@ -176,59 +118,10 @@ Public Class DirectCutPageUC
' lo stato di questi comandi vieni carico dalla lettura del PLC (refresh)
'----------- FINE NUOVI BOTTONI------------
' Se rientro da simulazione
If m_ActiveDirectCutPage = DirectCutPages.SingleCut Then
LeftButtonGrid.Children.Add(m_SingleCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto Then
LeftButtonGrid.Children.Add(m_SingleCutAuto)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.MultipleCut Then
LeftButtonGrid.Children.Add(m_MultipleCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.GridCut Then
LeftButtonGrid.Children.Add(m_GridCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.FlatteningCut Then
LeftButtonGrid.Children.Add(m_FlatteningCut)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.Polishing Then
LeftButtonGrid.Children.Add(m_Polishing)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.SawTest Then
LeftButtonGrid.Children.Add(m_SawTest)
Return
ElseIf m_ActiveDirectCutPage = DirectCutPages.SingleDrill Then
LeftButtonGrid.Children.Add(m_SingleDrill)
Return
End If
' Caso standard
m_ActiveDirectCutPage = DirectCutPages.DirectCut
LoadLastDirectCutControls()
' Se macchina fotografica abilitata
PhotoBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_PHOTO)
' 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
Else
SingleCutBtn.IsEnabled = bRawOk
End If
MultipleCutBtn.IsEnabled = bRawOk
GridCutBtn.IsEnabled = bRawOk
SingleDrillBtn.IsEnabled = (bRawOk And bH1Exists)
FlatteningCutBtn.IsEnabled = (bRawOk And bH1Exists)
PolishingBtn.IsEnabled = (bRawOk And m_MainWindow.m_CurrentMachine.bPolishing)
SawTestBtn.IsEnabled = (bRawOk And bH1Exists)
CopyTemplateBtn.IsEnabled = bH1Exists
' aggiorno la visualizzazione dei parametri
ReloadParam()
@@ -247,9 +140,9 @@ Public Class DirectCutPageUC
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)
m_ControlsDirectCutUC.m_SingleCut.SetEnableParam(bSaw)
m_ControlsDirectCutUC.m_MultipleCut.SetEnableParam(bSaw)
m_ControlsDirectCutUC.m_GridCut.SetEnableParam(bSaw)
End Sub
Private Sub SetVisibilityJogButtuns()
@@ -310,57 +203,6 @@ Public Class DirectCutPageUC
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
End Sub
Private Sub ManualBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualBtn.Click
LeftButtonGrid.Children.Add(m_ManualAxesMove)
m_ActiveDirectCutPage = DirectCutPages.ManualAxesMove
End Sub
Private Sub SingleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleCutBtn.Click
If m_bManulaCut Then
LeftButtonGrid.Children.Add(m_SingleCutAuto)
m_ActiveDirectCutPage = DirectCutPages.SingleCutAuto
Else
LeftButtonGrid.Children.Add(m_SingleCut)
m_ActiveDirectCutPage = DirectCutPages.SingleCut
End If
End Sub
Private Sub MultipleCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles MultipleCutBtn.Click
LeftButtonGrid.Children.Add(m_MultipleCut)
m_ActiveDirectCutPage = DirectCutPages.MultipleCut
End Sub
Private Sub GridCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles GridCutBtn.Click
LeftButtonGrid.Children.Add(m_GridCut)
m_ActiveDirectCutPage = DirectCutPages.GridCut
End Sub
Private Sub FlatteningCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles FlatteningCutBtn.Click
LeftButtonGrid.Children.Add(m_FlatteningCut)
m_ActiveDirectCutPage = DirectCutPages.FlatteningCut
End Sub
Private Sub PolishingBtn_Click(sender As Object, e As RoutedEventArgs) Handles PolishingBtn.Click
LeftButtonGrid.Children.Add(m_Polishing)
m_ActiveDirectCutPage = DirectCutPages.Polishing
End Sub
Private Sub CopyTemplateBtn_Click(sender As Object, e As RoutedEventArgs) Handles CopyTemplateBtn.Click
LeftButtonGrid.Children.Add(m_CopyTemplate)
m_ActiveDirectCutPage = DirectCutPages.CopyTemplate
End Sub
Private Sub SawTestBtn_Click(sender As Object, e As RoutedEventArgs) Handles SawTestBtn.Click
LeftButtonGrid.Children.Add(m_SawTest)
m_ActiveDirectCutPage = DirectCutPages.SawTest
End Sub
Private Sub SingleDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles SingleDrillBtn.Click
LeftButtonGrid.Children.Add(m_SingleDrill)
m_ActiveDirectCutPage = DirectCutPages.SingleDrill
End Sub
Private Sub ControlsMachineBtn_Click(sender As Object, e As RoutedEventArgs) Handles ControlsMachineBtn.Click
If ControlsMachineBtn.IsChecked Then
m_ControlsMachineButton = New ControlsMachineButtonUC
@@ -388,7 +230,21 @@ Public Class DirectCutPageUC
End If
End Sub
'------------------NUOVI BOTTONI PER GESTIONE JOYSTICK-------------------------------------------------
Friend Sub LoadDirectCutUC()
ManageControls()
m_ActiveControl = Controls.DirectCutUC
MachineButtonGrid.Children.Add(m_ControlsDirectCutUC)
End Sub
Friend Sub LoadDirectCutUC1()
ManageControls()
m_ActiveControl = Controls.DirectCutUC1
MachineButtonGrid.Children.Add(m_ControlsDirectCutUC1)
End Sub
#Region "[JogButtons]"
Private Sub XYBtn_Click(sender As Object, e As RoutedEventArgs) Handles XYBtn.Click
' riverco in elenco il bottone XYJog
Dim XYJogButton As MachineButton = Nothing
@@ -555,7 +411,8 @@ Public Class DirectCutPageUC
End If
End Sub
'------------------NUOVI BOTTONI PER GESTIONE JOYSTICK-------------------------------------------------
#End Region '[JogButtons]
Private Sub MachViewModeBtn_Click(sender As Object, e As RoutedEventArgs) Handles MachViewModeBtn.Click
If m_bShowMachine Then
' aggiorno lo stato
@@ -574,36 +431,36 @@ Public Class DirectCutPageUC
End Sub
Friend Sub DirectCutPage_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
Select Case m_ActiveDirectCutPage
Case DirectCutPages.DirectCut Or DirectCutPages.ManualAxesMove
' Non è necessario fare alcunché
Case DirectCutPages.SingleCut
LeftButtonGrid.Children.Remove(m_SingleCut)
Case DirectCutPages.SingleCutAuto
LeftButtonGrid.Children.Remove(m_SingleCutAuto)
Case DirectCutPages.MultipleCut
LeftButtonGrid.Children.Remove(m_MultipleCut)
Case DirectCutPages.GridCut
LeftButtonGrid.Children.Remove(m_GridCut)
Case DirectCutPages.FlatteningCut
LeftButtonGrid.Children.Remove(m_FlatteningCut)
Case DirectCutPages.Polishing
LeftButtonGrid.Children.Remove(m_Polishing)
Case DirectCutPages.CopyTemplate
LeftButtonGrid.Children.Remove(m_CopyTemplate)
Case DirectCutPages.SawTest
LeftButtonGrid.Children.Remove(m_SawTest)
Case DirectCutPages.SingleDrill
LeftButtonGrid.Children.Remove(m_SingleDrill)
ManageControls()
End Sub
Friend Sub ManageControls()
Select Case m_ActiveControl
Case Controls.DirectCutUC
MachineButtonGrid.Children.Remove(m_ControlsDirectCutUC)
m_ControlsDirectCutUC.DirectCutPage_Unloaded(Nothing, Nothing)
Case Controls.DirectCutUC1
MachineButtonGrid.Children.Remove(m_ControlsDirectCutUC1)
m_ControlsDirectCutUC1.DirectCutPage_Unloaded(Nothing, Nothing)
Case Controls.MachineButtonUC
MachineButtonGrid.Children.Remove(m_ControlsMachineButton)
ControlsMachineBtn.IsChecked = False
Case Controls.VacuumButtonUC
MachineButtonGrid.Children.Remove(m_VacuumMachineButton)
VacuumMachineBtn.IsChecked = False
End Select
End Sub
Friend Sub LoadLastDirectCutControls()
Select Case m_ActiveControl
Case Controls.DirectCutUC
MachineButtonGrid.Children.Add(m_ControlsDirectCutUC)
Case Controls.DirectCutUC1
MachineButtonGrid.Children.Add(m_ControlsDirectCutUC1)
Case Else
m_ActiveControl = Controls.DirectCutUC
MachineButtonGrid.Children.Add(m_ControlsDirectCutUC)
End Select
If ControlsMachineBtn.IsChecked Then
MachineButtonGrid.Children.Remove(m_ControlsMachineButton)
ControlsMachineBtn.IsChecked = False
End If
If VacuumMachineBtn.IsChecked Then
MachineButtonGrid.Children.Remove(m_VacuumMachineButton)
VacuumMachineBtn.IsChecked = False
End If
End Sub
Private Sub ManualModeBtn_Click(sender As Object, e As RoutedEventArgs) Handles ManualModeBtn.Click
+5 -3
View File
@@ -190,7 +190,7 @@ Public Class FlatteningCut
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -568,6 +568,7 @@ Public Class FlatteningCut
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -610,7 +611,7 @@ Public Class FlatteningCut
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
EgtMdbSetGeneralParam(MCH_GP.SAFEZ, DirectCutPageUC.m_dZSafe)
EgtMdbSave()
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
' ricavo l'ingombro di lavorazione in funzione dell'utensile selezionato
@@ -623,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)
+3 -2
View File
@@ -168,7 +168,7 @@ Public Class GridCut
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -494,6 +494,7 @@ Public Class GridCut
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -534,7 +535,7 @@ Public Class GridCut
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateGridCut() As Boolean
+3 -1
View File
@@ -21,10 +21,12 @@ Public Class ManualAxesMoveUC
' Messaggi
L1SawThChBx.Content = EgtMsg(90232) ' Spessore lama
L2SawThChBx.Content = EgtMsg(90232) ' Spessore lama
AddHandler m_Timer.Tick, AddressOf Timer_tick
End Sub
Private Sub ManualAxesMove_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
m_CN = m_MainWindow.m_DirectCutPageUC.m_CN
' Valori feed e speed da lama corrente
Dim dTemp As Double = 0
EgtTdbSetCurrTool(m_MainWindow.m_CurrentProjectPageUC.ToolTxBx.Text)
@@ -338,7 +340,7 @@ Public Class ManualAxesMoveUC
End Function
Private Sub BackBtn_Click(sender As Object, e As RoutedEventArgs) Handles BackBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Sub G0Btn_Checked(sender As Object, e As RoutedEventArgs) Handles G0Btn.Checked
+3 -2
View File
@@ -195,7 +195,7 @@ Public Class MultipleCut
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -540,6 +540,7 @@ Public Class MultipleCut
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -580,7 +581,7 @@ Public Class MultipleCut
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateMultipleCut() As Boolean
+7 -3
View File
@@ -6,6 +6,8 @@ Public Class Polishing
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private WithEvents m_CurrProjPage As CurrentProjectPageUC
Private m_refControlDirectCutUC As ControlsDirectCutUC1
' Flag di pagina attiva
Private m_bActive As Boolean = False
' Flag di simulazione in corso
@@ -30,6 +32,7 @@ Public Class Polishing
Private Sub Polishing_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Attivo la pagina
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
m_refControlDirectCutUC = m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC1
m_bActive = True
' Se rientro da simulazione
If m_bSimul Then
@@ -60,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)
@@ -72,7 +75,7 @@ Public Class Polishing
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_refControlDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC1.DirectCutPages.DirectCut
' Cancello eventuali lucidature
RemovePolishings()
' Riattivo eventuali lavorazioni presenti
@@ -148,6 +151,7 @@ Public Class Polishing
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_refControlDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -188,7 +192,7 @@ Public Class Polishing
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_refControlDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreatePolishing( sKitName As String) As Boolean
+5 -2
View File
@@ -5,6 +5,7 @@ Public Class SawTestUC
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private WithEvents m_CurrProjPage As CurrentProjectPageUC
Private m_refControlDirectCutUC As ControlsDirectCutUC1
' Flag di pagina attiva
Private m_bActive As Boolean = False
' Flag di simulazione in corso
@@ -76,6 +77,7 @@ Public Class SawTestUC
Private Sub SawTest_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Attivo la pagina
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
m_refControlDirectCutUC = m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC1
m_bActive = True
' Se rientro da simulazione
If m_bSimul Then
@@ -139,7 +141,7 @@ Public Class SawTestUC
WritePrivateProfileString( S_DIRECTCUTS, K_DC_TEST_OFFSET, DoubleToString( m_dOffset, 2), m_MainWindow.GetIniFile())
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_refControlDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC1.DirectCutPages.DirectCut1
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -419,6 +421,7 @@ Public Class SawTestUC
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_refControlDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -459,7 +462,7 @@ Public Class SawTestUC
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_refControlDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateSingleCut() As Boolean
+3 -2
View File
@@ -363,7 +363,7 @@ Public Class SingleCutAuto
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -715,6 +715,7 @@ Public Class SingleCutAuto
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -758,7 +759,7 @@ Public Class SingleCutAuto
' reimposto il precedetne utensile e lavorazione
m_MainWindow.m_CurrentMachine.sCurrSaw = m_PrecSaw
m_MainWindow.m_CurrentMachine.sCurrSawing = m_PrecSawing
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateSingleCut() As Boolean
+3 -2
View File
@@ -157,7 +157,7 @@ Public Class SingleCutUC
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -524,6 +524,7 @@ Public Class SingleCutUC
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -564,7 +565,7 @@ Public Class SingleCutUC
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateSingleCut() As Boolean
+3 -2
View File
@@ -136,7 +136,7 @@ Public Class SingleDrillUC
' Se non vado in simulazione
If Not m_bSimul Then
' Dichiaro sottopagina da non riattivare
m_MainWindow.m_DirectCutPageUC.m_ActiveDirectCutPage = DirectCutPageUC.DirectCutPages.DirectCut
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
@@ -342,6 +342,7 @@ Public Class SingleDrillUC
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
@@ -382,7 +383,7 @@ Public Class SingleDrillUC
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.LeftButtonGrid.Children.Remove(Me)
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateSingleDrill() As Boolean
+162
View File
@@ -0,0 +1,162 @@
<UserControl x:Class="SquaringUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
mc:Ignorable="d"
d:DesignHeight="597.3" d:DesignWidth="256">
<!--<Border CornerRadius="{StaticResource Page_CornerRadius}" Background="{StaticResource OmagCut_LightGray}">-->
<Border Style="{DynamicResource OmagCut_DirectCutPageBorder}">
<!-- Definizione della Grid MultipleCut -->
<Grid Name="SingleCutGrid" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<!--<Grid Grid.Row="0" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<ToggleButton Name="Point1Btn" Grid.Column="0"
Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource Acquisisci-P1Img}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</ToggleButton>
<ToggleButton Name="Point2Btn" Grid.Column="1"
Style="{DynamicResource OmagCut_YellowIconToggleButton}">
<Image Source="{DynamicResource Acquisisci-P2Img}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</ToggleButton>
</Grid>-->
<!--<ComboBox Name="PointModeCmBx" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_ComboBox}"
Margin="6,0,6,0">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Style="{StaticResource OmagCut_LowerCaseCharacterTextBlock}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>-->
<!--<TextBlock Name="DepthTxBl" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="DepthTxBx" Grid.Column="1" Grid.Row="2" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>-->
<TextBlock Name="OffsetTxBl" Grid.Column="0" Grid.Row="3"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="OffsetTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="ExtraLenTxBl" Grid.Column="0" Grid.Row="4"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<EgtWPFLib:EgtTextBox Name="ExtraLenTxBx" Grid.Column="1" Grid.Row="4" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<!--<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"
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"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>-->
<!--<Grid Grid.Row="5" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width="2"/>
<ColumnDefinition Width="1.5*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
<RowDefinition Height="0.5*"/>
</Grid.RowDefinitions>
<Border Grid.Column="1" Grid.Row="0" Grid.RowSpan="4" Background="Black" />
<TextBlock Name="NumPzXTxBl" Grid.Column="0" Grid.Row="0"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<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"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPzXTxBx" Grid.Column="2" Grid.Row="1" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}" />
<TextBlock Name="NumPzYTxBl" Grid.Column="0" Grid.Row="2"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<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"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<EgtWPFLib:EgtTextBox Name="DimPzYTxBx" Grid.Column="2" Grid.Row="3" Width="75"
Style="{StaticResource OmagCut_CalculatorTextBox}" />
</Grid>
<TextBlock Name="SideTxBl" Grid.Row="6" Grid.ColumnSpan="2"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
<CheckBox Name="SideChBx" Grid.Row="6" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_CheckBox_Single}"
HorizontalAlignment="Right" Margin="0,0,6,0"/>-->
<Grid Grid.Row="7" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="0.5*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Name="XcoordTxBl" Grid.Column="0" Text="X"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="XcoordTxBx" Grid.Column="1" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
<TextBlock Name="YcoordTxBl" Grid.Column="2" Text="Y"
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}" HorizontalAlignment="Center"/>
<EgtWPFLib:EgtTextBox Name="YcoordTxBx" Grid.Column="3" Margin="0,0,6,0"
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
</Grid>
<Grid Grid.Row="11" Grid.ColumnSpan="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Button Name="SimulBtn" Grid.Column="0" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource SimulaImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
<Button Name="OkBtn" Grid.Column="1" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource EseguiImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
<Button Name="ExitBtn" Grid.Column="2" Style="{DynamicResource OmagCut_YellowIconButton}">
<Image Source="{DynamicResource XImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
</Button>
</Grid>
</Grid>
</Border>
</UserControl>
+442
View File
@@ -0,0 +1,442 @@
Imports EgtUILib
Public Class SquaringUC
' Riferimenti a pagine
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private WithEvents m_CurrProjPage As CurrentProjectPageUC
' Flag di pagina attiva
Private m_bActive As Boolean = False
' Flag di simulazione in corso
Private m_bSimul As Boolean = False
' Origine tavola e dati grezzo
Private m_bRawOk As Boolean = False
Private m_ptTabOri As Point3d
Private m_ptRawMin As Point3d
Private m_ptRawMax As Point3d
' Parametri P1 acquisito
Private m_ptTipP1 As Point3d
Private m_vtToolP1 As Vector3d
' Parametri P2 acquisito
Private m_ptTipP2 As Point3d
Private m_vtToolP2 As Vector3d
' Parametri della lavorazione
Private m_bCutOk As Boolean = False
Private m_dDepth As Double = 0
Private m_dOffsetSquaring As Double = 150
Private m_dExtraLength As Double = 0
Private m_dAngO As Double = 180
Private m_dAngV As Double = 0
Private m_nNumX As Integer = 0
Private m_dDimX As Double = 0
Private m_nNumY As Integer = 0
Private m_dDimY As Double = 0
Private m_bHeadSide As Boolean = False
' Punto selezionato nel disegno
Private m_ptPrev As Point3d
' Layer per crocette temporanee
Private m_nTempLay As Integer = GDB_ID.NULL
' Costanti
Private Const MAX_TAB_DEPTH As Double = 10.0
Private Const MIN_CUT_LEN As Double = 10.0
Private Const MAX_SIDE_ANG As Double = 60.0
'Costante che indica il lato in cui posizionare i tagli
Private Enum CutSide As Integer
Left
Right
End Enum
Private Sub GridCut_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
OffsetTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 28)
' 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())
m_nNumX = 1
m_dDimX = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_GRID_DIMX, m_dDimX, m_MainWindow.GetIniFile())
m_nNumY = 1
m_dDimY = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_GRID_DIMY, m_dDimY, m_MainWindow.GetIniFile())
m_bHeadSide = False
End Sub
Private Sub Squaring_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
' Attivo la pagina
m_CurrProjPage = m_MainWindow.m_CurrentProjectPageUC
m_bActive = True
' Se rientro da simulazione
If m_bSimul Then
m_bSimul = False
' Disabilito registrazione progetto modificato
EgtDisableModified()
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = False
EgtSetMachineLook(MCH_LOOK.TAB)
EgtDraw()
Return
End If
' Disabilito registrazione progetto modificato
EgtDisableModified()
' Creo layer temporaneo per crocette
m_nTempLay = EgtCreateGroup(GDB_ID.ROOT)
EgtSetLevel(m_nTempLay, GDB_LV.TEMP)
' Origine tavola
m_bRawOk = True
If Not EgtGetTableRef(1, m_ptTabOri) Then
m_bRawOk = False
EgtOutLog("Error on TableRef1")
End If
' Dati del grezzo
If Not GetRawBox(m_ptRawMin, m_ptRawMax) Then
m_bRawOk = False
EgtOutLog("Error on RawBox")
End If
' calcolo lalavorazione di squadratura
RefreshSquaring()
End Sub
Private Sub RefreshSquaring()
If Not m_bRawOk Then Return
Dim m_ThickSaw As Double
EgtTdbGetCurrToolParam(MCH_TP.THICK, m_ThickSaw)
m_dDepth = CamAuto.GetRawHeight()
m_dDimX = Math.Abs(m_ptRawMax.x - m_ptRawMin.x) - 2 * (m_dOffsetSquaring)
m_dDimY = Math.Abs(m_ptRawMax.y - m_ptRawMin.y) - 2 * (m_dOffsetSquaring)
Dim ptStart As New Point3d(m_ptRawMin.x + m_dOffsetSquaring - m_ThickSaw, m_ptRawMin.y + m_dOffsetSquaring, m_ptRawMin.z)
Dim ptEnd As New Point3d(ptStart.x + m_dDimX, ptStart.y, m_ptRawMin.z)
SetCoordVisibility(True)
ShowCoord()
OffsetTxBx.Text = LenToString(m_dOffsetSquaring, 1)
ExtraLenTxBx.Text = LenToString(m_dExtraLength, 1)
m_bCutOk = False
UpdateSimulOkBtn()
SquaringPoint(ptStart, ptEnd)
m_ptPrev = ptStart
End Sub
Friend Sub Squaring_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
' Salvo i dati correnti
' 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
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
' Rimuovo layer temporaneo per crocette
EgtErase(m_nTempLay)
' Rimuovo eventuale pezzo per taglio diretto
EraseDirectCutPart()
' Riattivo eventuali lavorazioni presenti
ActivateAllMachinings()
' Abilito registrazione progetto modificato
EgtEnableModified()
' Nascondo la macchina
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = False
EgtSetMachineLook(MCH_LOOK.TAB)
EgtDraw()
End If
' Dichiaro pagina non attiva
m_bActive = False
End Sub
Private Sub UpdateSimulOkBtn()
If m_bCutOk Then
SimulBtn.IsEnabled = True
SimulBtn.Foreground = Brushes.Black
OkBtn.IsEnabled = True
OkBtn.Foreground = Brushes.Black
Else
SimulBtn.IsEnabled = False
SimulBtn.Foreground = Brushes.DarkGray
OkBtn.IsEnabled = False
OkBtn.Foreground = Brushes.DarkGray
End If
End Sub
Private Sub SquaringPoint(ptMin As Point3d, ptMax As Point3d)
' Rimuovo eventuali crocette create acquisendo i punti nel disegno
EgtEmptyGroup(m_nTempLay)
' 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)
'------------- BOTTOM LEFT -------------------
' Assegno punto selezionato nel disegno a m_ptTipP1
m_ptTipP1 = ptMin
' Porto il tip nell'origine tavola
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
'------------- TOP RIGHT -------------------
' Assegno punto selezionato nel disegno a m_ptTipP2
m_ptTipP2 = ptMax
' Porto il tip nell'origine tavola
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
' Reimposto eventuale precedente utensile
EgtSetCalcTool(sTool, sHead, nExit)
' Se il secondo punto non coincide con il primo, disegno il taglio
Dim vtDiff As Vector3d = m_ptTipP2 - m_ptTipP1
vtDiff.z = 0
Dim dLen As Double
Dim dAngVertDeg As Double
Dim dAngOrizzDeg As Double
vtDiff.ToSpherical(dLen, dAngVertDeg, dAngOrizzDeg)
If dLen > EPS_SMALL Then
m_dAngO = dAngOrizzDeg
CreateGridCut()
' visuliazzo tavola
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = False
EgtSetMachineLook(MCH_LOOK.TAB)
EgtDraw()
End If
End Sub
Private Sub OffsetTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffsetTxBx.EgtClosed
' Verifico che l'offset impostato non sia superiore a quello massimo
Dim dMaxOffset As Double = Math.Min(m_dDimX, m_dDimY) / 2 - 15
Dim dOffset As Double = 0
StringToLen(OffsetTxBx.Text, dOffset)
If dOffset < 0 Then
dOffset = 0
ElseIf dOffset > dMaxOffset Then
dOffset = dMaxOffset
End If
m_dOffsetSquaring = dOffset
OffsetTxBx.Text = LenToString(m_dOffsetSquaring, 2)
' Disegno il taglio
RefreshSquaring()
EgtDraw()
End Sub
Private Sub ExtraLength_EgtClosed(sender As Object, e As EventArgs) Handles ExtraLenTxBx.EgtClosed
' Verifico che il valore indicato sia almeno maggiore dell'offset indicato
Dim dOffset As Double = 0
StringToLen(OffsetTxBx.Text, dOffset)
Dim MadExtraLeng As Double = Math.Abs(dOffset)
Dim dExtraLen As Double
StringToLen(ExtraLenTxBx.Text, dExtraLen)
If dExtraLen < 0 AndAlso dExtraLen < -MadExtraLeng Then
dExtraLen = 0
End If
m_dExtraLength = dExtraLen
ExtraLenTxBx.Text = LenToString(m_dExtraLength, 2)
' Disegno il taglio
RefreshSquaring()
EgtDraw()
End Sub
Private Sub SimulBtn_Click(sender As Object, e As RoutedEventArgs) Handles SimulBtn.Click
' Verifico ci sia un taglio valido
If Not m_bCutOk Then Return
' Salvo il progetto con le lavorazioni
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
Dim sMchPath As String = m_MainWindow.GetTempDir() & "\" & "DirectProj.nge"
m_MainWindow.m_CurrentProjectPageUC.SaveFile(sMchPath, False)
' Predispongo passaggio a simulazione
m_bSimul = True
m_CurrProjPage.m_SceneButtons.MeasureBtn.IsChecked = False
m_CurrProjPage.CurrProjGrid.Visibility = Windows.Visibility.Hidden
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
m_CurrProjPage.CurrentProjectPageGrid.Children.Remove(m_MainWindow.m_DirectCutPageUC)
m_MainWindow.m_PrevActivePage = MainWindow.Pages.DirectCut
m_CurrProjPage.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_SimulationPage)
m_MainWindow.m_ActivePage = MainWindow.Pages.Simulation
End Sub
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
#If TRIAL Then
m_CurrProjPage.SetWarningMessage("Trial Version")
#Else
' Verifico non sia versione Ufficio
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
m_CurrProjPage.SetWarningMessage("Office Version")
Return
End If
' Verifico ci sia un taglio valido
If Not m_bCutOk Then Return
' Salvo il progetto con le lavorazioni
Dim sMchPath As String = m_MainWindow.GetTempDir() & "\" & "DirectProj.nge"
m_MainWindow.m_CurrentProjectPageUC.SaveFile(sMchPath, False)
' Genero file CNC (lancio anche se errore in precedenza)
Dim sCncPath As String = m_MainWindow.GetCncDir() & "\DirectCut" & m_MainWindow.m_CurrentMachine.sIsoFileExt
Dim bOk As Boolean = EgtGenerate(sCncPath, "OmagCut ver." & m_MainWindow.GetVersion())
' Se errore in generazione, segnalo l'errore ed esco
If Not bOk Then
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
Return
End If
' Download programma (eventuali errori sono segnalati dalla funzione)
If m_MainWindow.m_CNCommunication.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)
' lancio eventuale lua post-trasmissione
m_MainWindow.ExecSentProgScript(True)
End If
#End If
End Sub
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs) Handles ExitBtn.Click
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.LeftButtonGrid.Children.Remove(Me)
End Sub
Private Function CreateGridCut() As Boolean
' Verifico sia definito il punto iniziale e il grezzo
If Not m_bRawOk Then
m_bCutOk = False
Return False
End If
' Spessore grezzo
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
' Rimuovo eventuale vecchio pezzo per taglio diretto
EraseDirectCutPart()
' Disattivo eventuali lavorazioni presenti
DeactivateAllMachinings()
' Creo nuovo pezzo per il taglio diretto
Dim nPartId = EgtCreateGroup(GDB_ID.ROOT)
EgtSetName(nPartId, NAME_DIRECTCUT)
Dim nLayerId = EgtCreateGroup(nPartId)
EgtSetName(nLayerId, NAME_OUTLOOP)
' Creo il taglio parallelo alla lama
Dim ptStart As Point3d = m_ptTipP1
ptStart.z = 0
' Funzione che crea i tagli successivi al primo
MultiplyCut(nLayerId)
' Calcolo punto di inserimento nel grezzo
Dim ptMin, ptMax As Point3d
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, ptMin, ptMax)
Dim ptIns As Point3d = ptMin + (m_ptTabOri - m_ptRawMin)
ptIns.z = dRawHeight
' Inserisco il pezzo nel grezzo
EgtAddPartToRawPart(nPartId, ptIns, m_MainWindow.m_CurrentProjectPageUC.m_nRawId)
' Inserisco la lavorazione
m_bCutOk = AddMachinings(nPartId) AndAlso UpdateAllMachiningsToolpaths()
EgtSetCurrPhase(1)
' Eventuale eliminazione Home finale
If Not m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome Then
RemoveFinalHome()
End If
UpdateSimulOkBtn()
Return m_bCutOk
End Function
Private Function MultiplyCut(nLayerId As Integer) As Boolean
' Recupero lo spessore del taglio della lama o del waterjet correntemente attiva
Dim nType As Integer = 0
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
Dim dThick As Double = 0
EgtTdbGetCurrToolParam(If(nType = MCH_TY.SAW_STD, MCH_TP.THICK, MCH_TP.DIAM), dThick)
' Ricalcolo lo spessore in base all'inclinazione
dThick = dThick / Math.Cos(m_dAngV * Math.PI / 180)
' Imposto angolo di rotazione a seconda del lato dei tagli paralleli
Dim dRotAngOX As Double = 90
' Recupero dati da interfaccia
Dim dDimPzX As Double = m_dDimX
Dim nNumPzX As Integer = m_nNumX
Dim dDimPzY As Double = m_dDimY
Dim nNumPzY As Integer = m_nNumY
' Definisco vettore di spostamento
Dim vtDelta As Vector3d
' Calcolo primo taglio parallelo
Dim ptStart As Point3d = m_ptTipP1
ptStart.z = 0
If dDimPzY <> 0 And nNumPzY > 0 And dDimPzX <> 0 And nNumPzX > 0 Then
Dim dLenX As Double = dThick + (dDimPzX + dThick) * nNumPzX
Dim nCutParaId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, dLenX + 0.1)
' Imposto affondamento e angolo di fianco sul taglio
EgtSetInfo(nCutParaId, INFO_DEPTH, m_dDepth)
EgtSetInfo(nCutParaId, INFO_SIDE_ANGLE, m_dAngV)
' Allungo la geometria
EgtExtendCurveStartByLen(nCutParaId, m_dOffsetSquaring + m_dExtraLength)
EgtExtendCurveEndByLen(nCutParaId, m_dOffsetSquaring + +m_dExtraLength)
' Calcolo vettore di spostamento
vtDelta = Vector3d.FromPolar((dDimPzY + dThick), m_dAngO)
' Ruoto il vettore di traslazione
vtDelta.Rotate(Vector3d.Z_AX, dRotAngOX)
For Index As Integer = 1 To nNumPzY
Dim vtPerpMove As Vector3d = Index * vtDelta
' Creo copie
Dim nCut2Id = EgtCopyGlob(nCutParaId, nLayerId)
EgtMove(nCut2Id, vtPerpMove, GDB_RT.GLOB)
Next
' Calcolo primo taglio perpendicolare
Dim dLenY As Double = dThick + (dDimPzY + dThick) * nNumPzY
' Arretro il punto di partenza di uno spessore lama
Dim vtDeltaPos As Vector3d = Vector3d.FromPolar(dThick + 0.1, m_dAngO - 90)
Dim nCutPerpId = EgtCreateLinePDL(nLayerId, ptStart + vtDeltaPos, m_dAngO + 90, dLenY + 0.2)
' Imposto affondamento e angolo di fianco sul taglio
EgtSetInfo(nCutPerpId, INFO_DEPTH, m_dDepth)
EgtSetInfo(nCutPerpId, INFO_SIDE_ANGLE, m_dAngV)
' Allungo la geometria
EgtExtendCurveStartByLen(nCutPerpId, m_dOffsetSquaring + m_dExtraLength)
EgtExtendCurveEndByLen(nCutPerpId, m_dOffsetSquaring + +m_dExtraLength)
' Calcolo secondo vettore di spostamento
vtDelta = Vector3d.FromPolar((dDimPzX + dThick), m_dAngO)
For Index As Integer = 1 To nNumPzX
Dim vtPerpMove As Vector3d = vtDelta * Index
' Creo copie
Dim nCut3Id = EgtCopyGlob(nCutPerpId, nLayerId)
EgtMove(nCut3Id, vtPerpMove, GDB_RT.GLOB)
Next
End If
Return True
End Function
Private Sub SetCoordVisibility(bShow As Boolean)
XcoordTxBl.Visibility = If(bShow, Windows.Visibility.Visible, Windows.Visibility.Hidden)
XcoordTxBx.Visibility = If(bShow, Windows.Visibility.Visible, Windows.Visibility.Hidden)
YcoordTxBl.Visibility = If(bShow, Windows.Visibility.Visible, Windows.Visibility.Hidden)
YcoordTxBx.Visibility = If(bShow, Windows.Visibility.Visible, Windows.Visibility.Hidden)
End Sub
Private Sub ShowCoord()
Dim ptText As Point3d = m_ptPrev
ptText.ToLoc(New Frame3d(m_ptTabOri))
XcoordTxBx.Text = LenToString(ptText.x, 2)
YcoordTxBx.Text = LenToString(ptText.y, 2)
End Sub
Private Function SetMachineInCurrPos() As Boolean
' Recupero la posizione macchina
Dim dL1, dL2, dL3, dR1, dR2 As Double
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return False
' Recupero il nome degli assi macchina
Dim sL1 As String = String.Empty
Dim sL2 As String = String.Empty
Dim sL3 As String = String.Empty
Dim sR1 As String = String.Empty
Dim sR2 As String = String.Empty
If Not m_MainWindow.m_CNCommunication.GetAxesNames(sL1, sL2, sL3, sR1, sR2) Then Return False
' Visualizzo macchina in posizione
EgtSetAxisPos(sL1, dL1)
EgtSetAxisPos(sL2, dL2)
EgtSetAxisPos(sL3, dL3)
EgtSetAxisPos(sR1, dR1)
EgtSetAxisPos(sR2, dR2)
Return True
End Function
End Class
+498 -472
View File
File diff suppressed because it is too large Load Diff
+84 -55
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,51 +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)
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
+29 -17
View File
@@ -303,7 +303,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 +326,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, 2412, 1, m_nKeyLevel) And
EgtGetKeyOptions(9423, 2412, 1, m_nKeyOptions)
' Verifico abilitazione prodotto
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
' Inizializzazione generale di EgtInterface
@@ -694,6 +694,8 @@ Class MainWindow
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_WorkInProgressPageUC)
m_ActivePage = Pages.WorkInProgress
Case Else
WorkInProgressBtn.IsChecked = False
End Select
End Sub
@@ -752,6 +754,8 @@ Class MainWindow
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_DirectCutPageUC)
m_ActivePage = Pages.DirectCut
Case Else
WorkInProgressBtn.IsChecked = False
End Select
End Sub
@@ -807,6 +811,8 @@ Class MainWindow
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_CadCutPageUC)
m_ActivePage = Pages.CadCut
Case Else
CadCutBtn.IsChecked = False
End Select
End Sub
@@ -863,6 +869,8 @@ Class MainWindow
MainWindowGrid.Children.Add(m_CurrentProjectPageUC)
m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_FrameCutPageUC)
m_ActivePage = Pages.FrameCut
Case Else
If FrameCutBtn.IsEnabled Then FrameCutBtn.IsChecked = False
End Select
End Sub
@@ -914,6 +922,8 @@ Class MainWindow
MainWindowGrid.Children.Remove(m_OptionsPageUC)
MainWindowGrid.Children.Add(m_MachinePageUC)
m_ActivePage = Pages.Machine
Case Else
MachineBtn.IsChecked = False
End Select
End Sub
@@ -970,7 +980,7 @@ Class MainWindow
MainWindowGrid.Children.Add(m_OptionsPageUC)
m_ActivePage = Pages.Options
Case Pages.Options
OptionsBtn.IsChecked = True
OptionsBtn.IsChecked = False
End Select
End Sub
@@ -1116,19 +1126,21 @@ Class MainWindow
' Se non sono in tagli diretti tutto ok
If m_ActivePage <> Pages.DirectCut Then Return True
' Concludo le attività in corso
Select Case m_DirectCutPageUC.m_ActiveDirectCutPage
Case DirectCutPageUC.DirectCutPages.SingleCut
m_DirectCutPageUC.m_SingleCut.SingleCut_Unloaded(sender, e)
Case DirectCutPageUC.DirectCutPages.MultipleCut
m_DirectCutPageUC.m_MultipleCut.MultipleCut_Unloaded(sender, e)
Case DirectCutPageUC.DirectCutPages.GridCut
m_DirectCutPageUC.m_GridCut.GridCut_Unloaded(sender, e)
Case DirectCutPageUC.DirectCutPages.CopyTemplate
m_DirectCutPageUC.m_CopyTemplate.CopyTemplate_Unloaded(sender, e)
Case DirectCutPageUC.DirectCutPages.FlatteningCut
m_DirectCutPageUC.m_FlatteningCut.FlatteningCut_Unloaded(sender, e)
Case DirectCutPageUC.DirectCutPages.SawTest
m_DirectCutPageUC.m_SawTest.SawTest_Unloaded(sender, e)
Select Case m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage
Case ControlsDirectCutUC.DirectCutPages.SingleCut
m_DirectCutPageUC.m_ControlsDirectCutUC.m_SingleCut.SingleCut_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.MultipleCut
m_DirectCutPageUC.m_ControlsDirectCutUC.m_MultipleCut.MultipleCut_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.GridCut
m_DirectCutPageUC.m_ControlsDirectCutUC.m_GridCut.GridCut_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.FlatteningCut
m_DirectCutPageUC.m_ControlsDirectCutUC.m_FlatteningCut.FlatteningCut_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.CopyTemplate
m_DirectCutPageUC.m_ControlsDirectCutUC1.m_CopyTemplate.CopyTemplate_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.Polishing
m_DirectCutPageUC.m_ControlsDirectCutUC1.m_Polishing.Polishing_Unloaded(sender, e)
Case ControlsDirectCutUC.DirectCutPages.SawTest
m_DirectCutPageUC.m_ControlsDirectCutUC1.m_SawTest.SawTest_Unloaded(sender, e)
End Select
Return True
End Function
+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.11.1")>
<Assembly: AssemblyFileVersion("2.4.11.1")>
<Assembly: AssemblyVersion("2.4.12.1")>
<Assembly: AssemblyFileVersion("2.4.12.1")>
+24
View File
@@ -177,6 +177,12 @@
<DependentUpon>SelectPartFromFamilyWD.xaml</DependentUpon>
</Compile>
<Compile Include="CAM\CamPolishing.vb" />
<Compile Include="DirectCuts\ControlsDirectCutUC.xaml.vb">
<DependentUpon>ControlsDirectCutUC.xaml</DependentUpon>
</Compile>
<Compile Include="DirectCuts\ControlsDirectCutUC1.xaml.vb">
<DependentUpon>ControlsDirectCutUC1.xaml</DependentUpon>
</Compile>
<Compile Include="DirectCuts\Polishing.xaml.vb">
<DependentUpon>Polishing.xaml</DependentUpon>
</Compile>
@@ -186,6 +192,9 @@
<Compile Include="DirectCuts\SingleDrillUC.xaml.vb">
<DependentUpon>SingleDrillUC.xaml</DependentUpon>
</Compile>
<Compile Include="DirectCuts\SquaringUC.xaml.vb">
<DependentUpon>SquaringUC.xaml</DependentUpon>
</Compile>
<Compile Include="DrawImport\AlzFrontUC.xaml.vb">
<DependentUpon>AlzFrontUC.xaml</DependentUpon>
</Compile>
@@ -429,6 +438,14 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="DirectCuts\ControlsDirectCutUC.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="DirectCuts\ControlsDirectCutUC1.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="DirectCuts\Polishing.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
@@ -441,6 +458,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="DirectCuts\SquaringUC.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="DrawImport\AlzFrontUC.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -1299,6 +1320,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
+1
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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

+36
View File
@@ -373,4 +373,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