Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 97ec72e3e1 | |||
| ca3193b9a4 | |||
| 93e7144753 | |||
| 31e6bbaca7 | |||
| 8935622888 | |||
| c47370405c |
@@ -21,7 +21,6 @@
|
|||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.25*"/>
|
<RowDefinition Height="0.25*"/>
|
||||||
@@ -36,7 +35,7 @@
|
|||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Border Name="LogoBrd" Grid.Column="1">
|
<Border Name="LogoBrd" Grid.Column="1">
|
||||||
<Image Source="../Resources/NewIcons/Logo-Egalware (3).png" Stretch="Uniform"/>
|
<Image Source="../Resources/AboutBoxImage.png" Stretch="Uniform"/>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
||||||
@@ -45,17 +44,13 @@
|
|||||||
VerticalAlignment="Center" FontSize="18"/>
|
VerticalAlignment="Center" FontSize="18"/>
|
||||||
<TextBlock Name="KeyLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
|
<TextBlock Name="KeyLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Center" FontSize="18"/>
|
VerticalAlignment="Center" FontSize="18"/>
|
||||||
|
<TextBlock Name="MachineLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Center"
|
||||||
<TextBlock Name="AssStatusLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Center"
|
|
||||||
VerticalAlignment="Center" FontSize="18"/>
|
VerticalAlignment="Center" FontSize="18"/>
|
||||||
|
<TextBlock Name="ProjectLbl" Grid.Column="1" Grid.Row="7" HorizontalAlignment="Center"
|
||||||
<TextBlock Name="MachineLbl" Grid.Column="1" Grid.Row="7" HorizontalAlignment="Center"
|
|
||||||
VerticalAlignment="Center" FontSize="18"/>
|
VerticalAlignment="Center" FontSize="18"/>
|
||||||
<TextBlock Name="ProjectLbl" Grid.Column="1" Grid.Row="8" HorizontalAlignment="Center"
|
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="8" HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Center" FontSize="18"/>
|
|
||||||
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="9" HorizontalAlignment="Center"
|
|
||||||
VerticalAlignment="Center" FontSize="15" />
|
VerticalAlignment="Center" FontSize="15" />
|
||||||
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="11" IsCancel="True"
|
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="10" IsCancel="True"
|
||||||
Style="{DynamicResource OmagCut_WindowGrayTextButton}" Margin="1,0"/>
|
Style="{DynamicResource OmagCut_WindowGrayTextButton}" Margin="1,0"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|||||||
@@ -33,19 +33,6 @@ Public Class AboutBoxWD
|
|||||||
#Else
|
#Else
|
||||||
KeyLbl.Text = sKey & " - " & sOpts
|
KeyLbl.Text = sKey & " - " & sOpts
|
||||||
#End If
|
#End If
|
||||||
' COPIATO da codice CAM5
|
|
||||||
Dim sAssStatus As String = " discontinued"
|
|
||||||
Dim nAssLeftDays As Integer
|
|
||||||
If EgtGetKeyAssLeftDays(nAssLeftDays) And nAssLeftDays >= 0 Then
|
|
||||||
If nAssLeftDays > 30 Then
|
|
||||||
sAssStatus = "expires within " & nAssLeftDays.ToString() & " days"
|
|
||||||
ElseIf nAssLeftDays > 0 Then
|
|
||||||
sAssStatus = "to be renewed within " & nAssLeftDays.ToString() & " days"
|
|
||||||
Else
|
|
||||||
sAssStatus = "to be renewed by today"
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
AssStatusLbl.Text = sAssStatus
|
|
||||||
CopyrightLbl.Text = My.Application.Info.Copyright.ToString()
|
CopyrightLbl.Text = My.Application.Info.Copyright.ToString()
|
||||||
MachineLbl.Text = "Machine : " & m_MainWindow.m_CurrentMachine.sMachineName
|
MachineLbl.Text = "Machine : " & m_MainWindow.m_CurrentMachine.sMachineName
|
||||||
ProjectLbl.Text = "Project : " & m_MainWindow.m_CurrentProjectPageUC.GetCurrentProjectName()
|
ProjectLbl.Text = "Project : " & m_MainWindow.m_CurrentProjectPageUC.GetCurrentProjectName()
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
Imports System.Windows.Forms.Integration
|
Imports EgtUILib
|
||||||
Imports EgtUILib
|
|
||||||
|
|
||||||
Friend Module CamAuto
|
Friend Module CamAuto
|
||||||
|
|
||||||
@@ -30,7 +29,7 @@ Friend Module CamAuto
|
|||||||
Return bOk
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function AddWaterJetMachining(nOperId As Integer, ByRef nWarn As Integer) As Boolean
|
Friend Function AddWaterJetMachining( nOperId As Integer, ByRef nWarn As Integer) As Boolean
|
||||||
EgtLuaCreateGlobTable("CAM")
|
EgtLuaCreateGlobTable("CAM")
|
||||||
SetLuaStandardCamParams()
|
SetLuaStandardCamParams()
|
||||||
EgtLuaSetGlobIntVar("CAM.OPERID", nOperId)
|
EgtLuaSetGlobIntVar("CAM.OPERID", nOperId)
|
||||||
@@ -164,61 +163,6 @@ Friend Module CamAuto
|
|||||||
Return bOk
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function ResetAllSplitCut() As Boolean
|
|
||||||
Dim PartList As New List(Of Integer)
|
|
||||||
' Ricerca nei grezzi dei pezzi (devono essere ricercati tra quelli presenti nei grezzi)
|
|
||||||
Dim bOk As Boolean = True
|
|
||||||
' Recupero il numero di fasi presenti nel progetto
|
|
||||||
Dim nPhaseCount As Integer = EgtGetPhaseCount()
|
|
||||||
For nPhase As Integer = 1 To nPhaseCount
|
|
||||||
EgtSetCurrPhase(nPhase)
|
|
||||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
|
||||||
While nRawId <> GDB_ID.NULL
|
|
||||||
Dim nParId As Integer = EgtGetFirstPartInRawPart(nRawId)
|
|
||||||
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
|
|
||||||
While nParId <> GDB_ID.NULL
|
|
||||||
Dim nNextParId As Integer = EgtGetNextPartInRawPart(nParId)
|
|
||||||
' verifico se il pezzo passato è un taglio di sepatazione (il nome deve contenere "SpliCut")
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
If EgtGetName(nParId, sName) AndAlso sName.Contains(SPLIT_CUT) Then
|
|
||||||
' Rimuovo il pezzo dal grezzo
|
|
||||||
If EgtRemovePartFromRawPart(nParId) Then
|
|
||||||
' Salvo l'indice del pezzo se non è stato già inserito
|
|
||||||
Dim nIndex As Integer = PartList.FirstOrDefault(Function(nId) nId = nParId)
|
|
||||||
If nIndex = 0 Then PartList.Add(nParId)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
nParId = nNextParId
|
|
||||||
End While
|
|
||||||
End If
|
|
||||||
nRawId = EgtGetNextRawPart(nRawId)
|
|
||||||
End While
|
|
||||||
Next
|
|
||||||
' Reimposto la prima fase del progetto
|
|
||||||
EgtSetCurrPhase(1)
|
|
||||||
' Procedo ad eliminare il pezzo
|
|
||||||
For Each Item As Integer In PartList
|
|
||||||
bOk = bOk And EgtErase(Item)
|
|
||||||
Next
|
|
||||||
Return bOk
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Friend Function ResetAllRawPart() As Boolean
|
|
||||||
Dim nPhase As Integer = 1
|
|
||||||
Dim nOtherRaw As Integer = EgtGetFirstRawPart()
|
|
||||||
While nOtherRaw <> GDB_ID.NULL
|
|
||||||
' se il pezzo non appartiene alla prima fase allora viene eliminato
|
|
||||||
If Not EgtVerifyRawPartPhase(nOtherRaw, nPhase) Then
|
|
||||||
Dim NextRaw As Integer = EgtGetNextRawPart(nOtherRaw)
|
|
||||||
EgtRemoveRawPart(nOtherRaw)
|
|
||||||
nOtherRaw = NextRaw
|
|
||||||
Else
|
|
||||||
nOtherRaw = EgtGetNextRawPart(nOtherRaw)
|
|
||||||
End If
|
|
||||||
End While
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' verifico che il contorno passato non sia stato separato
|
' verifico che il contorno passato non sia stato separato
|
||||||
Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer)
|
Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer)
|
||||||
Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop)
|
Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Button Name="PhotoBtn" Grid.Column="0" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
<Button Name="PhotoBtn" Grid.Column="0" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
||||||
<Image Name="PhotoIMG" Source="{DynamicResource PhotoImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource PhotoImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
||||||
</Button>
|
</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}"/>
|
<Image Source="{DynamicResource RawPartImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
||||||
|
|||||||
@@ -1,61 +0,0 @@
|
|||||||
<Window x:Class="ChooseTestToolWD"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
|
|
||||||
FontFamily="{DynamicResource OmagCut_Font}"
|
|
||||||
Title="OpenFile" Height="382.6" Width="426.6" WindowStyle="None"
|
|
||||||
ResizeMode="NoResize" ShowInTaskbar="False" AllowsTransparency="True"
|
|
||||||
Background="Transparent">
|
|
||||||
|
|
||||||
<Border Style="{DynamicResource OmagCut_Border}">
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
<ColumnDefinition Width="4*"/>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="1.5*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="1*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<TextBlock Name="FilePathTxBl" Grid.Column="1" Grid.Row="1" Style="{DynamicResource OmagCut_CenteredLowerCaseCharacterTextBlock}" />
|
|
||||||
<!--TextAlignment="Center"
|
|
||||||
FontSize="20"
|
|
||||||
VerticalAlignment="Center"-->
|
|
||||||
<ListBox Name="SetUpToolListBox" Grid.Column="1" Grid.Row="2"
|
|
||||||
ItemsSource="{Binding ItemList}">
|
|
||||||
<ListBox.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<TextBlock Text="{Binding ToolAlias}" Style="{StaticResource OmagCut_ListBoxTextBlock}" />
|
|
||||||
</DataTemplate>
|
|
||||||
</ListBox.ItemTemplate>
|
|
||||||
</ListBox>
|
|
||||||
|
|
||||||
<Grid Grid.Column="1" Grid.Row="4">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
|
|
||||||
<Button Name="OkBtn" Grid.Column="1" Style="{DynamicResource OmagCut_GradientBlueIconButton}" >
|
|
||||||
<Image Source="{DynamicResource VImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
<Button Name="ExitBtn" Grid.Column="3" Style="{DynamicResource OmagCut_GradientBlueIconButton}" IsCancel="True">
|
|
||||||
<Image Source="{DynamicResource XImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</Border>
|
|
||||||
|
|
||||||
</Window>
|
|
||||||
@@ -1,281 +0,0 @@
|
|||||||
Imports System.Collections.ObjectModel
|
|
||||||
Imports System.IO
|
|
||||||
Imports EgtUILib
|
|
||||||
|
|
||||||
Public Class ChooseTestToolWD
|
|
||||||
|
|
||||||
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
||||||
|
|
||||||
Private m_SetUpToolList As New ObservableCollection(Of TestTool)
|
|
||||||
|
|
||||||
Sub New(Owner As Window)
|
|
||||||
Me.Owner = Owner
|
|
||||||
InitializeComponent()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub OpenFile_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
||||||
' Posizione finestra
|
|
||||||
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
|
|
||||||
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
|
|
||||||
' Definizione del collegamento tra ItemList e ListBox1
|
|
||||||
SetUpToolListBox.ItemsSource = m_SetUpToolList
|
|
||||||
FilePathTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 45) ' Selezionare l'utensile da tastare
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub OpenFile_Loaded(sender As Object, e As EventArgs) Handles Me.Loaded
|
|
||||||
' carico elenco degli utensili impostati attualmente in macchina (anche il laser!)
|
|
||||||
LoadSetUpTool()
|
|
||||||
' ricerco l'utensile della lavorazione indicata
|
|
||||||
Dim Item As TestTool = m_SetUpToolList.FirstOrDefault(Function(x) x.ToolName = m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrToolFromSelectedSawCurv)
|
|
||||||
Dim Index As Integer = m_SetUpToolList.IndexOf(Item)
|
|
||||||
If Index < 0 Then
|
|
||||||
Index = 0
|
|
||||||
End If
|
|
||||||
' se presente seleziono il primo elemento
|
|
||||||
If m_SetUpToolList.Count > 0 Then
|
|
||||||
SetUpToolListBox.SelectedItem = m_SetUpToolList(Index)
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
Else
|
|
||||||
OkBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Function LoadSetUpTool() As Boolean
|
|
||||||
Dim sNameTool As String = String.Empty
|
|
||||||
Dim sHeadTool As String = String.Empty
|
|
||||||
Dim nExitTool As Integer = 0
|
|
||||||
|
|
||||||
'sNameTool = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
'If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' ' Imposto la lama
|
|
||||||
' m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool, True))
|
|
||||||
'End If
|
|
||||||
'sNameTool = m_MainWindow.m_CurrentMachine.sCurrMill
|
|
||||||
'If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' ' Imposto la fresa
|
|
||||||
' m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool, False))
|
|
||||||
'End If
|
|
||||||
'sNameTool = m_MainWindow.m_CurrentMachine.sCurrDrill
|
|
||||||
'If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' ' Imposto il foretto
|
|
||||||
' m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool, False))
|
|
||||||
'End If
|
|
||||||
|
|
||||||
sNameTool = "Laser point"
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto laser di puntamento
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, ""))
|
|
||||||
End If
|
|
||||||
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrWaterJet
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto WJ
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
|
|
||||||
Select Case m_MainWindow.m_CurrentMachine.MountedToolConfig
|
|
||||||
Case CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrMill
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la fresa
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrDrill
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto il foretto
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
|
|
||||||
Case CurrentMachine.MountedToolConfigs.MANUALTOOLCHANGER
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
' Recupero tutti gli utensili attrezzati (nel ToolChanger e nel ManualToolChanger)
|
|
||||||
For Each ToolChangerPos As ToolChangerPos In m_MainWindow.m_CurrentMachine.ManualToolChanger
|
|
||||||
'm_SetUpToolList.Add(New ToolPos(ToolChangerPos.sTool, ToolChangerPos.sName, False))
|
|
||||||
sNameTool = ToolChangerPos.sTool
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Return True
|
|
||||||
|
|
||||||
Case CurrentMachine.MountedToolConfigs.TOOLCHANGER
|
|
||||||
' Recupero tutti gli utensili attrezzati (nel ToolChanger e nel ManualToolChanger)
|
|
||||||
sNameTool = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
For Each ToolChangerPos As ToolChangerPos In m_MainWindow.m_CurrentMachine.ToolChanger
|
|
||||||
If Not String.IsNullOrWhiteSpace(ToolChangerPos.sTool) Then
|
|
||||||
'm_SetUpToolList.Add(New ToolPos(ToolChangerPos.sTool, ToolChangerPos.sName, False))
|
|
||||||
sNameTool = ToolChangerPos.sTool
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
For Each ToolChangerPos As ToolChangerPos In m_MainWindow.m_CurrentMachine.ManualToolChanger
|
|
||||||
If Not String.IsNullOrWhiteSpace(ToolChangerPos.sTool) Then
|
|
||||||
'm_SetUpToolList.Add(New ToolPos(ToolChangerPos.sTool, ToolChangerPos.sName, False))
|
|
||||||
sNameTool = ToolChangerPos.sTool
|
|
||||||
If Not String.IsNullOrEmpty(sNameTool) Then
|
|
||||||
' Imposto la lama
|
|
||||||
m_SetUpToolList.Add(New TestTool(sNameTool, sNameTool))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Return True
|
|
||||||
Case Else
|
|
||||||
Return False
|
|
||||||
End Select
|
|
||||||
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Sub SetUpToolListBox_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs) Handles SetUpToolListBox.PreviewMouseUp
|
|
||||||
' Disabilito Ok
|
|
||||||
OkBtn.IsEnabled = False
|
|
||||||
' Recupero item selezionato
|
|
||||||
If SetUpToolListBox.SelectedItems.Count() = 0 Then
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
' A seconda del tipo
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub SetUpToolListBox_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles SetUpToolListBox.SelectionChanged
|
|
||||||
' Disabilito Ok
|
|
||||||
OkBtn.IsEnabled = False
|
|
||||||
' Recupero item selezionato
|
|
||||||
If SetUpToolListBox.SelectedItems.Count() = 0 Then
|
|
||||||
Return
|
|
||||||
Else
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
|
|
||||||
DialogResult = True
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' restituisce l'oggetto selezionato in elenco e lo imposta come attivo
|
|
||||||
Friend Function GetSelectedTool() As TestTool
|
|
||||||
Dim SelTestTool As TestTool = DirectCast(SetUpToolListBox.SelectedItem, TestTool)
|
|
||||||
If SelTestTool.ToolAlias = "Laser point" Then
|
|
||||||
SelTestTool.ToolHead = "H3"
|
|
||||||
SelTestTool.ToolExit = 1
|
|
||||||
SelTestTool.ToolIsSaw = False
|
|
||||||
SelTestTool.ToolIsLaser = True
|
|
||||||
Else
|
|
||||||
EgtTdbSetCurrTool(SelTestTool.ToolName)
|
|
||||||
Dim sHeadTool As String = String.Empty
|
|
||||||
Dim nExitTool As Integer = 0
|
|
||||||
Dim sTypeTool As String = String.Empty
|
|
||||||
Dim nTypeTool As Integer
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nTypeTool)
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.HEAD, sHeadTool)
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.EXIT_, nExitTool)
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.TYPE, sTypeTool)
|
|
||||||
SelTestTool.ToolHead = sHeadTool
|
|
||||||
SelTestTool.ToolExit = nExitTool
|
|
||||||
SelTestTool.ToolType = nTypeTool
|
|
||||||
SelTestTool.ToolIsSaw = (nTypeTool = MCH_TY.SAW_STD)
|
|
||||||
SelTestTool.ToolIsLaser = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return SelTestTool
|
|
||||||
End Function
|
|
||||||
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class TestTool
|
|
||||||
|
|
||||||
Private m_ToolAlias As String = String.Empty
|
|
||||||
Private m_ToolName As String = String.Empty
|
|
||||||
Private m_ToolHead As String = "H1"
|
|
||||||
Private m_ToolExit As Integer = 1
|
|
||||||
Private m_ToolIsSaw As Boolean = False
|
|
||||||
Private m_ToolIsLaser As Boolean = False
|
|
||||||
Private m_ToolType As Integer = -1
|
|
||||||
|
|
||||||
Public Property ToolAlias As String
|
|
||||||
Get
|
|
||||||
Return m_ToolAlias
|
|
||||||
End Get
|
|
||||||
Set(value As String)
|
|
||||||
m_ToolAlias = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolName As String
|
|
||||||
Get
|
|
||||||
Return m_ToolName
|
|
||||||
End Get
|
|
||||||
Set(value As String)
|
|
||||||
m_ToolName = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolHead As String
|
|
||||||
Get
|
|
||||||
Return m_ToolHead
|
|
||||||
End Get
|
|
||||||
Set(value As String)
|
|
||||||
m_ToolHead = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolExit As Integer
|
|
||||||
Get
|
|
||||||
Return m_ToolExit
|
|
||||||
End Get
|
|
||||||
Set(value As Integer)
|
|
||||||
m_ToolExit = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolType As Integer
|
|
||||||
Get
|
|
||||||
Return m_ToolType
|
|
||||||
End Get
|
|
||||||
Set(value As Integer)
|
|
||||||
m_ToolType = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolIsSaw As Boolean
|
|
||||||
Get
|
|
||||||
Return m_ToolIsSaw
|
|
||||||
End Get
|
|
||||||
Set(value As Boolean)
|
|
||||||
m_ToolIsSaw = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property ToolIsLaser As Boolean
|
|
||||||
Get
|
|
||||||
Return m_ToolIsLaser
|
|
||||||
End Get
|
|
||||||
Set(value As Boolean)
|
|
||||||
m_ToolIsLaser = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Sub New(sToolAlias As String, sToolName As String)
|
|
||||||
m_ToolAlias = sToolAlias
|
|
||||||
m_ToolName = sToolName
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -132,16 +132,13 @@
|
|||||||
VerticalAlignment="Center" />
|
VerticalAlignment="Center" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<!--Gestione sfridi-->
|
|
||||||
<Button Name="RemovePartBtn" Grid.ColumnSpan="2" Grid.Row="6"
|
<Button Name="RemovePartBtn" Grid.ColumnSpan="2" Grid.Row="6"
|
||||||
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
||||||
|
|
||||||
<Button Name="ScrapsBtn" Grid.Column="3" Grid.Row="6"
|
<Button Name="ScrapsBtn" Grid.Column="3" Grid.Row="6"
|
||||||
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
||||||
|
|
||||||
<!--Gestione scarico pezzi-->
|
|
||||||
<Button Name="UnloadPartsBtn" Grid.ColumnSpan="2" Grid.Row="7"
|
|
||||||
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
|
||||||
|
|
||||||
<Grid Grid.Row="7" Grid.ColumnSpan="3">
|
<Grid Grid.Row="7" Grid.ColumnSpan="3">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
Imports System.Windows.Forms.Integration
|
Imports EgtUILib
|
||||||
Imports EgtUILib
|
|
||||||
|
|
||||||
Public Class MoveRawPartPage
|
Public Class MoveRawPartPage
|
||||||
' Riferimento alla MainWindow
|
' Riferimento alla MainWindow
|
||||||
@@ -36,16 +35,12 @@ Public Class MoveRawPartPage
|
|||||||
Private m_ScrapsVisibility As Visibility = Visibility.Visible
|
Private m_ScrapsVisibility As Visibility = Visibility.Visible
|
||||||
Private m_CurrRawOnVacuum As Integer = GDB_ID.NULL
|
Private m_CurrRawOnVacuum As Integer = GDB_ID.NULL
|
||||||
|
|
||||||
' definisce se è stata inserito uno scarico
|
|
||||||
Private m_IsCurrPhaseUnloaded As Boolean = False
|
|
||||||
|
|
||||||
Private Sub MoveRawPartPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
Private Sub MoveRawPartPage_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
||||||
' Assegno testi
|
' Assegno testi
|
||||||
RemovePartBtn.Content = EgtMsg(MSG_MOVERAWPAGEUC + 1) 'Rimuovi
|
RemovePartBtn.Content = EgtMsg(MSG_MOVERAWPAGEUC + 1) 'Rimuovi
|
||||||
ModifyBtn.Content = EgtMsg(MSG_SPLITPAGEUC + 17) 'Modifica
|
ModifyBtn.Content = EgtMsg(MSG_SPLITPAGEUC + 17) 'Modifica
|
||||||
ResetBtn.Content = EgtMsg(MSG_NESTPAGEUC + 6) 'Reset
|
ResetBtn.Content = EgtMsg(MSG_NESTPAGEUC + 6) 'Reset
|
||||||
ScrapsBtn.Content = "Add Scraps"
|
ScrapsBtn.Content = "Add Scraps"
|
||||||
UnloadPartsBtn.Content = "Move part"
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub MoveRawPartPage_Loaded(sender As Object, e As EventArgs) Handles Me.Loaded
|
Private Sub MoveRawPartPage_Loaded(sender As Object, e As EventArgs) Handles Me.Loaded
|
||||||
@@ -65,12 +60,7 @@ Public Class MoveRawPartPage
|
|||||||
End If
|
End If
|
||||||
' Deseleziono tutto
|
' Deseleziono tutto
|
||||||
EgtDeselectAll()
|
EgtDeselectAll()
|
||||||
' resetto variabili di navigazione nelle fasi
|
' Recupero i tagli allungati prima definiti
|
||||||
m_bPrev = False
|
|
||||||
m_bToNext = False
|
|
||||||
|
|
||||||
'---------------------------- CREATE NEW PHASE ----------------------------
|
|
||||||
' Recupero i tagli ABILITATI prima definiti
|
|
||||||
Dim Cuts(0) As Integer
|
Dim Cuts(0) As Integer
|
||||||
m_SplitPage.GetEnabledCuts(Cuts)
|
m_SplitPage.GetEnabledCuts(Cuts)
|
||||||
' Fase precedente
|
' Fase precedente
|
||||||
@@ -79,19 +69,11 @@ Public Class MoveRawPartPage
|
|||||||
Dim vNewRaws As New List(Of Integer)
|
Dim vNewRaws As New List(Of Integer)
|
||||||
If Not m_SplitPage.m_bShow Then
|
If Not m_SplitPage.m_bShow Then
|
||||||
SplitRawParts(nPrevPhase, Cuts, vNewRaws)
|
SplitRawParts(nPrevPhase, Cuts, vNewRaws)
|
||||||
m_IsCurrPhaseUnloaded = False
|
|
||||||
Else
|
Else
|
||||||
nPrevPhase = nPrevPhase + 1
|
EgtSetCurrPhase(nPrevPhase + 1)
|
||||||
EgtSetCurrPhase(nPrevPhase)
|
|
||||||
HideAllMachinings()
|
HideAllMachinings()
|
||||||
' verifico se la fase corrente è di tipo scarico frontale
|
|
||||||
m_nCurrDisposition = EgtGetPhaseDisposition(nPrevPhase)
|
|
||||||
If IsDispUnloadOnAuxTab(m_nCurrDisposition) Then
|
|
||||||
m_SplitPage.m_bOnAuxTab = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
m_nCurrPhase = EgtGetCurrPhase()
|
m_nCurrPhase = EgtGetCurrPhase()
|
||||||
'---------------------------- CREATE NEW PHASE ----------------------------
|
|
||||||
|
|
||||||
'---------------------------- SCRAPS ----------------------------
|
'---------------------------- SCRAPS ----------------------------
|
||||||
' gestione visualizzazione del comando "Scraps"
|
' gestione visualizzazione del comando "Scraps"
|
||||||
@@ -119,18 +101,14 @@ Public Class MoveRawPartPage
|
|||||||
End If
|
End If
|
||||||
'---------------------------- SCRAPS ----------------------------
|
'---------------------------- SCRAPS ----------------------------
|
||||||
|
|
||||||
'---------------------------- AUX TABLE ----------------------------
|
|
||||||
' Se movimento pezzi finale, sistemazioni per tavolo ausiliario
|
' Se movimento pezzi finale, sistemazioni per tavolo ausiliario
|
||||||
If m_SplitPage.m_bOnAuxTab And m_SplitPage.m_bEnableOnAuxTab Then
|
If m_SplitPage.m_bOnAuxTab Then
|
||||||
' assegnazione delle info tavola ausiliaria alla dispozione corrente (Spostato nella funzione Refresh)
|
' assegnazione delle info tavola ausiliaria alla dispozione corrente
|
||||||
SetAuxTabInCurrDisposition()
|
SetAuxTabInCurrDisposition()
|
||||||
UnloadPartsBtn.Content = "Go to MOVE part"
|
|
||||||
' altrimenti, aggiorno visualizzazione
|
' altrimenti, aggiorno visualizzazione
|
||||||
ElseIf Not m_SplitPage.m_bOnAuxTab And m_SplitPage.m_bEnableOnAuxTab Then
|
Else
|
||||||
UnloadPartsBtn.Content = "Go to UNLOAD part"
|
|
||||||
End If
|
|
||||||
'---------------------------- AUX TABLE ----------------------------
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
|
End If
|
||||||
' Carico i parametri di movimento
|
' Carico i parametri di movimento
|
||||||
m_dStep = GetPrivateProfileDouble(S_RAWMOVE, K_RAWSTEP, 50, m_MainWindow.GetIniFile())
|
m_dStep = GetPrivateProfileDouble(S_RAWMOVE, K_RAWSTEP, 50, m_MainWindow.GetIniFile())
|
||||||
' Ricavo la lunghezza del baffo di taglio
|
' Ricavo la lunghezza del baffo di taglio
|
||||||
@@ -189,30 +167,6 @@ Public Class MoveRawPartPage
|
|||||||
|
|
||||||
' aggiorno il messaggio del comando per gestire gli sfridi
|
' aggiorno il messaggio del comando per gestire gli sfridi
|
||||||
VerifyIsNewScrap(m_CurrRawOnVacuum)
|
VerifyIsNewScrap(m_CurrRawOnVacuum)
|
||||||
' aggiorno la visibilità dei comandi
|
|
||||||
RefreshVisibility()
|
|
||||||
' salvo l'idice della fase corrente
|
|
||||||
m_nCurrDisposition = EgtGetPhaseDisposition(m_nCurrPhase)
|
|
||||||
' Abilitazione bottone modifica
|
|
||||||
ModifyBtn.IsEnabled = m_SplitPage.m_bShow
|
|
||||||
' gestione abilitazione altri bottoni
|
|
||||||
EnableButtons()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Gestione di visualizzazione dei comandi per il movimento dei pezzi
|
|
||||||
Private Sub RefreshVisibility()
|
|
||||||
' Aggiorno visulizzazione comando per passare alla pagina di scarico
|
|
||||||
If Not m_SplitPage.m_bEnableOnAuxTab Then
|
|
||||||
UnloadPartsBtn.Visibility = Visibility.Hidden
|
|
||||||
Else
|
|
||||||
UnloadPartsBtn.Visibility = Visibility.Visible
|
|
||||||
If m_SplitPage.m_bOnAuxTab Then
|
|
||||||
UnloadPartsBtn.Content = "Go to MOVE part"
|
|
||||||
' altrimenti, aggiorno visualizzazione
|
|
||||||
Else
|
|
||||||
UnloadPartsBtn.Content = "Go to UNLOAD part"
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
' Aggiorno interfaccia per taglio perpendicolare
|
' Aggiorno interfaccia per taglio perpendicolare
|
||||||
If m_bByHand Then
|
If m_bByHand Then
|
||||||
UpBtn.Visibility = Windows.Visibility.Visible
|
UpBtn.Visibility = Windows.Visibility.Visible
|
||||||
@@ -268,6 +222,12 @@ Public Class MoveRawPartPage
|
|||||||
ResetBtn.Visibility = Windows.Visibility.Visible
|
ResetBtn.Visibility = Windows.Visibility.Visible
|
||||||
ScrapsBtn.Visibility = Windows.Visibility.Hidden
|
ScrapsBtn.Visibility = Windows.Visibility.Hidden
|
||||||
End If
|
End If
|
||||||
|
' salvo l'idice della fase corrente
|
||||||
|
m_nCurrDisposition = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
|
' Abilitazione bottone modifica
|
||||||
|
ModifyBtn.IsEnabled = m_SplitPage.m_bShow
|
||||||
|
' gestione abilitazione altri bottoni
|
||||||
|
EnableButtons()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub SetAuxTabInCurrDisposition()
|
Private Sub SetAuxTabInCurrDisposition()
|
||||||
@@ -340,6 +300,7 @@ Public Class MoveRawPartPage
|
|||||||
If Not m_bByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
If Not m_bByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
|
|
||||||
' verifico che il pezzo precedente possa essere depositato correttamente
|
' verifico che il pezzo precedente possa essere depositato correttamente
|
||||||
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
|
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
|
||||||
' mantengo la selezione del pezzo
|
' mantengo la selezione del pezzo
|
||||||
@@ -349,15 +310,6 @@ Public Class MoveRawPartPage
|
|||||||
' esco dal ciclo, prima devo depositare correttamente il pezzo
|
' esco dal ciclo, prima devo depositare correttamente il pezzo
|
||||||
Exit While
|
Exit While
|
||||||
End If
|
End If
|
||||||
' Verifico che il pezzo corrente sia prelevabile - versione 2.6c3 -
|
|
||||||
If VerifyCollisionWithOtherRawPart(nId, True) Then
|
|
||||||
' mantengo la selezione del pezzo
|
|
||||||
EgtSetStatus(m_CurrRawOnVacuum, GDB_ST.SEL)
|
|
||||||
m_CurrProjPage.SetErrorMessage("Collisione pezzi")
|
|
||||||
EgtDraw()
|
|
||||||
' esco dal ciclo, prima devo depositare correttamente il pezzo
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
' salvo l'indice del pezzo correntemente attaccato alle ventose
|
' salvo l'indice del pezzo correntemente attaccato alle ventose
|
||||||
m_CurrRawOnVacuum = nId
|
m_CurrRawOnVacuum = nId
|
||||||
|
|
||||||
@@ -377,15 +329,7 @@ Public Class MoveRawPartPage
|
|||||||
VacuumCups.SetWeightInformation(AverageDensity, MaxSinglePlugger, MaxDoublePlugger)
|
VacuumCups.SetWeightInformation(AverageDensity, MaxSinglePlugger, MaxDoublePlugger)
|
||||||
VacuumCups.SetRotationForExtraStrokeY(GetPrivateProfileInt(S_MACH_RAWMOVE, K_MACH_ROTATEVACUUMFOREXTRASTROKEY, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
VacuumCups.SetRotationForExtraStrokeY(GetPrivateProfileInt(S_MACH_RAWMOVE, K_MACH_ROTATEVACUUMFOREXTRASTROKEY, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
VacuumCups.SetRotationForExtraStrokeX(GetPrivateProfileInt(S_MACH_RAWMOVE, K_MACH_ROTATEVACUUMFOREXTRASTROKEX, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
VacuumCups.SetRotationForExtraStrokeX(GetPrivateProfileInt(S_MACH_RAWMOVE, K_MACH_ROTATEVACUUMFOREXTRASTROKEX, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
|
If PutVacuumCupsOnRaw(nId, rmData) Then
|
||||||
VacuumCups.ResetHeadName()
|
|
||||||
Dim bPutVacuum As Boolean = PutVacuumCupsOnRaw(nId, rmData)
|
|
||||||
If Not bPutVacuum Then
|
|
||||||
Dim bTwoHeadVac As Boolean = (EgtGetHeadId(VACUUM_HEAD_2) <> GDB_ID.NULL)
|
|
||||||
If bTwoHeadVac Then bPutVacuum = PutVacuumCupsOnRaw(nId, rmData)
|
|
||||||
End If
|
|
||||||
|
|
||||||
If bPutVacuum Then
|
|
||||||
' Visualizzo le ventose
|
' Visualizzo le ventose
|
||||||
EgtSetStatus(GetVacuumId(), GDB_ST.ON_)
|
EgtSetStatus(GetVacuumId(), GDB_ST.ON_)
|
||||||
' Aggiorno i dati
|
' Aggiorno i dati
|
||||||
@@ -407,8 +351,6 @@ Public Class MoveRawPartPage
|
|||||||
m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_MOVERAWPAGEUC + 2)) 'Pezzo troppo piccolo : non si può muovere
|
m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_MOVERAWPAGEUC + 2)) 'Pezzo troppo piccolo : non si può muovere
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -428,7 +370,7 @@ Public Class MoveRawPartPage
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Veririfica che il grezzo non entri in colliosione con altri pezzi
|
' Veririfica che il grezzo non entri in colliosione con altri pezzi
|
||||||
Private Function VerifyCollisionWithOtherRawPart_0(nIdOnVacumm As Integer) As Boolean
|
Private Function VerifyCollisionWithOtherRawPart(nIdOnVacumm As Integer) As Boolean
|
||||||
' se movimento su tavola di scarico non eseguo il controllo (evito di segnalre errori per pezzi ricavati interni al grezzo...)
|
' se movimento su tavola di scarico non eseguo il controllo (evito di segnalre errori per pezzi ricavati interni al grezzo...)
|
||||||
If m_SplitPage.m_bOnAuxTab Then Return False
|
If m_SplitPage.m_bOnAuxTab Then Return False
|
||||||
If nIdOnVacumm = GDB_ID.NULL Then Return False
|
If nIdOnVacumm = GDB_ID.NULL Then Return False
|
||||||
@@ -462,69 +404,6 @@ Public Class MoveRawPartPage
|
|||||||
Return False
|
Return False
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' Veririfica che il grezzo non entri in colliosione con altri pezzi - versione 2.6c3 -
|
|
||||||
Private Function VerifyCollisionWithOtherRawPart(nIdOnVacumm As Integer, Optional IsTaking As Boolean = False) As Boolean
|
|
||||||
' se movimento su tavola di scarico non eseguo il controllo (evito di segnalre errori per pezzi ricavati interni al grezzo...)
|
|
||||||
If m_SplitPage.m_bOnAuxTab Then Return False
|
|
||||||
If nIdOnVacumm = GDB_ID.NULL Then Return False
|
|
||||||
' Creo gruppo temporaneo in cui generare le superfici per la veririfica di collisione
|
|
||||||
Dim m_nTempId As Integer = EgtCreateGroup(GDB_ID.ROOT)
|
|
||||||
If m_nTempId = GDB_ID.NULL Then Return False
|
|
||||||
EgtSetName(m_nTempId, "RawTemp")
|
|
||||||
' recupero il contorno del'ID attaccato alle ventose e da questo genero una superificie
|
|
||||||
Dim nIdUpRegionOnVac As Integer = EgtGetFirstNameInGroup(nIdOnVacumm, "RawUpReg")
|
|
||||||
Dim nIdDwnRegionOnVac As Integer = EgtGetFirstNameInGroup(nIdOnVacumm, "RawDwnReg")
|
|
||||||
' recupero gli ID di tutti i grezzi della fase corrente
|
|
||||||
Dim nCurrPhase As Integer = EgtGetCurrPhase()
|
|
||||||
Dim nRawGroupId = EgtGetParent(EgtGetFirstRawPart())
|
|
||||||
Dim nIdRaw As Integer = EgtGetFirstRawPart()
|
|
||||||
' ciclo su tutti i grezzi per veririficare eventuali collisioni
|
|
||||||
While nIdRaw <> GDB_ID.NULL
|
|
||||||
' verifico la fase del grezzo
|
|
||||||
If EgtVerifyRawPartCurrPhase(nIdRaw) And nIdOnVacumm <> nIdRaw Then
|
|
||||||
' recupero il contorno del pezzo e genero la sua sueperificie
|
|
||||||
Dim nIdUpRegion As Integer = EgtGetFirstNameInGroup(nIdRaw, "RawUpReg")
|
|
||||||
Dim nIdDwnRegion As Integer = EgtGetFirstNameInGroup(nIdRaw, "RawDwnReg")
|
|
||||||
' creo la copia delle superifici
|
|
||||||
Dim nCopy_IdDwnRegionOnVac As Integer = EgtCopyGlob(nIdDwnRegionOnVac, m_nTempId)
|
|
||||||
Dim nCopy_nIdUpRegion As Integer = EgtCopyGlob(nIdUpRegion, m_nTempId)
|
|
||||||
' PRELIEVO
|
|
||||||
If EgtSurfFrIntersect(nCopy_IdDwnRegionOnVac, nCopy_nIdUpRegion) Then
|
|
||||||
' se esite una superficie allora esiste un'intersezione
|
|
||||||
If EgtExistsObj(nCopy_IdDwnRegionOnVac) Then
|
|
||||||
EgtErase(m_nTempId)
|
|
||||||
' Esco: Intersezione TROVATA → true
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
If Not IsTaking Then
|
|
||||||
' DEPOSITO : devono essere esguiti due controlli ulteririori
|
|
||||||
Dim nCopy_IdUpRegionOnVac As Integer = EgtCopyGlob(nIdUpRegionOnVac, m_nTempId)
|
|
||||||
Dim nCopy_nIdDwnRegion As Integer = EgtCopyGlob(nIdDwnRegion, m_nTempId)
|
|
||||||
If EgtSurfFrIntersect(nCopy_IdDwnRegionOnVac, nCopy_nIdDwnRegion) Then
|
|
||||||
' se esite una superficie allora esiste un'intersezione
|
|
||||||
If EgtExistsObj(nCopy_IdDwnRegionOnVac) Then
|
|
||||||
EgtErase(m_nTempId)
|
|
||||||
' Esco: Intersezione TROVATA → true
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
If EgtSurfFrIntersect(nCopy_IdUpRegionOnVac, nCopy_nIdUpRegion) Then
|
|
||||||
' se esite una superficie allora esiste un'intersezione
|
|
||||||
If EgtExistsObj(nCopy_IdUpRegionOnVac) Then
|
|
||||||
EgtErase(m_nTempId)
|
|
||||||
' Esco: Intersezione TROVATA → true
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
nIdRaw = EgtGetNextRawPart(nIdRaw)
|
|
||||||
End While
|
|
||||||
EgtErase(m_nTempId)
|
|
||||||
Return False
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function VerifyIsNewScrap(nMyId As Integer) As Boolean
|
Private Function VerifyIsNewScrap(nMyId As Integer) As Boolean
|
||||||
Dim nVal As Integer = 0
|
Dim nVal As Integer = 0
|
||||||
If EgtGetInfo(nMyId, K_ISNEWSCRAPS, nVal) Then
|
If EgtGetInfo(nMyId, K_ISNEWSCRAPS, nVal) Then
|
||||||
@@ -859,12 +738,6 @@ Public Class MoveRawPartPage
|
|||||||
Return bOk
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub RemovePart_KeyCancel(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles m_CurrProjPage.OnKeyCancelDownScene
|
|
||||||
If e.KeyCode = System.Windows.Forms.Keys.Delete Then
|
|
||||||
RemovePartBtn_Click(Nothing, Nothing)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
||||||
Dim nRawId As Integer = EgtGetFirstSelectedObj()
|
Dim nRawId As Integer = EgtGetFirstSelectedObj()
|
||||||
While nRawId <> GDB_ID.NULL
|
While nRawId <> GDB_ID.NULL
|
||||||
@@ -907,34 +780,6 @@ Public Class MoveRawPartPage
|
|||||||
End While
|
End While
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Passo dalla pagina di movimento dei pezzi alla pagina di scarico
|
|
||||||
Private Sub UnloadPartBtn_Click() Handles UnloadPartsBtn.Click
|
|
||||||
' forzo lo stato di scarico frontale oppure di movimento
|
|
||||||
m_SplitPage.m_bOnAuxTab = Not m_SplitPage.m_bOnAuxTab
|
|
||||||
|
|
||||||
' se rientro nella fase di spostamenti allora nascondo la tavola di scarico
|
|
||||||
If Not m_SplitPage.m_bOnAuxTab Then
|
|
||||||
' se ci sono pezzi sulla tavola di scarico non posso nasconderla
|
|
||||||
Dim LclLstOfUnldPart As New List(Of Integer)
|
|
||||||
If Not PartOnAuxTab(LclLstOfUnldPart, m_nCurrPhase) Then
|
|
||||||
EgtDisableModified()
|
|
||||||
' nascondo la tavola di scarico
|
|
||||||
EgtSetStatus(m_nAuxTabId, GDB_ST.OFF)
|
|
||||||
' Nascondo eventuali pezzi in parcheggio
|
|
||||||
HideParkedParts()
|
|
||||||
EgtEnableModified()
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
' Assegnazione delle info tavola ausiliaria alla dispozione corrente
|
|
||||||
SetAuxTabInCurrDisposition()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Mantengo la fase che è stata creata e passo a gestire solo la visualizzazione dei bottoni
|
|
||||||
RefreshVisibility()
|
|
||||||
EgtZoom(ZM.ALL, True)
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub StepMoveTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepMoveTxBx.EgtClosed
|
Private Sub StepMoveTxBx_EgtClosed(sender As Object, e As EventArgs) Handles StepMoveTxBx.EgtClosed
|
||||||
Dim dStep As Double
|
Dim dStep As Double
|
||||||
If StringToLen(StepMoveTxBx.Text, dStep) Then
|
If StringToLen(StepMoveTxBx.Text, dStep) Then
|
||||||
@@ -976,8 +821,8 @@ Public Class MoveRawPartPage
|
|||||||
Dim ptRef As Point3d
|
Dim ptRef As Point3d
|
||||||
If Not EgtGetInfo(nRefId, "Pos", ptRef) Then Return
|
If Not EgtGetInfo(nRefId, "Pos", ptRef) Then Return
|
||||||
Dim sCorn As String = ""
|
Dim sCorn As String = ""
|
||||||
EgtGetInfo(nRefId, "COR", sCorn)
|
EgtGetInfo( nRefId, "COR", sCorn)
|
||||||
Select Case sCorn
|
Select sCorn
|
||||||
Case "TL"
|
Case "TL"
|
||||||
nCorn = MCH_CR.TL
|
nCorn = MCH_CR.TL
|
||||||
Case "TR"
|
Case "TR"
|
||||||
@@ -1162,44 +1007,8 @@ Public Class MoveRawPartPage
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub PauseBtn_Click(sender As Object, e As RoutedEventArgs) Handles PauseBtn.Click
|
Private Sub PauseBtn_Click(sender As Object, e As RoutedEventArgs) Handles PauseBtn.Click
|
||||||
' verifico la presenza di eventuali pezzi sulla tavola di scarico
|
|
||||||
Dim LclLstOfUnldPart As New List(Of Integer)
|
|
||||||
PartOnAuxTab(LclLstOfUnldPart, m_nCurrPhase)
|
|
||||||
If Not InsertPauseInCurrPhase() Then Return
|
|
||||||
AddNewPhase()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' restituisce la lista dei pezzi che sono sulla tavola di scarico nella fase indicata
|
|
||||||
Private Function PartOnAuxTab(ByRef ListOfUnloadedPatr As List(Of Integer), nPhase As Integer) As Boolean
|
|
||||||
m_IsCurrPhaseUnloaded = False
|
|
||||||
' Area tavolo ausiliario
|
|
||||||
Dim b3AuxTab As New BBox3d
|
|
||||||
EgtGetBBoxGlob(EgtGetFirstNameInGroup(m_nAuxTabId, "A1"), GDB_BB.STANDARD, b3AuxTab)
|
|
||||||
' Area pezzi
|
|
||||||
Dim nOtherRaw As Integer = EgtGetFirstRawPart()
|
|
||||||
While nOtherRaw <> GDB_ID.NULL
|
|
||||||
If EgtVerifyRawPartPhase(nOtherRaw, nPhase) Then
|
|
||||||
Dim b3OtherRaw As New BBox3d
|
|
||||||
' EgtGetRawPartBBox(nOtherRaw, b3OtherRaw)
|
|
||||||
EgtGetBBoxGlob(nOtherRaw, GDB_BB.STANDARD, b3OtherRaw)
|
|
||||||
' se il centro del pezzo è sulla tavola di scarico
|
|
||||||
If b3OtherRaw.Center.y < b3AuxTab.Max().y Then
|
|
||||||
m_IsCurrPhaseUnloaded = True
|
|
||||||
ListOfUnloadedPatr.Add(nOtherRaw)
|
|
||||||
' salvo l'info che indica che il pezzo deve essere scaricato
|
|
||||||
EgtSetInfo(nOtherRaw, "Unloaded", 1)
|
|
||||||
'Exit While
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
nOtherRaw = EgtGetNextRawPart(nOtherRaw)
|
|
||||||
End While
|
|
||||||
Return m_IsCurrPhaseUnloaded
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' inserisce una pausa nella fase corrente
|
|
||||||
Private Function InsertPauseInCurrPhase() As Boolean
|
|
||||||
' verifico che ci sia almeno un elemto selezionato (dati di aggancio pezzo)
|
' verifico che ci sia almeno un elemto selezionato (dati di aggancio pezzo)
|
||||||
If m_RawMoveDataList.Count = 0 Then Return False
|
If m_RawMoveDataList.Count = 0 Then Return
|
||||||
' verifico che sia stato inseito almeno uno spostamento, altrimenti lo rimuovo
|
' verifico che sia stato inseito almeno uno spostamento, altrimenti lo rimuovo
|
||||||
Dim Index As Integer = 0
|
Dim Index As Integer = 0
|
||||||
For Index = m_RawMoveDataList.Count - 1 To 0 Step -1
|
For Index = m_RawMoveDataList.Count - 1 To 0 Step -1
|
||||||
@@ -1208,9 +1017,8 @@ Public Class MoveRawPartPage
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
' verifico che la lista non sia vuota
|
' verifico che la lista non sia vuota
|
||||||
If m_RawMoveDataList.Count = 0 Then
|
If m_RawMoveDataList.Count = 0 Then Return
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
' recupero disposizione fase corrente
|
' recupero disposizione fase corrente
|
||||||
Dim nDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
Dim nDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
' imposto la pausa nella disposizione corrente
|
' imposto la pausa nella disposizione corrente
|
||||||
@@ -1218,22 +1026,30 @@ Public Class MoveRawPartPage
|
|||||||
' aggiungo al gruppo disposizione dei sottogruppi con i dati di movimento dei grezzi spostati
|
' aggiungo al gruppo disposizione dei sottogruppi con i dati di movimento dei grezzi spostati
|
||||||
SaveMoveInfoInDisposition(nDispId, m_RawMoveDataList)
|
SaveMoveInfoInDisposition(nDispId, m_RawMoveDataList)
|
||||||
' imposto eventuale movimento pezzi su tavola ausiliaria
|
' imposto eventuale movimento pezzi su tavola ausiliaria
|
||||||
SaveMovePartsOnAuxTable(nDispId, m_IsCurrPhaseUnloaded)
|
SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
||||||
' SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
|
||||||
'' Eseguo calcolo speciale dei movimenti: per tavola multicut
|
'' Eseguo calcolo speciale dei movimenti: per tavola multicut
|
||||||
'SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
'SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
||||||
SaveRemoveByHandInDisposition(nDispId, False)
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' crea una nuvoa fase/disposizione, la rende corrente, ricalcolo i grezzi e le lavorazioni della nuova fase
|
|
||||||
Private Function AddNewPhase() As Boolean
|
|
||||||
' Creo nuova fase
|
' Creo nuova fase
|
||||||
Dim nNewPhase As Integer = EgtAddPhase()
|
Dim nNewPhase As Integer = EgtAddPhase()
|
||||||
' Carico i grezzi rimasti sulla tavola nella nuova fase
|
|
||||||
ChangePhaseRawPart(nNewPhase)
|
' Eseguo eventuali spezzature dei grezzi e vi sposto i pezzi (i grezzi devono essere sempre copiati per Registrazione con rotazione)
|
||||||
' Sposto le lavorazioni rimaste nella nuova fase
|
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||||
ChangeOperationPhase(nNewPhase)
|
While nRawId <> GDB_ID.NULL
|
||||||
|
' se il grezzo è presente nella fase precedente e non è quello selezionato allora procedo a creare una copia nella nuova fase
|
||||||
|
If EgtVerifyRawPartPhase(nRawId, nNewPhase - 1) Then
|
||||||
|
Dim bKeepRawPart As Boolean = True
|
||||||
|
For Each RawOnAuxTabData As RawMoveData In m_RawMoveDataList
|
||||||
|
If nRawId = RawOnAuxTabData.m_nId Then
|
||||||
|
bKeepRawPart = False
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
If bKeepRawPart Then EgtKeepRawPart(nRawId, nNewPhase - 1)
|
||||||
|
End If
|
||||||
|
' passo al successivo grezzo
|
||||||
|
nRawId = EgtGetNextRawPart(nRawId)
|
||||||
|
End While
|
||||||
|
|
||||||
Dim nCurrDisposition As Integer = EgtGetPhaseDisposition(nNewPhase)
|
Dim nCurrDisposition As Integer = EgtGetPhaseDisposition(nNewPhase)
|
||||||
'SetPause(nCurrDisposition)
|
'SetPause(nCurrDisposition)
|
||||||
@@ -1244,43 +1060,8 @@ Public Class MoveRawPartPage
|
|||||||
SetAuxTabInCurrDisposition()
|
SetAuxTabInCurrDisposition()
|
||||||
' ripulisco la lista degli spostamenti
|
' ripulisco la lista degli spostamenti
|
||||||
m_RawMoveDataList.Clear()
|
m_RawMoveDataList.Clear()
|
||||||
m_IsCurrPhaseUnloaded = False
|
|
||||||
' aggiorno la fase corrente
|
' aggiorno la fase corrente
|
||||||
m_nCurrPhase = EgtGetCurrPhase()
|
m_nCurrPhase = EgtGetCurrPhase()
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Copio i grezzi rimasti sulla tavola nella fase successiva
|
|
||||||
Private Sub ChangePhaseRawPart(ByVal nNewPhase As Integer)
|
|
||||||
' recupero l'elenco dei pezzi che sono stati scaricati sulla tavola
|
|
||||||
Dim LocalLstOfUnldPart As New List(Of Integer)
|
|
||||||
PartOnAuxTab(LocalLstOfUnldPart, nNewPhase - 1)
|
|
||||||
' Eseguo eventuali spezzature dei grezzi e vi sposto i pezzi (i grezzi devono essere sempre copiati per Registrazione con rotazione)
|
|
||||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
|
||||||
While nRawId <> GDB_ID.NULL
|
|
||||||
' se il grezzo è presente nella fase precedente e non è quello selezionato allora procedo a creare una copia nella nuova fase
|
|
||||||
If EgtVerifyRawPartPhase(nRawId, nNewPhase - 1) Then
|
|
||||||
Dim bKeepRawPart As Boolean = True
|
|
||||||
For Each RawOnAuxTabData As RawMoveData In m_RawMoveDataList
|
|
||||||
If nRawId = RawOnAuxTabData.m_nId Then
|
|
||||||
' se il pezzo è stato scaricato allora non deve essere riportato nella fase successiva
|
|
||||||
For Each UnloadPart As Integer In LocalLstOfUnldPart
|
|
||||||
If nRawId = UnloadPart Then
|
|
||||||
' salvo l'info che indica che il pezzo deve essere scaricato
|
|
||||||
EgtSetInfo(nRawId, "Unloaded", 1)
|
|
||||||
bKeepRawPart = False
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
'bKeepRawPart = False
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If bKeepRawPart Then EgtKeepRawPart(nRawId, nNewPhase - 1)
|
|
||||||
End If
|
|
||||||
' passo al successivo grezzo
|
|
||||||
nRawId = EgtGetNextRawPart(nRawId)
|
|
||||||
End While
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ResetBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetBtn.Click
|
Private Sub ResetBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetBtn.Click
|
||||||
@@ -1296,8 +1077,6 @@ Public Class MoveRawPartPage
|
|||||||
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngRaw)
|
EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngRaw)
|
||||||
AddRawMoveData(nRawId, vtMove, m_RawMoveDataList)
|
AddRawMoveData(nRawId, vtMove, m_RawMoveDataList)
|
||||||
RemoveRawMoveData(nRawId, m_RawMoveDataList)
|
RemoveRawMoveData(nRawId, m_RawMoveDataList)
|
||||||
' elimino l'info che indica che il pezzo è scaricato sulla tavola
|
|
||||||
EgtRemoveInfo(nRawId, "Unloaded")
|
|
||||||
' Disabilito pezzo e nascondo le ventose
|
' Disabilito pezzo e nascondo le ventose
|
||||||
EgtSetStatus(nRawId, GDB_ST.ON_)
|
EgtSetStatus(nRawId, GDB_ST.ON_)
|
||||||
EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
||||||
@@ -1330,14 +1109,6 @@ Public Class MoveRawPartPage
|
|||||||
m_nCurrPhase -= 1
|
m_nCurrPhase -= 1
|
||||||
m_bPrev = False
|
m_bPrev = False
|
||||||
m_SplitPage.m_bShow = True
|
m_SplitPage.m_bShow = True
|
||||||
m_SplitPage.m_bOnAuxTab = True
|
|
||||||
' imposto la visibilità della tavola ausiliaria
|
|
||||||
SetAuxTabInCurrDisposition()
|
|
||||||
' carico le info di disposizione dei pezzi
|
|
||||||
m_RawMoveDataList.Clear()
|
|
||||||
m_bRemovedRaw = GetRemoveByHandInDisposition(m_nCurrDisposition)
|
|
||||||
GetMoveInfoInDisposition(m_nCurrDisposition, m_RawMoveDataList)
|
|
||||||
RefreshVisibility()
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
@@ -1368,53 +1139,18 @@ Public Class MoveRawPartPage
|
|||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' ------- VISUALIZZAZIONE (navigazione tra le fasi) -------
|
' se la disposizione corrente è sulla tavola ausiliaria allora lo sarà anche quella successiva
|
||||||
If m_SplitPage.m_bShow Then
|
If IsDispUnloadOnAuxTab(m_nCurrDisposition) <> 0 Then
|
||||||
' verifico se la fase successiva è uno scarico frontale
|
EgtSetCurrPhase(m_nCurrPhase + 1)
|
||||||
If NextOperationIsUnloading(m_nCurrDisposition) Then
|
m_nCurrDisposition = EgtGetNextOperation(m_nCurrDisposition)
|
||||||
' imposto la nuova fase (che è stata modificata all'interno della funzione di controllo)
|
m_nCurrPhase += 1
|
||||||
EgtSetCurrPhase(m_nCurrPhase)
|
m_bToNext = False
|
||||||
' carico i dati di movimento dei pezzi nella fase corrente
|
m_SplitPage.m_bShow = True
|
||||||
m_RawMoveDataList.Clear()
|
|
||||||
m_bRemovedRaw = GetRemoveByHandInDisposition(m_nCurrDisposition)
|
|
||||||
GetMoveInfoInDisposition(m_nCurrDisposition, m_RawMoveDataList)
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
EnableButtons()
|
EnableButtons()
|
||||||
Return
|
Return
|
||||||
ElseIf IsDispUnloadOnAuxTab(m_nCurrDisposition) <> 0 AndAlso Not NextOperationIsUnloading(m_nCurrDisposition) Then
|
|
||||||
' imposto la nuova fase, al termine della Sub verrà caricata la pagina Split nella fase indicata ora
|
|
||||||
m_bToNext = True
|
|
||||||
m_nCurrPhase += 1
|
|
||||||
EgtSetCurrPhase(m_nCurrPhase)
|
|
||||||
EgtDraw()
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' ------- MODIFICA -------
|
|
||||||
If Not m_SplitPage.m_bShow Then
|
|
||||||
' se la tavola di scarico presente oppure ci sono pezzi sulla tavola di scarico
|
|
||||||
Dim LclLstOfUnldPart As New List(Of Integer)
|
|
||||||
If m_SplitPage.m_bOnAuxTab Or PartOnAuxTab(LclLstOfUnldPart, m_nCurrPhase) Then
|
|
||||||
' se ci sono pezzi sulla tavola di scarico prima di procedere inserisco una pausa e creo una nuoava fase
|
|
||||||
If m_IsCurrPhaseUnloaded AndAlso InsertPauseInCurrPhase() Then AddNewPhase()
|
|
||||||
' nascondo la tavola di scarico
|
|
||||||
EgtDisableModified()
|
|
||||||
EgtSetStatus(m_nAuxTabId, GDB_ST.OFF)
|
|
||||||
EgtEnableModified()
|
|
||||||
End If
|
|
||||||
m_bToNext = True
|
|
||||||
'' se la disposizione corrente è sulla tavola ausiliaria allora lo sarà anche quella successiva
|
|
||||||
'If IsDispUnloadOnAuxTab(m_nCurrDisposition) <> 0 Then
|
|
||||||
' EgtSetCurrPhase(m_nCurrPhase + 1)
|
|
||||||
' m_nCurrDisposition = EgtGetNextOperation(m_nCurrDisposition)
|
|
||||||
' m_nCurrPhase += 1
|
|
||||||
' m_bToNext = False
|
|
||||||
' m_SplitPage.m_bShow = True
|
|
||||||
' EgtDraw()
|
|
||||||
' EnableButtons()
|
|
||||||
' Return
|
|
||||||
'End If
|
|
||||||
End If
|
|
||||||
' resetto l'inidice del pezzo da mnovimentare
|
' resetto l'inidice del pezzo da mnovimentare
|
||||||
m_CurrRawOnVacuum = GDB_ID.NULL
|
m_CurrRawOnVacuum = GDB_ID.NULL
|
||||||
' Deseleziono tutto
|
' Deseleziono tutto
|
||||||
@@ -1457,7 +1193,7 @@ Public Class MoveRawPartPage
|
|||||||
' disabilito bottone
|
' disabilito bottone
|
||||||
ModifyBtn.IsEnabled = False
|
ModifyBtn.IsEnabled = False
|
||||||
' gestione abilitazione altri bottoni
|
' gestione abilitazione altri bottoni
|
||||||
EnableButtons(MachiningList.Count > 0)
|
EnableButtons()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' verifica se la disposizione indicata è uno scarico sulla tavola ausiliaria
|
' verifica se la disposizione indicata è uno scarico sulla tavola ausiliaria
|
||||||
@@ -1468,20 +1204,6 @@ Public Class MoveRawPartPage
|
|||||||
Return bVal
|
Return bVal
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
' restituisce e attiva la successiva disposizione se è uno scarico frontale
|
|
||||||
Public Function NextOperationIsUnloading(nCurrDispId As Integer) As Boolean
|
|
||||||
' recupero la primo operazione successiva
|
|
||||||
Dim nNextIdOperation As Integer = EgtGetNextOperation(nCurrDispId)
|
|
||||||
' a partire da questa cerco la prima disposizione disponibile
|
|
||||||
Dim nNextIdDips As Integer = GetNextDisposition(nNextIdOperation)
|
|
||||||
If nNextIdDips = nNextIdOperation And IsDispUnloadOnAuxTab(nNextIdOperation) Then
|
|
||||||
m_nCurrPhase += 1
|
|
||||||
m_nCurrDisposition = nNextIdOperation
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
Return False
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' recupero la prima disposizione disponibile tra l'elenco delle operazioni presenti
|
' recupero la prima disposizione disponibile tra l'elenco delle operazioni presenti
|
||||||
Public Function GetNextDisposition(nCurrDisposId As Integer) As Integer
|
Public Function GetNextDisposition(nCurrDisposId As Integer) As Integer
|
||||||
Dim nDispId As Integer = nCurrDisposId
|
Dim nDispId As Integer = nCurrDisposId
|
||||||
@@ -1494,7 +1216,7 @@ Public Class MoveRawPartPage
|
|||||||
Return GDB_ID.NULL
|
Return GDB_ID.NULL
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub EnableButtons(Optional bExistsMachining As Boolean = False)
|
Private Sub EnableButtons()
|
||||||
UpBtn.IsEnabled = Not m_SplitPage.m_bShow
|
UpBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
LeftBtn.IsEnabled = Not m_SplitPage.m_bShow
|
LeftBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
RightBtn.IsEnabled = Not m_SplitPage.m_bShow
|
RightBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
@@ -1510,39 +1232,19 @@ Public Class MoveRawPartPage
|
|||||||
BottomRBtn.IsEnabled = Not m_SplitPage.m_bShow
|
BottomRBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
PauseBtn.IsEnabled = Not m_SplitPage.m_bShow
|
PauseBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
ResetBtn.IsEnabled = Not m_SplitPage.m_bShow
|
ResetBtn.IsEnabled = Not m_SplitPage.m_bShow
|
||||||
UnloadPartsBtn.IsEnabled = Not m_SplitPage.m_bShow
|
|
||||||
If m_SplitPage.m_bShow Then
|
If m_SplitPage.m_bShow Then
|
||||||
' se ultima fase (e non sacrico su tavola)
|
|
||||||
If m_nCurrPhase = EgtGetPhaseCount() And m_SplitPage.m_bOnAuxTab Then
|
|
||||||
NextBtn.IsEnabled = (m_nCurrPhase < EgtGetPhaseCount())
|
NextBtn.IsEnabled = (m_nCurrPhase < EgtGetPhaseCount())
|
||||||
Else
|
Else
|
||||||
NextBtn.IsEnabled = (m_nCurrPhase <= EgtGetPhaseCount())
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
' Se esistono delle lavorazioni allora abilito il pulsante per procedere
|
|
||||||
If Not bExistsMachining Then
|
|
||||||
NextBtn.IsEnabled = Not m_SplitPage.m_bOnAuxTab
|
NextBtn.IsEnabled = Not m_SplitPage.m_bOnAuxTab
|
||||||
Else
|
|
||||||
NextBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' esco dalla pagina di scarico
|
|
||||||
Private Sub MoveRawPartPage_Unloaded(sender As Object, e As EventArgs) Handles Me.Unloaded
|
Private Sub MoveRawPartPage_Unloaded(sender As Object, e As EventArgs) Handles Me.Unloaded
|
||||||
' verifico che la fase corrente non sia vuota
|
' verifico che la fase corrente non sia vuota
|
||||||
Dim nLastDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
Dim nLastDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
|
If EgtIsOperationEmpty(nLastDispId) And m_SplitPage.m_bOnAuxTab And m_RawMoveDataList.Count = 0 Then
|
||||||
'' se sono in visualizzazione allora non elimino essuna operazione
|
EgtErase(nLastDispId)
|
||||||
'If Not m_SplitPage.m_bShow Then
|
End If
|
||||||
' If EgtIsOperationEmpty(nLastDispId) And Not m_SplitPage.m_bOnAuxTab And m_RawMoveDataList.Count = 0 Then
|
|
||||||
' EgtErase(nLastDispId)
|
|
||||||
' ElseIf EgtIsOperationEmpty(nLastDispId) And m_SplitPage.m_bOnAuxTab And m_RawMoveDataList.Count = 0 Then
|
|
||||||
' ' Dichiaro pagina non attiva
|
|
||||||
' m_bActive = False
|
|
||||||
' Return
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
' Se movimento con ventose
|
' Se movimento con ventose
|
||||||
If Not m_bByHand Then
|
If Not m_bByHand Then
|
||||||
@@ -1558,9 +1260,8 @@ Public Class MoveRawPartPage
|
|||||||
SaveMoveInfoInDisposition(nDispId, m_RawMoveDataList)
|
SaveMoveInfoInDisposition(nDispId, m_RawMoveDataList)
|
||||||
' imposto eventuale presenza rimozioni manuali
|
' imposto eventuale presenza rimozioni manuali
|
||||||
SaveRemoveByHandInDisposition(nDispId, m_bRemovedRaw)
|
SaveRemoveByHandInDisposition(nDispId, m_bRemovedRaw)
|
||||||
' imposto eventuale movimento pezzi su tavola ausiliaria (se è realmente avvenuto)
|
' imposto eventuale movimento pezzi su tavola ausiliaria
|
||||||
'SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
SaveMovePartsOnAuxTable(nDispId, m_SplitPage.m_bOnAuxTab)
|
||||||
SaveMovePartsOnAuxTable(nDispId, m_IsCurrPhaseUnloaded)
|
|
||||||
' Eseguo calcolo speciale dei movimenti
|
' Eseguo calcolo speciale dei movimenti
|
||||||
SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
SpecialApplyDisposition(nDispId, True, Not m_SplitPage.m_bOnAuxTab)
|
||||||
End If
|
End If
|
||||||
@@ -1576,18 +1277,13 @@ Public Class MoveRawPartPage
|
|||||||
SpecialApplyDisposition(nDispId, True)
|
SpecialApplyDisposition(nDispId, True)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Nascondo eventuale tavola ausiliaria
|
' Nascondo eventuale tavola ausiliaria
|
||||||
If m_SplitPage.m_bOnAuxTab Then
|
If m_SplitPage.m_bOnAuxTab Then
|
||||||
EgtDisableModified()
|
EgtDisableModified()
|
||||||
EgtSetStatus(m_nAuxTabId, GDB_ST.OFF)
|
EgtSetStatus(m_nAuxTabId, GDB_ST.OFF)
|
||||||
EgtEnableModified()
|
EgtEnableModified()
|
||||||
' se sto uscendo dalla pagina delle spezzature
|
EgtZoom(ZM.ALL, False)
|
||||||
If Not m_bPrev And Not m_bToNext Then
|
If Not m_bPrev Then
|
||||||
Dim nDispId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
|
||||||
' se sto uscendo dalla pagina split (senza passare dal comando next)
|
|
||||||
Dim lclLstUnlPart As New List(Of Integer)
|
|
||||||
SaveMovePartsOnAuxTable(nDispId, PartOnAuxTab(lclLstUnlPart, m_nCurrPhase))
|
|
||||||
' Cancello eventuale manipolatore pezzi
|
' Cancello eventuale manipolatore pezzi
|
||||||
EgtDisableModified()
|
EgtDisableModified()
|
||||||
RemoveVacuumCups()
|
RemoveVacuumCups()
|
||||||
@@ -1604,30 +1300,10 @@ Public Class MoveRawPartPage
|
|||||||
m_bPrev = False
|
m_bPrev = False
|
||||||
m_SplitPage.m_bShow = True
|
m_SplitPage.m_bShow = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim Ph As Integer = EgtGetCurrPhase()
|
|
||||||
' aggiorno il disegno
|
|
||||||
EgtZoom(ZM.ALL, False)
|
|
||||||
' Dichiaro pagina non attiva
|
' Dichiaro pagina non attiva
|
||||||
m_bActive = False
|
m_bActive = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' ----------------- TEST funzione per debug operazioni -----------------
|
|
||||||
Private Sub SaveMyFileTest(sFilename As String)
|
|
||||||
LoadCurrPhaseMachining()
|
|
||||||
' salvo il file corrente per poterlo studiare e capire cosa è successo nella rappresentazione dei grezzi
|
|
||||||
EgtSaveFile("C:\EgtData\OmagCUT\MyProjects\" & sFilename & ".nge", NGE.BIN)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub LoadCurrPhaseMachining()
|
|
||||||
Dim m_MachiningList As New List(Of SplitMach)
|
|
||||||
'm_SplitPage.ShowMachiningList()
|
|
||||||
'm_SplitPage.SaveOrderMachinig(m_nCurrPhase)
|
|
||||||
' Preparo la lista delle lavorazioni
|
|
||||||
CalculateSplitMachList(m_nCurrPhase, m_MachiningList)
|
|
||||||
Dim b As Boolean = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -100,32 +100,7 @@
|
|||||||
VerticalAlignment="Center" />
|
VerticalAlignment="Center" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<!--Comandi attivi solo in madalità REG-->
|
<UniformGrid Name ="UG0" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Columns="3" >
|
||||||
<UniformGrid Name ="UG0_Reg" Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3" Columns="3" Visibility="Hidden">
|
|
||||||
<ToggleButton Name="AddPointRegBtn" Visibility="Hidden"
|
|
||||||
Style="{DynamicResource OmagCut_YellowIconToggleButton}">
|
|
||||||
<Image Source="{DynamicResource RefTabImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
|
||||||
</ToggleButton>
|
|
||||||
<ToggleButton Name="ModPointRegBtn" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
|
|
||||||
<Image Source="{DynamicResource Move-Spot-RegImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
|
||||||
</ToggleButton>
|
|
||||||
<ToggleButton Name="RemovePointRegBtn" Visibility="Hidden"
|
|
||||||
Style="{DynamicResource OmagCut_YellowIconToggleButton}">
|
|
||||||
<Image Source="{DynamicResource RefTabImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
|
||||||
</ToggleButton>
|
|
||||||
</UniformGrid>
|
|
||||||
|
|
||||||
<!--Comandi attivi solo in madalità REG-->
|
|
||||||
<UniformGrid Name ="UG1_Reg" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Columns="2" Visibility="Hidden">
|
|
||||||
<Button Name="AdjustPointRegBtn" Style="{DynamicResource OmagCut_YellowIconButton}">
|
|
||||||
<Image Source="{DynamicResource Muovi-grezzoImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
<ToggleButton Name="ActivatePointRegBtn" Style="{DynamicResource OmagCut_YellowIconToggleButton}">
|
|
||||||
<Image Source="{DynamicResource ON_OFF-REGImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
|
||||||
</ToggleButton>
|
|
||||||
</UniformGrid>
|
|
||||||
|
|
||||||
<UniformGrid Name ="UG0" Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Columns="3">
|
|
||||||
<Button Name="InsertPartBtn" Style="{DynamicResource OmagCut_YellowIconButton}">
|
<Button Name="InsertPartBtn" Style="{DynamicResource OmagCut_YellowIconButton}">
|
||||||
<Image Source="{DynamicResource Inserisci-pezzoImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
<Image Source="{DynamicResource Inserisci-pezzoImg}" Style="{StaticResource OmagCut_ArrowButtonIcon}"/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
Imports System.ComponentModel
|
Imports EgtUILib
|
||||||
Imports System.Reflection
|
|
||||||
Imports System.Windows.Forms
|
|
||||||
Imports System.Windows.Forms.Integration
|
|
||||||
Imports EgtUILib
|
|
||||||
Imports EgtWPFLib
|
Imports EgtWPFLib
|
||||||
|
|
||||||
Public Class NestPageUC
|
Public Class NestPageUC
|
||||||
@@ -30,7 +26,6 @@ Public Class NestPageUC
|
|||||||
' Id della curva e del taglio selezionati per eseguire il test
|
' Id della curva e del taglio selezionati per eseguire il test
|
||||||
Friend m_CurrSelectedCurv As Integer = GDB_ID.NULL
|
Friend m_CurrSelectedCurv As Integer = GDB_ID.NULL
|
||||||
Friend m_CurrSelectedSawCurv As Integer = GDB_ID.NULL
|
Friend m_CurrSelectedSawCurv As Integer = GDB_ID.NULL
|
||||||
Friend m_CurrToolFromSelectedSawCurv As String = String.Empty
|
|
||||||
|
|
||||||
' Id del rettangolo, del taglio e della curva da modificare tramite Drag
|
' Id del rettangolo, del taglio e della curva da modificare tramite Drag
|
||||||
Private m_nIdSelectedOutLoopRettangle As Integer = GDB_ID.NULL
|
Private m_nIdSelectedOutLoopRettangle As Integer = GDB_ID.NULL
|
||||||
@@ -109,17 +104,12 @@ Public Class NestPageUC
|
|||||||
DeselectAllBtn.ToolTip = EgtMsg(MSG_NESTPAGEUC + 5) 'Deselect All - Deseleziona Tutto
|
DeselectAllBtn.ToolTip = EgtMsg(MSG_NESTPAGEUC + 5) 'Deselect All - Deseleziona Tutto
|
||||||
DragRettanleBtn.ToolTip = "Strech"
|
DragRettanleBtn.ToolTip = "Strech"
|
||||||
|
|
||||||
' Nascondo i pulsanti in uso quando attivo la modalità REG
|
|
||||||
UG0_Reg.Visibility = Visibility.Hidden
|
|
||||||
|
|
||||||
Dim nColumsIn_UG1 As Integer = 2
|
Dim nColumsIn_UG1 As Integer = 2
|
||||||
' gestisco la visualizzazione del comando PAN (per il drag dei rettangoli)
|
' gestisco la visualizzazione del comando PAN (per il drag dei rettangoli)
|
||||||
m_bIsVisibleDragRettangle = (GetPrivateProfileInt(S_NEST, K_DRAG_RETTANGLE, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bIsVisibleDragRettangle = (GetPrivateProfileInt(S_NEST, K_DRAG_RETTANGLE, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
If Not m_bIsVisibleDragRettangle Then
|
If Not m_bIsVisibleDragRettangle Then
|
||||||
nColumsIn_UG1 = 1
|
nColumsIn_UG1 = 1
|
||||||
DragRettanleBtn.Visibility = Visibility.Collapsed
|
DragRettanleBtn.Visibility = Visibility.Collapsed
|
||||||
Else
|
|
||||||
DragRettanleBtn.Visibility = Visibility.Visible
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' gestisco la visualizzazione del comando Splt (per i tagli waterjet)
|
' gestisco la visualizzazione del comando Splt (per i tagli waterjet)
|
||||||
@@ -196,50 +186,6 @@ Public Class NestPageUC
|
|||||||
ShowParkedParts()
|
ShowParkedParts()
|
||||||
' Garantisco visibilità eventuale contorno da foto
|
' Garantisco visibilità eventuale contorno da foto
|
||||||
m_CurrProjPage.ShowContour(True)
|
m_CurrProjPage.ShowContour(True)
|
||||||
|
|
||||||
' Disabilito impostazione modificato
|
|
||||||
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
|
||||||
If bOldEnMod Then EgtDisableModified()
|
|
||||||
|
|
||||||
' Verifico se esiste il gruppo "REG"
|
|
||||||
Dim nIdRaws As Integer = EgtGetParent(m_CurrProjPage.m_nRawId)
|
|
||||||
Dim nIdReg As Integer = EgtGetFirstNameInGroup(EgtGetParent(nIdRaws), "Reg")
|
|
||||||
' Resetto le variabili di conteggio
|
|
||||||
m_nCountSpot = 0
|
|
||||||
m_nCountSpotCUT = 0
|
|
||||||
If nIdReg <> GDB_ID.NULL Then
|
|
||||||
m_nRegGroupId = nIdReg
|
|
||||||
EgtGetInfo(m_nRegGroupId, COUNTSPOT, m_nCountSpot)
|
|
||||||
EgtGetInfo(m_nRegGroupId, COUNTSPOTCUT, m_nCountSpotCUT)
|
|
||||||
' Lo nascondo
|
|
||||||
EgtSetStatus(m_nRegGroupId, GDB_ST.OFF)
|
|
||||||
Else
|
|
||||||
' Creo layer per definire i punti di REG
|
|
||||||
m_nRegGroupId = EgtCreateGroup(EgtGetParent(nIdRaws))
|
|
||||||
EgtSetName(m_nRegGroupId, REG)
|
|
||||||
m_nCountSpot = 0
|
|
||||||
m_nCountSpotCUT = 0
|
|
||||||
End If
|
|
||||||
EgtOutLog("Numero di SPOT caricati da OFFICE: " & m_nCountSpot.ToString)
|
|
||||||
' Se nel progetto non sono inseriti punti SpotReg disabilito i comandi
|
|
||||||
If m_nCountSpot < 1 Then
|
|
||||||
UG0_Reg.IsEnabled = False
|
|
||||||
UG1_Reg.IsEnabled = False
|
|
||||||
EgtOutLog(" Abilito comandi gestione SPOT")
|
|
||||||
Else
|
|
||||||
UG0_Reg.IsEnabled = True
|
|
||||||
UG1_Reg.IsEnabled = True
|
|
||||||
EgtOutLog(" Disabilito comandi gestione SPOT")
|
|
||||||
End If
|
|
||||||
' Se nel progetto non sono inseriti punti SpotRegCUT provvedo ad aggiungerli
|
|
||||||
If m_nCountSpotCUT < 1 Then
|
|
||||||
InsertSpotRegistration()
|
|
||||||
EgtOutLog(" Creo SPOT_CUT")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se necessario riabilito impostazione modificato
|
|
||||||
If bOldEnMod Then EgtEnableModified()
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub UpdateStepsOnUI()
|
Public Sub UpdateStepsOnUI()
|
||||||
@@ -263,9 +209,7 @@ Public Class NestPageUC
|
|||||||
End If
|
End If
|
||||||
' Se esiste un elemento selezionato
|
' Se esiste un elemento selezionato
|
||||||
EgtResetMark(m_CurrSelectedSawCurv)
|
EgtResetMark(m_CurrSelectedSawCurv)
|
||||||
m_CurrToolFromSelectedSawCurv = String.Empty
|
' provo a riconoscere il valore medio del segmento
|
||||||
' ripulisco da eventuali messaggi
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
||||||
' Verifico se selezionato indicativo di pezzo
|
' Verifico se selezionato indicativo di pezzo
|
||||||
EgtSetObjFilterForSelWin(False, True, False, False, False)
|
EgtSetObjFilterForSelWin(False, True, False, False, False)
|
||||||
Dim nSelMy As Integer
|
Dim nSelMy As Integer
|
||||||
@@ -290,52 +234,20 @@ Public Class NestPageUC
|
|||||||
' recupero il gruppo della lavorazione associata
|
' recupero il gruppo della lavorazione associata
|
||||||
Dim nIdParentPart As Integer = EgtGetParent(nIdParent)
|
Dim nIdParentPart As Integer = EgtGetParent(nIdParent)
|
||||||
Dim nIdPV As Integer = EgtGetFirstNameInGroup(nIdParentPart, NAME_PREVIEW)
|
Dim nIdPV As Integer = EgtGetFirstNameInGroup(nIdParentPart, NAME_PREVIEW)
|
||||||
|
Dim nIdSaw As Integer = EgtGetFirstNameInGroup(nIdPV, "Saw" & nIdMy.ToString)
|
||||||
Dim nIdMachining As Integer = EgtGetFirstInGroup(nIdPV)
|
If Not EgtGetGroupObjs(nIdSaw) Then
|
||||||
While nIdMachining <> GDB_ID.NULL
|
m_CurrSelectedSawCurv = nIdSaw
|
||||||
Dim sNameMachining As String = String.Empty
|
|
||||||
EgtGetName(nIdMachining, sNameMachining)
|
|
||||||
If sNameMachining.Contains(nIdMy.ToString) Then
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
nIdMachining = EgtGetNext(nIdMachining)
|
|
||||||
End While
|
|
||||||
|
|
||||||
' recupero la lavorazione associata nel gruppo Opers
|
|
||||||
Dim sIdRefMachining As Integer = -1
|
|
||||||
EgtGetInfo(nIdMachining, "MId", sIdRefMachining)
|
|
||||||
EgtSetCurrMachining(sIdRefMachining)
|
|
||||||
' recupero il nome dell'utensile associato alla lavorazione
|
|
||||||
Dim sToolCurrMachining As String = String.Empty
|
|
||||||
EgtGetMachiningParam(MCH_MP.TOOL, sToolCurrMachining)
|
|
||||||
' seleziono le entità nel disegno
|
|
||||||
m_CurrToolFromSelectedSawCurv = sToolCurrMachining
|
|
||||||
m_CurrSelectedSawCurv = nIdMachining
|
|
||||||
m_CurrSelectedCurv = nIdMy
|
m_CurrSelectedCurv = nIdMy
|
||||||
EgtSetMark(nIdMachining)
|
EgtSetMark(nIdSaw)
|
||||||
EgtSelectObj(nIdMy)
|
EgtSelectObj(nIdMy)
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
|
|
||||||
'Dim nIdSaw As Integer = EgtGetFirstNameInGroup(nIdPV, "Saw" & nIdMy.ToString)
|
|
||||||
'If Not EgtGetGroupObjs(nIdSaw) Then
|
|
||||||
' m_CurrSelectedSawCurv = nIdSaw
|
|
||||||
' m_CurrSelectedCurv = nIdMy
|
|
||||||
' EgtSetMark(nIdSaw)
|
|
||||||
' EgtSelectObj(nIdMy)
|
|
||||||
' EgtDraw()
|
|
||||||
' Exit While
|
|
||||||
'End If
|
|
||||||
|
|
||||||
Exit While
|
Exit While
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
nIdMy = EgtGetNextObjInSelWin()
|
nIdMy = EgtGetNextObjInSelWin()
|
||||||
End While
|
End While
|
||||||
If nIdMy = GDB_ID.NULL Then
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.SetErrorMessage("Select OUTLOOP")
|
|
||||||
End If
|
|
||||||
Return
|
Return
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -978,103 +890,10 @@ Public Class NestPageUC
|
|||||||
|
|
||||||
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
||||||
' Verifico di essere il gestore attivo e non in modalità registrazione
|
' Verifico di essere il gestore attivo e non in modalità registrazione
|
||||||
If Not m_bActive Or m_bRegister Then
|
If Not m_bActive Or m_bRegister Then Return
|
||||||
' procedo solo sel il click è avvenuto con il tasto sinistro del mouse
|
|
||||||
If e.Button <> MouseButtons.Left Then Return
|
|
||||||
' se aggiungo SpotReg e numero di Spot inferiore a quelli inseriti in Office
|
|
||||||
If AddPointRegBtn.IsChecked Then
|
|
||||||
If m_nCountSpotCUT < m_nCountSpot Then
|
|
||||||
' Acquisisco punto da disegno
|
|
||||||
EgtUnProjectPoint(e.Location, m_ptPrev)
|
|
||||||
Dim ptRawMax As Point3d = m_b3Raw.Max()
|
|
||||||
m_ptPrev.z = ptRawMax.z
|
|
||||||
' Inserisco un nuovo punto registrazione
|
|
||||||
CreateSpotRegistration(m_nRegGroupId, m_ptPrev, m_nCountSpotCUT + 1)
|
|
||||||
EgtDraw()
|
|
||||||
' disattivo il comando di inserimento
|
|
||||||
AddPointRegBtn.IsChecked = False
|
|
||||||
Else
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage("Max spot for reg: " & m_nCountSpot.ToString)
|
|
||||||
End If
|
|
||||||
ElseIf RemovePointRegBtn.IsChecked Then
|
|
||||||
' Verifico se selezionato indicativo di pezzo
|
|
||||||
EgtSetObjFilterForSelWin(True, True, True, True, True)
|
|
||||||
Dim nSelect As Integer
|
|
||||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelect)
|
|
||||||
Dim nSelId As Integer = EgtGetFirstObjInSelWin()
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
While nSelId <> GDB_ID.NULL
|
|
||||||
sName = String.Empty
|
|
||||||
EgtGetName(nSelId, sName)
|
|
||||||
If sName.StartsWith(SPOTREGCUT_) Then
|
|
||||||
' recupero recupero il centro della prima curva
|
|
||||||
Dim nIdParent As Integer = EgtGetParent(nSelId)
|
|
||||||
RemoveSpotRegistration(nIdParent)
|
|
||||||
EgtDraw()
|
|
||||||
EgtErase(nIdParent)
|
|
||||||
RemovePointRegBtn.IsChecked = False
|
|
||||||
' Esco dal ciclo
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
nSelId = EgtGetNextObjInSelWin()
|
|
||||||
End While
|
|
||||||
ElseIf ModPointRegBtn.IsChecked Then
|
|
||||||
' Verifico se selezionato indicativo di pezzo
|
|
||||||
EgtSetObjFilterForSelWin(True, True, True, True, True)
|
|
||||||
Dim nSelect As Integer
|
|
||||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelect)
|
|
||||||
Dim nSelId As Integer = EgtGetFirstObjInSelWin()
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
While nSelId <> GDB_ID.NULL
|
|
||||||
sName = String.Empty
|
|
||||||
EgtGetName(nSelId, sName)
|
|
||||||
If sName.StartsWith(SPOTREGCUT_) Then
|
|
||||||
EgtDeselectAll()
|
|
||||||
EgtResetMark(m_nCurrSpotRegId)
|
|
||||||
' recupero l'Id del gruppo di appartenenza
|
|
||||||
Dim nIdParent As Integer = EgtGetParent(nSelId)
|
|
||||||
EgtSelectGroupObjs(nIdParent)
|
|
||||||
EgtSetMark(nIdParent)
|
|
||||||
EgtDraw()
|
|
||||||
' Acquisisco punto da disegno
|
|
||||||
EgtUnProjectPoint(e.Location, m_ptPrev)
|
|
||||||
m_bDrag = True
|
|
||||||
' Salvo l'Id del punto SpotReg da spostare
|
|
||||||
m_nCurrSpotRegId = nIdParent
|
|
||||||
' Esco dal ciclo
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
nSelId = EgtGetNextObjInSelWin()
|
|
||||||
End While
|
|
||||||
ElseIf ActivatePointRegBtn.IsChecked Then
|
|
||||||
' Verifico se selezionato indicativo di pezzo
|
|
||||||
EgtSetObjFilterForSelWin(True, True, True, True, True)
|
|
||||||
Dim nSelect As Integer
|
|
||||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelect)
|
|
||||||
Dim nSelId As Integer = EgtGetFirstObjInSelWin()
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
While nSelId <> GDB_ID.NULL
|
|
||||||
sName = String.Empty
|
|
||||||
EgtGetName(nSelId, sName)
|
|
||||||
' accetto qualsiasi punto di tipo SpotReg (sia da OFFICE che da CUT)
|
|
||||||
If sName.StartsWith(SPOTREG_) Or sName.StartsWith(SPOTREGCUT_) Then
|
|
||||||
Dim nIdParent As Integer = EgtGetParent(nSelId)
|
|
||||||
ActivateSpotRegistration(nIdParent)
|
|
||||||
EgtDraw()
|
|
||||||
' Esco dal ciclo
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
nSelId = EgtGetNextObjInSelWin()
|
|
||||||
End While
|
|
||||||
End If
|
|
||||||
' Devo sempre uscire da questa condizione
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Si può selezionare solo con il tasto sinistro e se stato NULL
|
' Si può selezionare solo con il tasto sinistro e se stato NULL
|
||||||
If e.Button <> Windows.Forms.MouseButtons.Left Or
|
If e.Button <> Windows.Forms.MouseButtons.Left Or
|
||||||
Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -1083,6 +902,7 @@ Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
|||||||
OnMyMouseDownSceneSelCurv(sender, e)
|
OnMyMouseDownSceneSelCurv(sender, e)
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
m_bIsCounterLy = False
|
m_bIsCounterLy = False
|
||||||
' se in modalità DragRettangle (deformazione delle componenti rettangolari)
|
' se in modalità DragRettangle (deformazione delle componenti rettangolari)
|
||||||
If m_bIsCheckedDragRettangle Then
|
If m_bIsCheckedDragRettangle Then
|
||||||
@@ -1143,6 +963,7 @@ Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not m_bIsCounterLy Then
|
If Not m_bIsCounterLy Then
|
||||||
' Se già selezionato o posizione oggetto incompatibile con flag posizione selezionati
|
' Se già selezionato o posizione oggetto incompatibile con flag posizione selezionati
|
||||||
If nStat = GDB_ST.SEL Then
|
If nStat = GDB_ST.SEL Then
|
||||||
@@ -1201,10 +1022,6 @@ Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
|||||||
EgtSetCurrPhase(nI)
|
EgtSetCurrPhase(nI)
|
||||||
EgtSetTableAreaOffset(TAB_OFFS, TAB_OFFS, TAB_OFFS, TAB_OFFS)
|
EgtSetTableAreaOffset(TAB_OFFS, TAB_OFFS, TAB_OFFS, TAB_OFFS)
|
||||||
Next
|
Next
|
||||||
' aggiorno posizionamento ventose per lavorazioni da sotto
|
|
||||||
UpdateVacuumsForDrip()
|
|
||||||
' dichiaro tutto aggiornato
|
|
||||||
m_CurrProjPage.SetOrderMachiningFlag()
|
|
||||||
EgtSetCurrPhase(1)
|
EgtSetCurrPhase(1)
|
||||||
' Rotazione
|
' Rotazione
|
||||||
Dim dAngRot As Double = If(sOtherTab = SECOND_TAB, 180, -180)
|
Dim dAngRot As Double = If(sOtherTab = SECOND_TAB, 180, -180)
|
||||||
@@ -1250,6 +1067,7 @@ Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
|||||||
m_bKeyLeftShiftPressed = m_bVerify
|
m_bKeyLeftShiftPressed = m_bVerify
|
||||||
m_vtTotMove = Vector3d.NULL()
|
m_vtTotMove = Vector3d.NULL()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseMoveScene
|
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseMoveScene
|
||||||
' Verifico di essere il gestore attivo
|
' Verifico di essere il gestore attivo
|
||||||
If Not m_bActive Then Return
|
If Not m_bActive Then Return
|
||||||
@@ -1258,7 +1076,7 @@ Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
|
|||||||
' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
|
' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
|
||||||
If m_bDragToStart Then
|
If m_bDragToStart Then
|
||||||
If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
|
If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
|
||||||
Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
m_bDragToStart = False
|
m_bDragToStart = False
|
||||||
@@ -1269,19 +1087,6 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
OnMyMouseMoveSawRettangle(sender, e)
|
OnMyMouseMoveSawRettangle(sender, e)
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
If ModPointRegBtn.IsChecked Then
|
|
||||||
' Ricavo il punto corrente in coordinate mondo
|
|
||||||
Dim ptCurr_ As Point3d
|
|
||||||
EgtUnProjectPoint(e.Location, ptCurr_)
|
|
||||||
' Ricavo il vettore di movimento
|
|
||||||
Dim vtMove As Vector3d = ptCurr_ - m_ptPrev
|
|
||||||
MoveSpotRegistration(m_nCurrSpotRegId, vtMove)
|
|
||||||
' Aggiorno il punto precedente
|
|
||||||
m_ptPrev = ptCurr_
|
|
||||||
' Terminata esecuzione di drag
|
|
||||||
m_bDragging = False
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Determino cosa muovere
|
' Determino cosa muovere
|
||||||
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
|
Dim nMoveId = If(m_nIdToSel <> GDB_ID.NULL, m_nIdToSel, GDB_ID.SEL)
|
||||||
@@ -1845,10 +1650,6 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
nRevPhase += 1
|
nRevPhase += 1
|
||||||
End While
|
End While
|
||||||
End If
|
End If
|
||||||
' Muovo i punti SpotReg generati nel programma OFFICE
|
|
||||||
If bMoveOk Then
|
|
||||||
MoveAllSpotRegistration(vtMove)
|
|
||||||
End If
|
|
||||||
' Ripristino lo stato iniziale
|
' Ripristino lo stato iniziale
|
||||||
EgtSetCurrPhase(1)
|
EgtSetCurrPhase(1)
|
||||||
HideAllMachinings()
|
HideAllMachinings()
|
||||||
@@ -2108,160 +1909,12 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
' Dichiaro grezzo per punti
|
' Dichiaro grezzo per punti
|
||||||
EgtSetInfo(GetCurrentRaw(), KEY_RAWBYPOINTS, 1)
|
EgtSetInfo(GetCurrentRaw(), KEY_RAWBYPOINTS, 1)
|
||||||
End If
|
End If
|
||||||
' Ruoto i punti SpotReg disegnati in Office
|
|
||||||
If bMoveOk Then
|
|
||||||
RotateAllSpotRegistration(dAngDeg, ptCen)
|
|
||||||
End If
|
|
||||||
' Ripristino lo stato iniziale
|
' Ripristino lo stato iniziale
|
||||||
EgtSetCurrPhase(1)
|
EgtSetCurrPhase(1)
|
||||||
HideAllMachinings()
|
HideAllMachinings()
|
||||||
Return bMoveOk
|
Return bMoveOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function RotateAllRawParts(dAngDeg As Double, ptCen As Point3d, Optional bIsReg As Boolean = True) As Boolean
|
|
||||||
' Recupero rotazione totale
|
|
||||||
Dim dRegRot As Double = GetRegistrationRotation()
|
|
||||||
' Recupero il centro del grezzo iniziale per usarlo come centro della rotazione
|
|
||||||
'Dim ptCen As New Point3d
|
|
||||||
'GetRawCenter(ptCen)
|
|
||||||
' Provo la rotazione
|
|
||||||
Dim bMoveOk As Boolean = True
|
|
||||||
Dim nPhase As Integer = 1
|
|
||||||
Dim nRawId As Integer = GDB_ID.NULL
|
|
||||||
While nPhase <= EgtGetPhaseCount()
|
|
||||||
EgtSetCurrPhase(nPhase)
|
|
||||||
nRawId = EgtGetFirstRawPart()
|
|
||||||
While nRawId <> GDB_ID.NULL
|
|
||||||
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
|
|
||||||
' Rotazione del centro come spostamento grezzo più rotazione grezzo attorno al suo centro
|
|
||||||
Dim ptRawCen As New Point3d
|
|
||||||
EgtGetRawPartCenter(nRawId, ptRawCen)
|
|
||||||
Dim ptMovCen As New Point3d(ptRawCen)
|
|
||||||
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), dAngDeg)
|
|
||||||
If Not EgtMoveRawPart(nRawId, ptMovCen - ptRawCen) Then
|
|
||||||
bMoveOk = False
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
If Not EgtRotateRawPart(nRawId, Vector3d.Z_AX(), dAngDeg) Then
|
|
||||||
EgtMoveRawPart(nRawId, -(ptMovCen - ptRawCen))
|
|
||||||
bMoveOk = False
|
|
||||||
Exit While
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
nRawId = EgtGetNextRawPart(nRawId)
|
|
||||||
End While
|
|
||||||
If Not bMoveOk Then Exit While
|
|
||||||
nPhase += 1
|
|
||||||
End While
|
|
||||||
' Se rotazione impossibile, ripristino posizione dei grezzi già spostati
|
|
||||||
If Not bMoveOk Then
|
|
||||||
Dim nRevPhase As Integer = 1
|
|
||||||
Dim nRevRawId As Integer = GDB_ID.NULL
|
|
||||||
While nRevPhase <= nPhase
|
|
||||||
EgtSetCurrPhase(nRevPhase)
|
|
||||||
nRevRawId = EgtGetFirstRawPart()
|
|
||||||
While nRevRawId <> GDB_ID.NULL And (nRevPhase < nPhase Or nRevRawId <> nRawId)
|
|
||||||
If EgtVerifyRawPartPhase(nRevRawId, nRevPhase) Then
|
|
||||||
' Eseguo al contrario
|
|
||||||
EgtRotateRawPart(nRevRawId, Vector3d.Z_AX(), -dAngDeg)
|
|
||||||
Dim ptRawCen As New Point3d
|
|
||||||
EgtGetRawPartCenter(nRevRawId, ptRawCen)
|
|
||||||
Dim ptMovCen As New Point3d(ptRawCen)
|
|
||||||
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), -dAngDeg)
|
|
||||||
EgtMoveRawPart(nRevRawId, (ptMovCen - ptRawCen))
|
|
||||||
End If
|
|
||||||
nRevRawId = EgtGetNextRawPart(nRevRawId)
|
|
||||||
End While
|
|
||||||
nRevPhase += 1
|
|
||||||
End While
|
|
||||||
' Altrimenti eseguo sistemazioni
|
|
||||||
Else
|
|
||||||
' Origine della tavola
|
|
||||||
Dim ptOri As Point3d
|
|
||||||
EgtGetTableRef(1, ptOri)
|
|
||||||
' Annullo rotazioni dei grezzi e le rifaccio sulle parti componenti
|
|
||||||
Dim nRevPhase As Integer = 1
|
|
||||||
Dim nRevRawId As Integer = GDB_ID.NULL
|
|
||||||
While nRevPhase <= EgtGetPhaseCount()
|
|
||||||
EgtSetCurrPhase(nRevPhase)
|
|
||||||
nRevRawId = EgtGetFirstRawPart()
|
|
||||||
While nRevRawId <> GDB_ID.NULL
|
|
||||||
If EgtVerifyRawPartPhase(nRevRawId, nRevPhase) Then
|
|
||||||
' Eseguo al contrario
|
|
||||||
EgtRotateRawPart(nRevRawId, Vector3d.Z_AX(), -dAngDeg)
|
|
||||||
Dim ptRawCen As New Point3d
|
|
||||||
EgtGetRawPartCenter(nRevRawId, ptRawCen)
|
|
||||||
Dim ptMovCen As New Point3d(ptRawCen)
|
|
||||||
ptMovCen.Rotate(ptCen, Vector3d.Z_AX(), -dAngDeg)
|
|
||||||
EgtMoveRawPart(nRevRawId, (ptMovCen - ptRawCen))
|
|
||||||
' Rifaccio sugli oggetti contenuti nel grezzo
|
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(nRevRawId)
|
|
||||||
While nId <> GDB_ID.NULL
|
|
||||||
EgtRotate(nId, ptCen, Vector3d.Z_AX(), dAngDeg, GDB_RT.GLOB)
|
|
||||||
nId = EgtGetNext(nId)
|
|
||||||
End While
|
|
||||||
' Imposto posizione esatta del grezzo dopo rotazione
|
|
||||||
Dim b3Raw As New BBox3d
|
|
||||||
EgtGetRawPartBBox(nRevRawId, b3Raw)
|
|
||||||
EgtMoveToCornerRawPart(nRevRawId, (b3Raw.Min() - ptOri) + Point3d.ORIG(), MCH_CR.BL)
|
|
||||||
End If
|
|
||||||
nRevRawId = EgtGetNextRawPart(nRevRawId)
|
|
||||||
End While
|
|
||||||
nRevPhase += 1
|
|
||||||
End While
|
|
||||||
' Ruoto opportunamente anche i dati di movimento
|
|
||||||
Dim nOpeId As Integer = EgtGetFirstActiveOperation()
|
|
||||||
While nOpeId <> GDB_ID.NULL
|
|
||||||
If EgtGetOperationType(nOpeId) = MCH_OY.DISP Then
|
|
||||||
' Recupero i gruppi con i dati
|
|
||||||
Dim nRpmId As Integer = EgtGetFirstNameInGroup(nOpeId, "Rpm*")
|
|
||||||
While nRpmId <> GDB_ID.NULL
|
|
||||||
' Recupero le informazioni
|
|
||||||
Dim vtRawMove As New Vector3d
|
|
||||||
If EgtGetInfo(nRpmId, "Mv", vtRawMove) Then
|
|
||||||
vtRawMove.Rotate(Vector3d.Z_AX(), dAngDeg)
|
|
||||||
EgtSetInfo(nRpmId, "Mv", vtRawMove)
|
|
||||||
End If
|
|
||||||
Dim vtDelta As New Vector3d
|
|
||||||
If EgtGetInfo(nRpmId, "Dt", vtDelta) Then
|
|
||||||
vtDelta.Rotate(Vector3d.Z_AX(), dAngDeg)
|
|
||||||
EgtSetInfo(nRpmId, "Dt", vtDelta)
|
|
||||||
End If
|
|
||||||
Dim dAngRotDeg As Double = 0
|
|
||||||
If EgtGetInfo(nRpmId, "Ad", dAngRotDeg) Then
|
|
||||||
EgtSetInfo(nRpmId, "Ad", dAngRotDeg + dAngDeg)
|
|
||||||
End If
|
|
||||||
' Cerco un altro gruppo
|
|
||||||
nRpmId = EgtGetNextName(nRpmId, "Rpm*")
|
|
||||||
End While
|
|
||||||
End If
|
|
||||||
nOpeId = EgtGetNextActiveOperation(nOpeId)
|
|
||||||
End While
|
|
||||||
' Se non è registrazione, ruoto anche l'eventuale foto della lastra
|
|
||||||
'If Not bIsReg Then
|
|
||||||
' Dim nPhotoId = m_CurrProjPage.GetPhoto()
|
|
||||||
' If nPhotoId <> GDB_ID.NULL then EgtRotatePhoto(nPhotoId, ptCen, Vector3d.Z_AX(), dAngDeg)
|
|
||||||
'End If
|
|
||||||
' Aggiorno rotazione totale
|
|
||||||
If bIsReg Then
|
|
||||||
SetRegistrationRotation(dRegRot + dAngDeg)
|
|
||||||
Else
|
|
||||||
SetRegistrationRotation(0)
|
|
||||||
End If
|
|
||||||
' Dichiaro grezzo per punti
|
|
||||||
EgtSetInfo(GetCurrentRaw(), KEY_RAWBYPOINTS, 1)
|
|
||||||
End If
|
|
||||||
' Ruoto i punti SpotReg disegnati in Office
|
|
||||||
If bMoveOk Then
|
|
||||||
RotateAllSpotRegistration(dAngDeg, ptCen)
|
|
||||||
End If
|
|
||||||
' Ripristino lo stato iniziale
|
|
||||||
EgtSetCurrPhase(1)
|
|
||||||
HideAllMachinings()
|
|
||||||
Return bMoveOk
|
|
||||||
End Function
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub InsertPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles InsertPartBtn.Click
|
Private Sub InsertPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles InsertPartBtn.Click
|
||||||
' Se inserimento automatico
|
' Se inserimento automatico
|
||||||
If GetPrivateProfileInt(S_NEST, K_AUTOMATICOPTIMIZE, 0, m_MainWindow.GetIniFile()) <> 0 And
|
If GetPrivateProfileInt(S_NEST, K_AUTOMATICOPTIMIZE, 0, m_MainWindow.GetIniFile()) <> 0 And
|
||||||
@@ -2829,11 +2482,8 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
Const STORE_LARGH As Double = 6000
|
Const STORE_LARGH As Double = 6000
|
||||||
Const STORE_DIST As Double = 200
|
Const STORE_DIST As Double = 200
|
||||||
Const STORE_OFFS As Double = 20 + 40 + 20
|
Const STORE_OFFS As Double = 20 + 40 + 20
|
||||||
Dim dStoreLarg As Double = GetPrivateProfileDouble("Store", "StoreLargh", STORE_LARGH, m_MainWindow.GetMachIniFile())
|
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (STORE_LARGH - b3Tab.DimX())
|
||||||
Dim dStoreDist As Double = GetPrivateProfileDouble("Store", "StoreDist", STORE_DIST, m_MainWindow.GetMachIniFile())
|
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + STORE_LARGH, b3Tab.Min().y - STORE_DIST, STORE_OFFS, False)
|
||||||
Dim dStoreOffs As Double = GetPrivateProfileDouble("Store", "StoreOffs", STORE_OFFS, m_MainWindow.GetMachIniFile())
|
|
||||||
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (dStoreLarg - b3Tab.DimX())
|
|
||||||
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + dStoreLarg, b3Tab.Min().y - dStoreDist, dStoreOffs, False)
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
Private Sub RemovePartBtn_Click(sender As Object, e As RoutedEventArgs) Handles RemovePartBtn.Click
|
||||||
@@ -3105,10 +2755,7 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
Else
|
Else
|
||||||
m_dRegStep = Math.Max(dVal, 2 * EPS_SMALL)
|
m_dRegStep = Math.Max(dVal, 2 * EPS_SMALL)
|
||||||
End If
|
End If
|
||||||
Dim dCurrVal As Double = 0
|
WritePrivateProfileString(S_NEST, K_STEP, StepMoveTxBx.Text, m_MainWindow.GetIniFile())
|
||||||
StringToLen(StepMoveTxBx.Text, dCurrVal)
|
|
||||||
DoubleToString(dCurrVal, 2)
|
|
||||||
WritePrivateProfileString(S_NEST, K_STEP, DoubleToString(dCurrVal, 2), m_MainWindow.GetIniFile())
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -3205,427 +2852,6 @@ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
#Region "SPOT REG"
|
|
||||||
|
|
||||||
' Layer per crocette dei punti REG (creato in Office)
|
|
||||||
Public m_nRegGroupId As Integer = GDB_ID.NULL
|
|
||||||
' Numero di spot inseriti nel grezzo corrente (da Office)
|
|
||||||
Private m_nCountSpot As Integer = 0
|
|
||||||
' Gruppo Spot attualmente selezionato
|
|
||||||
Private m_nCurrSpotRegId As Integer = GDB_ID.NULL
|
|
||||||
' Nome info nuomero Spot (da Office)
|
|
||||||
Private Const COUNTSPOT As String = "CountSpot"
|
|
||||||
' Nome gruppo
|
|
||||||
Private Const REG As String = "Reg"
|
|
||||||
' Nome del gruppo di ogno Spot (da Office)
|
|
||||||
Private Const SPOTREG_ As String = "SpotReg_"
|
|
||||||
Private Const RADSPOT As Double = 20
|
|
||||||
|
|
||||||
' numero di Spot inseriti (da Cut)
|
|
||||||
Private m_nCountSpotCUT As Integer = 0
|
|
||||||
' Nome del gruppo di ogno Spot (da Cut)
|
|
||||||
Private Const SPOTREGCUT_ As String = "SpotRegCUT_"
|
|
||||||
' Nome info nuomero Spot (da Office)
|
|
||||||
Private Const COUNTSPOTCUT As String = "CountSpotCUT"
|
|
||||||
' Nome della Info per indicare se il punto è da usare
|
|
||||||
Private Const ACTIVATESPOTCUT As String = "ActivateSpotCut"
|
|
||||||
|
|
||||||
Private Sub AddPointReg_Click() Handles AddPointRegBtn.Click
|
|
||||||
DeselectCurSpotReg()
|
|
||||||
ModPointRegBtn.IsChecked = False
|
|
||||||
RemovePointRegBtn.IsChecked = False
|
|
||||||
ActivatePointRegBtn.IsChecked = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub ModPointReg_Click() Handles ModPointRegBtn.Click
|
|
||||||
' Deseleziono lo Spotreg selezionato
|
|
||||||
DeselectCurSpotReg()
|
|
||||||
AddPointRegBtn.IsChecked = False
|
|
||||||
RemovePointRegBtn.IsChecked = False
|
|
||||||
ActivatePointRegBtn.IsChecked = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub RemovePointReg_Click() Handles RemovePointRegBtn.Click
|
|
||||||
DeselectCurSpotReg()
|
|
||||||
ModPointRegBtn.IsChecked = False
|
|
||||||
AddPointRegBtn.IsChecked = False
|
|
||||||
ActivatePointRegBtn.IsChecked = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub AdjustPointReg_Click() Handles AdjustPointRegBtn.Click
|
|
||||||
PointRegCheckedOff()
|
|
||||||
AdjustRawWithSpotReg()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub ActivatePointRegBtn_Click() Handles ActivatePointRegBtn.Click
|
|
||||||
DeselectCurSpotReg()
|
|
||||||
AddPointRegBtn.IsChecked = False
|
|
||||||
ModPointRegBtn.IsChecked = False
|
|
||||||
RemovePointRegBtn.IsChecked = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub DeselectCurSpotReg()
|
|
||||||
EgtDeselectAll()
|
|
||||||
If m_nCurrSpotRegId <> GDB_ID.NULL Then
|
|
||||||
EgtResetMark(m_nCurrSpotRegId)
|
|
||||||
m_nCurrSpotRegId = GDB_ID.NULL
|
|
||||||
EgtDraw()
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' disabilito contemporaneamente tutti i comandi per la gestione punti SpotReg
|
|
||||||
Public Sub PointRegCheckedOff()
|
|
||||||
DeselectCurSpotReg()
|
|
||||||
AddPointRegBtn.IsChecked = False
|
|
||||||
ModPointRegBtn.IsChecked = False
|
|
||||||
RemovePointRegBtn.IsChecked = False
|
|
||||||
ActivatePointRegBtn.IsChecked = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' riceve l'ID del gruppo da muovere
|
|
||||||
Private Function MoveSpotRegistration(nIdGroup As Integer, vtMove As Vector3d) As Boolean
|
|
||||||
If nIdGroup = GDB_ID.NULL Then Return False
|
|
||||||
' Non ci deve essere movimento in Z
|
|
||||||
vtMove.z = 0
|
|
||||||
' Recupero il cercio di riferimento
|
|
||||||
Dim nArcId As Integer = EgtGetFirstInGroup(nIdGroup)
|
|
||||||
Dim b3Crv As New BBox3d
|
|
||||||
EgtGetBBoxGlob(nArcId, GDB_BB.STANDARD, b3Crv)
|
|
||||||
Dim ptMin, ptMax As Point3d
|
|
||||||
If EgtGetTableArea(1, ptMin, ptMax) Then
|
|
||||||
Dim m_ptTableMin As Point3d = ptMin
|
|
||||||
Dim m_dTableLength As Double = ptMax.x - ptMin.x
|
|
||||||
Dim m_dTableWidth As Double = ptMax.y - ptMin.y
|
|
||||||
b3Crv.Move(vtMove)
|
|
||||||
If b3Crv.Min().x < m_ptTableMin.x + 10 * EPS_SMALL Then
|
|
||||||
vtMove.x += m_ptTableMin.x + 10 * EPS_SMALL - b3Crv.Min().x
|
|
||||||
ElseIf b3Crv.Max().x > m_ptTableMin.x + m_dTableLength + 10 * EPS_SMALL Then
|
|
||||||
vtMove.x += m_ptTableMin.x + m_dTableLength - 10 * EPS_SMALL - b3Crv.Max().x
|
|
||||||
End If
|
|
||||||
If b3Crv.Min().y < m_ptTableMin.y + 10 * EPS_SMALL Then
|
|
||||||
vtMove.y += m_ptTableMin.y + 10 * EPS_SMALL - b3Crv.Min().y
|
|
||||||
ElseIf b3Crv.Max().y > m_ptTableMin.y + m_dTableWidth + 10 * EPS_SMALL Then
|
|
||||||
vtMove.y += m_ptTableMin.y + m_dTableWidth - 10 * EPS_SMALL - b3Crv.Max().y
|
|
||||||
End If
|
|
||||||
' muovo il gruppo
|
|
||||||
EgtMove(nIdGroup, vtMove)
|
|
||||||
EgtDraw()
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
Return False
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Muovo solo gli elementi SpotReg creati nel programma OFFICE
|
|
||||||
Private Sub MoveAllSpotRegistration(vtMove As Vector3d, Optional bOnlyOfficeSpot As Boolean = True)
|
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
|
||||||
While nId <> GDB_ID.NULL
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
EgtGetName(nId, sName)
|
|
||||||
If Not sName.Contains("CUT") Or Not bOnlyOfficeSpot Then
|
|
||||||
EgtMove(nId, vtMove)
|
|
||||||
End If
|
|
||||||
nId = EgtGetNext(nId)
|
|
||||||
End While
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Riposiziono i punti SpotReg (tutti) in funzione dell'altezza del grezzo
|
|
||||||
Public Sub UpdateSpotRegistration()
|
|
||||||
Dim ptCentArc As Point3d
|
|
||||||
If m_nRegGroupId <> GDB_ID.NULL Then Return
|
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
|
||||||
Dim sNameEnt As String = String.Empty
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
EgtGetName(nId, sName)
|
|
||||||
If sName.Contains("CUT") Then
|
|
||||||
sNameEnt = SPOTREGCUT_ & "Arc"
|
|
||||||
Else
|
|
||||||
sNameEnt = SPOTREG_ & "Arc"
|
|
||||||
End If
|
|
||||||
Dim nIdArc As Integer = EgtGetFirstNameInGroup(nId, sNameEnt)
|
|
||||||
If Not EgtCenterPoint(nIdArc, GDB_ID.ROOT, ptCentArc) Then
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
Dim dOffsetZ As Double = m_b3Raw.Max().z - ptCentArc.z
|
|
||||||
If Math.Abs(dOffsetZ) > 0.1 Then
|
|
||||||
MoveAllSpotRegistration(New Vector3d(0, 0, dOffsetZ + 0.1), False)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Ruoto solo gli elementi SpotReg creati nel programma OFFICE
|
|
||||||
Private Sub RotateAllSpotRegistration(dAngRot As Double, ptCen As Point3d)
|
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
|
||||||
While nId <> GDB_ID.NULL
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
EgtGetName(nId, sName)
|
|
||||||
If Not sName.Contains("CUT") Then
|
|
||||||
EgtRotate(nId, ptCen, Vector3d.Z_AX, dAngRot)
|
|
||||||
End If
|
|
||||||
nId = EgtGetNext(nId)
|
|
||||||
End While
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Per ogni SpotReg di OFFICE viene generato (nella stessa posizione) uno SpotRegCUT
|
|
||||||
Private Function InsertSpotRegistration() As Boolean
|
|
||||||
' recupero l'elenco non ordinato degli Id dei punti SpotReg (da Office)
|
|
||||||
Dim SpotRegList As New List(Of Integer)
|
|
||||||
Dim nId As Integer = GDB_ID.NULL
|
|
||||||
' Creo la lista ordinata dei punti SpotReg (da OFFICE)
|
|
||||||
For nIndexSpot As Integer = 1 To m_nCountSpot
|
|
||||||
nId = EgtGetFirstNameInGroup(m_nRegGroupId, SPOTREG_ & nIndexSpot.ToString)
|
|
||||||
SpotRegList.Add(nId)
|
|
||||||
Next
|
|
||||||
' Creo i punti SpotRegCUT sovrapposti a quelli inseriti in OFFICE
|
|
||||||
Dim bOk As Boolean = True
|
|
||||||
For nIndex As Integer = 0 To SpotRegList.Count - 1
|
|
||||||
Dim ptCent As Point3d
|
|
||||||
GetCenterSpotReg(SpotRegList, SPOTREG_ & "Arc", nIndex + 1, ptCent)
|
|
||||||
bOk = bOk And CreateSpotRegistration(m_nRegGroupId, ptCent, nIndex + 1)
|
|
||||||
Next
|
|
||||||
Return bOk
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Creo il punto nel gruppo "Reg/SpotRegCUT_"
|
|
||||||
Private Function CreateSpotRegistration(nLayerIdReg As Integer, ptP As Point3d, nIndexSpot As Integer) As Boolean
|
|
||||||
' creo uno specifico layer per ogni spot (definito da una croce inscritta in un cerchio)
|
|
||||||
Dim nIdSpotLay As Integer = EgtCreateGroup(nLayerIdReg)
|
|
||||||
' Aggiungo cerchio
|
|
||||||
Dim nCircId As Integer = EgtCreateCircle(nIdSpotLay, ptP, RADSPOT)
|
|
||||||
' Inserisco una croce all'interno del
|
|
||||||
Dim nLineVId As Integer = EgtCreateLinePVL(nIdSpotLay, ptP, Vector3d.Y_AX, RADSPOT)
|
|
||||||
EgtExtendCurveStartByLen(nLineVId, RADSPOT)
|
|
||||||
Dim nLineHId As Integer = EgtCreateLinePVL(nIdSpotLay, ptP, Vector3d.X_AX, RADSPOT)
|
|
||||||
EgtExtendCurveStartByLen(nLineHId, RADSPOT)
|
|
||||||
Dim nTextId As Integer = EgtCreateText(nIdSpotLay, ptP + New Vector3d(1, 1, 0), nIndexSpot.ToString, 10)
|
|
||||||
' coloro gli oggetti appena creati ed assegno il nome
|
|
||||||
Dim bOk As Boolean = EgtSetColor(nCircId, New Color3d(0, 255, 0))
|
|
||||||
bOk = bOk And EgtSetName(nCircId, SPOTREGCUT_ & "Arc")
|
|
||||||
bOk = bOk And EgtSetColor(nLineVId, New Color3d(0, 255, 0))
|
|
||||||
bOk = bOk And EgtSetName(nLineVId, SPOTREGCUT_ & "LineV")
|
|
||||||
bOk = bOk And EgtSetColor(nLineHId, New Color3d(0, 255, 0))
|
|
||||||
bOk = bOk And EgtSetName(nLineHId, SPOTREGCUT_ & "LineH")
|
|
||||||
bOk = bOk And EgtSetColor(nTextId, New Color3d(255, 0, 0))
|
|
||||||
bOk = bOk And EgtSetName(nTextId, SPOTREGCUT_ & "Text")
|
|
||||||
' assegno il nome del gruppo corrente
|
|
||||||
bOk = bOk And EgtSetName(nIdSpotLay, SPOTREGCUT_ & nIndexSpot.ToString)
|
|
||||||
If bOk Then
|
|
||||||
' Aggiorno il contatore degli Spot
|
|
||||||
EgtSetInfo(nLayerIdReg, COUNTSPOTCUT, nIndexSpot)
|
|
||||||
m_nCountSpotCUT = nIndexSpot
|
|
||||||
End If
|
|
||||||
Return bOk
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Elimino il punto nel gruppo "Reg/SpotRegCUT_"
|
|
||||||
Private Function RemoveSpotRegistration(nSpotRegId As Integer) As Boolean
|
|
||||||
Dim nIndSpotReg As Integer = GetIndexGroupSpotReg(nSpotRegId)
|
|
||||||
If Not EgtErase(nSpotRegId) Then Return False
|
|
||||||
' faccio scorrere tutti i gruppi ed eventualmente li rinomino
|
|
||||||
Dim n_IdSR As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
|
||||||
m_nCountSpotCUT -= 1
|
|
||||||
EgtSetInfo(m_nRegGroupId, COUNTSPOTCUT, m_nCountSpotCUT)
|
|
||||||
While n_IdSR <> GDB_ID.NULL
|
|
||||||
Dim sName As String = String.Empty
|
|
||||||
EgtGetName(n_IdSR, sName)
|
|
||||||
If sName.Contains("CUT") Then
|
|
||||||
Dim nCurrIndSpotReg As Integer = GetIndexGroupSpotReg(n_IdSR)
|
|
||||||
If nCurrIndSpotReg > nIndSpotReg Then
|
|
||||||
' Recupero il testo
|
|
||||||
Dim nIdtext As Integer = EgtGetFirstNameInGroup(n_IdSR, SPOTREGCUT_ & "Text")
|
|
||||||
nCurrIndSpotReg -= 1
|
|
||||||
EgtModifyText(nIdtext, nCurrIndSpotReg.ToString)
|
|
||||||
EgtSetName(n_IdSR, SPOTREGCUT_ & nCurrIndSpotReg.ToString)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
n_IdSR = EgtGetNext(n_IdSR)
|
|
||||||
|
|
||||||
End While
|
|
||||||
EgtDraw()
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Cambio lo stato dello SpotReg (sia di OFFICE che di CUT)
|
|
||||||
Private Function ActivateSpotRegistration(nSpotRegId As Integer) As Boolean
|
|
||||||
Dim nIndexSpot As Integer = GetIndexGroupSpotReg(nSpotRegId)
|
|
||||||
Dim nParentId As Integer = EgtGetParent(nSpotRegId)
|
|
||||||
Dim nInfo As Integer = 0
|
|
||||||
Dim bOk As Boolean = True
|
|
||||||
If Not EgtGetInfo(nSpotRegId, ACTIVATESPOTCUT, nInfo) Then
|
|
||||||
' 1: Attivo, 0: Disbilitato
|
|
||||||
nInfo = 1
|
|
||||||
End If
|
|
||||||
If nInfo = 1 Then
|
|
||||||
' inserisco una Info sullo SpotRegCUT che indica che è disattivo
|
|
||||||
nSpotRegId = EgtGetFirstNameInGroup(nParentId, SPOTREGCUT_ & nIndexSpot.ToString)
|
|
||||||
bOk = EgtSetInfo(nSpotRegId, ACTIVATESPOTCUT, 0)
|
|
||||||
Dim nEntId As Integer = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "Arc")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "LineV")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "LineH")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "Text")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 255, 0))
|
|
||||||
' inserisco una Info sullo SpotReg (OFFICE) che indica che è disattivo
|
|
||||||
nSpotRegId = EgtGetFirstNameInGroup(nParentId, SPOTREG_ & nIndexSpot.ToString)
|
|
||||||
bOk = EgtSetInfo(nSpotRegId, ACTIVATESPOTCUT, 0)
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "Arc")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 255))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "LineV")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 255))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "LineH")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 255))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "Text")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 0))
|
|
||||||
Else
|
|
||||||
' inserisco una Info sul pezzo che indica che è attivo
|
|
||||||
nSpotRegId = EgtGetFirstNameInGroup(nParentId, SPOTREGCUT_ & nIndexSpot.ToString)
|
|
||||||
bOk = EgtSetInfo(nSpotRegId, ACTIVATESPOTCUT, 1)
|
|
||||||
Dim nEntId As Integer = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "Arc")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 255, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "LineV")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 255, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "LineH")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 255, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREGCUT_ & "Text")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 0, 0))
|
|
||||||
' inserisco una Info sullo SpotReg (OFFICE) che indica che è disattivo
|
|
||||||
nSpotRegId = EgtGetFirstNameInGroup(nParentId, SPOTREG_ & nIndexSpot.ToString)
|
|
||||||
bOk = EgtSetInfo(nSpotRegId, ACTIVATESPOTCUT, 1)
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "Arc")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "LineV")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "LineH")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(0, 0, 0))
|
|
||||||
nEntId = EgtGetFirstNameInGroup(nSpotRegId, SPOTREG_ & "Text")
|
|
||||||
bOk = bOk And EgtSetColor(nEntId, New Color3d(255, 0, 0))
|
|
||||||
End If
|
|
||||||
Return bOk
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Restituisce l'indice dello "SpotReg_" oppure "SpotRegCUT_"
|
|
||||||
Private Function GetIndexGroupSpotReg(nSpotRegId As Integer) As Integer
|
|
||||||
Dim sNameParent As String = String.Empty
|
|
||||||
EgtGetName(nSpotRegId, sNameParent)
|
|
||||||
' Ricavo l'indice dal nome
|
|
||||||
Dim sItems As String() = sNameParent.Split("_"c)
|
|
||||||
Dim nCurrIndex As Integer = 0
|
|
||||||
If sItems.Count = 2 Then
|
|
||||||
If Not Integer.TryParse(sItems(1), nCurrIndex) Then
|
|
||||||
nCurrIndex = -1
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Return nCurrIndex
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Calcola gli spostamenti del grezzo per posizionare i punti di SpotReg
|
|
||||||
Private Function AdjustRawWithSpotReg() As Boolean
|
|
||||||
' Verifico che almeno un punto sia stato inserito
|
|
||||||
If m_nCountSpotCUT < 1 Then
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.SetWarningMessage("Insert one spot reg to start.")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' recupero l'elenco non ordinato degli Id dei punti SpotReg (da Office)
|
|
||||||
Dim SpotRegList As New List(Of Integer)
|
|
||||||
Dim SpotRegCUTList As New List(Of Integer)
|
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
|
||||||
' Creo la lista ordinata dei punti
|
|
||||||
For nIndexSpot As Integer = 1 To m_nCountSpotCUT
|
|
||||||
nId = EgtGetFirstNameInGroup(m_nRegGroupId, SPOTREGCUT_ & nIndexSpot.ToString)
|
|
||||||
Dim nActivate As Integer = 0
|
|
||||||
If Not EgtGetInfo(nId, ACTIVATESPOTCUT, nActivate) Then
|
|
||||||
nActivate = 1
|
|
||||||
End If
|
|
||||||
If nId <> GDB_ID.NULL And nActivate = 1 Then
|
|
||||||
SpotRegCUTList.Add(nId)
|
|
||||||
nId = EgtGetFirstNameInGroup(m_nRegGroupId, SPOTREG_ & nIndexSpot.ToString)
|
|
||||||
SpotRegList.Add(nId)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
' Carico la lista dei centri
|
|
||||||
Dim ptCentCUTList As New List(Of Point3d)
|
|
||||||
Dim ptCentLIst As New List(Of Point3d)
|
|
||||||
If Not GetAllCenterSpotReg(SpotRegCUTList, SpotRegList, ptCentCUTList, ptCentLIst) Then Return False
|
|
||||||
|
|
||||||
' Eseguo il primo posizionamento di massima
|
|
||||||
Dim vtMoveStart As Vector3d = ptCentCUTList(0) - ptCentLIst(0)
|
|
||||||
Dim dAngRotSum As Double = 0.0
|
|
||||||
Dim dScaleSum As Double = 0.0
|
|
||||||
For nIndex As Integer = 1 To ptCentCUTList.Count - 1
|
|
||||||
Dim vtDirCUT As Vector3d = ptCentCUTList(nIndex) - ptCentCUTList(0)
|
|
||||||
Dim vtDir As Vector3d = ptCentLIst(nIndex) - ptCentLIst(0)
|
|
||||||
Dim dLenCUT, dLen, dAngVCUT, dAngV, dAngHCUT, dAngH As Double
|
|
||||||
vtDirCUT.ToSpherical(dLenCUT, dAngVCUT, dAngHCUT)
|
|
||||||
vtDir.ToSpherical(dLen, dAngV, dAngH)
|
|
||||||
dScaleSum += Math.Abs(dLenCUT - dLen) / dLenCUT
|
|
||||||
dAngRotSum += dAngHCUT - dAngH
|
|
||||||
Next
|
|
||||||
vtMoveStart.z = 0
|
|
||||||
' Determino la deformazione media
|
|
||||||
Dim dScaleAvarage As Double = 1 - dScaleSum / (ptCentCUTList.Count - 1)
|
|
||||||
MoveAllRawParts(vtMoveStart)
|
|
||||||
' Ruoto del valor medio delle differenze angolari
|
|
||||||
Dim dAngAvarage As Double = dAngRotSum / (ptCentCUTList.Count - 1)
|
|
||||||
RotateAllRawParts(dAngAvarage, ptCentCUTList(0))
|
|
||||||
Dim sCurrINdexSpot As String = GetIndexGroupSpotReg(SpotRegCUTList(0)).ToString
|
|
||||||
EgtOutLog(" → REG Adjustment datas :")
|
|
||||||
EgtOutLog(" → move SpotReg_" & sCurrINdexSpot & " : " & vtMoveStart.x.ToString & ", " & vtMoveStart.y.ToString)
|
|
||||||
EgtOutLog(" → average rotation around SpotRegCUT_" & sCurrINdexSpot & " : " & dAngAvarage.ToString)
|
|
||||||
EgtOutLog(" → average scale deformation : " & dScaleAvarage.ToString)
|
|
||||||
|
|
||||||
' Correggo lo spostamento in funzione della deformazione misurata
|
|
||||||
Dim vtMoveSum As Vector3d = New Vector3d(0, 0, 0)
|
|
||||||
GetAllCenterSpotReg(SpotRegCUTList, SpotRegList, ptCentCUTList, ptCentLIst)
|
|
||||||
For nIndex As Integer = 1 To ptCentCUTList.Count - 1
|
|
||||||
vtMoveSum += ptCentCUTList(nIndex) - ptCentLIst(nIndex)
|
|
||||||
Next
|
|
||||||
vtMoveSum.z = 0
|
|
||||||
vtMoveSum = vtMoveSum / (ptCentCUTList.Count - 1)
|
|
||||||
MoveAllRawParts(vtMoveSum * dScaleAvarage / 2)
|
|
||||||
EgtDraw()
|
|
||||||
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Private Function GetAllCenterSpotReg(SpotRegCUTList As List(Of Integer), SpotRegList As List(Of Integer),
|
|
||||||
ByRef ptCentCUTList As List(Of Point3d), ByRef ptCentLIst As List(Of Point3d)) As Boolean
|
|
||||||
ptCentCUTList.Clear()
|
|
||||||
ptCentLIst.Clear()
|
|
||||||
For nIndex As Integer = 0 To m_nCountSpotCUT
|
|
||||||
Dim ptCenCUT As Point3d
|
|
||||||
Dim ptCent As Point3d
|
|
||||||
If GetCenterSpotReg(SpotRegCUTList, SPOTREGCUT_ & "Arc", nIndex + 1, ptCenCUT) Then
|
|
||||||
ptCentCUTList.Add(ptCenCUT)
|
|
||||||
GetCenterSpotReg(SpotRegList, SPOTREG_ & "Arc", nIndex + 1, ptCent)
|
|
||||||
ptCentLIst.Add(ptCent)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If ptCentCUTList.Count > 0 AndAlso ptCentCUTList.Count = ptCentLIst.Count Then
|
|
||||||
Return True
|
|
||||||
Else
|
|
||||||
Return False
|
|
||||||
End If
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Data la lista di punti Spot e l'indice dello spot da ricercare restituisce il centro del punto indicato
|
|
||||||
Private Function GetCenterSpotReg(ListSR As List(Of Integer), sName As String, nIndex As Integer, ByRef ptCentArc As Point3d) As Boolean
|
|
||||||
For Each ItemSR As Integer In ListSR
|
|
||||||
If GetIndexGroupSpotReg(ItemSR) = nIndex Then
|
|
||||||
Dim nIdArc As Integer = EgtGetFirstNameInGroup(ItemSR, sName)
|
|
||||||
If EgtCenterPoint(nIdArc, GDB_ID.ROOT, ptCentArc) Then
|
|
||||||
Return True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Return False
|
|
||||||
End Function
|
|
||||||
|
|
||||||
#End Region
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
Imports System.Net
|
Imports EgtUILib
|
||||||
Imports System.Windows.Forms.Integration
|
|
||||||
Imports EgtUILib
|
|
||||||
|
|
||||||
Public Module SplitAuto
|
Public Module SplitAuto
|
||||||
|
|
||||||
@@ -38,8 +36,6 @@ Public Module SplitAuto
|
|||||||
Public m_dStartFreeLen As Double
|
Public m_dStartFreeLen As Double
|
||||||
Public m_dEndFreeLen As Double
|
Public m_dEndFreeLen As Double
|
||||||
Public m_vtDir As Vector3d
|
Public m_vtDir As Vector3d
|
||||||
' ver 2.6f4: tagli corti gestiti con LeadIn.OUT/LeadOut.OUT
|
|
||||||
Public m_bMngLeadInOnIntCorner As Boolean
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
'-----------------------------------------------------------------------------------------------
|
'-----------------------------------------------------------------------------------------------
|
||||||
@@ -113,22 +109,15 @@ Public Module SplitAuto
|
|||||||
EgtMidVector(nEntId, GDB_ID.ROOT, Mach.m_vtDir)
|
EgtMidVector(nEntId, GDB_ID.ROOT, Mach.m_vtDir)
|
||||||
If Mach.m_bInvert Then Mach.m_vtDir = -Mach.m_vtDir
|
If Mach.m_bInvert Then Mach.m_vtDir = -Mach.m_vtDir
|
||||||
Mach.m_nEntId = nEntId
|
Mach.m_nEntId = nEntId
|
||||||
EgtGetInfo(nOperId, "ManageLeadInOnIntCorner", Mach.m_bMngLeadInOnIntCorner)
|
|
||||||
End If
|
End If
|
||||||
' verifico se trasformabile in un taglio di separazione (almeno da un lato)
|
' verifico se trasformabile in un taglio di separazione (almeno da un lato)
|
||||||
If (dStartAddLen > -EPS_SMALL Or dEndAddLen > -EPS_SMALL Or Mach.m_bMngLeadInOnIntCorner) And
|
If (dStartAddLen > -EPS_SMALL Or dEndAddLen > -EPS_SMALL) And
|
||||||
Mach.m_sLay = NAME_OUTLOOP And Mach.m_nInterf = FMI_TYPE.NONE Then
|
Mach.m_sLay = NAME_OUTLOOP And Mach.m_nInterf = FMI_TYPE.NONE Then
|
||||||
Dim nRes As Integer = EgtVerifyCutAsSplitting(nOperId)
|
Dim nRes As Integer = EgtVerifyCutAsSplitting(nOperId)
|
||||||
Dim bIn As Boolean = False
|
Mach.m_bCanStartAll = (dStartAddLen > -EPS_SMALL And (nRes And CAR_RES.LI_OK) <> 0) And
|
||||||
Dim bOut As Boolean = False
|
Mach.m_dStartFreeLen > FREELEN_INF And Mach.m_bIsLine
|
||||||
CanExtendSides(Mach, bIn, bOut)
|
Mach.m_bCanEndAll = (dEndAddLen > -EPS_SMALL And (nRes And CAR_RES.LO_OK) <> 0) And
|
||||||
Mach.m_bCanStartAll = ((dStartAddLen > -EPS_SMALL Or Mach.m_bMngLeadInOnIntCorner) And (nRes And CAR_RES.LI_OK) <> 0) And
|
Mach.m_dEndFreeLen > FREELEN_INF And Mach.m_bIsLine
|
||||||
Mach.m_dStartFreeLen > FREELEN_INF And Mach.m_bIsLine And bIn
|
|
||||||
Mach.m_bCanEndAll = ((dEndAddLen > -EPS_SMALL Or Mach.m_bMngLeadInOnIntCorner) And (nRes And CAR_RES.LO_OK) <> 0) And
|
|
||||||
Mach.m_dEndFreeLen > FREELEN_INF And Mach.m_bIsLine And bOut
|
|
||||||
If nRes = 0 Then
|
|
||||||
EgtOutLog("Operation ID " & nOperId.ToString & " isn't split cut! verify depth machining.")
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
' se trasformabile in taglio di separazione, verifico se lo è
|
' se trasformabile in taglio di separazione, verifico se lo è
|
||||||
If Mach.m_bCanStartAll Or Mach.m_bCanEndAll Then
|
If Mach.m_bCanStartAll Or Mach.m_bCanEndAll Then
|
||||||
@@ -177,26 +166,6 @@ Public Module SplitAuto
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function CanExtendSides(CurrMach As SplitMach, ByRef bIn As Boolean, ByRef bOut As Boolean) As Boolean
|
|
||||||
If CurrMach.m_dPrevAng < -EPS_ANG_SMALL And CurrMach.m_dNextAng > EPS_ANG_SMALL Then
|
|
||||||
' Posso estendere SOLO l'uscita
|
|
||||||
bOut = True
|
|
||||||
bIn = False
|
|
||||||
ElseIf CurrMach.m_dPrevAng > EPS_ANG_SMALL And CurrMach.m_dNextAng < -EPS_ANG_SMALL Then
|
|
||||||
' Posso estendere SOLO l'ingresso
|
|
||||||
bIn = True
|
|
||||||
bOut = False
|
|
||||||
ElseIf CurrMach.m_dPrevAng < -EPS_ANG_SMALL And CurrMach.m_dNextAng < -EPS_ANG_SMALL Then
|
|
||||||
' NON Posso estendere
|
|
||||||
bIn = False
|
|
||||||
bOut = False
|
|
||||||
Else
|
|
||||||
bIn = True
|
|
||||||
bOut = True
|
|
||||||
End If
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
'-----------------------------------------------------------------------------------------------
|
'-----------------------------------------------------------------------------------------------
|
||||||
' calcolo il numero di tipi di lavorazioni
|
' calcolo il numero di tipi di lavorazioni
|
||||||
Friend Sub CountMachiningType(MachSplit As SplitMach, ByRef nCountSawing As Integer, ByRef nCountWaterjetting As Integer, ByRef nCountOtherMachining As Integer)
|
Friend Sub CountMachiningType(MachSplit As SplitMach, ByRef nCountSawing As Integer, ByRef nCountWaterjetting As Integer, ByRef nCountOtherMachining As Integer)
|
||||||
@@ -225,7 +194,7 @@ Public Module SplitAuto
|
|||||||
|
|
||||||
Private Sub ColorSingleMachining(nOperId As Integer, sLay As String, dSideAng As Double, bEnabled As Boolean, nInterf As Integer)
|
Private Sub ColorSingleMachining(nOperId As Integer, sLay As String, dSideAng As Double, bEnabled As Boolean, nInterf As Integer)
|
||||||
' Verifico se è un taglio da sopra o da sotto
|
' Verifico se è un taglio da sopra o da sotto
|
||||||
Dim bOnMach As Boolean = (sLay = NAME_ONPATH Or (sLay = NAME_INLOOP AndAlso EgtExistsInfo(nOperId, INFO_FILOTOP)))
|
Dim bOnMach As Boolean = (sLay = NAME_ONPATH Or ( sLay = NAME_INLOOP AndAlso EgtExistsInfo( nOperId, INFO_FILOTOP)))
|
||||||
Dim bDrip As Boolean = (sLay = NAME_DRIPCUT Or sLay = NAME_UNDERDRILL)
|
Dim bDrip As Boolean = (sLay = NAME_DRIPCUT Or sLay = NAME_UNDERDRILL)
|
||||||
' Recupero il preview della lavorazione
|
' Recupero il preview della lavorazione
|
||||||
Dim nPvId As Integer = GDB_ID.NULL
|
Dim nPvId As Integer = GDB_ID.NULL
|
||||||
@@ -250,11 +219,11 @@ Public Module SplitAuto
|
|||||||
Next
|
Next
|
||||||
EgtSetColor(nDwnCutId, COL_MCH_DISABLED)
|
EgtSetColor(nDwnCutId, COL_MCH_DISABLED)
|
||||||
Dim bFreeStart As Boolean = (nInterf And FMI_TYPE.LI) <> FMI_TYPE.LI
|
Dim bFreeStart As Boolean = (nInterf And FMI_TYPE.LI) <> FMI_TYPE.LI
|
||||||
EgtSetColor(nPrcId, If(bFreeStart, COL_MCH_DISABLED(), COL_MCH_DIS_INTERF()))
|
EgtSetColor(nPrcId, If(bFreeStart, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||||
EgtSetColor(nDwnPrcId, If(bFreeStart, COL_MCH_DISABLED(), COL_MCH_DIS_INTERF()))
|
EgtSetColor(nDwnPrcId, If(bFreeStart, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||||
Dim bFreeEnd As Boolean = (nInterf And FMI_TYPE.LO) <> FMI_TYPE.LO
|
Dim bFreeEnd As Boolean = (nInterf And FMI_TYPE.LO) <> FMI_TYPE.LO
|
||||||
EgtSetColor(nPocId, If(bFreeEnd, COL_MCH_DISABLED(), COL_MCH_DIS_INTERF()))
|
EgtSetColor(nPocId, If(bFreeEnd, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||||
EgtSetColor(nDwnPocId, If(bFreeEnd, COL_MCH_DISABLED(), COL_MCH_DIS_INTERF()))
|
EgtSetColor(nDwnPocId, If(bFreeEnd, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||||
Else
|
Else
|
||||||
Dim colCut As Color3d
|
Dim colCut As Color3d
|
||||||
If bOnMach Then
|
If bOnMach Then
|
||||||
@@ -373,7 +342,6 @@ Public Module SplitAuto
|
|||||||
Dim ptOri As Point3d
|
Dim ptOri As Point3d
|
||||||
EgtGetTableRef(1, ptOri)
|
EgtGetTableRef(1, ptOri)
|
||||||
Dim vtOri As New Vector3d(ptOri.x, ptOri.y, ptOri.z)
|
Dim vtOri As New Vector3d(ptOri.x, ptOri.y, ptOri.z)
|
||||||
' ---------------------------------- GREZZI ----------------------------------
|
|
||||||
' Eseguo eventuali spezzature dei grezzi e vi sposto i pezzi (i grezzi devono essere sempre copiati per Registrazione con rotazione)
|
' Eseguo eventuali spezzature dei grezzi e vi sposto i pezzi (i grezzi devono essere sempre copiati per Registrazione con rotazione)
|
||||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||||
While nRawId <> GDB_ID.NULL
|
While nRawId <> GDB_ID.NULL
|
||||||
@@ -425,19 +393,10 @@ Public Module SplitAuto
|
|||||||
' passo al successivo grezzo
|
' passo al successivo grezzo
|
||||||
nRawId = EgtGetNextRawPart(nRawId)
|
nRawId = EgtGetNextRawPart(nRawId)
|
||||||
End While
|
End While
|
||||||
' ---------------------------------- GREZZI ----------------------------------
|
|
||||||
' Cancello preview dei tagli allungati dalla lavorazione
|
' Cancello preview dei tagli allungati dalla lavorazione
|
||||||
For Each nCut As Integer In vCuts
|
For Each nCut As Integer In vCuts
|
||||||
RemoveMachiningPreview(nCut)
|
RemoveMachiningPreview(nCut)
|
||||||
Next
|
Next
|
||||||
' ---------------------------------- LAVORAZIONI ----------------------------------
|
|
||||||
ChangeOperationPhase(nNewPhase)
|
|
||||||
' ---------------------------------- LAVORAZIONI ----------------------------------
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
' Sposta le lavorzioni della fase precedente a quella indicata
|
|
||||||
Friend Sub ChangeOperationPhase_ERR(nNewPhase As Integer)
|
|
||||||
' Sposto tutte le lavorazioni disabilitate e le eventuali inglobate nella nuova fase
|
' Sposto tutte le lavorazioni disabilitate e le eventuali inglobate nella nuova fase
|
||||||
Dim nId = EgtGetFirstOperation()
|
Dim nId = EgtGetFirstOperation()
|
||||||
While nId <> GDB_ID.NULL
|
While nId <> GDB_ID.NULL
|
||||||
@@ -458,50 +417,9 @@ Public Module SplitAuto
|
|||||||
End If
|
End If
|
||||||
nId = nNextId
|
nId = nNextId
|
||||||
End While
|
End While
|
||||||
End Sub
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
' Miglioramento della gestione delle lavorazioni
|
|
||||||
Friend Sub ChangeOperationPhase(nNewPhase As Integer)
|
|
||||||
' creo l'elenco delle lavorazioni che devono essere sposate
|
|
||||||
Dim MchList As New List(Of Integer)
|
|
||||||
' Recupero le lavorazioni disabilitate e le eventuali inglobate nella nuova fase
|
|
||||||
Dim nId = EgtGetFirstOperation()
|
|
||||||
While nId <> GDB_ID.NULL
|
|
||||||
Dim nNextId = EgtGetNextOperation(nId)
|
|
||||||
If IsValidMachining(nId) And EgtGetOperationPhase(nId) = nNewPhase - 1 And EgtExistsInfo(nId, INFO_MCH_USER_OFF) Then
|
|
||||||
' Provo ad inserire la lavorazione nell'elenco
|
|
||||||
AddMach(MchList, nId)
|
|
||||||
' sposto le inglobate
|
|
||||||
Dim sInfo As String = String.Empty
|
|
||||||
If EgtGetInfo(nId, INFO_MCH_OTHMID, sInfo) Then
|
|
||||||
Dim sItems() As String = sInfo.Split(",".ToCharArray)
|
|
||||||
For Each sId2 As String In sItems
|
|
||||||
Dim nId2 As Integer = 0
|
|
||||||
StringToInt(sId2, nId2)
|
|
||||||
If nId2 > 0 Then
|
|
||||||
' Provo ad inserire la lavorazione nell'elenco
|
|
||||||
AddMach(MchList, nId2)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
nId = nNextId
|
|
||||||
End While
|
|
||||||
' Procedo ora a spostare le lavorazioni nella nuova disposizione
|
|
||||||
For Each ItemMchId As Integer In MchList
|
|
||||||
EgtChangeOperationPhase(ItemMchId, nNewPhase)
|
|
||||||
Next
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Inserisce gli inidici delle lavorazioni evitando di inserire dei doppioni
|
|
||||||
Private Sub AddMach(MchList As List(Of Integer), IdMch As Integer)
|
|
||||||
For Each Item As Integer In MchList
|
|
||||||
If IdMch = Item Then
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
MchList.Add(IdMch)
|
|
||||||
End Sub
|
|
||||||
'-----------------------------------------------------------------------------------------------
|
'-----------------------------------------------------------------------------------------------
|
||||||
Friend Function CalculateSplitAuto() As Boolean
|
Friend Function CalculateSplitAuto() As Boolean
|
||||||
' Fase iniziale
|
' Fase iniziale
|
||||||
@@ -825,36 +743,28 @@ Public Module SplitAuto
|
|||||||
|
|
||||||
Private Function ExecMove(nDispId As Integer, vNewRaws As List(Of Integer),
|
Private Function ExecMove(nDispId As Integer, vNewRaws As List(Of Integer),
|
||||||
vtMove As Vector3d, dMinMove As Double) As Boolean
|
vtMove As Vector3d, dMinMove As Double) As Boolean
|
||||||
Dim bTwoHeadVac As Boolean = (EgtGetHeadId(VACUUM_HEAD_2) <> GDB_ID.NULL)
|
|
||||||
Dim rmData As New RawMoveData
|
|
||||||
Dim vtMove2 As Vector3d = -vtMove
|
Dim vtMove2 As Vector3d = -vtMove
|
||||||
|
Dim rmData As New RawMoveData
|
||||||
VacuumCups.ResetHeadName()
|
If PutVacuumCupsOnRaw(vNewRaws(1), rmData) AndAlso
|
||||||
Dim bPutVacuum As Boolean = PutVacuumCupsOnRaw(vNewRaws(1), rmData)
|
SafeMoveRawPart(vNewRaws(1), vtMove, dMinMove) Then
|
||||||
If Not bPutVacuum And bTwoHeadVac Then bPutVacuum = PutVacuumCupsOnRaw(vNewRaws(1), rmData)
|
|
||||||
If bPutVacuum AndAlso SafeMoveRawPart(vNewRaws(1), vtMove, dMinMove) Then
|
|
||||||
rmData.m_vtRawMove = vtMove
|
rmData.m_vtRawMove = vtMove
|
||||||
SaveOneMoveInfoInDisposition(nDispId, rmData)
|
SaveOneMoveInfoInDisposition(nDispId, rmData)
|
||||||
Return True
|
Return True
|
||||||
End If
|
ElseIf PutVacuumCupsOnRaw(vNewRaws(0), rmData) AndAlso
|
||||||
|
SafeMoveRawPart(vNewRaws(0), vtMove2, dMinMove) Then
|
||||||
VacuumCups.ResetHeadName()
|
|
||||||
Dim bPut2Vacuum As Boolean = PutVacuumCupsOnRaw(vNewRaws(0), rmData)
|
|
||||||
If Not bPut2Vacuum And bTwoHeadVac Then bPutVacuum = PutVacuumCupsOnRaw(vNewRaws(0), rmData)
|
|
||||||
If bPut2Vacuum AndAlso SafeMoveRawPart(vNewRaws(0), vtMove2, dMinMove) Then
|
|
||||||
rmData.m_vtRawMove = vtMove2
|
rmData.m_vtRawMove = vtMove2
|
||||||
SaveOneMoveInfoInDisposition(nDispId, rmData)
|
SaveOneMoveInfoInDisposition(nDispId, rmData)
|
||||||
Return True
|
Return True
|
||||||
End If
|
Else
|
||||||
|
|
||||||
Return False
|
Return False
|
||||||
|
End If
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function SafeMoveRawPart(nRawId As Integer, ByRef vtMove As Vector3d, dMindist As Double) As Boolean
|
Private Function SafeMoveRawPart(nRawId As Integer, ByRef vtMove As Vector3d, dMindist As Double) As Boolean
|
||||||
' Spostamento originale
|
' Spostamento originale
|
||||||
Dim vtOriMove As New Vector3d(vtMove)
|
Dim vtOriMove As New Vector3d( vtMove)
|
||||||
' Livello di movimento
|
' Livello di movimento
|
||||||
Dim nMoveLevel As Integer = GetPrivateProfileInt(S_SPLIT, K_MOVE_LEV, 5, m_MainWindow.GetIniFile())
|
Dim nMoveLevel As Integer = GetPrivateProfileInt( S_SPLIT, K_MOVE_LEV, 5, m_MainWindow.GetIniFile())
|
||||||
Dim nMove As Integer = 1
|
Dim nMove As Integer = 1
|
||||||
' Se esce dalla tavola, movimento già annullato ed esco con errore
|
' Se esce dalla tavola, movimento già annullato ed esco con errore
|
||||||
If Not EgtMoveRawPart(nRawId, vtOriMove) Then Return False
|
If Not EgtMoveRawPart(nRawId, vtOriMove) Then Return False
|
||||||
@@ -889,7 +799,7 @@ Public Module SplitAuto
|
|||||||
If VerifyRawWithOtherRaws(nRawId, dMindist) Then
|
If VerifyRawWithOtherRaws(nRawId, dMindist) Then
|
||||||
vtMove += 0.5 * vtOriMove
|
vtMove += 0.5 * vtOriMove
|
||||||
nMove += 1
|
nMove += 1
|
||||||
If nMoveLevel = nMove Then Return True
|
If nMoveLevel = nMove Then return True
|
||||||
Else
|
Else
|
||||||
EgtMoveRawPart(nRawId, -0.5 * vtOriMove)
|
EgtMoveRawPart(nRawId, -0.5 * vtOriMove)
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ Public Class SplitPageUC
|
|||||||
' Tipo movimento dei grezzi (manuale o con testa ventosa)
|
' Tipo movimento dei grezzi (manuale o con testa ventosa)
|
||||||
Private m_bByHand As Boolean = True
|
Private m_bByHand As Boolean = True
|
||||||
' Abilitazione movimento finale pezzi su tavola ausiliaria
|
' Abilitazione movimento finale pezzi su tavola ausiliaria
|
||||||
Friend m_bEnableOnAuxTab As Boolean = False
|
Private m_bEnableOnAuxTab As Boolean = False
|
||||||
' Stato
|
' Stato
|
||||||
Private m_nCurrPhase As Integer = 0
|
Private m_nCurrPhase As Integer = 0
|
||||||
Private m_MachiningList As New List(Of SplitMach)
|
Private m_MachiningList As New List(Of SplitMach)
|
||||||
@@ -49,7 +49,6 @@ Public Class SplitPageUC
|
|||||||
Private m_bModified As Boolean = False
|
Private m_bModified As Boolean = False
|
||||||
Private m_nNbrGrpId As Integer = GDB_ID.NULL
|
Private m_nNbrGrpId As Integer = GDB_ID.NULL
|
||||||
Private m_bToNext As Boolean = False
|
Private m_bToNext As Boolean = False
|
||||||
Private m_bToPrev As Boolean = False
|
|
||||||
Friend m_bOnAuxTab As Boolean = False
|
Friend m_bOnAuxTab As Boolean = False
|
||||||
' Drag
|
' Drag
|
||||||
Private m_nDragInd As Integer = -1
|
Private m_nDragInd As Integer = -1
|
||||||
@@ -61,9 +60,6 @@ Public Class SplitPageUC
|
|||||||
' Abilita la mofica Inizio fine per i tagli interni sugli angoli
|
' Abilita la mofica Inizio fine per i tagli interni sugli angoli
|
||||||
Private m_StartEndModifyOnIntCorner As Boolean = False
|
Private m_StartEndModifyOnIntCorner As Boolean = False
|
||||||
|
|
||||||
Private m_IsCtrlKeyDown As Boolean = False
|
|
||||||
Private m_IsShiftKeyDown As Boolean = False
|
|
||||||
|
|
||||||
Private Sub SplitPageUC_Initialized(sender As Object, e As EventArgs)
|
Private Sub SplitPageUC_Initialized(sender As Object, e As EventArgs)
|
||||||
PrevBtn.IsEnabled = False
|
PrevBtn.IsEnabled = False
|
||||||
' Collego lista di oggetti a ListBox
|
' Collego lista di oggetti a ListBox
|
||||||
@@ -171,7 +167,6 @@ Public Class SplitPageUC
|
|||||||
m_bModified = False
|
m_bModified = False
|
||||||
' Reset flag tipo uscita
|
' Reset flag tipo uscita
|
||||||
m_bToNext = False
|
m_bToNext = False
|
||||||
m_bToPrev = False
|
|
||||||
' Abilitazione bottoni
|
' Abilitazione bottoni
|
||||||
EnableButtons()
|
EnableButtons()
|
||||||
' Se sola visualizzazione, segnalazione di eventuale fase di restart
|
' Se sola visualizzazione, segnalazione di eventuale fase di restart
|
||||||
@@ -185,8 +180,7 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' preparo la lista delle lavorazioni da mostrare in interfaccia
|
Private Sub ShowMachiningList()
|
||||||
Public Sub ShowMachiningList()
|
|
||||||
m_ItemList.Clear()
|
m_ItemList.Clear()
|
||||||
For i As Integer = 1 To m_MachiningList.Count()
|
For i As Integer = 1 To m_MachiningList.Count()
|
||||||
Dim Mach As SplitMach = m_MachiningList(i - 1)
|
Dim Mach As SplitMach = m_MachiningList(i - 1)
|
||||||
@@ -346,6 +340,7 @@ Public Class SplitPageUC
|
|||||||
EgtTrimCurveEndAtLen(nIdBridge, dLen - 10 * EPS_SMALL)
|
EgtTrimCurveEndAtLen(nIdBridge, dLen - 10 * EPS_SMALL)
|
||||||
EgtTrimCurveStartAtLen(nIdBridge, 10 * EPS_SMALL)
|
EgtTrimCurveStartAtLen(nIdBridge, 10 * EPS_SMALL)
|
||||||
End If
|
End If
|
||||||
|
' EgtSaveFile("c:\EgtData\OmagCUT\Temp\Bridge.nge", NGE.BIN)
|
||||||
Dim nIdPart As Integer = GDB_ID.NULL
|
Dim nIdPart As Integer = GDB_ID.NULL
|
||||||
nIdPart = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId)
|
nIdPart = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId)
|
||||||
While nIdPart <> GDB_ID.NULL
|
While nIdPart <> GDB_ID.NULL
|
||||||
@@ -353,6 +348,7 @@ Public Class SplitPageUC
|
|||||||
Dim nIdSurf As Integer = EgtGetFirstInGroup(nIdRegion)
|
Dim nIdSurf As Integer = EgtGetFirstInGroup(nIdRegion)
|
||||||
While nIdSurf <> GDB_ID.NULL
|
While nIdSurf <> GDB_ID.NULL
|
||||||
If EgtGetType(nIdSurf) = GDB_TY.SRF_FRGN Then
|
If EgtGetType(nIdSurf) = GDB_TY.SRF_FRGN Then
|
||||||
|
' EgtSaveFile("c:\EgtData\OmagCUT\Temp\Bridge.nge", NGE.BIN)
|
||||||
' se la linea bridge interseca la superficie allora restitusco false
|
' se la linea bridge interseca la superficie allora restitusco false
|
||||||
If EgtCurveWithRegionClassify(nIdBridge, nIdSurf) <> CREGC.OUT Then
|
If EgtCurveWithRegionClassify(nIdBridge, nIdSurf) <> CREGC.OUT Then
|
||||||
EgtExtendCurveStartByLen(nIdBridge, 10 * EPS_SMALL)
|
EgtExtendCurveStartByLen(nIdBridge, 10 * EPS_SMALL)
|
||||||
@@ -456,10 +452,6 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
#End Region ' Bridge
|
#End Region ' Bridge
|
||||||
|
|
||||||
Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene_DoubleClick
|
|
||||||
OnOffCut()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
|
||||||
' Verifico di essere il gestore attivo e non in modalità sola visualizzazione
|
' Verifico di essere il gestore attivo e non in modalità sola visualizzazione
|
||||||
If Not m_bActive OrElse m_bShow Then Return
|
If Not m_bActive OrElse m_bShow Then Return
|
||||||
@@ -602,7 +594,6 @@ Public Class SplitPageUC
|
|||||||
Dim dUsal As Double
|
Dim dUsal As Double
|
||||||
' ----------------------- REPEAT -----------------------
|
' ----------------------- REPEAT -----------------------
|
||||||
Do
|
Do
|
||||||
If Not m_MachiningList(m_nDragInd).m_bCanStartAll Then Exit Do
|
|
||||||
dDelta = -dDelta
|
dDelta = -dDelta
|
||||||
' Leggo il valore salvato nella geometria
|
' Leggo il valore salvato nella geometria
|
||||||
EgtGetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
|
EgtGetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
|
||||||
@@ -636,7 +627,6 @@ Public Class SplitPageUC
|
|||||||
Dim dUeal As Double
|
Dim dUeal As Double
|
||||||
dDelta = -dDelta
|
dDelta = -dDelta
|
||||||
Do
|
Do
|
||||||
If Not m_MachiningList(m_nDragInd).m_bCanEndAll Then Exit Do
|
|
||||||
dDelta = -dDelta
|
dDelta = -dDelta
|
||||||
' Leggo il valore salvato nella geometria
|
' Leggo il valore salvato nella geometria
|
||||||
EgtGetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
|
EgtGetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
|
||||||
@@ -720,8 +710,30 @@ Public Class SplitPageUC
|
|||||||
MoveUpBtn.IsEnabled = False
|
MoveUpBtn.IsEnabled = False
|
||||||
MoveDownBtn.IsEnabled = False
|
MoveDownBtn.IsEnabled = False
|
||||||
End If
|
End If
|
||||||
' Recupero la selezione dei tagli correnti
|
|
||||||
GetCurrSelection()
|
GetCurrSelection()
|
||||||
|
|
||||||
|
'' verifico che siano contigui
|
||||||
|
'Dim bContigus As Boolean = False
|
||||||
|
'Dim OrdIndex = 0
|
||||||
|
'OrdIndex = MachiningLsBx.SelectedItems(MachiningLsBx.SelectedItems.Count - 1).Ind
|
||||||
|
'' recupero l'indice dell'ultimo elemento selezionato
|
||||||
|
'Dim LastSel As NameIdLsBxItem = MachiningLsBx.SelectedItems(MachiningLsBx.SelectedItems.Count - 1)
|
||||||
|
'If MachiningLsBx.SelectedItems.Count = 1 Then
|
||||||
|
' bContigus = True
|
||||||
|
'Else
|
||||||
|
' For Each Item As NameIdLsBxItem In ItemList
|
||||||
|
' If Item.Ind = LastSel.Ind + 1 Or Item.Ind = LastSel.Ind - 1 Then
|
||||||
|
' bContigus = True
|
||||||
|
' End If
|
||||||
|
' Next
|
||||||
|
'End If
|
||||||
|
'' se non contiguo, elimino dai selezionati il primo(che è l'ultimo ad essere stato selezionato)
|
||||||
|
'If Not bContigus Then
|
||||||
|
' ItemList.Remove(LastSel)
|
||||||
|
' MachiningLsBx.SelectedItems.RemoveAt(MachiningLsBx.SelectedItems.Count - 1)
|
||||||
|
'End If
|
||||||
|
|
||||||
' resetto marcatura lavorazioni
|
' resetto marcatura lavorazioni
|
||||||
If m_CurrFirstInd > -1 Then
|
If m_CurrFirstInd > -1 Then
|
||||||
For Index As Integer = m_CurrFirstInd To m_CurrLastInd
|
For Index As Integer = m_CurrFirstInd To m_CurrLastInd
|
||||||
@@ -740,11 +752,6 @@ Public Class SplitPageUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub MachiningLsBx_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles MachiningLsBx.MouseDoubleClick
|
|
||||||
If m_IsCtrlKeyDown Or m_IsShiftKeyDown Then Return
|
|
||||||
OnOffCut()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
|
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
|
||||||
MoveItem(-1)
|
MoveItem(-1)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -820,8 +827,6 @@ Public Class SplitPageUC
|
|||||||
Next
|
Next
|
||||||
|
|
||||||
VerifyHomogenousMachining(ItemList)
|
VerifyHomogenousMachining(ItemList)
|
||||||
' Abilitazione bottone Next
|
|
||||||
EnableButtons()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub AllOnBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllOnBtn.Click
|
Private Sub AllOnBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllOnBtn.Click
|
||||||
@@ -928,31 +933,11 @@ Public Class SplitPageUC
|
|||||||
EnableButtons()
|
EnableButtons()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'' DA FARE: quando seleziono Esc devo togliere deselezionare tutte le enità!
|
' ERRORE: questo evento non è eseguito!
|
||||||
'Private Sub OnKeyDownScene(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
|
Private Sub OnKeyDownScene(sender As Object, e As KeyEventArgs)
|
||||||
' If e.Key = Key.Escape Then
|
If e.Key = Key.Escape Then
|
||||||
' ' se sono in fase di creazione di un ponticello interrompo
|
' se sono in fase di creazione di un ponticello interrompo
|
||||||
' DeselectWJBridgesPart()
|
DeselectWJBridgesPart()
|
||||||
' EgtDeselectAll()
|
|
||||||
' RemoveMarkAndNumbers()
|
|
||||||
' End If
|
|
||||||
'End Sub
|
|
||||||
|
|
||||||
Private Sub MachiningLsBx_KeyDown(sender As Object, e As KeyEventArgs) Handles MachiningLsBx.KeyDown
|
|
||||||
If e.Key = Key.LeftCtrl Or e.Key = Key.RightCtrl Then
|
|
||||||
m_IsCtrlKeyDown = True
|
|
||||||
End If
|
|
||||||
If e.Key = Key.LeftShift Or e.Key = Key.RightShift Then
|
|
||||||
m_IsShiftKeyDown = True
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub MachiningLsBx_KeyUp(sender As Object, e As KeyEventArgs) Handles MachiningLsBx.KeyUp
|
|
||||||
If e.Key = Key.LeftCtrl Or e.Key = Key.RightCtrl Then
|
|
||||||
m_IsCtrlKeyDown = False
|
|
||||||
End If
|
|
||||||
If e.Key = Key.LeftShift Or e.Key = Key.RightShift Then
|
|
||||||
m_IsShiftKeyDown = False
|
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1159,12 +1144,6 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
Dim nI As Integer = m_ItemList(Index).Ind
|
Dim nI As Integer = m_ItemList(Index).Ind
|
||||||
If m_MachiningList(nI).m_sLay = NAME_OUTLOOP Then
|
If m_MachiningList(nI).m_sLay = NAME_OUTLOOP Then
|
||||||
|
|
||||||
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
|
|
||||||
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
|
|
||||||
EgtOutLog(" ⚠️ L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
|
|
||||||
Else
|
|
||||||
|
|
||||||
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
||||||
Dim nLiPrev As Integer
|
Dim nLiPrev As Integer
|
||||||
EgtGetMachiningParam(MCH_MP.LEADINTYPE, nLiPrev)
|
EgtGetMachiningParam(MCH_MP.LEADINTYPE, nLiPrev)
|
||||||
@@ -1196,9 +1175,6 @@ Public Class SplitPageUC
|
|||||||
ColorMachining(m_MachiningList(nI))
|
ColorMachining(m_MachiningList(nI))
|
||||||
ColorNumberArrow(nI)
|
ColorNumberArrow(nI)
|
||||||
bGenModif = True
|
bGenModif = True
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
' Se modificato qualcosa
|
' Se modificato qualcosa
|
||||||
@@ -1236,12 +1212,6 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
Private Sub AllCenStartBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllCenStartBtn.Click
|
Private Sub AllCenStartBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllCenStartBtn.Click
|
||||||
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
||||||
|
|
||||||
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
|
|
||||||
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
|
|
||||||
EgtOutLog(" ⚠️ L'ingresso di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
|
|
||||||
Else
|
|
||||||
|
|
||||||
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
||||||
Dim nLiPrev As Integer
|
Dim nLiPrev As Integer
|
||||||
EgtGetMachiningParam(MCH_MP.LEADINTYPE, nLiPrev)
|
EgtGetMachiningParam(MCH_MP.LEADINTYPE, nLiPrev)
|
||||||
@@ -1260,9 +1230,6 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
ColorMachining(m_MachiningList(nI))
|
ColorMachining(m_MachiningList(nI))
|
||||||
ColorNumberArrow(nI)
|
ColorNumberArrow(nI)
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Imposto flag di modifica
|
' Imposto flag di modifica
|
||||||
@@ -1278,12 +1245,6 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
Dim nI As Integer = m_ItemList(Index).Ind
|
Dim nI As Integer = m_ItemList(Index).Ind
|
||||||
If m_MachiningList(nI).m_sLay = NAME_OUTLOOP Then
|
If m_MachiningList(nI).m_sLay = NAME_OUTLOOP Then
|
||||||
|
|
||||||
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
|
|
||||||
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
|
|
||||||
EgtOutLog(" ⚠️ L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
|
|
||||||
Else
|
|
||||||
|
|
||||||
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
||||||
Dim nLoPrev As Integer
|
Dim nLoPrev As Integer
|
||||||
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, nLoPrev)
|
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, nLoPrev)
|
||||||
@@ -1315,9 +1276,6 @@ Public Class SplitPageUC
|
|||||||
ColorMachining(m_MachiningList(nI))
|
ColorMachining(m_MachiningList(nI))
|
||||||
ColorNumberArrow(nI)
|
ColorNumberArrow(nI)
|
||||||
bGenModif = True
|
bGenModif = True
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
' Se modificato qualcosa
|
' Se modificato qualcosa
|
||||||
@@ -1355,12 +1313,6 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
Private Sub AllCenEndBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllCenEndBtn.Click
|
Private Sub AllCenEndBtn_Click(sender As Object, e As RoutedEventArgs) Handles AllCenEndBtn.Click
|
||||||
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
||||||
|
|
||||||
' se ho forzato il tipo di ingresso da CamAuto qui non posso moficarlo!
|
|
||||||
If m_MachiningList(nI).m_bMngLeadInOnIntCorner Then
|
|
||||||
EgtOutLog(" ⚠️ L'uscita di taglio associato all'entita'_" & m_MachiningList(nI).m_nEntId & " non puo' essere modificato per problemi di ingombro lama ⚠️")
|
|
||||||
Else
|
|
||||||
|
|
||||||
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
EgtSetCurrMachining(m_MachiningList(nI).m_nId)
|
||||||
Dim nLoPrev As Integer
|
Dim nLoPrev As Integer
|
||||||
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, nLoPrev)
|
EgtGetMachiningParam(MCH_MP.LEADOUTTYPE, nLoPrev)
|
||||||
@@ -1379,9 +1331,6 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
ColorMachining(m_MachiningList(nI))
|
ColorMachining(m_MachiningList(nI))
|
||||||
ColorNumberArrow(nI)
|
ColorNumberArrow(nI)
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Imposto flag di modifica
|
' Imposto flag di modifica
|
||||||
@@ -1459,12 +1408,6 @@ Public Class SplitPageUC
|
|||||||
' Se taglio con lama
|
' Se taglio con lama
|
||||||
If nMachiningType = MCH_MY.SAWING And
|
If nMachiningType = MCH_MY.SAWING And
|
||||||
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dPrevAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
|
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dPrevAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
|
||||||
|
|
||||||
If Not m_MachiningList(nI).m_bCanStartAll Then
|
|
||||||
EgtOutLog(" ⚠️ Il taglio non puo' essere allungato all'interno del pezzo ⚠️")
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
|
|
||||||
' leggo il valore salvato nella geometria
|
' leggo il valore salvato nella geometria
|
||||||
Dim dOrigUsal As Double = 0
|
Dim dOrigUsal As Double = 0
|
||||||
EgtGetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
|
EgtGetInfo(nOperId, INFO_MCH_USER_SAL, dOrigUsal)
|
||||||
@@ -1640,11 +1583,6 @@ Public Class SplitPageUC
|
|||||||
If nMachiningType = MCH_MY.SAWING And
|
If nMachiningType = MCH_MY.SAWING And
|
||||||
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dNextAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
|
(m_MachiningList(nI).m_bIsLine Or m_MachiningList(nI).m_dNextAng > FL_ARC_ANG_MIN Or m_MachiningList(nI).m_sLay = NAME_ONPATH) Then
|
||||||
|
|
||||||
If Not m_MachiningList(nI).m_bCanEndAll Then
|
|
||||||
EgtOutLog(" ⚠️ Il taglio non puo' essere allungato all'interno del pezzo ⚠️")
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim dOrigUeal As Double = 0
|
Dim dOrigUeal As Double = 0
|
||||||
EgtGetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
|
EgtGetInfo(nOperId, INFO_MCH_USER_EAL, dOrigUeal)
|
||||||
|
|
||||||
@@ -1779,7 +1717,7 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
Dim nI As Integer = m_ItemList(Index).Ind
|
Dim nI As Integer = m_ItemList(Index).Ind
|
||||||
' Si possono invertire solo i tagli di lama
|
' Si possono invertire solo i tagli di lama
|
||||||
If m_MachiningList(nI).m_nType <> MCH_OY.SAWING And m_MachiningList(nI).m_nType <> MCH_OY.WATERJETTING Then Continue For
|
If m_MachiningList(nI).m_nType <> MCH_OY.SAWING Then Continue For
|
||||||
' Non si possono invertire i tagli di lama inclinati
|
' Non si possono invertire i tagli di lama inclinati
|
||||||
If Math.Abs(m_MachiningList(nI).m_dSideAng) > 0.1 Then Continue For
|
If Math.Abs(m_MachiningList(nI).m_dSideAng) > 0.1 Then Continue For
|
||||||
' Se abilitata inversione automatica e quindi non invertito
|
' Se abilitata inversione automatica e quindi non invertito
|
||||||
@@ -1793,7 +1731,6 @@ Public Class SplitPageUC
|
|||||||
ResetEnableInvert(m_MachiningList(nI).m_nEntId)
|
ResetEnableInvert(m_MachiningList(nI).m_nEntId)
|
||||||
EgtErase(m_MachiningList(nI).m_nArrId)
|
EgtErase(m_MachiningList(nI).m_nArrId)
|
||||||
NumberDirectionMachining(nI, False)
|
NumberDirectionMachining(nI, False)
|
||||||
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
End If
|
End If
|
||||||
' se altrimenti disabilitata inversione automatica e invertito
|
' se altrimenti disabilitata inversione automatica e invertito
|
||||||
@@ -1805,7 +1742,6 @@ Public Class SplitPageUC
|
|||||||
SwapStartEndData(nI)
|
SwapStartEndData(nI)
|
||||||
EgtErase(m_MachiningList(nI).m_nArrId)
|
EgtErase(m_MachiningList(nI).m_nArrId)
|
||||||
NumberDirectionMachining(nI, False)
|
NumberDirectionMachining(nI, False)
|
||||||
UpdateMachiningPreview(m_MachiningList(nI).m_nId, True)
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
End If
|
End If
|
||||||
' altrimenti disabilitata inversione automatica e non invertito
|
' altrimenti disabilitata inversione automatica e non invertito
|
||||||
@@ -1844,26 +1780,15 @@ Public Class SplitPageUC
|
|||||||
Private Sub PrevBtn_Click(sender As Object, e As RoutedEventArgs) Handles PrevBtn.Click
|
Private Sub PrevBtn_Click(sender As Object, e As RoutedEventArgs) Handles PrevBtn.Click
|
||||||
' Dichiaro solo visualizzazione
|
' Dichiaro solo visualizzazione
|
||||||
m_bShow = True
|
m_bShow = True
|
||||||
'' Esco
|
' Esco
|
||||||
'ExitSplit(False)
|
ExitSplit(False)
|
||||||
' Torno alla fase precedente
|
' Torno alla fase precedente
|
||||||
Dim nCurrPhase As Integer = EgtGetCurrPhase()
|
EgtSetCurrPhase(EgtGetCurrPhase() - 1)
|
||||||
' se questa è la prima fase, non possono tornare più indietro di così
|
|
||||||
If nCurrPhase = 1 Then
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
EgtSetCurrPhase(nCurrPhase - 1)
|
|
||||||
m_bToPrev = True
|
|
||||||
' Reimposto la precedente
|
' Reimposto la precedente
|
||||||
'SplitPageUC_Loaded(Nothing, Nothing)
|
SplitPageUC_Loaded(Nothing, Nothing)
|
||||||
' torno alla disposizione della fase corrente
|
|
||||||
m_MainWindow.m_CadCutPageUC.CadCutPageGrid.Children.Remove(m_MainWindow.m_CadCutPageUC.m_SplitPage)
|
|
||||||
m_MainWindow.m_CadCutPageUC.CadCutPageGrid.Children.Add(m_MainWindow.m_CadCutPageUC.m_MoveRawPartPage)
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_CadCutMode = CadCutPageUC.CadCutModes.MoveRawPart
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
||||||
' ------- VISUALIZZAZIONE (navigazione tra le fasi) -------
|
|
||||||
If m_bShow Then
|
If m_bShow Then
|
||||||
Dim CurrDisposition As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
Dim CurrDisposition As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
' recupero l'operazione successiva
|
' recupero l'operazione successiva
|
||||||
@@ -1985,7 +1910,7 @@ Public Class SplitPageUC
|
|||||||
Private Sub SplitPageUC_Unloaded(sender As Object, e As EventArgs) Handles Me.Unloaded
|
Private Sub SplitPageUC_Unloaded(sender As Object, e As EventArgs) Handles Me.Unloaded
|
||||||
m_bActive = False
|
m_bActive = False
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
||||||
ExitSplit(Not m_bToNext And Not m_bToPrev)
|
ExitSplit(Not m_bToNext)
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -2004,7 +1929,22 @@ Public Class SplitPageUC
|
|||||||
EgtEnableModified()
|
EgtEnableModified()
|
||||||
' se modificato salvo ordine e stato delle lavorazioni
|
' se modificato salvo ordine e stato delle lavorazioni
|
||||||
If m_bModified Then
|
If m_bModified Then
|
||||||
SaveOrderMachinig(m_nCurrPhase)
|
' Al primo posto deve rimanere la disposizione della fase
|
||||||
|
Dim nFirstOperId As Integer = EgtGetPhaseDisposition(m_nCurrPhase)
|
||||||
|
For i As Integer = m_ItemList.Count() - 1 To 0 Step -1
|
||||||
|
Dim nI As Integer = m_ItemList(i).Ind
|
||||||
|
Dim nMchId As Integer = m_MachiningList(nI).m_nId
|
||||||
|
EgtRelocate(nMchId, nFirstOperId, GDB_POS.AFTER)
|
||||||
|
If m_MachiningList(nI).m_bEnabled Then
|
||||||
|
EgtSetOperationMode(m_MachiningList(nI).m_nId, True)
|
||||||
|
EgtRemoveInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_OFF)
|
||||||
|
Else
|
||||||
|
EgtSetOperationMode(m_MachiningList(nI).m_nId, False)
|
||||||
|
EgtSetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_OFF, True)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
' dichiaro ordine salvato
|
||||||
|
m_MainWindow.m_CurrentProjectPageUC.SetOrderMachiningFlag()
|
||||||
End If
|
End If
|
||||||
' Affondamento ridotto
|
' Affondamento ridotto
|
||||||
Dim dReducedDepth As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_REDUCEDDEPTH, 1, m_MainWindow.GetMachIniFile())
|
Dim dReducedDepth As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_REDUCEDDEPTH, 1, m_MainWindow.GetMachIniFile())
|
||||||
@@ -2028,25 +1968,6 @@ Public Class SplitPageUC
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub SaveOrderMachinig(CurrPhase As Integer)
|
|
||||||
' Al primo posto deve rimanere la disposizione della fase
|
|
||||||
Dim nFirstOperId As Integer = EgtGetPhaseDisposition(CurrPhase)
|
|
||||||
For i As Integer = m_ItemList.Count() - 1 To 0 Step -1
|
|
||||||
Dim nI As Integer = m_ItemList(i).Ind
|
|
||||||
Dim nMchId As Integer = m_MachiningList(nI).m_nId
|
|
||||||
EgtRelocate(nMchId, nFirstOperId, GDB_POS.AFTER)
|
|
||||||
If m_MachiningList(nI).m_bEnabled Then
|
|
||||||
EgtSetOperationMode(m_MachiningList(nI).m_nId, True)
|
|
||||||
EgtRemoveInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_OFF)
|
|
||||||
Else
|
|
||||||
EgtSetOperationMode(m_MachiningList(nI).m_nId, False)
|
|
||||||
EgtSetInfo(m_MachiningList(nI).m_nId, INFO_MCH_USER_OFF, True)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
' dichiaro ordine salvato
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.SetOrderMachiningFlag()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Friend Function GetDisabledCutsCount() As Integer
|
Friend Function GetDisabledCutsCount() As Integer
|
||||||
' Determino il numero di tagli disabilitati
|
' Determino il numero di tagli disabilitati
|
||||||
Dim nCount As Integer = 0
|
Dim nCount As Integer = 0
|
||||||
@@ -2111,7 +2032,7 @@ Public Class SplitPageUC
|
|||||||
NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() = 1)
|
NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() = 1)
|
||||||
' Altrimenti
|
' Altrimenti
|
||||||
Else
|
Else
|
||||||
' movimento standard sulla tavola (almeno un taglio disabilitato allora False)
|
' movimento standard sulla tavola (almeno un taglio disabilitato)
|
||||||
Dim bStdTab As Boolean = (GetDisabledCutsCount() > 0)
|
Dim bStdTab As Boolean = (GetDisabledCutsCount() > 0)
|
||||||
' movimento su tavola di scarico
|
' movimento su tavola di scarico
|
||||||
m_bOnAuxTab = Not bStdTab AndAlso (m_nCurrPhase = EgtGetPhaseCount() And m_bEnableOnAuxTab)
|
m_bOnAuxTab = Not bStdTab AndAlso (m_nCurrPhase = EgtGetPhaseCount() And m_bEnableOnAuxTab)
|
||||||
@@ -2172,33 +2093,6 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnOffCut()
|
|
||||||
If MachiningLsBx.SelectedItems.Count = 1 Then
|
|
||||||
Dim x As NameIdLsBxItem = DirectCast(MachiningLsBx.SelectedItems(0), NameIdLsBxItem)
|
|
||||||
Dim nI As Integer = x.Ind
|
|
||||||
If m_MachiningList(nI).m_bEnabled Then
|
|
||||||
m_MachiningList(nI).m_bEnabled = False
|
|
||||||
x.bIsActive = False
|
|
||||||
Else
|
|
||||||
m_MachiningList(nI).m_bEnabled = True
|
|
||||||
x.bIsActive = True
|
|
||||||
End If
|
|
||||||
ColorMachining(m_MachiningList(nI))
|
|
||||||
ColorNumberArrow(nI)
|
|
||||||
EgtDraw()
|
|
||||||
' Imposto flag di modifica
|
|
||||||
m_bModified = True
|
|
||||||
' recupero l'elenco degli elementi selezionati
|
|
||||||
Dim ItemList As New List(Of NameIdLsBxItem)
|
|
||||||
For Each Item As NameIdLsBxItem In MachiningLsBx.SelectedItems
|
|
||||||
ItemList.Add(Item)
|
|
||||||
Next
|
|
||||||
VerifyHomogenousMachining(ItemList)
|
|
||||||
' Abilitazione bottone Next
|
|
||||||
EnableButtons()
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub VerifyHomogenousMachining(ItemList As List(Of NameIdLsBxItem))
|
Private Sub VerifyHomogenousMachining(ItemList As List(Of NameIdLsBxItem))
|
||||||
If IsNothing(ItemList) OrElse ItemList.Count = 0 Then
|
If IsNothing(ItemList) OrElse ItemList.Count = 0 Then
|
||||||
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
||||||
@@ -2304,7 +2198,6 @@ Public Class SplitPageUC
|
|||||||
|
|
||||||
' gestione bottone per generazione ponticelli
|
' gestione bottone per generazione ponticelli
|
||||||
If Type = MCH_OY.WATERJETTING Then
|
If Type = MCH_OY.WATERJETTING Then
|
||||||
InvertBtn.Visibility = Visibility.Visible
|
|
||||||
' siccome la stessa posizione è occupata da due comandi sovrapposti
|
' siccome la stessa posizione è occupata da due comandi sovrapposti
|
||||||
If CutStartBtn.Visibility = Visibility.Hidden Then
|
If CutStartBtn.Visibility = Visibility.Hidden Then
|
||||||
BridgesWJBtn.Visibility = Visibility.Visible
|
BridgesWJBtn.Visibility = Visibility.Visible
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports System.Text.RegularExpressions
|
Imports System.Text.RegularExpressions
|
||||||
Imports System.Threading
|
|
||||||
|
|
||||||
Module VacuumCups
|
Module VacuumCups
|
||||||
' Tipo manipolatore con ventosa (0=assente, 1=dietro, 2=laterale)
|
' Tipo manipolatore con ventosa (0=assente, 1=dietro, 2=laterale)
|
||||||
@@ -32,19 +31,6 @@ Module VacuumCups
|
|||||||
' Nome del gruppo temporaneo per le ventose
|
' Nome del gruppo temporaneo per le ventose
|
||||||
Private Const VACTMP_GRP As String = "VacTmp"
|
Private Const VACTMP_GRP As String = "VacTmp"
|
||||||
|
|
||||||
Private m_sHeadName As String = VACUUM_HEAD
|
|
||||||
Public Sub ResetHeadName()
|
|
||||||
Dim bReload As Boolean = (m_sHeadName <> VACUUM_HEAD)
|
|
||||||
m_sHeadName = VACUUM_HEAD
|
|
||||||
If bReload Then LoadVacuumCups()
|
|
||||||
End Sub
|
|
||||||
Public Function ChangeHeadName() As Boolean
|
|
||||||
If EgtGetHeadId( VACUUM_HEAD_2) = GDB_ID.NULL Then Return False
|
|
||||||
m_sHeadName = If( m_sHeadName = VACUUM_HEAD, VACUUM_HEAD_2, VACUUM_HEAD)
|
|
||||||
LoadVacuumCups()
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
'-----------------------------------------------------------------------------------------------
|
'-----------------------------------------------------------------------------------------------
|
||||||
Friend Class RawMoveData
|
Friend Class RawMoveData
|
||||||
|
|
||||||
@@ -101,17 +87,17 @@ Module VacuumCups
|
|||||||
Friend Function LoadVacuumCups() As Boolean
|
Friend Function LoadVacuumCups() As Boolean
|
||||||
' Leggo tipo manipolatore con ventosa
|
' Leggo tipo manipolatore con ventosa
|
||||||
m_nVacType = 0
|
m_nVacType = 0
|
||||||
EgtGetInfo(EgtGetHeadId(m_sHeadName), KEY_VAC_TYPE, m_nVacType)
|
EgtGetInfo(EgtGetHeadId(VACUUM_HEAD), KEY_VAC_TYPE, m_nVacType)
|
||||||
' Cancello eventuali vecchie ventose
|
' Cancello eventuali vecchie ventose
|
||||||
RemoveVacuumCups()
|
RemoveVacuumCups()
|
||||||
' Identificativo ventose nella macchina
|
' Identificativo ventose nella macchina
|
||||||
Dim nLayId As Integer = EgtGetFirstNameInGroup(EgtGetHeadId(m_sHeadName), VACUUM_HEAD_LAYOUT)
|
Dim nLayId As Integer = EgtGetFirstNameInGroup(EgtGetHeadId(VACUUM_HEAD), VACUUM_HEAD_LAYOUT)
|
||||||
If nLayId = GDB_ID.NULL Then Return False
|
If nLayId = GDB_ID.NULL Then Return False
|
||||||
' Identificativo riferimento della testa nella macchina
|
' Identificativo riferimento della testa nella macchina
|
||||||
Dim nT1Id As Integer = EgtGetFirstNameInGroup(EgtGetHeadId(m_sHeadName), HEAD_FIRST_EXIT)
|
Dim nT1Id As Integer = EgtGetFirstNameInGroup(EgtGetHeadId(VACUUM_HEAD), HEAD_FIRST_EXIT)
|
||||||
If nT1Id = GDB_ID.NULL Then Return False
|
If nT1Id = GDB_ID.NULL Then Return False
|
||||||
' imposto la l'uscita della ventosa come fosse l'uscita di un utensile
|
' imposto la l'uscita della ventosa come fosse l'uscita di un utensile
|
||||||
EgtSetCalcTool("", m_sHeadName, 1)
|
EgtSetCalcTool("", "H4", 1)
|
||||||
' Creo gruppo temporaneo in cui copiarli
|
' Creo gruppo temporaneo in cui copiarli
|
||||||
m_nTempId = EgtCreateGroup(GDB_ID.ROOT)
|
m_nTempId = EgtCreateGroup(GDB_ID.ROOT)
|
||||||
If m_nTempId = GDB_ID.NULL Then Return False
|
If m_nTempId = GDB_ID.NULL Then Return False
|
||||||
@@ -121,14 +107,14 @@ Module VacuumCups
|
|||||||
m_nVacId = EgtCopyGlob(nLayId, m_nTempId)
|
m_nVacId = EgtCopyGlob(nLayId, m_nTempId)
|
||||||
If m_nVacId = GDB_ID.NULL Then Return False
|
If m_nVacId = GDB_ID.NULL Then Return False
|
||||||
' Angolo di rotazione preferito
|
' Angolo di rotazione preferito
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFROT, m_dPreferredRot)
|
EgtGetInfo( m_nVacId, KEY_VACLAY_PREFROT, m_dPreferredRot)
|
||||||
' Angoli di rotazione preferiti per ventosa in verticale (lungo Y) a sinistra e a destra del centro tavola
|
' Angoli di rotazione preferiti per ventosa in verticale (lungo Y) a sinistra e a destra del centro tavola
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTXMINUS, m_dPrefVertRotXMinus)
|
EgtGetInfo( m_nVacId, KEY_VACLAY_PREFVROTXMINUS, m_dPrefVertRotXMinus)
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTXPLUS, m_dPrefVertRotXPlus)
|
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTXPLUS, m_dPrefVertRotXPlus)
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTYMINUS, m_dPrefVertRotYMinus)
|
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTYMINUS, m_dPrefVertRotYMinus)
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTYPLUS, m_dPrefVertRotYPlus)
|
EgtGetInfo(m_nVacId, KEY_VACLAY_PREFVROTYPLUS, m_dPrefVertRotYPlus)
|
||||||
' Direzione di riferimento per tagli Drip
|
' Direzione di riferimento per tagli Drip
|
||||||
EgtGetInfo(m_nVacId, KEY_VACLAY_DRIPREFDIR, m_dDripRefAng)
|
EgtGetInfo( m_nVacId, KEY_VACLAY_DRIPREFDIR, m_dDripRefAng)
|
||||||
' Nascondo il gruppo ma rendo visibili le curve di contorno delle ventose
|
' Nascondo il gruppo ma rendo visibili le curve di contorno delle ventose
|
||||||
EgtSetStatus(m_nVacId, GDB_ST.OFF)
|
EgtSetStatus(m_nVacId, GDB_ST.OFF)
|
||||||
Dim nId As Integer = EgtGetFirstInGroup(m_nVacId)
|
Dim nId As Integer = EgtGetFirstInGroup(m_nVacId)
|
||||||
@@ -166,7 +152,7 @@ Module VacuumCups
|
|||||||
Friend Function ResetVacuumCups() As Boolean
|
Friend Function ResetVacuumCups() As Boolean
|
||||||
' Ripristino posizione e rotazione originali
|
' Ripristino posizione e rotazione originali
|
||||||
Dim frOriRef As New Frame3d
|
Dim frOriRef As New Frame3d
|
||||||
EgtFrame(EgtGetFirstNameInGroup(EgtGetHeadId(m_sHeadName), HEAD_FIRST_EXIT), GDB_ID.ROOT, frOriRef)
|
EgtFrame(EgtGetFirstNameInGroup(EgtGetHeadId(VACUUM_HEAD), HEAD_FIRST_EXIT), GDB_ID.ROOT, frOriRef)
|
||||||
Dim frCurrRef As New Frame3d
|
Dim frCurrRef As New Frame3d
|
||||||
EgtFrame(m_nRefId, GDB_ID.ROOT, frCurrRef)
|
EgtFrame(m_nRefId, GDB_ID.ROOT, frCurrRef)
|
||||||
EgtMove(m_nVacId, frOriRef.Orig() - frCurrRef.Orig(), GDB_RT.GLOB)
|
EgtMove(m_nVacId, frOriRef.Orig() - frCurrRef.Orig(), GDB_RT.GLOB)
|
||||||
@@ -221,17 +207,14 @@ Module VacuumCups
|
|||||||
EgtSurfFrGrossArea(nRKerfId, RawArea)
|
EgtSurfFrGrossArea(nRKerfId, RawArea)
|
||||||
' volume calcolato in mmc
|
' volume calcolato in mmc
|
||||||
Dim RawVolume As Double = RawArea * b3Raw.DimZ()
|
Dim RawVolume As Double = RawArea * b3Raw.DimZ()
|
||||||
' peso calcolato in kg
|
' peso calolato in kg
|
||||||
m_RawWeight = RawVolume * m_RawDensity / Math.Pow(10, 9)
|
m_RawWeight = RawVolume * m_RawDensity / Math.Pow(10, 9)
|
||||||
'-------------------- FINE CALCOLO PESO --------------------
|
'-------------------- FINE CALCOLO PESO --------------------
|
||||||
|
|
||||||
' Eseguo ricerca
|
' Eseguo ricerca
|
||||||
If FindVacuumCupsOnRaw(nRawId, ptRawCen, b3Kerf, ptKerfCen, nKerfId, nRKerfId, rmData) Then
|
If FindVacuumCupsOnRaw(nRawId, ptRawCen, b3Kerf, ptKerfCen, nKerfId, nRKerfId, rmData) Then
|
||||||
Return True
|
Return True
|
||||||
Else
|
|
||||||
If ChangeHeadName() Then Return False
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' In caso di fallimento, provo riducendo con offset la regione di kerf
|
' In caso di fallimento, provo riducendo con offset la regione di kerf
|
||||||
' (così si simula la proiezione del centro sul MAT - medial axis transform)
|
' (così si simula la proiezione del centro sul MAT - medial axis transform)
|
||||||
Dim bOkFind As Boolean = False
|
Dim bOkFind As Boolean = False
|
||||||
@@ -258,18 +241,18 @@ Module VacuumCups
|
|||||||
' Verifico sia veramente un pezzo
|
' Verifico sia veramente un pezzo
|
||||||
If EgtGetRawPartFromPart(nPartId) = GDB_ID.NULL Then Return False
|
If EgtGetRawPartFromPart(nPartId) = GDB_ID.NULL Then Return False
|
||||||
' Cerco la direzione del primo taglio attivo da sotto
|
' Cerco la direzione del primo taglio attivo da sotto
|
||||||
Dim nDripLayId As Integer = EgtGetFirstNameInGroup(nPartId, NAME_DRIPCUT)
|
Dim nDripLayId As Integer = EgtGetFirstNameInGroup( nPartId, NAME_DRIPCUT)
|
||||||
Dim nDripLineId As Integer = EgtGetFirstInGroup(nDripLayId)
|
Dim nDripLineId As Integer = EgtGetFirstInGroup( nDripLayId)
|
||||||
While nDripLineId <> GDB_ID.NULL
|
While nDripLineId <> GDB_ID.NULL
|
||||||
Dim nMchId As Integer = EgtGetOperationId("DripSaw" & nDripLineId.ToString())
|
Dim nMchId As Integer = EgtGetOperationId( "DripSaw" & nDripLineId.ToString())
|
||||||
Dim nMode As Integer
|
Dim nMode As Integer
|
||||||
If EgtGetMode(nMchId, nMode) AndAlso nMode = GDB_MD.STD Then Exit While
|
If EgtGetMode( nMchId, nMode) AndAlso nMode = GDB_MD.STD Then Exit While
|
||||||
nDripLineId = EgtGetNext(nDripLineId)
|
nDripLineId = EgtGetNext( nDripLineId)
|
||||||
End While
|
End While
|
||||||
Dim vtDir As New Vector3d
|
Dim vtDir As New Vector3d
|
||||||
If EgtStartVector(nDripLineId, GDB_ID.ROOT, vtDir) Then
|
if EgtStartVector( nDripLineId, GDB_ID.ROOT, vtDir) Then
|
||||||
Dim dLen, dAngV, dAngH As Double
|
Dim dLen, dAngV, dAngH As Double
|
||||||
vtDir.ToSpherical(dLen, dAngV, dAngH)
|
vtDir.ToSpherical( dLen, dAngV, dAngH)
|
||||||
Dim dOffsAng = dAngH - m_dDripRefAng
|
Dim dOffsAng = dAngH - m_dDripRefAng
|
||||||
While dOffsAng - m_dPreferredRot >= 90
|
While dOffsAng - m_dPreferredRot >= 90
|
||||||
dOffsAng -= 180
|
dOffsAng -= 180
|
||||||
@@ -405,7 +388,7 @@ Module VacuumCups
|
|||||||
|
|
||||||
Private Function GetVacRotAxisSteps(ByRef vAngRot As List(Of Double)) As Boolean
|
Private Function GetVacRotAxisSteps(ByRef vAngRot As List(Of Double)) As Boolean
|
||||||
' Recupero l'asse rotante della testa ventosa
|
' Recupero l'asse rotante della testa ventosa
|
||||||
Dim nRotAxId As Integer = EgtGetParent(EgtGetHeadId(m_sHeadName))
|
Dim nRotAxId As Integer = EgtGetParent(EgtGetHeadId(VACUUM_HEAD))
|
||||||
' Verifico se contiene info con STEPS
|
' Verifico se contiene info con STEPS
|
||||||
Dim sSteps As String = ""
|
Dim sSteps As String = ""
|
||||||
If Not EgtGetInfo(nRotAxId, KEY_ROTVAC_STEPS, sSteps) Then Return False
|
If Not EgtGetInfo(nRotAxId, KEY_ROTVAC_STEPS, sSteps) Then Return False
|
||||||
@@ -510,11 +493,11 @@ Module VacuumCups
|
|||||||
' Ordino secondo distanza angolare crescente da direzione di allineamento (modulo 180 deg)
|
' Ordino secondo distanza angolare crescente da direzione di allineamento (modulo 180 deg)
|
||||||
Dim dRotRefDeg As Double = dRotAngDeg
|
Dim dRotRefDeg As Double = dRotAngDeg
|
||||||
vAngRot.Sort(Function(P, Q)
|
vAngRot.Sort(Function(P, Q)
|
||||||
Dim dDiffP = Math.Abs(P - dRotRefDeg)
|
Dim dDiffP = Math.Abs( P - dRotRefDeg)
|
||||||
If Math.Abs(dDiffP - 180) < 10 * EPS_ANG_SMALL Then dDiffP = 1
|
If Math.Abs( dDiffP - 180) < 10 * EPS_ANG_SMALL Then dDiffP = 1
|
||||||
Dim dDiffQ = Math.Abs(Q - dRotRefDeg)
|
Dim dDiffQ = Math.Abs( Q - dRotRefDeg)
|
||||||
If Math.Abs(dDiffQ - 180) < 10 * EPS_ANG_SMALL Then dDiffQ = 1
|
If Math.Abs( dDiffQ - 180) < 10 * EPS_ANG_SMALL Then dDiffQ = 1
|
||||||
Return (dDiffP - dDiffQ)
|
Return ( dDiffP - dDiffQ)
|
||||||
End Function)
|
End Function)
|
||||||
' Annullo la rotazione di allineamento
|
' Annullo la rotazione di allineamento
|
||||||
dRotAngDeg = 0
|
dRotAngDeg = 0
|
||||||
@@ -565,43 +548,25 @@ Module VacuumCups
|
|||||||
|
|
||||||
' assegnate le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile
|
' assegnate le posizioni del centro delle ventose e l'angolo di posizionamento orizzontale verifica che la posizione sia raggiungibile
|
||||||
Public Function VerifyOutOfStrokes(ptRef As Point3d, dRotAngDeg As Double) As Integer
|
Public Function VerifyOutOfStrokes(ptRef As Point3d, dRotAngDeg As Double) As Integer
|
||||||
Dim sAxisName As String = "C"
|
|
||||||
' verifico che il nome dell'asse impostato sia corretto
|
|
||||||
If EgtGetAxisId(sAxisName) = GDB_ID.NULL Then
|
|
||||||
If m_sHeadName = VACUUM_HEAD Then
|
|
||||||
sAxisName = "C1"
|
|
||||||
Else
|
|
||||||
sAxisName = "C2"
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
' Posizione Home dell'asse rotante
|
' Posizione Home dell'asse rotante
|
||||||
Dim dCHome As Double
|
Dim dCHome As Double
|
||||||
EgtGetAxisHomePos(sAxisName, dCHome)
|
EgtGetAxisHomePos("C", dCHome)
|
||||||
' Corse dell'asse
|
' Corse dell'asse
|
||||||
Dim dCMin As Double
|
Dim dCMin As Double
|
||||||
EgtGetAxisMin(sAxisName, dCMin)
|
EgtGetAxisMin("C", dCMin)
|
||||||
Dim dCMax As Double
|
Dim dCMax As Double
|
||||||
EgtGetAxisMax(sAxisName, dCMax)
|
EgtGetAxisMax("C", dCMax)
|
||||||
' Porto l'angolo nel range
|
' Porto l'angolo nel range
|
||||||
Dim dRotAngMachDeg As Double = dRotAngDeg + dCHome
|
Dim dRotAngMachDeg As Double = dRotAngDeg + dCHome
|
||||||
AdjustAngleInRange(dRotAngMachDeg, dCMin, dCMax)
|
AdjustAngleInRange(dRotAngMachDeg, dCMin, dCMax)
|
||||||
' Imposto la ventosa come fosse un utensile
|
' Imposto la ventosa come fosse un utensile
|
||||||
EgtSetCalcTool("", m_sHeadName, 1)
|
EgtSetCalcTool("", "H4", 1)
|
||||||
' Calcolo gli assi macchina
|
' Calcolo gli assi macchina
|
||||||
Dim dX, dY, dZ As Double
|
Dim dX, dY, dZ As Double
|
||||||
Dim nStat As Integer
|
Dim nStat As Integer
|
||||||
If EgtGetAxisId("A") <> GDB_ID.NULL Then
|
|
||||||
' Asse tavola rotante (movimenti solo con A0)
|
|
||||||
EgtGetCalcPositions(ptRef, 0, dRotAngMachDeg, nStat, dX, dY, dZ)
|
|
||||||
' Verifico le corse
|
|
||||||
EgtVerifyOutstroke(dX, dY, dZ, 0, dRotAngMachDeg, nStat)
|
|
||||||
Else
|
|
||||||
EgtGetCalcPositions(ptRef, dRotAngMachDeg, 0, nStat, dX, dY, dZ)
|
EgtGetCalcPositions(ptRef, dRotAngMachDeg, 0, nStat, dX, dY, dZ)
|
||||||
' Verifico le corse
|
' Verifico le corse
|
||||||
EgtVerifyOutstroke(dX, dY, dZ, dRotAngMachDeg, 0, nStat)
|
EgtVerifyOutstroke(dX, dY, dZ, dRotAngMachDeg, 0, nStat)
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Return nStat
|
Return nStat
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|||||||
@@ -84,11 +84,6 @@ Module ConstGen
|
|||||||
|
|
||||||
' Nome testa con ventose per spostamento pezzi
|
' Nome testa con ventose per spostamento pezzi
|
||||||
Public Const VACUUM_HEAD As String = "H4"
|
Public Const VACUUM_HEAD As String = "H4"
|
||||||
Public Const VACUUM_HEAD_2 As String = "H104"
|
|
||||||
' Nome teste laser
|
|
||||||
Public Const LASER_HEAD As String = "H3"
|
|
||||||
Public Const LASER_HEAD_2 As String = "H103"
|
|
||||||
|
|
||||||
' Info tipo ventosa
|
' Info tipo ventosa
|
||||||
Public Const KEY_VAC_TYPE As String = "VacType"
|
Public Const KEY_VAC_TYPE As String = "VacType"
|
||||||
' Nome gruppo layout in testa con ventose
|
' Nome gruppo layout in testa con ventose
|
||||||
@@ -223,8 +218,6 @@ Module ConstGen
|
|||||||
Public Const INFO_DEPTH2 As String = "Depth2"
|
Public Const INFO_DEPTH2 As String = "Depth2"
|
||||||
Public Const INFO_AGG2 As String = "Agg2"
|
Public Const INFO_AGG2 As String = "Agg2"
|
||||||
Public Const INFO_ROUNDOFF As String = "RoundOff"
|
Public Const INFO_ROUNDOFF As String = "RoundOff"
|
||||||
Public Const INFO_DIRECTCUT As String = "DirectCut"
|
|
||||||
Public Const INFO_STEP_TYPE As String = "StepType"
|
|
||||||
' Info in entità da tagliare per taglio ristretto
|
' Info in entità da tagliare per taglio ristretto
|
||||||
Public Const INFO_STRICT As String = "Strict"
|
Public Const INFO_STRICT As String = "Strict"
|
||||||
' Info in entità da tagliare per angolo di lato e tallone
|
' Info in entità da tagliare per angolo di lato e tallone
|
||||||
@@ -320,8 +313,6 @@ Module ConstGen
|
|||||||
Public Const INFO_AUX_SPLIT_WJ As String = "AUX_SPLIT_WJ"
|
Public Const INFO_AUX_SPLIT_WJ As String = "AUX_SPLIT_WJ"
|
||||||
' Info in OutLoop per punto inzio lavorazione WaterJet
|
' Info in OutLoop per punto inzio lavorazione WaterJet
|
||||||
Public Const INFO_START As String = "Start"
|
Public Const INFO_START As String = "Start"
|
||||||
' Nome dei tagli diretti inseriti in fase di Splitting
|
|
||||||
Public Const SPLIT_CUT As String = "SplitCut"
|
|
||||||
|
|
||||||
' Nome di pezzo che è una cornice
|
' Nome di pezzo che è una cornice
|
||||||
Public Const NAME_FRAME As String = "Frame"
|
Public Const NAME_FRAME As String = "Frame"
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ Module ConstIni
|
|||||||
Public Const K_DEBUG As String = "Debug"
|
Public Const K_DEBUG As String = "Debug"
|
||||||
Public Const K_LICENCE As String = "Licence"
|
Public Const K_LICENCE As String = "Licence"
|
||||||
Public Const K_NETKEY As String = "NetKey"
|
Public Const K_NETKEY As String = "NetKey"
|
||||||
Public Const K_LOCKID As String = "LockId"
|
|
||||||
Public Const K_MESSAGESDIR As String = "MessagesDir"
|
Public Const K_MESSAGESDIR As String = "MessagesDir"
|
||||||
Public Const K_MESSAGES As String = "Messages"
|
Public Const K_MESSAGES As String = "Messages"
|
||||||
Public Const K_SUPPORT As String = "Support"
|
Public Const K_SUPPORT As String = "Support"
|
||||||
@@ -53,7 +52,7 @@ Module ConstIni
|
|||||||
Public Const K_GENERATECN As String = "GenerateCN"
|
Public Const K_GENERATECN As String = "GenerateCN"
|
||||||
Public Const K_FRACTIONPATTERN As String = "FractionPattern"
|
Public Const K_FRACTIONPATTERN As String = "FractionPattern"
|
||||||
Public Const K_PRECISION As String = "Precision"
|
Public Const K_PRECISION As String = "Precision"
|
||||||
Public Const K_QUITDRAWPAGE As String = "QuitDrawPage"
|
|
||||||
|
|
||||||
Public Const S_LANGUAGES As String = "Languages"
|
Public Const S_LANGUAGES As String = "Languages"
|
||||||
Public Const K_LANGUAGE As String = "Language"
|
Public Const K_LANGUAGE As String = "Language"
|
||||||
@@ -207,7 +206,6 @@ Module ConstIni
|
|||||||
Public Const K_OFFSZ As String = "OffsZ"
|
Public Const K_OFFSZ As String = "OffsZ"
|
||||||
Public Const K_OFFSXY As String = "OffsXY"
|
Public Const K_OFFSXY As String = "OffsXY"
|
||||||
Public Const K_OFFSYY As String = "OffsYY"
|
Public Const K_OFFSYY As String = "OffsYY"
|
||||||
Public Const K_OFFSXINTERY As String = "OffsYInterY"
|
|
||||||
Public Const K_STARTTRIM As String = "StartTrim"
|
Public Const K_STARTTRIM As String = "StartTrim"
|
||||||
Public Const K_ENDTRIM As String = "EndTrim"
|
Public Const K_ENDTRIM As String = "EndTrim"
|
||||||
Public Const K_OTHERSIDE As String = "OtherSide"
|
Public Const K_OTHERSIDE As String = "OtherSide"
|
||||||
@@ -287,8 +285,6 @@ Module ConstIni
|
|||||||
Public Const S_VEINMATCHING As String = "VeinMatching"
|
Public Const S_VEINMATCHING As String = "VeinMatching"
|
||||||
Public Const K_VEINMA_ENABLE As String = "Enable"
|
Public Const K_VEINMA_ENABLE As String = "Enable"
|
||||||
Public Const K_VEINMA_PLACE As String = "WinPlace"
|
Public Const K_VEINMA_PLACE As String = "WinPlace"
|
||||||
Public Const K_VEINMA_WIDTH As String = "Width"
|
|
||||||
Public Const K_VEINMA_HEIGHT As String = "Height"
|
|
||||||
|
|
||||||
Public Const S_FASTGRID As String = "FastGrid"
|
Public Const S_FASTGRID As String = "FastGrid"
|
||||||
Public Const K_FG_ENABLE As String = "FGEnable"
|
Public Const K_FG_ENABLE As String = "FGEnable"
|
||||||
@@ -335,7 +331,6 @@ Module ConstIni
|
|||||||
Public Const K_DC_FLATT_HEADSIDE As String = "FlattHeadSide"
|
Public Const K_DC_FLATT_HEADSIDE As String = "FlattHeadSide"
|
||||||
Public Const K_DC_FLATT_MACHTYPE As String = "FlattMachType"
|
Public Const K_DC_FLATT_MACHTYPE As String = "FlattMachType"
|
||||||
Public Const K_DC_FLATT_ROTLOCK As String = "FlattRotLock"
|
Public Const K_DC_FLATT_ROTLOCK As String = "FlattRotLock"
|
||||||
Public Const K_DC_FLAT_CHAINEDPATH As String = "ChainedPath"
|
|
||||||
Public Const K_DC_FLATT_POSX As String = "FlattPosX"
|
Public Const K_DC_FLATT_POSX As String = "FlattPosX"
|
||||||
Public Const K_DC_FLATT_POSY As String = "FlattPosY"
|
Public Const K_DC_FLATT_POSY As String = "FlattPosY"
|
||||||
Public Const K_DC_POLISH_NAME As String = "PolishName"
|
Public Const K_DC_POLISH_NAME As String = "PolishName"
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
Public Const S_PARTPROGRAM As String = "PartProgram"
|
Public Const S_PARTPROGRAM As String = "PartProgram"
|
||||||
Public Const K_EXTENSION As String = "Extension"
|
Public Const K_EXTENSION As String = "Extension"
|
||||||
Public Const K_EXTFILECN As String = "ExtFileCN"
|
|
||||||
|
|
||||||
Public Const S_AXES As String = "Axes"
|
Public Const S_AXES As String = "Axes"
|
||||||
Public Const K_AXESNUM As String = "AxesNum"
|
Public Const K_AXESNUM As String = "AxesNum"
|
||||||
@@ -57,10 +56,6 @@
|
|||||||
Public Const S_EXECLUA As String = "ExecLua"
|
Public Const S_EXECLUA As String = "ExecLua"
|
||||||
Public Const K_FILESCRIPT_LUA As String = "FileScript"
|
Public Const K_FILESCRIPT_LUA As String = "FileScript"
|
||||||
|
|
||||||
Public Const S_CAMERAHQ As String = "CameraHQ"
|
|
||||||
Public Const K_CAMERAHQ_ENABLE As String = "EnableHQ"
|
|
||||||
Public Const K_CAMERAHQ_ACTIVATE As String = "ActivateHQ"
|
|
||||||
|
|
||||||
Public Const S_NCDATA As String = "NcData"
|
Public Const S_NCDATA As String = "NcData"
|
||||||
Public Const K_NEWVARIABLE As String = "NewVariable"
|
Public Const K_NEWVARIABLE As String = "NewVariable"
|
||||||
Public Const K_NEWCONSOLE As String = "NewConsole"
|
Public Const K_NEWCONSOLE As String = "NewConsole"
|
||||||
@@ -97,9 +92,6 @@
|
|||||||
Public Const K_ENABLEZONE As String = "EnableZone"
|
Public Const K_ENABLEZONE As String = "EnableZone"
|
||||||
Public Const K_ENABLEPC As String = "EnablePC"
|
Public Const K_ENABLEPC As String = "EnablePC"
|
||||||
Public Const K_HSM As String = "Hsm"
|
Public Const K_HSM As String = "Hsm"
|
||||||
Public Const BTN_ENABLE_ZONE_1 As String = "EnableZone1"
|
|
||||||
Public Const BTN_ENABLE_ZONE_2 As String = "EnableZone2"
|
|
||||||
Public Const BTN_ENABLE_PC As String = "EnablePC"
|
|
||||||
Public Const K_VACUUMUP As String = "VacuumUp"
|
Public Const K_VACUUMUP As String = "VacuumUp"
|
||||||
Public Const K_VACUUMDOWN As String = "VacuumDown"
|
Public Const K_VACUUMDOWN As String = "VacuumDown"
|
||||||
Public Const K_VACUUM2UP As String = "Vacuum2Up"
|
Public Const K_VACUUM2UP As String = "Vacuum2Up"
|
||||||
@@ -129,7 +121,6 @@
|
|||||||
Public Const K_SPOTLIGHT1 As String = "SpotLight1"
|
Public Const K_SPOTLIGHT1 As String = "SpotLight1"
|
||||||
Public Const K_SPOTLIGHT2 As String = "SpotLight2"
|
Public Const K_SPOTLIGHT2 As String = "SpotLight2"
|
||||||
Public Const K_NAXES As String = "nAxes"
|
Public Const K_NAXES As String = "nAxes"
|
||||||
Public Const K_RESETSTATUS As String = "ResetStatus"
|
|
||||||
' Nuove variabili
|
' Nuove variabili
|
||||||
Public Const K_SPEEDHOLD As String = "SpeedHold"
|
Public Const K_SPEEDHOLD As String = "SpeedHold"
|
||||||
Public Const K_XYJOG As String = "XYJog"
|
Public Const K_XYJOG As String = "XYJog"
|
||||||
@@ -160,10 +151,6 @@
|
|||||||
Public Const K_PRODLIPROBINGTCPOS2VAR As String = "ProbingTcPos2Var"
|
Public Const K_PRODLIPROBINGTCPOS2VAR As String = "ProbingTcPos2Var"
|
||||||
Public Const K_PRODLISAWDIAMETER2VAR As String = "SawDiameter2Var"
|
Public Const K_PRODLISAWDIAMETER2VAR As String = "SawDiameter2Var"
|
||||||
|
|
||||||
Public Const S_POLISHLINE As String = "PolishLine"
|
|
||||||
Public Const K_CLICKSTATE As String = "ClickState"
|
|
||||||
Public Const k_CLICKDIR As String = "ClickDir"
|
|
||||||
|
|
||||||
Public Const S_STATISTICS As String = "Stats"
|
Public Const S_STATISTICS As String = "Stats"
|
||||||
Public Const K_DATADIR As String = "DataDir"
|
Public Const K_DATADIR As String = "DataDir"
|
||||||
Public Const K_SHOWAREAS As String = "ShowAreas"
|
Public Const K_SHOWAREAS As String = "ShowAreas"
|
||||||
@@ -180,8 +167,6 @@
|
|||||||
Public Const K_PHOTO_OFFSETY As String = "OffsetY"
|
Public Const K_PHOTO_OFFSETY As String = "OffsetY"
|
||||||
Public Const K_PHOTO_TAB2_OFFSETX As String = "Tab2OffsetX"
|
Public Const K_PHOTO_TAB2_OFFSETX As String = "Tab2OffsetX"
|
||||||
Public Const K_PHOTO_TAB2_OFFSETY As String = "Tab2OffsetY"
|
Public Const K_PHOTO_TAB2_OFFSETY As String = "Tab2OffsetY"
|
||||||
Public Const K_PHOTO_HQ_OFFSETX As String = "HQOffsetX"
|
|
||||||
Public Const K_PHOTO_HQ_OFFSETY As String = "HQOffsetY"
|
|
||||||
|
|
||||||
Public Const S_TOOLS As String = "Tools"
|
Public Const S_TOOLS As String = "Tools"
|
||||||
Public Const K_DRILLBIT As String = "Drillbit"
|
Public Const K_DRILLBIT As String = "Drillbit"
|
||||||
@@ -231,7 +216,6 @@
|
|||||||
Public Const K_MACH_MILLING_ON_SINKS As String = "MillingOnSinks"
|
Public Const K_MACH_MILLING_ON_SINKS As String = "MillingOnSinks"
|
||||||
Public Const K_MACH_MILLING_SHORTENING As String = "MillingShortening"
|
Public Const K_MACH_MILLING_SHORTENING As String = "MillingShortening"
|
||||||
Public Const K_MACH_ENGRAVING_WITHMILL As String = "EngravingWithMill"
|
Public Const K_MACH_ENGRAVING_WITHMILL As String = "EngravingWithMill"
|
||||||
Public Const K_MACH_STARTCENERTOOLPATH As String = "StartCenterToolPath"
|
|
||||||
Public Const K_MACH_ENGRAVING_DEPTH As String = "EngravingDepth"
|
Public Const K_MACH_ENGRAVING_DEPTH As String = "EngravingDepth"
|
||||||
Public Const K_MACH_ENGRAVING_WIDTH As String = "EngravingWidth"
|
Public Const K_MACH_ENGRAVING_WIDTH As String = "EngravingWidth"
|
||||||
Public Const K_MACH_NEST_ALIGNED As String = "Aligned"
|
Public Const K_MACH_NEST_ALIGNED As String = "Aligned"
|
||||||
@@ -248,8 +232,7 @@
|
|||||||
Public Const K_HOLES_OFFSETWJ As String = "HolesOffsetWJ"
|
Public Const K_HOLES_OFFSETWJ As String = "HolesOffsetWJ"
|
||||||
Public Const K_MIN_RADIUSWJ As String = "MinRadiusWJ"
|
Public Const K_MIN_RADIUSWJ As String = "MinRadiusWJ"
|
||||||
Public Const K_MACH_DRILLINGWJ_ON_CORNERS As String = "DrillingWJOnCorners"
|
Public Const K_MACH_DRILLINGWJ_ON_CORNERS As String = "DrillingWJOnCorners"
|
||||||
Public Const K_MACH_RECTIFICATION_ON_SUBSQUARE As String = "RectificationSubSqWJ"
|
' DrillMillC90
|
||||||
Public Const K_MACH_DRILL_MILL_C90 As String = "DrillMillC90"
|
|
||||||
' CutLongDxSx
|
' CutLongDxSx
|
||||||
' AngRotMultiCut
|
' AngRotMultiCut
|
||||||
' MinDistHeadsMultiCut
|
' MinDistHeadsMultiCut
|
||||||
|
|||||||
@@ -183,9 +183,6 @@ Public Class ControlsDirectCutUC
|
|||||||
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
||||||
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
||||||
End If
|
End If
|
||||||
If Not bSaw Then
|
|
||||||
EgtOutLog(" WARNING! Impossible to get point from SAW, there isn't SAW or SAWING! It's available only by DRAW")
|
|
||||||
End If
|
|
||||||
m_SingleCut.SetEnableParam(bSaw)
|
m_SingleCut.SetEnableParam(bSaw)
|
||||||
m_MultipleCut.SetEnableParam(bSaw)
|
m_MultipleCut.SetEnableParam(bSaw)
|
||||||
m_GridCut.SetEnableParam(bSaw)
|
m_GridCut.SetEnableParam(bSaw)
|
||||||
|
|||||||
@@ -99,9 +99,6 @@ Public Class ControlsDirectCutUC1
|
|||||||
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
||||||
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
||||||
End If
|
End If
|
||||||
If Not bSaw Then
|
|
||||||
EgtOutLog(" WARNING! Impossible to get point from SAW, there isn't SAW or SAWING! It's available only by DRAW")
|
|
||||||
End If
|
|
||||||
'm_SingleCut.SetEnableParam(bSaw)
|
'm_SingleCut.SetEnableParam(bSaw)
|
||||||
'm_MultipleCut.SetEnableParam(bSaw)
|
'm_MultipleCut.SetEnableParam(bSaw)
|
||||||
'm_GridCut.SetEnableParam(bSaw)
|
'm_GridCut.SetEnableParam(bSaw)
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ Public Class ControlsMachineButtonUC
|
|||||||
Friend m_CN As CN_generico
|
Friend m_CN As CN_generico
|
||||||
Private m_bFirst As Boolean = True
|
Private m_bFirst As Boolean = True
|
||||||
|
|
||||||
' visualizzo l'elenco degli elementi della pagina sono al primo avvio
|
|
||||||
Friend Shared m_OutLogTypeButton As Boolean = True
|
|
||||||
|
|
||||||
' Creazione converter da String a ImageSource
|
' Creazione converter da String a ImageSource
|
||||||
Dim ImageConverter As New ImageSourceConverter
|
Dim ImageConverter As New ImageSourceConverter
|
||||||
|
|
||||||
@@ -75,12 +72,6 @@ Public Class ControlsMachineButtonUC
|
|||||||
If Not IsNothing(ButtonToAdd) Then m_ButtonList.Add(ButtonToAdd)
|
If Not IsNothing(ButtonToAdd) Then m_ButtonList.Add(ButtonToAdd)
|
||||||
End If
|
End If
|
||||||
End While
|
End While
|
||||||
|
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
|
||||||
GetTypeButton(MachineButton)
|
|
||||||
Next
|
|
||||||
m_OutLogTypeButton = False
|
|
||||||
|
|
||||||
NotifyPropertyChanged("ButtonList")
|
NotifyPropertyChanged("ButtonList")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -90,22 +81,6 @@ Public Class ControlsMachineButtonUC
|
|||||||
' i segeunti metodi notificano il cambiamento di stato di specifici bottoni
|
' i segeunti metodi notificano il cambiamento di stato di specifici bottoni
|
||||||
'-------------------------------------------------------------------------------
|
'-------------------------------------------------------------------------------
|
||||||
|
|
||||||
Friend Sub GetTypeButton(CurrMachineButton As MachineButton)
|
|
||||||
If Not m_OutLogTypeButton Then Return
|
|
||||||
Dim BtnType As Type = CurrMachineButton.GetType
|
|
||||||
If BtnType Is GetType(NoStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(TwoStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(1) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(ThreeStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(2) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(DoubleCommandButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(3) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(PressedCommandButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(4) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Friend Sub SpindleStateChanged(SpindleState As Boolean)
|
Friend Sub SpindleStateChanged(SpindleState As Boolean)
|
||||||
Dim SpindleButton As TwoStateButton = Nothing
|
Dim SpindleButton As TwoStateButton = Nothing
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
For Each MachineButton As MachineButton In m_ButtonList
|
||||||
@@ -369,61 +344,33 @@ Public Class ControlsMachineButtonUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub ZoneStateChanged(ZoneState As Integer)
|
Friend Sub ZoneStateChanged(ZoneState As Integer)
|
||||||
Dim bEnableZone1 As Boolean = False
|
'Dim sFlag As String = String.Empty
|
||||||
If ZoneState = 1 Then
|
'If ZoneState = 1 Then
|
||||||
bEnableZone1 = True
|
' sFlag = BTN_ENABLE_ZONE_1
|
||||||
ElseIf ZoneState = 2 Then
|
'ElseIf ZoneState = 2 Then
|
||||||
bEnableZone1 = False
|
' sFlag = BTN_ENABLE_ZONE_2
|
||||||
End If
|
'End If
|
||||||
' attivo il comando associato
|
'Dim EnableZoneButton As TwoStateButton = Nothing
|
||||||
Dim EnableZoneButton As TwoStateButton = Nothing
|
'For Each MachineButton As MachineButton In m_ButtonList
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
' If MachineButton.StateFlag = K_ENABLEZONE Then
|
||||||
If MachineButton.StateFlag = BTN_ENABLE_ZONE_1 Then
|
' EnableZoneButton = MachineButton
|
||||||
EnableZoneButton = MachineButton
|
' End If
|
||||||
End If
|
'Next
|
||||||
Next
|
'If Not IsNothing(EnableZoneButton) Then
|
||||||
If Not IsNothing(EnableZoneButton) Then
|
' EnableZoneButton.SetIsChecked(EnableZone)
|
||||||
EnableZoneButton.SetIsChecked(bEnableZone1)
|
'End If
|
||||||
End If
|
|
||||||
' disattivo l'altro per esclusione
|
|
||||||
EnableZoneButton = Nothing
|
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
|
||||||
If MachineButton.StateFlag = BTN_ENABLE_ZONE_2 Then
|
|
||||||
EnableZoneButton = MachineButton
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If Not IsNothing(EnableZoneButton) Then
|
|
||||||
EnableZoneButton.SetIsChecked(Not bEnableZone1)
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub PcStateChanged(EnablePC As Integer)
|
Friend Sub PcStateChanged(EnablePC As Boolean)
|
||||||
Dim bEnablePC1 As Boolean = False
|
'Dim EnablePCButton As TwoStateButton = Nothing
|
||||||
If EnablePC = 1 Then
|
'For Each MachineButton As MachineButton In m_ButtonList
|
||||||
bEnablePC1 = True
|
' If MachineButton.StateFlag = K_ENABLEPC Then
|
||||||
ElseIf EnablePC = 2 Then
|
' EnablePCButton = MachineButton
|
||||||
bEnablePC1 = False
|
' End If
|
||||||
End If
|
'Next
|
||||||
' attivo/disattivo il comando associato
|
'If Not IsNothing(EnablePCButton) Then
|
||||||
Dim EnablePCButton As TwoStateButton = Nothing
|
' EnablePCButton.SetIsChecked(EnablePC)
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
'End If
|
||||||
If MachineButton.StateFlag = K_ENABLEPC & "_1" Then
|
|
||||||
EnablePCButton = MachineButton
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If Not IsNothing(EnablePCButton) Then
|
|
||||||
EnablePCButton.SetIsChecked(bEnablePC1)
|
|
||||||
End If
|
|
||||||
' disattivo/attivo l'altro per esclusione
|
|
||||||
EnablePCButton = Nothing
|
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
|
||||||
If MachineButton.StateFlag = BTN_ENABLE_ZONE_2 Then
|
|
||||||
EnablePCButton = MachineButton
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
If Not IsNothing(EnablePCButton) Then
|
|
||||||
EnablePCButton.SetIsChecked(Not bEnablePC1)
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region ' State Range
|
#End Region ' State Range
|
||||||
@@ -755,17 +702,8 @@ Public MustInherit Class MachineButton
|
|||||||
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
||||||
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
||||||
EgtLuaSetGlobBoolVar("CMD.INCHES", m_MainWindow.m_CNCommunication.GetMachineInInches())
|
EgtLuaSetGlobBoolVar("CMD.INCHES", m_MainWindow.m_CNCommunication.GetMachineInInches())
|
||||||
|
|
||||||
' versione 2.6h1
|
|
||||||
Dim sCurrTable As String = String.Empty
|
|
||||||
Dim nCuttTable As Integer = 1
|
|
||||||
EgtGetTableName(sCurrTable)
|
|
||||||
If sCurrTable <> "MainTab" Then nCuttTable = 2
|
|
||||||
EgtLuaSetGlobIntVar("CMD.TABLE", nCuttTable)
|
|
||||||
|
|
||||||
EgtLuaCallFunction("CmdString")
|
EgtLuaCallFunction("CmdString")
|
||||||
|
' Leggo variabili
|
||||||
' Leggo variabili da file Lua
|
|
||||||
CmdString = String.Empty
|
CmdString = String.Empty
|
||||||
EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
|
EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
|
||||||
b2Start = False
|
b2Start = False
|
||||||
@@ -822,26 +760,11 @@ Public Class TwoStateButton
|
|||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
' accendo il comando, anche se dovrei aspettare di leggere lo stato da PLC
|
' accendo il comando, anche se dovrei aspettare di leggere lo stato da PLC
|
||||||
m_IsChecked = value
|
m_IsChecked = value
|
||||||
Dim sLuaScriptFile As String = m_MainWindow.m_CurrentMachine.sMachDir & "\DirectCmd\"
|
|
||||||
If value Then
|
If value Then
|
||||||
sLuaScriptFile &= TLuaScriptName
|
|
||||||
ExecuteMDICommand(TLuaScriptName)
|
ExecuteMDICommand(TLuaScriptName)
|
||||||
Else
|
Else
|
||||||
sLuaScriptFile &= FLuaScriptName
|
|
||||||
ExecuteMDICommand(FLuaScriptName)
|
ExecuteMDICommand(FLuaScriptName)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim IsPressedShiftKey As Boolean = False
|
|
||||||
If Keyboard.Modifiers And ModifierKeys.Shift And
|
|
||||||
GetPrivateProfileInt(S_GENERAL, K_DEBUG, 0, m_MainWindow.GetIniFile()) > 4 Then IsPressedShiftKey = True
|
|
||||||
' procedo all'apertura del file CadCut1 appena generato (solo se generazione corretta)
|
|
||||||
If IsPressedShiftKey Then
|
|
||||||
Try
|
|
||||||
Process.Start("Notepad.exe", sLuaScriptFile)
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog(ex.ToString)
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
Friend Sub SetIsChecked(value As Boolean)
|
Friend Sub SetIsChecked(value As Boolean)
|
||||||
|
|||||||
@@ -166,15 +166,6 @@ Public Class CopyTemplateUC
|
|||||||
Private Sub Point1Btn_Click(sender As Object, e As RoutedEventArgs) Handles Point1Btn.Click
|
Private Sub Point1Btn_Click(sender As Object, e As RoutedEventArgs) Handles Point1Btn.Click
|
||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bTabOk Then Return
|
If Not m_bTabOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
' Ricavo dati lama corrente
|
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(sSaw, "H1", 1)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizione lama o laser
|
' Se acquisizione lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
@@ -182,19 +173,14 @@ Public Class CopyTemplateUC
|
|||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
' Ricavo dati lama corrente
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -202,7 +188,7 @@ Public Class CopyTemplateUC
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
@@ -210,6 +196,8 @@ Public Class CopyTemplateUC
|
|||||||
Else
|
Else
|
||||||
' Verifico presenza punto da mouse
|
' Verifico presenza punto da mouse
|
||||||
If Not m_bMouseOk Then Return
|
If Not m_bMouseOk Then Return
|
||||||
|
' Ricavo dati lama corrente
|
||||||
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Assegno punto selezionato nel disegno a m_ptTipP1
|
' Assegno punto selezionato nel disegno a m_ptTipP1
|
||||||
|
|||||||
@@ -146,9 +146,6 @@ Public Class DirectCutPageUC
|
|||||||
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
If Not String.IsNullOrEmpty(sCurrSaw) And Not String.IsNullOrEmpty(sCurrSawing) Then
|
||||||
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
bSaw = EgtSetCalcTool(sCurrSaw, "H1", 1)
|
||||||
End If
|
End If
|
||||||
If Not bSaw Then
|
|
||||||
EgtOutLog(" WARNING! Impossible to get point from SAW, there isn't SAW or SAWING! It's available only by DRAW")
|
|
||||||
End If
|
|
||||||
m_ControlsDirectCutUC.m_SingleCut.SetEnableParam(bSaw)
|
m_ControlsDirectCutUC.m_SingleCut.SetEnableParam(bSaw)
|
||||||
m_ControlsDirectCutUC.m_MultipleCut.SetEnableParam(bSaw)
|
m_ControlsDirectCutUC.m_MultipleCut.SetEnableParam(bSaw)
|
||||||
m_ControlsDirectCutUC.m_GridCut.SetEnableParam(bSaw)
|
m_ControlsDirectCutUC.m_GridCut.SetEnableParam(bSaw)
|
||||||
|
|||||||
@@ -50,33 +50,6 @@
|
|||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Visible" Visibility="Visible"
|
|
||||||
Grid.Row="1" Grid.RowSpan="11" Grid.ColumnSpan="2">
|
|
||||||
|
|
||||||
<Grid Name="DatiTaglioGrid" >
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="0.1"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="40"/>
|
|
||||||
<RowDefinition Height="0.1"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<ComboBox Name="PointModeCmBx" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_ComboBox}" Margin="6,0,6,0">
|
<ComboBox Name="PointModeCmBx" Grid.Row="1" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_ComboBox}" Margin="6,0,6,0">
|
||||||
<ComboBox.ItemTemplate>
|
<ComboBox.ItemTemplate>
|
||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
@@ -133,20 +106,7 @@
|
|||||||
<CheckBox Name="RotLockChBx" Grid.Row="10" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_CheckBox_Single}"
|
<CheckBox Name="RotLockChBx" Grid.Row="10" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_CheckBox_Single}"
|
||||||
HorizontalAlignment="Right" Margin="0,0,6,0"/>
|
HorizontalAlignment="Right" Margin="0,0,6,0"/>
|
||||||
|
|
||||||
<TextBlock Name="ChainedPathTxBl" Grid.Row="11" Grid.ColumnSpan="2"
|
<Grid Grid.Row="11" Grid.ColumnSpan="2">
|
||||||
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"/>
|
|
||||||
<CheckBox Name="ChainedPathChBx" Grid.Row="11" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_CheckBox_Single}"
|
|
||||||
HorizontalAlignment="Right" Margin="0,0,6,0"/>
|
|
||||||
|
|
||||||
<ComboBox Name="SelToolCmBx" Grid.Row="12" 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>
|
|
||||||
|
|
||||||
<Grid Grid.Row="13" Grid.ColumnSpan="2">
|
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="0.5*"/>
|
<ColumnDefinition Width="0.5*"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
@@ -163,9 +123,6 @@
|
|||||||
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
|
Style="{StaticResource OmagCut_CalculatorTextBox}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
</Grid>
|
|
||||||
</ScrollViewer>
|
|
||||||
|
|
||||||
<Grid Grid.Row="12" Grid.ColumnSpan="2">
|
<Grid Grid.Row="12" Grid.ColumnSpan="2">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
Imports System.Reflection
|
Imports EgtUILib
|
||||||
Imports EgtUILib
|
|
||||||
Imports EgtUILib.EgtInterface
|
|
||||||
|
|
||||||
Public Class FlatteningCut
|
Public Class FlatteningCut
|
||||||
|
|
||||||
@@ -37,18 +35,14 @@ Public Class FlatteningCut
|
|||||||
Private m_bHeadSide As Boolean = False
|
Private m_bHeadSide As Boolean = False
|
||||||
Private m_nMachType As Integer = 1
|
Private m_nMachType As Integer = 1
|
||||||
Private m_bRotLock As Boolean = False
|
Private m_bRotLock As Boolean = False
|
||||||
Private m_bChainedPath As Boolean = True
|
|
||||||
Private m_nTool As Integer = 0
|
|
||||||
' Array delle modalità di acquisizione dei punti
|
' Array delle modalità di acquisizione dei punti
|
||||||
Private m_PointsModeArray(2) As String
|
Private m_PointsModeArray(2) As String
|
||||||
' Array delle tipologia di lavorazione della spianatura
|
' Array delle tipologia di lavorazione della spianatura
|
||||||
Private m_TypeArray(2) As String
|
Private m_TypeArray(1) As String
|
||||||
' Punto selezionato nel disegno
|
' Punto selezionato nel disegno
|
||||||
Private m_ptPrev As Point3d
|
Private m_ptPrev As Point3d
|
||||||
' Layer per crocette temporanee
|
' Layer per crocette temporanee
|
||||||
Private m_nTempLay As Integer = GDB_ID.NULL
|
Private m_nTempLay As Integer = GDB_ID.NULL
|
||||||
' Array degliutensili disponibili (lama e fresa)
|
|
||||||
Private m_ToolsArray(1) As String
|
|
||||||
|
|
||||||
' Costanti
|
' Costanti
|
||||||
Private Const MAX_TAB_DEPTH As Double = 10.0
|
Private Const MAX_TAB_DEPTH As Double = 10.0
|
||||||
@@ -63,9 +57,8 @@ Public Class FlatteningCut
|
|||||||
End Enum
|
End Enum
|
||||||
' Costanti che indicano la tipologia di lavorazione della spianatura
|
' Costanti che indicano la tipologia di lavorazione della spianatura
|
||||||
Private Enum MACH_TYPE As Integer
|
Private Enum MACH_TYPE As Integer
|
||||||
ZIGZAG = 0
|
ONEWAY = 0
|
||||||
ONEWAY = 1
|
ZIGZAG = 1
|
||||||
SPIRAL = 2
|
|
||||||
End Enum
|
End Enum
|
||||||
'Costante che indica il lato in cui posizionare i tagli
|
'Costante che indica il lato in cui posizionare i tagli
|
||||||
Private Enum CutSide As Integer
|
Private Enum CutSide As Integer
|
||||||
@@ -73,11 +66,6 @@ Public Class FlatteningCut
|
|||||||
Right
|
Right
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Private Enum TOOL As Integer
|
|
||||||
SAW = 0
|
|
||||||
MILL = 1
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
' Per abilitare la spianatura con la FRESA deve essere imposatato a TRUE il flag "Usa Fresa" nella pagina MACCHINA (campo INCISIONI)
|
' Per abilitare la spianatura con la FRESA deve essere imposatato a TRUE il flag "Usa Fresa" nella pagina MACCHINA (campo INCISIONI)
|
||||||
Private Sub FlatteningCut_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
Private Sub FlatteningCut_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
||||||
' Creo lista modalità di acquisizione punto
|
' Creo lista modalità di acquisizione punto
|
||||||
@@ -87,9 +75,8 @@ Public Class FlatteningCut
|
|||||||
' la associo alla combobox
|
' la associo alla combobox
|
||||||
PointModeCmBx.ItemsSource = m_PointsModeArray
|
PointModeCmBx.ItemsSource = m_PointsModeArray
|
||||||
' Creo lista tipo lavorazione
|
' Creo lista tipo lavorazione
|
||||||
m_TypeArray(MACH_TYPE.ZIGZAG) = EgtMsg(MSG_COMBOBOXPARAM + 38)
|
|
||||||
m_TypeArray(MACH_TYPE.ONEWAY) = EgtMsg(MSG_COMBOBOXPARAM + 39)
|
m_TypeArray(MACH_TYPE.ONEWAY) = EgtMsg(MSG_COMBOBOXPARAM + 39)
|
||||||
m_TypeArray(MACH_TYPE.SPIRAL) = EgtMsg(MSG_COMBOBOXPARAM + 51)
|
m_TypeArray(MACH_TYPE.ZIGZAG) = EgtMsg(MSG_COMBOBOXPARAM + 38)
|
||||||
' la associo alla combobox
|
' la associo alla combobox
|
||||||
TypeCmBx.ItemsSource = m_TypeArray
|
TypeCmBx.ItemsSource = m_TypeArray
|
||||||
' assegno messaggi
|
' assegno messaggi
|
||||||
@@ -103,26 +90,19 @@ Public Class FlatteningCut
|
|||||||
ZReleasedTxBl.Text = "Z Svincolo"
|
ZReleasedTxBl.Text = "Z Svincolo"
|
||||||
SideTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 23)
|
SideTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 23)
|
||||||
RotLockTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 29)
|
RotLockTxBl.Text = EgtMsg(MSG_DIRECTCUTPAGEUC + 29)
|
||||||
ChainedPathTxBl.Text = "Chained path"
|
|
||||||
SimulBtn.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 1)
|
SimulBtn.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 1)
|
||||||
OkBtn.ToolTip = EgtMsg(MSG_DIRECTCUTPAGEUC + 30)
|
OkBtn.ToolTip = EgtMsg(MSG_DIRECTCUTPAGEUC + 30)
|
||||||
' tipo di utensile in uso per la lavorazione
|
|
||||||
m_ToolsArray(TOOL.SAW) = EgtMsg(MSG_DIRECTCUTPAGEUC + 24)
|
|
||||||
m_ToolsArray(TOOL.MILL) = "Mill"
|
|
||||||
SelToolCmBx.ItemsSource = m_ToolsArray
|
|
||||||
' Carico i dati dell'ultimo taglio
|
' Carico i dati dell'ultimo taglio
|
||||||
m_dDepth = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_DEPTH, m_dDepth, m_MainWindow.GetIniFile())
|
m_dDepth = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_FLATT_DEPTH, m_dDepth, m_MainWindow.GetIniFile())
|
||||||
m_dAngO = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_ANGH, m_dAngO, m_MainWindow.GetIniFile())
|
m_dAngO = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_FLATT_ANGH, m_dAngO, m_MainWindow.GetIniFile())
|
||||||
m_dLen = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_LENGTH, m_dLen, m_MainWindow.GetIniFile())
|
m_dLen = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_FLATT_LENGTH, m_dLen, m_MainWindow.GetIniFile())
|
||||||
m_dWid = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_WIDTH, m_dWid, m_MainWindow.GetIniFile())
|
m_dWid = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_FLATT_WIDTH, m_dWid, m_MainWindow.GetIniFile())
|
||||||
m_dOverlap = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_OVERLAP, m_dOverlap, m_MainWindow.GetIniFile())
|
m_dOverlap = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_OVERLAP, m_dOverlap, m_MainWindow.GetIniFile())
|
||||||
m_dZReleased = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_Z_RELEASED, m_dZReleased, m_MainWindow.GetIniFile())
|
m_dZReleased = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_Z_RELEASED, m_dZReleased, m_MainWindow.GetIniFile())
|
||||||
m_bHeadSide = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_FLATT_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bHeadSide = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_FLATT_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
m_nMachType = GetPrivateProfileInt(S_DIRECTCUTS, K_DC_FLATT_MACHTYPE, m_nMachType, m_MainWindow.GetIniFile())
|
m_nMachType = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_FLATT_MACHTYPE, m_nMachType, m_MainWindow.GetIniFile())
|
||||||
m_bRotLock = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_FLATT_ROTLOCK, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bRotLock = ( GetPrivateProfileInt( S_DIRECTCUTS, K_DC_FLATT_ROTLOCK, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
m_bChainedPath = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_FLAT_CHAINEDPATH, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_ptTipP1.x = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_FLATT_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
||||||
m_nTool = GetPrivateProfileInt(S_MACH_NEST, K_MACH_ENGRAVING_WITHMILL, 1, m_MainWindow.GetMachIniFile())
|
|
||||||
m_ptTipP1.x = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
|
||||||
m_ptTipP1.y = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
m_ptTipP1.y = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_FLATT_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -145,16 +125,16 @@ Public Class FlatteningCut
|
|||||||
' Disabilito registrazione progetto modificato
|
' Disabilito registrazione progetto modificato
|
||||||
EgtDisableModified()
|
EgtDisableModified()
|
||||||
' Creo layer temporaneo per crocette
|
' Creo layer temporaneo per crocette
|
||||||
m_nTempLay = EgtCreateGroup(GDB_ID.ROOT)
|
m_nTempLay = EgtCreateGroup( GDB_ID.ROOT)
|
||||||
EgtSetLevel(m_nTempLay, GDB_LV.TEMP)
|
EgtSetLevel( m_nTempLay, GDB_LV.TEMP)
|
||||||
' Origine tavola
|
' Origine tavola
|
||||||
m_bRawOk = True
|
m_bRawOk = True
|
||||||
If Not EgtGetTableRef(1, m_ptTabOri) Then
|
If Not EgtGetTableRef( 1, m_ptTabOri) Then
|
||||||
m_bRawOk = False
|
m_bRawOk = False
|
||||||
EgtOutLog("Error on TableRef1")
|
EgtOutLog("Error on TableRef1")
|
||||||
End If
|
End If
|
||||||
' Dati del grezzo
|
' Dati del grezzo
|
||||||
If Not GetRawBox(m_ptRawMin, m_ptRawMax) Then
|
If Not GetRawBox( m_ptRawMin, m_ptRawMax) Then
|
||||||
m_bRawOk = False
|
m_bRawOk = False
|
||||||
EgtOutLog("Error on RawBox")
|
EgtOutLog("Error on RawBox")
|
||||||
End If
|
End If
|
||||||
@@ -162,7 +142,7 @@ Public Class FlatteningCut
|
|||||||
m_bPointP1Ok = False
|
m_bPointP1Ok = False
|
||||||
m_bPointP2Ok = False
|
m_bPointP2Ok = False
|
||||||
' Inizializzo primo punto acquisito dal disegno
|
' Inizializzo primo punto acquisito dal disegno
|
||||||
m_ptPrev = m_ptTipP1 + (m_ptTabOri - Point3d.ORIG())
|
m_ptPrev = m_ptTipP1 + ( m_ptTabOri - Point3d.ORIG())
|
||||||
m_ptPrev.z = m_ptRawMax.z
|
m_ptPrev.z = m_ptRawMax.z
|
||||||
' Disegno crocetta che indica il punto acquisito
|
' Disegno crocetta che indica il punto acquisito
|
||||||
CreateCross(m_nTempLay, m_ptPrev)
|
CreateCross(m_nTempLay, m_ptPrev)
|
||||||
@@ -171,10 +151,10 @@ Public Class FlatteningCut
|
|||||||
SetCoordVisibility(True)
|
SetCoordVisibility(True)
|
||||||
ShowCoord()
|
ShowCoord()
|
||||||
' Assegno parametri di lavorazione già definiti
|
' Assegno parametri di lavorazione già definiti
|
||||||
DepthTxBx.Text = LenToString(m_dDepth, 1)
|
DepthTxBx.Text = LenToString( m_dDepth, 1)
|
||||||
DirectionTxBx.Text = DoubleToString(m_dAngO - m_MainWindow.m_CurrentMachine.dDeltaC, 2)
|
DirectionTxBx.Text = DoubleToString( m_dAngO - m_MainWindow.m_CurrentMachine.dDeltaC, 2)
|
||||||
LenghtTxBx.Text = LenToString(m_dLen, 1)
|
LenghtTxBx.Text = LenToString( m_dLen, 1)
|
||||||
WidthTxBx.Text = LenToString(m_dWid, 2)
|
WidthTxBx.Text = LenToString( m_dWid, 2)
|
||||||
OverlapTxBx.Text = LenToString(m_dOverlap, 2)
|
OverlapTxBx.Text = LenToString(m_dOverlap, 2)
|
||||||
ZReleasedTxBx.Text = LenToString(m_dZReleased, 2)
|
ZReleasedTxBx.Text = LenToString(m_dZReleased, 2)
|
||||||
' carico la quota di svincolo per la spianatura
|
' carico la quota di svincolo per la spianatura
|
||||||
@@ -183,9 +163,6 @@ Public Class FlatteningCut
|
|||||||
SideChBx.IsChecked = m_bHeadSide
|
SideChBx.IsChecked = m_bHeadSide
|
||||||
TypeCmBx.SelectedIndex = m_nMachType
|
TypeCmBx.SelectedIndex = m_nMachType
|
||||||
RotLockChBx.IsChecked = m_bRotLock
|
RotLockChBx.IsChecked = m_bRotLock
|
||||||
ChainedPathChBx.IsChecked = m_bChainedPath
|
|
||||||
' Assegno l'utensile in definito in macchina per la fresatura
|
|
||||||
SelToolCmBx.SelectedIndex = m_nTool
|
|
||||||
' Reset taglio e disabilito bottone esecuzione
|
' Reset taglio e disabilito bottone esecuzione
|
||||||
m_bCutOk = False
|
m_bCutOk = False
|
||||||
UpdateSimulOkBtn()
|
UpdateSimulOkBtn()
|
||||||
@@ -199,22 +176,22 @@ Public Class FlatteningCut
|
|||||||
|
|
||||||
Friend Sub FlatteningCut_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
Friend Sub FlatteningCut_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
||||||
' Salvo i dati correnti
|
' Salvo i dati correnti
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_DEPTH, DoubleToString(m_dDepth, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_DEPTH, DoubleToString( m_dDepth, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_ANGH, DoubleToString(m_dAngO, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_ANGH, DoubleToString( m_dAngO, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_LENGTH, DoubleToString(m_dLen, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_LENGTH, DoubleToString( m_dLen, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_WIDTH, DoubleToString(m_dWid, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_WIDTH, DoubleToString( m_dWid, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_OVERLAP, DoubleToString(m_dOverlap, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_OVERLAP, DoubleToString(m_dOverlap, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_Z_RELEASED, DoubleToString(m_dZReleased, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_Z_RELEASED, DoubleToString(m_dZReleased, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_HEADSIDE, If(m_bHeadSide, "1", "0"), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_HEADSIDE, If( m_bHeadSide, "1", "0"), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_MACHTYPE, m_nMachType.ToString(), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_MACHTYPE, m_nMachType.ToString(), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_ROTLOCK, If(m_bRotLock, "1", "0"), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_ROTLOCK, If( m_bRotLock, "1", "0"), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_POSX, DoubleToString(m_ptTipP1.x, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString( S_DIRECTCUTS, K_DC_FLATT_POSX, DoubleToString( m_ptTipP1.x, 2), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_POSY, DoubleToString(m_ptTipP1.y, 2), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_DIRECTCUTS, K_DC_FLATT_POSY, DoubleToString(m_ptTipP1.y, 2), m_MainWindow.GetIniFile())
|
||||||
' Se non vado in simulazione
|
|
||||||
If Not m_bSimul Then
|
|
||||||
' imposto la Z di sicurezza corretta
|
' imposto la Z di sicurezza corretta
|
||||||
EgtMdbSetGeneralParam(MCH_GP.SAFEZ, DirectCutPageUC.m_dZSafe)
|
EgtMdbSetGeneralParam(MCH_GP.SAFEZ, DirectCutPageUC.m_dZSafe)
|
||||||
EgtMdbSave()
|
EgtMdbSave()
|
||||||
|
' Se non vado in simulazione
|
||||||
|
If Not m_bSimul Then
|
||||||
' Dichiaro sottopagina da non riattivare
|
' Dichiaro sottopagina da non riattivare
|
||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
|
m_MainWindow.m_DirectCutPageUC.m_ControlsDirectCutUC.m_ActiveDirectCutPage = ControlsDirectCutUC.DirectCutPages.DirectCut
|
||||||
' Rimuovo layer temporaneo per crocette
|
' Rimuovo layer temporaneo per crocette
|
||||||
@@ -291,32 +268,19 @@ Public Class FlatteningCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
' Ricavo dati lama corrente
|
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(sSaw, "H1", 1)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizone lama o laser
|
' Se acquisizone lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
' Ricavo dati lama corrente
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -324,10 +288,10 @@ Public Class FlatteningCut
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -344,6 +308,8 @@ Public Class FlatteningCut
|
|||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
|
' Ricavo dati lama corrente
|
||||||
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
End If
|
End If
|
||||||
@@ -373,32 +339,19 @@ Public Class FlatteningCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
' Ricavo dati lama corrente
|
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(sSaw, "H1", 1)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizone lama o laser
|
' Se acquisizone lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
' Ricavo dati lama corrente
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -406,7 +359,7 @@ Public Class FlatteningCut
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
||||||
@@ -421,6 +374,8 @@ Public Class FlatteningCut
|
|||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP2Ok = True
|
m_bPointP2Ok = True
|
||||||
|
' Ricavo dati lama corrente
|
||||||
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
End If
|
End If
|
||||||
@@ -454,7 +409,7 @@ Public Class FlatteningCut
|
|||||||
|
|
||||||
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
||||||
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
||||||
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + m_MainWindow.m_CurrentMachine.MaxTabDepth
|
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + MAX_TAB_DEPTH
|
||||||
Dim dDepth As Double = 0
|
Dim dDepth As Double = 0
|
||||||
StringToLen(DepthTxBx.Text, dDepth)
|
StringToLen(DepthTxBx.Text, dDepth)
|
||||||
If dDepth < 0 Then
|
If dDepth < 0 Then
|
||||||
@@ -569,16 +524,6 @@ Public Class FlatteningCut
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub SelToolCmBx_SelectionChanged(sender As Object, e As EventArgs) Handles SelToolCmBx.SelectionChanged
|
|
||||||
m_nTool = SelToolCmBx.SelectedIndex
|
|
||||||
' Disabilito il concatenamento
|
|
||||||
ChainedPathChBx.IsEnabled = (m_nTool = TOOL.MILL)
|
|
||||||
' Disegno il taglio
|
|
||||||
CreateFlatteningCut()
|
|
||||||
SetMachineInCurrPos()
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub RotLockChBx_Click(sender As Object, e As EventArgs) Handles RotLockChBx.Click
|
Private Sub RotLockChBx_Click(sender As Object, e As EventArgs) Handles RotLockChBx.Click
|
||||||
m_bRotLock = RotLockChBx.IsChecked
|
m_bRotLock = RotLockChBx.IsChecked
|
||||||
' Disegno il taglio
|
' Disegno il taglio
|
||||||
@@ -587,14 +532,6 @@ Public Class FlatteningCut
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ChainedPathChBx_Click(sender As Object, e As EventArgs) Handles ChainedPathChBx.Click
|
|
||||||
m_bChainedPath = ChainedPathChBx.IsChecked
|
|
||||||
' Disegno il taglio
|
|
||||||
CreateFlatteningCut()
|
|
||||||
SetMachineInCurrPos()
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub XcoordTxBx_EgtClosed(sender As Object, e As EventArgs) Handles XcoordTxBx.EgtClosed
|
Private Sub XcoordTxBx_EgtClosed(sender As Object, e As EventArgs) Handles XcoordTxBx.EgtClosed
|
||||||
' Recupero il valore della coordinata (in 0 Tab)
|
' Recupero il valore della coordinata (in 0 Tab)
|
||||||
Dim dXcoord As Double = 0
|
Dim dXcoord As Double = 0
|
||||||
@@ -646,8 +583,8 @@ Public Class FlatteningCut
|
|||||||
m_CurrProjPage.SetWarningMessage("Trial Version")
|
m_CurrProjPage.SetWarningMessage("Trial Version")
|
||||||
#Else
|
#Else
|
||||||
' Verifico non sia versione Ufficio
|
' Verifico non sia versione Ufficio
|
||||||
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
|
If m_MainWindow.GetKeyOption( MainWindow.KEY_OPT.OFFICE_TYPE) Then
|
||||||
m_CurrProjPage.SetWarningMessage("Office Version")
|
m_CurrProjPage.SetWarningMessage( "Office Version")
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
' Verifico ci sia un taglio valido
|
' Verifico ci sia un taglio valido
|
||||||
@@ -663,15 +600,13 @@ Public Class FlatteningCut
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -685,12 +620,10 @@ Public Class FlatteningCut
|
|||||||
' ricavo l'ingombro di lavorazione in funzione dell'utensile selezionato
|
' ricavo l'ingombro di lavorazione in funzione dell'utensile selezionato
|
||||||
Private Function GetFootPrintTool() As Double
|
Private Function GetFootPrintTool() As Double
|
||||||
' vedere nella pagina Allarm il capito "Incisioni"
|
' vedere nella pagina Allarm il capito "Incisioni"
|
||||||
Dim bForceUseMill As Boolean = (m_nTool = TOOL.MILL)
|
Dim bForceUseMill As Boolean = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_ENGRAVING_WITHMILL, 1, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
Dim dFootPrint As Double = 0
|
Dim dFootPrint As Double = 0
|
||||||
' verifico quale lavorazione è attiva
|
' verifico quale lavorazione è attiva
|
||||||
If Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrSawing) AndAlso Not bForceUseMill Then
|
If Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrSawing) AndAlso Not bForceUseMill Then
|
||||||
Dim bSetTool As Boolean = EgtTdbSetCurrTool(m_MainWindow.m_CurrentMachine.sCurrSaw)
|
|
||||||
If Not bSetTool Then EgtOutLog("Erro nel settaggio utensile lama " & m_MainWindow.m_CurrentMachine.sCurrSaw)
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dFootPrint)
|
EgtTdbGetCurrToolParam(MCH_TP.THICK, dFootPrint)
|
||||||
ElseIf Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrMilling) Then
|
ElseIf Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrMilling) Then
|
||||||
Dim sCurrMill = m_MainWindow.m_CurrentMachine.sCurrMill
|
Dim sCurrMill = m_MainWindow.m_CurrentMachine.sCurrMill
|
||||||
@@ -725,24 +658,18 @@ Public Class FlatteningCut
|
|||||||
Dim ptStart As Point3d = m_ptTipP1
|
Dim ptStart As Point3d = m_ptTipP1
|
||||||
ptStart.z = 0
|
ptStart.z = 0
|
||||||
Dim nCutId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, m_dLen)
|
Dim nCutId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, m_dLen)
|
||||||
EgtSetInfo(nCutId, INFO_DIRECTCUT, 1)
|
|
||||||
' Imposto affondamento e angolo di fianco sul taglio
|
' Imposto affondamento e angolo di fianco sul taglio
|
||||||
EgtSetInfo(nCutId, INFO_DEPTH, m_dDepth)
|
EgtSetInfo(nCutId, INFO_DEPTH, m_dDepth)
|
||||||
If (m_nTool = TOOL.MILL) Then
|
If (GetPrivateProfileInt(S_MACH_NEST, K_MACH_ENGRAVING_WITHMILL, 1, m_MainWindow.GetMachIniFile()) <> 0) Then
|
||||||
EgtSetInfo(nCutId, INFO_WIDTH, GetFootPrintTool)
|
EgtSetInfo(nCutId, INFO_WIDTH, GetFootPrintTool)
|
||||||
End If
|
End If
|
||||||
EgtSetInfo(nCutId, INFO_SIDE_ANGLE, 0)
|
EgtSetInfo(nCutId, INFO_SIDE_ANGLE, 0)
|
||||||
' Imposto prima direzione
|
' Imposto prima direzione
|
||||||
EgtSetInfo(nCutId, INFO_DIR, 1)
|
EgtSetInfo(nCutId, INFO_DIR, 1)
|
||||||
' Imposto se iniziare la fresatura dal punto indicato
|
|
||||||
Dim bReducePath As Boolean = Not GetPrivateProfileInt(S_MACH_NEST, K_MACH_STARTCENERTOOLPATH, 0, m_MainWindow.GetMachIniFile()) <> 0
|
|
||||||
If Not bReducePath Then EgtSetInfo(nCutId, INFO_STRICT, 0)
|
|
||||||
|
|
||||||
' Eventuale bloccaggio rotazione asse C tra le passate
|
' Eventuale bloccaggio rotazione asse C tra le passate
|
||||||
If RotLockChBx.IsChecked Then
|
If RotLockChBx.IsChecked Then
|
||||||
EgtSetInfo(nCutId, INFO_ENABLE_INVERT, False)
|
EgtSetInfo(nCutId, INFO_ENABLE_INVERT, False)
|
||||||
End If
|
End If
|
||||||
EgtSetInfo(nCutId, INFO_STEP_TYPE, m_nMachType)
|
|
||||||
' Funzione che crea i tagli successivi al primo
|
' Funzione che crea i tagli successivi al primo
|
||||||
MultiplyCut(nLayerId, nCutId)
|
MultiplyCut(nLayerId, nCutId)
|
||||||
' Creo layer per crocetta di riferimento
|
' Creo layer per crocetta di riferimento
|
||||||
@@ -775,17 +702,10 @@ Public Class FlatteningCut
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function MultiplyCut(nLayerId As Integer, nCutId As Integer) As Boolean
|
Private Function MultiplyCut(nLayerId As Integer, nCutId As Integer) As Boolean
|
||||||
Dim bEngWithMill As Boolean = (m_nTool = TOOL.MILL)
|
|
||||||
Dim bReducePath As Boolean = Not GetPrivateProfileInt(S_MACH_NEST, K_MACH_STARTCENERTOOLPATH, 0, m_MainWindow.GetMachIniFile()) <> 0
|
|
||||||
|
|
||||||
' Recupero spessore della lama (utensile) correntemente attiva
|
' Recupero spessore della lama (utensile) correntemente attiva
|
||||||
Dim dThick As Double = GetFootPrintTool()
|
Dim dThick As Double = GetFootPrintTool()
|
||||||
If dThick = 0 Then Return False
|
If dThick = 0 Then Return False
|
||||||
|
|
||||||
' Salvo la prima curva nella lista dei percorsi da concatenare
|
|
||||||
Dim CutsList As New List(Of Integer)
|
|
||||||
CutsList.Add(nCutId)
|
|
||||||
|
|
||||||
' Imposto angolo di rotazione a seconda del lato dei tagli
|
' Imposto angolo di rotazione a seconda del lato dei tagli
|
||||||
Dim dRotAngO As Double = If(SideChBx.IsChecked(), -90, 90)
|
Dim dRotAngO As Double = If(SideChBx.IsChecked(), -90, 90)
|
||||||
' Definisco vettore di spostamento
|
' Definisco vettore di spostamento
|
||||||
@@ -803,10 +723,6 @@ Public Class FlatteningCut
|
|||||||
If nStepNum > 1 Then
|
If nStepNum > 1 Then
|
||||||
dDelta = dWidth / (nStepNum - 1)
|
dDelta = dWidth / (nStepNum - 1)
|
||||||
End If
|
End If
|
||||||
' definisco la larghezza dell'utensile (solo per la fresa)
|
|
||||||
EgtSetInfo(nCutId, INFO_WIDTH, dThick)
|
|
||||||
' definisco il tipo di utensile da utilizzare
|
|
||||||
EgtSetInfo(nCutId, "EngravingWithMill", m_nTool)
|
|
||||||
' Creo vettore delta
|
' Creo vettore delta
|
||||||
vtDelta *= dDelta
|
vtDelta *= dDelta
|
||||||
' Creo indice per impostare info che indica tipologia di spianatura
|
' Creo indice per impostare info che indica tipologia di spianatura
|
||||||
@@ -815,8 +731,6 @@ Public Class FlatteningCut
|
|||||||
Dim vtPerpMove As Vector3d = Index * vtDelta
|
Dim vtPerpMove As Vector3d = Index * vtDelta
|
||||||
' Creo copie
|
' Creo copie
|
||||||
Dim nCut2Id = EgtCopyGlob(nCutId, nLayerId)
|
Dim nCut2Id = EgtCopyGlob(nCutId, nLayerId)
|
||||||
EgtSetInfo(nCut2Id, INFO_WIDTH, dThick)
|
|
||||||
EgtSetInfo(nCutId, "EngravingWithMill", m_nTool)
|
|
||||||
' Assegno info direzione a seconda del tipo di spianatura
|
' Assegno info direzione a seconda del tipo di spianatura
|
||||||
If TypeCmBx.SelectedIndex = MACH_TYPE.ZIGZAG Then
|
If TypeCmBx.SelectedIndex = MACH_TYPE.ZIGZAG Then
|
||||||
If nTypeIndex = 1 Then
|
If nTypeIndex = 1 Then
|
||||||
@@ -830,77 +744,10 @@ Public Class FlatteningCut
|
|||||||
EgtSetInfo(nCut2Id, INFO_DIR, 1)
|
EgtSetInfo(nCut2Id, INFO_DIR, 1)
|
||||||
End If
|
End If
|
||||||
EgtMove(nCut2Id, vtPerpMove, GDB_RT.GLOB)
|
EgtMove(nCut2Id, vtPerpMove, GDB_RT.GLOB)
|
||||||
|
|
||||||
' ----------------------- CREO SEGMENTI PER CONCATENAMENTO CURVE -----------------------
|
|
||||||
If m_bChainedPath And bEngWithMill Then
|
|
||||||
If bReducePath Then
|
|
||||||
If Index < nStepNum - 1 Then
|
|
||||||
ExtendLenghtMillPath(nCut2Id, -dThick / 2)
|
|
||||||
ElseIf Index = nStepNum - 1 Then
|
|
||||||
If nStepNum Mod 2 = 0 Then
|
|
||||||
ExtendLenghtMillPath(nCut2Id, -dThick / 2, False, True)
|
|
||||||
Else
|
|
||||||
ExtendLenghtMillPath(nCut2Id, -dThick / 2, True, False)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
CutsList.Add(nCut2Id)
|
|
||||||
End If
|
|
||||||
' ----------------------- CREO SEGMENTI PER CONCATENAMENTO CURVE -----------------------
|
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
' ----------------------- CREO UN UNICO PERCORSO CONCATENATO -----------------------
|
|
||||||
If m_bChainedPath And bEngWithMill Then
|
|
||||||
' Decidere se accorciare i tagli del valore del raggio utensile!
|
|
||||||
If bReducePath Then
|
|
||||||
ExtendLenghtMillPath(CutsList(0), -dThick / 2, False, True)
|
|
||||||
End If
|
|
||||||
For Index As Integer = 0 To CutsList.Count - 2
|
|
||||||
If Index Mod 2 <> 0 Then
|
|
||||||
' Costruisco la linea di collegamento tra due curve adiacenti
|
|
||||||
Dim PtStart_1 As Point3d
|
|
||||||
EgtStartPoint(CutsList(Index), GDB_RT.GLOB, PtStart_1)
|
|
||||||
Dim PtStart_2 As Point3d
|
|
||||||
EgtStartPoint(CutsList(Index + 1), GDB_RT.GLOB, PtStart_2)
|
|
||||||
CutsList.Add(EgtCreateLine(nLayerId, PtStart_1, PtStart_2))
|
|
||||||
Else
|
|
||||||
' Costruisco la linea di collegamento tra due curve adiacenti
|
|
||||||
Dim PtStart_1 As Point3d
|
|
||||||
EgtEndPoint(CutsList(Index), GDB_RT.GLOB, PtStart_1)
|
|
||||||
Dim PtStart_2 As Point3d
|
|
||||||
EgtEndPoint(CutsList(Index + 1), GDB_RT.GLOB, PtStart_2)
|
|
||||||
CutsList.Add(EgtCreateLine(nLayerId, PtStart_1, PtStart_2))
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Dim ptNear As Point3d
|
|
||||||
EgtStartPoint(CutsList(0), ptNear)
|
|
||||||
Dim IdJointCurv As Integer = EgtCreateCurveCompoByChain(nLayerId, CutsList.ToArray, ptNear, True)
|
|
||||||
EgtSetInfo(IdJointCurv, INFO_DIRECTCUT, 1)
|
|
||||||
EgtSetInfo(IdJointCurv, INFO_STEP_TYPE, m_nMachType)
|
|
||||||
EgtSetInfo(IdJointCurv, INFO_WIDTH, dThick)
|
|
||||||
' Se unisco il percorso devo per forza usare la fresa!
|
|
||||||
EgtSetInfo(IdJointCurv, "EngravingWithMill", 1)
|
|
||||||
If Not bReducePath Then EgtSetInfo(IdJointCurv, INFO_STRICT, 0)
|
|
||||||
End If
|
|
||||||
' ----------------------- CREO UN UNICO PERCORSO CONCATENATO -----------------------
|
|
||||||
|
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub ExtendLenghtMillPath(ByVal IdCurv As Integer, ByVal ReduceVal As Double,
|
|
||||||
ByVal Optional bStart As Boolean = True, ByVal Optional bEnd As Boolean = True)
|
|
||||||
Dim PtStart As Point3d
|
|
||||||
EgtStartPoint(IdCurv, GDB_RT.GLOB, PtStart)
|
|
||||||
Dim PtEnd As Point3d
|
|
||||||
EgtEndPoint(IdCurv, GDB_RT.GLOB, PtEnd)
|
|
||||||
If bStart Then EgtTrimExtendCurveByLen(IdCurv, ReduceVal, PtStart, GDB_RT.GLOB)
|
|
||||||
If bEnd Then EgtTrimExtendCurveByLen(IdCurv, ReduceVal, PtEnd, GDB_RT.GLOB)
|
|
||||||
Dim dLenLine As Double
|
|
||||||
EgtCurveLength(IdCurv, dLenLine)
|
|
||||||
EgtOutLog("Lunghezza segmento ridotto: " & dLenLine.ToString)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
||||||
' Aggiungo crocette
|
' Aggiungo crocette
|
||||||
Dim vtCrossX As New Vector3d(20, 0, 0)
|
Dim vtCrossX As New Vector3d(20, 0, 0)
|
||||||
|
|||||||
@@ -38,8 +38,6 @@ Public Class GridCut
|
|||||||
Private m_ptPrev As Point3d
|
Private m_ptPrev As Point3d
|
||||||
' Layer per crocette temporanee
|
' Layer per crocette temporanee
|
||||||
Private m_nTempLay As Integer = GDB_ID.NULL
|
Private m_nTempLay As Integer = GDB_ID.NULL
|
||||||
' Gestione spessore lama
|
|
||||||
Private m_bSawTh As Boolean = False
|
|
||||||
|
|
||||||
' Costanti
|
' Costanti
|
||||||
Private Const MAX_TAB_DEPTH As Double = 10.0
|
Private Const MAX_TAB_DEPTH As Double = 10.0
|
||||||
@@ -84,12 +82,7 @@ Public Class GridCut
|
|||||||
m_nNumX = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_NUMX, m_nNumX, m_MainWindow.GetIniFile())
|
m_nNumX = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_NUMX, m_nNumX, m_MainWindow.GetIniFile())
|
||||||
m_dDimX = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_DIMX, m_dDimX, m_MainWindow.GetIniFile())
|
m_dDimX = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_DIMX, m_dDimX, m_MainWindow.GetIniFile())
|
||||||
m_nNumY = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_NUMY, m_nNumY, m_MainWindow.GetIniFile())
|
m_nNumY = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_NUMY, m_nNumY, m_MainWindow.GetIniFile())
|
||||||
m_dDimY = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_GRID_DIMY, m_dDimY, m_MainWindow.GetIniFile())
|
m_dDimY = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_DIMY, m_dDimY, m_MainWindow.GetIniFile())
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
m_bSawTh = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_SING_SAWTH, 0, m_MainWindow.GetIniFile()) <> 0)
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
m_bHeadSide = ( GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bHeadSide = ( GetPrivateProfileInt( S_DIRECTCUTS, K_DC_GRID_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
m_ptTipP1.x = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
m_ptTipP1.x = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
||||||
m_ptTipP1.y = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
m_ptTipP1.y = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_GRID_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
||||||
@@ -148,11 +141,6 @@ Public Class GridCut
|
|||||||
NumPzYTxBx.Text = m_nNumY.ToString()
|
NumPzYTxBx.Text = m_nNumY.ToString()
|
||||||
DimPzYTxBx.Text = LenToString( m_dDimY, 1)
|
DimPzYTxBx.Text = LenToString( m_dDimY, 1)
|
||||||
SideChBx.IsChecked = m_bHeadSide
|
SideChBx.IsChecked = m_bHeadSide
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
m_bSawTh = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_SING_SAWTH, 0, m_MainWindow.GetIniFile()) <> 0)
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
' Reset taglio e disabilito bottone esecuzione
|
' Reset taglio e disabilito bottone esecuzione
|
||||||
m_bCutOk = False
|
m_bCutOk = False
|
||||||
UpdateSimulOkBtn()
|
UpdateSimulOkBtn()
|
||||||
@@ -260,12 +248,6 @@ Public Class GridCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -278,13 +260,6 @@ Public Class GridCut
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -292,7 +267,7 @@ Public Class GridCut
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -300,10 +275,10 @@ Public Class GridCut
|
|||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -352,12 +327,6 @@ Public Class GridCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -370,13 +339,6 @@ Public Class GridCut
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -384,7 +346,7 @@ Public Class GridCut
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -392,10 +354,10 @@ Public Class GridCut
|
|||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP2) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP2Ok = True
|
m_bPointP2Ok = True
|
||||||
@@ -443,7 +405,7 @@ Public Class GridCut
|
|||||||
|
|
||||||
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
||||||
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
||||||
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + m_MainWindow.m_CurrentMachine.MaxTabDepth
|
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + MAX_TAB_DEPTH
|
||||||
Dim dDepth As Double = 0
|
Dim dDepth As Double = 0
|
||||||
StringToLen(DepthTxBx.Text, dDepth)
|
StringToLen(DepthTxBx.Text, dDepth)
|
||||||
If dDepth < 0 Then
|
If dDepth < 0 Then
|
||||||
@@ -561,15 +523,13 @@ Public Class GridCut
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -656,15 +616,6 @@ Public Class GridCut
|
|||||||
If dDimPzY <> 0 And nNumPzY > 0 And dDimPzX <> 0 And nNumPzX > 0 Then
|
If dDimPzY <> 0 And nNumPzY > 0 And dDimPzX <> 0 And nNumPzX > 0 Then
|
||||||
Dim dLenX As Double = dThick + (dDimPzX + dThick) * nNumPzX
|
Dim dLenX As Double = dThick + (dDimPzX + dThick) * nNumPzX
|
||||||
Dim nCutParaId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, dLenX + 0.1)
|
Dim nCutParaId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, dLenX + 0.1)
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
' Recupero spessore lama corrente
|
|
||||||
Dim sSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
|
|
||||||
If m_bSawTh And Not String.IsNullOrEmpty(sSawing) Then
|
|
||||||
EgtOffsetCurve(nCutParaId, -dThick, OFF_TYPE.EXTEND)
|
|
||||||
End If
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
' Imposto affondamento e angolo di fianco sul taglio
|
' Imposto affondamento e angolo di fianco sul taglio
|
||||||
EgtSetInfo(nCutParaId, INFO_DEPTH, m_dDepth)
|
EgtSetInfo(nCutParaId, INFO_DEPTH, m_dDepth)
|
||||||
EgtSetInfo(nCutParaId, INFO_SIDE_ANGLE, m_dAngV)
|
EgtSetInfo(nCutParaId, INFO_SIDE_ANGLE, m_dAngV)
|
||||||
@@ -683,13 +634,6 @@ Public Class GridCut
|
|||||||
' Arretro il punto di partenza di uno spessore lama
|
' Arretro il punto di partenza di uno spessore lama
|
||||||
Dim vtDeltaPos As Vector3d = Vector3d.FromPolar(dThick + 0.1, m_dAngO - 90)
|
Dim vtDeltaPos As Vector3d = Vector3d.FromPolar(dThick + 0.1, m_dAngO - 90)
|
||||||
Dim nCutPerpId = EgtCreateLinePDL(nLayerId, ptStart + vtDeltaPos, m_dAngO + 90, dLenY + 0.2)
|
Dim nCutPerpId = EgtCreateLinePDL(nLayerId, ptStart + vtDeltaPos, m_dAngO + 90, dLenY + 0.2)
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
If m_bSawTh And Not String.IsNullOrEmpty(sSawing) Then
|
|
||||||
EgtOffsetCurve(nCutPerpId, -dThick, OFF_TYPE.EXTEND)
|
|
||||||
End If
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
' Specchio se è attivo il flag che cambia lato di disegno
|
' Specchio se è attivo il flag che cambia lato di disegno
|
||||||
If SideChBx.IsChecked() Then
|
If SideChBx.IsChecked() Then
|
||||||
Dim vtRot As Vector3d = Vector3d.FromPolar(1, m_dAngO + 90)
|
Dim vtRot As Vector3d = Vector3d.FromPolar(1, m_dAngO + 90)
|
||||||
@@ -712,7 +656,6 @@ Public Class GridCut
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
||||||
ptP += New Vector3d(0, 0, 0.15)
|
|
||||||
' Aggiungo crocette
|
' Aggiungo crocette
|
||||||
Dim vtCrossX As New Vector3d(20, 0, 0)
|
Dim vtCrossX As New Vector3d(20, 0, 0)
|
||||||
Dim vtCrossY As New Vector3d(0, 20, 0)
|
Dim vtCrossY As New Vector3d(0, 20, 0)
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ Public Class MachineButtonsUC
|
|||||||
Private Const BTN_STATE_DOOR_OPENED As String = "DoorOpened"
|
Private Const BTN_STATE_DOOR_OPENED As String = "DoorOpened"
|
||||||
Private Const BTN_STATE_DOOR_CLOSED As String = "DoorClosed"
|
Private Const BTN_STATE_DOOR_CLOSED As String = "DoorClosed"
|
||||||
Private Const BTN_STATE_PARKING As String = "Parking"
|
Private Const BTN_STATE_PARKING As String = "Parking"
|
||||||
Private Const BTN_STATE_HOME As String = "Home"
|
|
||||||
Private Const BTN_ENABLE_ZONE_1 As String = "EnableZone1"
|
Private Const BTN_ENABLE_ZONE_1 As String = "EnableZone1"
|
||||||
Private Const BTN_ENABLE_ZONE_2 As String = "EnableZone2"
|
Private Const BTN_ENABLE_ZONE_2 As String = "EnableZone2"
|
||||||
Private Const BTN_ENABLE_PC As String = "EnablePC"
|
Private Const BTN_ENABLE_PC As String = "EnablePC"
|
||||||
@@ -712,40 +711,6 @@ Public Class MachineButtonsUC
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub HomeStateChanged(HomeState As Boolean)
|
|
||||||
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_HOME)
|
|
||||||
If nIndex = -1 Then Return
|
|
||||||
If HomeState Then
|
|
||||||
GetToggleButton(nIndex + 1).IsChecked = True
|
|
||||||
Try
|
|
||||||
Dim s As String
|
|
||||||
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
||||||
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
||||||
Else
|
|
||||||
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
||||||
End If
|
|
||||||
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
||||||
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
||||||
End Try
|
|
||||||
Else
|
|
||||||
GetToggleButton(nIndex + 1).IsChecked = False
|
|
||||||
Try
|
|
||||||
Dim s As String
|
|
||||||
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
||||||
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
||||||
Else
|
|
||||||
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
||||||
End If
|
|
||||||
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
||||||
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Friend Sub EnableZoneStateChanged(ZoneState As Integer)
|
Friend Sub EnableZoneStateChanged(ZoneState As Integer)
|
||||||
Dim sFlag As String = String.Empty
|
Dim sFlag As String = String.Empty
|
||||||
If ZoneState = 1 Then
|
If ZoneState = 1 Then
|
||||||
|
|||||||
@@ -53,43 +53,14 @@ Public Class ManualAxesMoveUC
|
|||||||
' Imposto check per considerare spessore lama
|
' Imposto check per considerare spessore lama
|
||||||
L1SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
L1SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
||||||
L2SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
L2SawThChBx.IsChecked = m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove
|
||||||
|
|
||||||
' Aggiorno visualizzazione
|
|
||||||
SetMachineInCurrPos()
|
|
||||||
EgtDraw()
|
|
||||||
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = True
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ManualAxesMove_UnLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
Private Sub ManualAxesMove_UnLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
||||||
m_Timer.Stop()
|
m_Timer.Stop()
|
||||||
m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove = (L1SawThChBx.IsEnabled And L1SawThChBx.IsChecked) Or
|
m_MainWindow.m_CurrentMachine.bAddSawThTo5AxMove = (L1SawThChBx.IsEnabled And L1SawThChBx.IsChecked) Or
|
||||||
(L2SawThChBx.IsEnabled And L2SawThChBx.IsChecked)
|
(L2SawThChBx.IsEnabled And L2SawThChBx.IsChecked)
|
||||||
' Nascondo la macchina
|
|
||||||
m_MainWindow.m_DirectCutPageUC.m_bShowMachine = False
|
|
||||||
EgtSetMachineLook(MCH_LOOK.TAB)
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
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
|
|
||||||
|
|
||||||
Private Sub UpdateAxesNames()
|
Private Sub UpdateAxesNames()
|
||||||
Dim sL1 As String = String.Empty
|
Dim sL1 As String = String.Empty
|
||||||
Dim sL2 As String = String.Empty
|
Dim sL2 As String = String.Empty
|
||||||
@@ -154,16 +125,11 @@ Public Class ManualAxesMoveUC
|
|||||||
Private Sub Timer_tick()
|
Private Sub Timer_tick()
|
||||||
UpdateAxesNames()
|
UpdateAxesNames()
|
||||||
UpdateUseSawThickness()
|
UpdateUseSawThickness()
|
||||||
' Aggiorno posizione macchina in disegno
|
|
||||||
SetMachineInCurrPos()
|
|
||||||
' Aggiorno il disegno
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private m_MoveClicked As Boolean = False
|
Private m_MoveClicked As Boolean = False
|
||||||
Private Sub XXBtn_Click(sender As Object, e As MouseButtonEventArgs) Handles L1Btn.PreviewMouseDown, L2Btn.PreviewMouseDown, L3Btn.PreviewMouseDown, R1Btn.PreviewMouseDown, R2Btn.PreviewMouseDown
|
Private Sub XXBtn_Click(sender As Object, e As MouseButtonEventArgs) Handles L1Btn.PreviewMouseDown, L2Btn.PreviewMouseDown, L3Btn.PreviewMouseDown, R1Btn.PreviewMouseDown, R2Btn.PreviewMouseDown
|
||||||
If e.ClickCount > 1 OrElse m_MoveClicked Then
|
If e.ClickCount > 1 OrElse m_MoveClicked Then
|
||||||
EgtOutLog(" → Hold on! Do not click compulsively.")
|
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
m_MoveClicked = True
|
m_MoveClicked = True
|
||||||
@@ -250,7 +216,6 @@ Public Class ManualAxesMoveUC
|
|||||||
Private Sub SiemensMoveAxis(CurrentBtn As Button)
|
Private Sub SiemensMoveAxis(CurrentBtn As Button)
|
||||||
' leggo se stato reset
|
' leggo se stato reset
|
||||||
If Not m_CN.bResetState Then
|
If Not m_CN.bResetState Then
|
||||||
EgtOutLog("Reset status is 'False', is denied to execute file '\DirectCmd\AxesMove.lua'.")
|
|
||||||
m_MoveClicked = False
|
m_MoveClicked = False
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -38,8 +38,7 @@ Public Class MultipleCut
|
|||||||
Private m_ptPrev As Point3d
|
Private m_ptPrev As Point3d
|
||||||
' Layer per crocette temporanee
|
' Layer per crocette temporanee
|
||||||
Private m_nTempLay As Integer = GDB_ID.NULL
|
Private m_nTempLay As Integer = GDB_ID.NULL
|
||||||
' Gestione spessore lama
|
|
||||||
Private m_bSawTh As Boolean = False
|
|
||||||
' Costanti
|
' Costanti
|
||||||
Private Const MAX_TAB_DEPTH As Double = 10.0
|
Private Const MAX_TAB_DEPTH As Double = 10.0
|
||||||
Private Const MIN_CUT_LEN As Double = 10.0
|
Private Const MIN_CUT_LEN As Double = 10.0
|
||||||
@@ -91,14 +90,9 @@ Public Class MultipleCut
|
|||||||
m_dAngO = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_ANGH, m_dAngO, m_MainWindow.GetIniFile())
|
m_dAngO = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_ANGH, m_dAngO, m_MainWindow.GetIniFile())
|
||||||
m_dAngV = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_ANGV, m_dAngV, m_MainWindow.GetIniFile())
|
m_dAngV = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_ANGV, m_dAngV, m_MainWindow.GetIniFile())
|
||||||
For nI As Integer = 0 To 9
|
For nI As Integer = 0 To 9
|
||||||
m_nNum(nI) = GetPrivateProfileInt(S_DIRECTCUTS, K_DC_MULT_NUM & (nI + 1).ToString(), 0, m_MainWindow.GetIniFile())
|
m_nNum( nI) = GetPrivateProfileInt( S_DIRECTCUTS, K_DC_MULT_NUM & (nI+1).ToString(), 0, m_MainWindow.GetIniFile())
|
||||||
m_dDim(nI) = GetPrivateProfileDouble(S_DIRECTCUTS, K_DC_MULT_DIM & (nI + 1).ToString(), 0, m_MainWindow.GetIniFile())
|
m_dDim( nI) = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_DIM & (nI+1).ToString(), 0, m_MainWindow.GetIniFile())
|
||||||
Next
|
Next
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
m_bSawTh = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_SING_SAWTH, 0, m_MainWindow.GetIniFile()) <> 0)
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
m_bHeadSide = ( GetPrivateProfileInt( S_DIRECTCUTS, K_DC_MULT_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bHeadSide = ( GetPrivateProfileInt( S_DIRECTCUTS, K_DC_MULT_HEADSIDE, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
m_ptTipP1.x = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
m_ptTipP1.x = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_POSX, m_ptTipP1.x, m_MainWindow.GetIniFile())
|
||||||
m_ptTipP1.y = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
m_ptTipP1.y = GetPrivateProfileDouble( S_DIRECTCUTS, K_DC_MULT_POSY, m_ptTipP1.y, m_MainWindow.GetIniFile())
|
||||||
@@ -174,11 +168,6 @@ Public Class MultipleCut
|
|||||||
NumPz10TxBx.Text = m_nNum(9).ToString()
|
NumPz10TxBx.Text = m_nNum(9).ToString()
|
||||||
DimPz10TxBx.Text = LenToString( m_dDim(9), 1)
|
DimPz10TxBx.Text = LenToString( m_dDim(9), 1)
|
||||||
SideChBx.IsChecked = m_bHeadSide
|
SideChBx.IsChecked = m_bHeadSide
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
m_bSawTh = (GetPrivateProfileInt(S_DIRECTCUTS, K_DC_SING_SAWTH, 0, m_MainWindow.GetIniFile()) <> 0)
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
' Reset taglio e disabilito bottone esecuzione
|
' Reset taglio e disabilito bottone esecuzione
|
||||||
m_bCutOk = False
|
m_bCutOk = False
|
||||||
UpdateSimulOkBtn()
|
UpdateSimulOkBtn()
|
||||||
@@ -285,12 +274,6 @@ Public Class MultipleCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -303,13 +286,6 @@ Public Class MultipleCut
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -317,7 +293,7 @@ Public Class MultipleCut
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
|
|
||||||
@@ -327,10 +303,10 @@ Public Class MultipleCut
|
|||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
|
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -378,12 +354,6 @@ Public Class MultipleCut
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -396,13 +366,6 @@ Public Class MultipleCut
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -410,7 +373,7 @@ Public Class MultipleCut
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -418,10 +381,10 @@ Public Class MultipleCut
|
|||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP2) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP2Ok = True
|
m_bPointP2Ok = True
|
||||||
@@ -472,7 +435,7 @@ Public Class MultipleCut
|
|||||||
|
|
||||||
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
||||||
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
||||||
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + m_MainWindow.m_CurrentMachine.MaxTabDepth
|
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + MAX_TAB_DEPTH
|
||||||
Dim dDepth As Double = 0
|
Dim dDepth As Double = 0
|
||||||
StringToLen(DepthTxBx.Text, dDepth)
|
StringToLen(DepthTxBx.Text, dDepth)
|
||||||
If dDepth < 0 Then
|
If dDepth < 0 Then
|
||||||
@@ -606,15 +569,13 @@ Public Class MultipleCut
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -645,22 +606,6 @@ Public Class MultipleCut
|
|||||||
Dim ptStart As Point3d = m_ptTipP1
|
Dim ptStart As Point3d = m_ptTipP1
|
||||||
ptStart.z = 0
|
ptStart.z = 0
|
||||||
Dim nCutId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, m_dLen)
|
Dim nCutId = EgtCreateLinePDL(nLayerId, ptStart, m_dAngO, m_dLen)
|
||||||
|
|
||||||
' --- INIZIO GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
' Recupero spessore lama corrente
|
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
Dim sSawing As String = m_MainWindow.m_CurrentMachine.sCurrSawing
|
|
||||||
EgtTdbSetCurrTool(sSaw)
|
|
||||||
Dim dThick As Double = 0
|
|
||||||
' Se è impostata una lavorazione di lama
|
|
||||||
If Not String.IsNullOrEmpty(sSawing) Then
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
|
||||||
End If
|
|
||||||
If m_bSawTh And Not String.IsNullOrEmpty(sSawing) Then
|
|
||||||
EgtOffsetCurve(nCutId, -dThick, OFF_TYPE.EXTEND)
|
|
||||||
End If
|
|
||||||
' --- FINE GESTIONE SPECIALE --- per macchina sinistrorsa
|
|
||||||
|
|
||||||
' Imposto affondamento e angolo di fianco sul taglio
|
' Imposto affondamento e angolo di fianco sul taglio
|
||||||
EgtSetInfo(nCutId, INFO_DEPTH, m_dDepth)
|
EgtSetInfo(nCutId, INFO_DEPTH, m_dDepth)
|
||||||
EgtSetInfo(nCutId, INFO_SIDE_ANGLE, m_dAngV)
|
EgtSetInfo(nCutId, INFO_SIDE_ANGLE, m_dAngV)
|
||||||
@@ -753,7 +698,6 @@ Public Class MultipleCut
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
Private Function CreateCross(nLayerId As Integer, ptP As Point3d) As Boolean
|
||||||
ptP += New Vector3d(0, 0, 0.15)
|
|
||||||
' Aggiungo crocette
|
' Aggiungo crocette
|
||||||
Dim vtCrossX As New Vector3d(20, 0, 0)
|
Dim vtCrossX As New Vector3d(20, 0, 0)
|
||||||
Dim vtCrossY As New Vector3d(0, 20, 0)
|
Dim vtCrossY As New Vector3d(0, 20, 0)
|
||||||
|
|||||||
@@ -180,15 +180,13 @@ Public Class Polishing
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -210,30 +210,17 @@ Public Class SawTestUC
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(m_sSaw, "H1", 1)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizone lama o laser
|
' Se acquisizone lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -241,10 +228,10 @@ Public Class SawTestUC
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -293,30 +280,17 @@ Public Class SawTestUC
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(m_sSaw, "H1", 1)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizone lama o laser
|
' Se acquisizone lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.SAW Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -324,10 +298,10 @@ Public Class SawTestUC
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
If Not EgtSetCalcTool(m_sSaw, "H1", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP2) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP2Ok = True
|
m_bPointP2Ok = True
|
||||||
@@ -377,7 +351,7 @@ Public Class SawTestUC
|
|||||||
|
|
||||||
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
||||||
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
||||||
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + m_MainWindow.m_CurrentMachine.MaxTabDepth
|
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + MAX_TAB_DEPTH
|
||||||
Dim dDepth As Double = 0
|
Dim dDepth As Double = 0
|
||||||
StringToLen(DepthTxBx.Text, dDepth)
|
StringToLen(DepthTxBx.Text, dDepth)
|
||||||
If dDepth < 0 Then
|
If dDepth < 0 Then
|
||||||
@@ -476,15 +450,13 @@ Public Class SawTestUC
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -530,10 +502,6 @@ Public Class SawTestUC
|
|||||||
ElseIf nWSide = MCH_SAW_WS.LEFT Then
|
ElseIf nWSide = MCH_SAW_WS.LEFT Then
|
||||||
vtPerp = vtDir
|
vtPerp = vtDir
|
||||||
vtPerp.Rotate(Vector3d.Z_AX, +90)
|
vtPerp.Rotate(Vector3d.Z_AX, +90)
|
||||||
Else
|
|
||||||
m_CurrProjPage.ClearMessage()
|
|
||||||
' 91144 = Set machining side: right or left.
|
|
||||||
m_CurrProjPage.SetInfoMessage(EgtMsg(91144))
|
|
||||||
End If
|
End If
|
||||||
Dim ptEnd As Point3d = ptStart + vtDir * m_dLen + vtPerp * dThick
|
Dim ptEnd As Point3d = ptStart + vtDir * m_dLen + vtPerp * dThick
|
||||||
Dim dLen2 As Double = m_dLen / 2
|
Dim dLen2 As Double = m_dLen / 2
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ Public Class SingleCutUC
|
|||||||
Private m_nTempLay As Integer = GDB_ID.NULL
|
Private m_nTempLay As Integer = GDB_ID.NULL
|
||||||
|
|
||||||
' Costanti
|
' Costanti
|
||||||
Private Const MAX_TAB_DEPTH As Double = 10.0 ' sostituita da un m_MaxTabDepth letto da file ini macchina
|
Private Const MAX_TAB_DEPTH As Double = 10.0
|
||||||
Private Const MIN_CUT_LEN As Double = 10.0
|
Private Const MIN_CUT_LEN As Double = 10.0
|
||||||
Private Const MAX_SIDE_ANG As Double = 60.0
|
Private Const MAX_SIDE_ANG As Double = 60.0
|
||||||
' Costanti che indicano la modalità di acquisizione dei punti
|
' Costanti che indicano la modalità di acquisizione dei punti
|
||||||
@@ -268,12 +268,6 @@ Public Class SingleCutUC
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -285,13 +279,6 @@ Public Class SingleCutUC
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -299,8 +286,7 @@ Public Class SingleCutUC
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
EgtOutLog("Coordinate punto 1 da H3: " & m_ptTipP1.x.ToString & " ," & m_ptTipP1.y.ToString)
|
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -308,11 +294,10 @@ Public Class SingleCutUC
|
|||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
EgtOutLog("Coordinate punto 1 da H1: " & m_ptTipP1.x.ToString & " ," & m_ptTipP1.y.ToString)
|
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -333,6 +318,7 @@ Public Class SingleCutUC
|
|||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Disegno il taglio
|
' Disegno il taglio
|
||||||
@@ -362,12 +348,6 @@ Public Class SingleCutUC
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
If bIsMultiCut Then
|
|
||||||
m_MainWindow.m_DirectCutPageUC.ReloadParam()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Recupero dati utensile e testa corrente
|
' Recupero dati utensile e testa corrente
|
||||||
Dim sTool As String = ""
|
Dim sTool As String = ""
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
@@ -379,13 +359,6 @@ Public Class SingleCutUC
|
|||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
|
||||||
If bIsMultiCut Then
|
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Ricavo dati lama corrente
|
' Ricavo dati lama corrente
|
||||||
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
@@ -393,20 +366,20 @@ Public Class SingleCutUC
|
|||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
EgtOutLog("Coordinate punto 2 da H3: " & m_ptTipP2.x.ToString & " ," & m_ptTipP2.y.ToString)
|
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
|
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
Else
|
Else
|
||||||
' Reimposto eventuale precedente utensile
|
' Reimposto eventuale precedente utensile
|
||||||
EgtSetCalcTool(sTool, sHead, nExit)
|
EgtSetCalcTool(sTool, sHead, nExit)
|
||||||
|
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP2) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP2) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP2) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP2) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP2.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP2Ok = True
|
m_bPointP2Ok = True
|
||||||
@@ -439,7 +412,6 @@ Public Class SingleCutUC
|
|||||||
m_dAngO = dAngOrizzDeg
|
m_dAngO = dAngOrizzDeg
|
||||||
LenghtTxBx.Text = LenToString(m_dLen, 1)
|
LenghtTxBx.Text = LenToString(m_dLen, 1)
|
||||||
DirectionTxBx.Text = DoubleToString(m_dAngO - m_MainWindow.m_CurrentMachine.dDeltaC, 2)
|
DirectionTxBx.Text = DoubleToString(m_dAngO - m_MainWindow.m_CurrentMachine.dDeltaC, 2)
|
||||||
EgtOutLog("Lunghezza taglio: " & dLen.ToString & "Angolo: " & dAngOrizzDeg.ToString)
|
|
||||||
CreateSingleCut()
|
CreateSingleCut()
|
||||||
' Disegno la macchina nella sua posizione reale
|
' Disegno la macchina nella sua posizione reale
|
||||||
SetMachineInCurrPos()
|
SetMachineInCurrPos()
|
||||||
@@ -457,7 +429,7 @@ Public Class SingleCutUC
|
|||||||
|
|
||||||
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
Private Sub DepthTxBx_EgtClosed(sender As Object, e As EventArgs) Handles DepthTxBx.EgtClosed
|
||||||
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
' Verifico che l'affondamento impostato non sia superiore a quello massimo
|
||||||
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + m_MainWindow.m_CurrentMachine.MaxTabDepth
|
Dim dMaxDepth = m_ptRawMax.z - m_ptRawMin.z + MAX_TAB_DEPTH
|
||||||
Dim dDepth As Double = 0
|
Dim dDepth As Double = 0
|
||||||
StringToLen(DepthTxBx.Text, dDepth)
|
StringToLen(DepthTxBx.Text, dDepth)
|
||||||
If dDepth < 0 Then
|
If dDepth < 0 Then
|
||||||
@@ -612,15 +584,13 @@ Public Class SingleCutUC
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
' lancio eventuale lua post-trasmissione
|
' lancio eventuale lua post-trasmissione
|
||||||
m_MainWindow.ExecSentProgScript(True)
|
m_MainWindow.ExecSentProgScript( True)
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -632,7 +602,6 @@ Public Class SingleCutUC
|
|||||||
Private Function CreateSingleCut() As Boolean
|
Private Function CreateSingleCut() As Boolean
|
||||||
' Verifico sia definito il punto iniziale e il grezzo
|
' Verifico sia definito il punto iniziale e il grezzo
|
||||||
If Not m_bPointP1Ok Or Not m_bRawOk Then
|
If Not m_bPointP1Ok Or Not m_bRawOk Then
|
||||||
EgtOutLog("Primo punto non valido")
|
|
||||||
m_bCutOk = False
|
m_bCutOk = False
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -72,10 +72,7 @@ Public Class SingleDrillUC
|
|||||||
Private Sub SingleDrill_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
Private Sub SingleDrill_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||||
m_sCurrDrill = m_CurrentMachine.sCurrDrill
|
m_sCurrDrill = m_CurrentMachine.sCurrDrill
|
||||||
GetDrillFromDrilling(m_sCurrDrill, m_CurrentMachine.sCurrDrilling)
|
GetDrillFromDrilling(m_sCurrDrill, m_CurrentMachine.sCurrDrilling)
|
||||||
' rimuovo utensile su uscite 1
|
|
||||||
EgtSetCalcTool("", "H1", 1)
|
|
||||||
' imposto utensile su uscita 2
|
|
||||||
EgtSetCalcTool(m_sCurrDrill, "H1", 2)
|
|
||||||
' recupero informazioni del foretto usato
|
' recupero informazioni del foretto usato
|
||||||
EgtTdbSetCurrTool(m_sCurrDrill)
|
EgtTdbSetCurrTool(m_sCurrDrill)
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, m_dDiameter)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, m_dDiameter)
|
||||||
@@ -216,33 +213,21 @@ Public Class SingleDrillUC
|
|||||||
' Verifico configurazione tavola e grezzo
|
' Verifico configurazione tavola e grezzo
|
||||||
If Not m_bRawOk Then Return
|
If Not m_bRawOk Then Return
|
||||||
|
|
||||||
' forzo utilizzo testa H1 solo per macchina con 2 teste
|
|
||||||
Dim bIsMultiCut As Boolean = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
|
||||||
' Ricavo dati lama corrente
|
|
||||||
Dim sDrill As String = m_sCurrDrill
|
|
||||||
If bIsMultiCut Then
|
|
||||||
EgtSetCalcTool(sDrill, "H1", 2)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Se acquisizione lama o laser
|
' Se acquisizione lama o laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.DRILL Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.DRILL Or PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
|
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
' Se macchina multicut il primo asse rotante restituito è quello della tavola
|
|
||||||
Dim vAng() As Double = {dR1, dR2, 0}
|
' Ricavo dati Foretto corrente
|
||||||
If bIsMultiCut Then
|
Dim sDrill As String = m_sCurrDrill
|
||||||
vAng(0) = 0
|
|
||||||
vAng(1) = dR1
|
|
||||||
vAng(2) = dR2
|
|
||||||
End If
|
|
||||||
' Se punto da laser
|
' Se punto da laser
|
||||||
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
If PointModeCmBx.SelectedIndex = PT_MODE.LASER Then
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
If Not EgtSetCalcTool("", "H3", 1) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
' Ora imposto la lama corrente
|
' Ora imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
|
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
|
||||||
' Altrimenti da lama
|
' Altrimenti da lama
|
||||||
@@ -250,10 +235,10 @@ Public Class SingleDrillUC
|
|||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
|
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, vAng, True, m_ptTipP1) Then Return
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, m_ptTipP1) Then Return
|
||||||
End If
|
End If
|
||||||
' Calcolo direzione asse lama
|
' Calcolo direzione asse lama
|
||||||
If Not EgtGetCalcToolDirFromAngles(vAng, m_vtToolP1) Then Return
|
If Not EgtGetCalcToolDirFromAngles(dR1, dR2, m_vtToolP1) Then Return
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
@@ -265,8 +250,10 @@ Public Class SingleDrillUC
|
|||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
m_ptTipP1.ToLoc(New Frame3d(m_ptTabOri))
|
||||||
m_bPointP1Ok = True
|
m_bPointP1Ok = True
|
||||||
|
' Ricavo dati lama corrente
|
||||||
|
Dim sDrill As String = m_sCurrDrill
|
||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
If Not EgtSetCalcTool(sDrill, "H1", 2) Then Return
|
If Not EgtSetCalcTool(sDrill, "H1", 1) Then Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Disegno il taglio
|
' Disegno il taglio
|
||||||
@@ -384,10 +371,8 @@ Public Class SingleDrillUC
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
@@ -446,9 +431,9 @@ Public Class SingleDrillUC
|
|||||||
ptIns.z = dRawHeight
|
ptIns.z = dRawHeight
|
||||||
' Inserisco il pezzo nel grezzo
|
' Inserisco il pezzo nel grezzo
|
||||||
EgtAddPartToRawPart(nPartId, ptIns, m_MainWindow.m_CurrentProjectPageUC.m_nRawId)
|
EgtAddPartToRawPart(nPartId, ptIns, m_MainWindow.m_CurrentProjectPageUC.m_nRawId)
|
||||||
EgtSetCurrPhase(1)
|
|
||||||
' Inserisco la lavorazione
|
' Inserisco la lavorazione
|
||||||
m_bCutOk = AddMachinings(nPartId) AndAlso UpdateAllMachiningsToolpaths()
|
m_bCutOk = AddMachinings(nPartId) AndAlso UpdateAllMachiningsToolpaths()
|
||||||
|
EgtSetCurrPhase(1)
|
||||||
' Eventuale eliminazione Home finale
|
' Eventuale eliminazione Home finale
|
||||||
If Not m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome Then
|
If Not m_MainWindow.m_CurrentMachine.bDirectCutsFinalHome Then
|
||||||
RemoveFinalHome()
|
RemoveFinalHome()
|
||||||
|
|||||||
@@ -287,10 +287,8 @@ Public Class SquaringUC
|
|||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
Dim sNameProg As Integer = 900
|
|
||||||
sNameProg = GetPrivateProfileInt(S_PARTPROGRAM, "NameProg", sNameProg, m_MainWindow.GetMachIniFile)
|
|
||||||
' Download programma (eventuali errori sono segnalati dalla funzione)
|
' Download programma (eventuali errori sono segnalati dalla funzione)
|
||||||
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, sNameProg) Then
|
If m_MainWindow.m_CNCommunication.SendProgram(sCncPath, 900) Then
|
||||||
' copio il progetto corrente come progetto in lavorazione
|
' copio il progetto corrente come progetto in lavorazione
|
||||||
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
Dim sWrkPath As String = m_MainWindow.GetTempDir() & "\" & "WorkProj.nge"
|
||||||
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
My.Computer.FileSystem.CopyFile(sMchPath, sWrkPath, True)
|
||||||
|
|||||||
@@ -22,9 +22,6 @@ Public Class VacuumMachineButtonUC
|
|||||||
Friend m_CN As CN_generico
|
Friend m_CN As CN_generico
|
||||||
Private m_bFirst As Boolean = True
|
Private m_bFirst As Boolean = True
|
||||||
|
|
||||||
' visualizzo l'elenco degli elementi della pagina sono al primo avvio
|
|
||||||
Friend m_OutLogTypeButton As Boolean = True
|
|
||||||
|
|
||||||
' Creazione converter da String a ImageSource
|
' Creazione converter da String a ImageSource
|
||||||
Dim ImageConverter As New ImageSourceConverter
|
Dim ImageConverter As New ImageSourceConverter
|
||||||
|
|
||||||
@@ -74,37 +71,10 @@ Public Class VacuumMachineButtonUC
|
|||||||
If Not IsNothing(ButtonToAdd) Then m_ButtonList.Add(ButtonToAdd)
|
If Not IsNothing(ButtonToAdd) Then m_ButtonList.Add(ButtonToAdd)
|
||||||
End If
|
End If
|
||||||
End While
|
End While
|
||||||
|
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
|
||||||
OutLogTypeButton(MachineButton)
|
|
||||||
Next
|
|
||||||
m_OutLogTypeButton = False
|
|
||||||
|
|
||||||
NotifyPropertyChanged("ButtonList")
|
NotifyPropertyChanged("ButtonList")
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#Region "STATE CHANGED"
|
|
||||||
' ------------------------------------------------------------------------------
|
|
||||||
' i segeunti metodi notificano il cambiamento di stato di specifici bottoni
|
|
||||||
'-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Friend Sub OutLogTypeButton(CurrMachineButton As MachineButton)
|
|
||||||
If Not m_OutLogTypeButton Then Return
|
|
||||||
Dim BtnType As Type = CurrMachineButton.GetType
|
|
||||||
If BtnType Is GetType(NoStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(0) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(TwoStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(1) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(ThreeStateButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(2) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(DoubleCommandButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(3) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
ElseIf BtnType Is GetType(PressedCommandButton) Then
|
|
||||||
EgtOutLog(" ► " & BtnType.ToString.Replace("OmagCUT.", "(4) ") & " , " & CurrMachineButton.StateFlag)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Friend Sub VacuumUpChanged(VacuumUpState As Boolean)
|
Friend Sub VacuumUpChanged(VacuumUpState As Boolean)
|
||||||
Dim VacuumUpButton As TwoStateButton = Nothing
|
Dim VacuumUpButton As TwoStateButton = Nothing
|
||||||
For Each MachineButton As MachineButton In m_ButtonList
|
For Each MachineButton As MachineButton In m_ButtonList
|
||||||
@@ -401,8 +371,6 @@ Public Class VacuumMachineButtonUC
|
|||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#End Region ' State Range
|
|
||||||
|
|
||||||
Public Function GetPrivateProfileMachineButtons(
|
Public Function GetPrivateProfileMachineButtons(
|
||||||
ByVal lpAppName As String,
|
ByVal lpAppName As String,
|
||||||
ByVal lpKeyName As String,
|
ByVal lpKeyName As String,
|
||||||
|
|||||||
@@ -618,6 +618,10 @@ Public Class DrawPageUC
|
|||||||
MakePreview(sMsg)
|
MakePreview(sMsg)
|
||||||
MessageTxBl.Text = sMsg
|
MessageTxBl.Text = sMsg
|
||||||
MessageGrid.Background = If(m_bDrawOk, Brushes.Transparent, Application.Current.FindResource("OmagCut_Red"))
|
MessageGrid.Background = If(m_bDrawOk, Brushes.Transparent, Application.Current.FindResource("OmagCut_Red"))
|
||||||
|
|
||||||
|
' EseguoUpdate del solido
|
||||||
|
Utility.CreateSolid3D(m_MainWindow.GetIniFile())
|
||||||
|
|
||||||
' aggiorno visualizzazione
|
' aggiorno visualizzazione
|
||||||
EgtSetView(VT.TOP, False)
|
EgtSetView(VT.TOP, False)
|
||||||
EgtZoom(ZM.ALL)
|
EgtZoom(ZM.ALL)
|
||||||
@@ -627,7 +631,8 @@ Public Class DrawPageUC
|
|||||||
' Costruisco path completa del componente
|
' Costruisco path completa del componente
|
||||||
Dim sPath = m_sCompoDir & "\" & m_sCompoName
|
Dim sPath = m_sCompoDir & "\" & m_sCompoName
|
||||||
' Carico il file
|
' Carico il file
|
||||||
Return EgtLuaExecFile(sPath)
|
Dim bOk As Boolean = EgtLuaExecFile(sPath)
|
||||||
|
Return bOk
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function ReadAndShowVariables() As Boolean
|
Private Function ReadAndShowVariables() As Boolean
|
||||||
@@ -1138,7 +1143,7 @@ Public Class DrawPageUC
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function MakeSectionFrameInsert(ByVal nNbr As Integer) As Boolean
|
Private Function MakeSectionFrameInsert() As Boolean
|
||||||
' m_MainWindow.m_ImportPageUC.LoadFrame()
|
' m_MainWindow.m_ImportPageUC.LoadFrame()
|
||||||
' recupero il primo layer del primo pezzo
|
' recupero il primo layer del primo pezzo
|
||||||
Dim nLayerId As Integer = EgtGetFirstLayer(EgtGetFirstPart())
|
Dim nLayerId As Integer = EgtGetFirstLayer(EgtGetFirstPart())
|
||||||
@@ -1150,8 +1155,6 @@ Public Class DrawPageUC
|
|||||||
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
|
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
|
||||||
' Inserisco il pezzo
|
' Inserisco il pezzo
|
||||||
If Not My.Computer.FileSystem.FileExists(sTmpFile) Then Return False
|
If Not My.Computer.FileSystem.FileExists(sTmpFile) Then Return False
|
||||||
' eseguo inserimento
|
|
||||||
For i As Integer = 1 To nNbr
|
|
||||||
EgtInsertFile(sTmpFile)
|
EgtInsertFile(sTmpFile)
|
||||||
' Ne recupero l'Id
|
' Ne recupero l'Id
|
||||||
Dim nPartId As Integer = EgtGetLastPart()
|
Dim nPartId As Integer = EgtGetLastPart()
|
||||||
@@ -1159,7 +1162,6 @@ Public Class DrawPageUC
|
|||||||
m_MainWindow.m_FrameCutPageUC.CreateFrame(nPartId)
|
m_MainWindow.m_FrameCutPageUC.CreateFrame(nPartId)
|
||||||
' Ricalcolo lavorazioni
|
' Ricalcolo lavorazioni
|
||||||
AddFrameMachinings(m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dStartTrim, m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dEndTrim)
|
AddFrameMachinings(m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dStartTrim, m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dEndTrim)
|
||||||
Next
|
|
||||||
' Cancello il file
|
' Cancello il file
|
||||||
My.Computer.FileSystem.DeleteFile(sTmpFile)
|
My.Computer.FileSystem.DeleteFile(sTmpFile)
|
||||||
Return True
|
Return True
|
||||||
@@ -1181,16 +1183,11 @@ Public Class DrawPageUC
|
|||||||
' Passo al contesto principale
|
' Passo al contesto principale
|
||||||
'MakeInsert(InsNbr, sPartName)
|
'MakeInsert(InsNbr, sPartName)
|
||||||
If m_MainWindow.FrameCutBtn.IsChecked Then
|
If m_MainWindow.FrameCutBtn.IsChecked Then
|
||||||
MakeSectionFrameInsert(InsNbr)
|
MakeSectionFrameInsert()
|
||||||
Else
|
Else
|
||||||
MakeMultipleInsert(InsNbr, sPartName)
|
MakeMultipleInsert(InsNbr, sPartName)
|
||||||
End If
|
End If
|
||||||
Dim bExitPage As Boolean = GetPrivateProfileInt(S_GENERAL, K_QUITDRAWPAGE, 1, m_MainWindow.GetIniFile) <> 0
|
|
||||||
' Se Shift premuto eseguo il contrario
|
|
||||||
If Keyboard.Modifiers And ModifierKeys.Shift Then
|
|
||||||
bExitPage = Not bExitPage
|
|
||||||
End If
|
|
||||||
If bExitPage Then
|
|
||||||
' Aggiorno ambiente principale
|
' Aggiorno ambiente principale
|
||||||
EgtZoom(ZM.ALL)
|
EgtZoom(ZM.ALL)
|
||||||
' Elimino nome del componente precedente
|
' Elimino nome del componente precedente
|
||||||
@@ -1205,20 +1202,7 @@ Public Class DrawPageUC
|
|||||||
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_DrawPageUC)
|
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_DrawPageUC)
|
||||||
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_CurrentProjectPageUC)
|
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_CurrentProjectPageUC)
|
||||||
m_MainWindow.m_ActivePage = If(m_MainWindow.FrameCutBtn.IsChecked, MainWindow.Pages.FrameCut, MainWindow.Pages.CadCut)
|
m_MainWindow.m_ActivePage = If(m_MainWindow.FrameCutBtn.IsChecked, MainWindow.Pages.FrameCut, MainWindow.Pages.CadCut)
|
||||||
Else
|
|
||||||
m_SceneButtons.MeasureBtn.IsChecked = False
|
|
||||||
DrawPage_Unloaded(sender, e)
|
|
||||||
' Elimino nome del componente precedente
|
|
||||||
m_sCompoName = String.Empty
|
|
||||||
' Reset inclinazioni
|
|
||||||
m_SideAngleUC.DeleteSideAngle()
|
|
||||||
If String.IsNullOrEmpty(m_MainComponentPage.m_SecondaryComponentPage.m_sCurrCompo) Then
|
|
||||||
DrawPage_Loaded(sender, e)
|
|
||||||
Else
|
|
||||||
LoadSecondaryPage()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' esco dalla pagina corrente
|
' esco dalla pagina corrente
|
||||||
@@ -1510,39 +1494,17 @@ Public Class DrawPageUC
|
|||||||
' Seleziono la Tab e la Page di apertura
|
' Seleziono la Tab e la Page di apertura
|
||||||
Select Case m_ActiveComponentPage
|
Select Case m_ActiveComponentPage
|
||||||
Case Pages.MainComponent
|
Case Pages.MainComponent
|
||||||
LeftButtonGrd.Children.Remove(m_MainComponentPage)
|
LeftButtonGrd.Children.Remove( m_MainComponentPage)
|
||||||
|
|
||||||
Case Pages.SecondaryComponent
|
Case Pages.SecondaryComponent
|
||||||
LeftButtonGrd.Children.Remove(m_MainComponentPage.m_SecondaryComponentPage)
|
LeftButtonGrd.Children.Remove( m_MainComponentPage.m_SecondaryComponentPage)
|
||||||
|
|
||||||
Case Pages.InternalComponent
|
Case Pages.InternalComponent
|
||||||
LeftButtonGrd.Children.Remove(m_MainWindow.m_DrawPageUC.m_CompoDimension.m_InternalCompoPage)
|
LeftButtonGrd.Children.Remove( m_MainWindow.m_DrawPageUC.m_CompoDimension.m_InternalCompoPage)
|
||||||
|
|
||||||
Case Pages.CompoDimension
|
Case Pages.CompoDimension
|
||||||
VariablesGrd.Children.Remove(m_CompoDimension)
|
VariablesGrd.Children.Remove( m_CompoDimension)
|
||||||
|
|
||||||
Case Pages.SideAngle
|
Case Pages.SideAngle
|
||||||
Select Case m_SideAngleUC.m_Mode
|
VariablesGrd.Children.Remove( m_SideAngleUC)
|
||||||
Case SideAngleUC.ModeOpt.SIDEANGLE
|
|
||||||
SideAngleBtn.IsChecked = False
|
|
||||||
SideAngleBtn_Click(Nothing, Nothing)
|
|
||||||
Case SideAngleUC.ModeOpt.ENGRAVE
|
|
||||||
EngraveBtn.IsChecked = False
|
|
||||||
EngraveBtn_Click(Nothing, Nothing)
|
|
||||||
Case SideAngleUC.ModeOpt.DRIP
|
|
||||||
DripCutBtn.IsChecked = False
|
|
||||||
DripCutBtn_Click(Nothing, Nothing)
|
|
||||||
End Select
|
|
||||||
VariablesGrd.Children.Remove(m_SideAngleUC)
|
|
||||||
|
|
||||||
Case Pages.FiloTop
|
Case Pages.FiloTop
|
||||||
FiloTopBtn.IsChecked = False
|
|
||||||
FiloTopBtn_Click(Nothing, Nothing)
|
|
||||||
VariablesGrd.Children.Remove(m_FiloTopUC)
|
VariablesGrd.Children.Remove(m_FiloTopUC)
|
||||||
|
|
||||||
Case Pages.AlzFront
|
|
||||||
LeftButtonGrd.Children.Remove(m_CompoDimension.m_AlzFrontPage)
|
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
' Pulisco l'ambiente lua
|
' Pulisco l'ambiente lua
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
Public Class FiloTopUC
|
Public Class FiloTopUC
|
||||||
|
|
||||||
@@ -109,6 +110,9 @@ Public Class FiloTopUC
|
|||||||
End While
|
End While
|
||||||
nPartId = EgtGetNextPart(nPartId)
|
nPartId = EgtGetNextPart(nPartId)
|
||||||
End While
|
End While
|
||||||
|
|
||||||
|
Utility.CreateSolid3D(m_MainWindow.GetIniFile())
|
||||||
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Parameter3ChBx_Checked() Handles Parameter3ChBx.Click
|
Private Sub Parameter3ChBx_Checked() Handles Parameter3ChBx.Click
|
||||||
@@ -215,16 +219,17 @@ Public Class FiloTopUC
|
|||||||
EgtErase(nLayFiloTop)
|
EgtErase(nLayFiloTop)
|
||||||
EgtRemoveInfo(nLayId, "FiloTopRef")
|
EgtRemoveInfo(nLayId, "FiloTopRef")
|
||||||
EgtOutLog("Error in generation OffsetPreView in TopEgde ")
|
EgtOutLog("Error in generation OffsetPreView in TopEgde ")
|
||||||
Else
|
|
||||||
m_MainWindow.m_DrawPageUC.MessageTxBx.Text = ""
|
|
||||||
m_MainWindow.m_DrawPageUC.MessageBrd.Background = Brushes.Transparent
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If bOk Then Utility.CreateSolid3D(m_MainWindow.GetIniFile())
|
||||||
|
|
||||||
' ---------------------- Fine GESTIONE PREVIEW percorso -------------------------------
|
' ---------------------- Fine GESTIONE PREVIEW percorso -------------------------------
|
||||||
End If
|
End If
|
||||||
nLayId = EgtGetNextLayer(nLayId)
|
nLayId = EgtGetNextLayer(nLayId)
|
||||||
End While
|
End While
|
||||||
nPartId = EgtGetNextPart(nPartId)
|
nPartId = EgtGetNextPart(nPartId)
|
||||||
End While
|
End While
|
||||||
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|||||||
@@ -37,8 +37,6 @@
|
|||||||
<ToggleButton Name="FiloTopBtn" Grid.Column="1"
|
<ToggleButton Name="FiloTopBtn" Grid.Column="1"
|
||||||
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
||||||
<ToggleButton Name="DripCutBtn" Grid.Column="2" Padding="0"
|
<ToggleButton Name="DripCutBtn" Grid.Column="2" Padding="0"
|
||||||
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
|
||||||
<ToggleButton Name="EngraveBtn" Grid.Column="2"
|
|
||||||
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
||||||
<ToggleButton Name="DripDrillBtn" Grid.Column="3" Padding="0"
|
<ToggleButton Name="DripDrillBtn" Grid.Column="3" Padding="0"
|
||||||
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
Style="{DynamicResource OmagCut_RightGrayYellowTextToggleButton}"/>
|
||||||
@@ -60,7 +58,7 @@
|
|||||||
<ListBox Name="FileListBox" Grid.Row="1" Grid.RowSpan="2" ItemTemplate="{DynamicResource DataTemplateItem}"
|
<ListBox Name="FileListBox" Grid.Row="1" Grid.RowSpan="2" ItemTemplate="{DynamicResource DataTemplateItem}"
|
||||||
ItemsSource="{Binding ItemList}"/>
|
ItemsSource="{Binding ItemList}"/>
|
||||||
|
|
||||||
<Grid Name="FinderGrd" Grid.Row="3" Margin="0,0,8,0">
|
<Grid Grid.Row="3" Margin="0,0,8,0">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="4*"/>
|
<ColumnDefinition Width="4*"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
|
|||||||
@@ -19,9 +19,6 @@ Public Class ImportPageUC
|
|||||||
Friend WithEvents ImportScene As New Scene
|
Friend WithEvents ImportScene As New Scene
|
||||||
Private ImportSceneHost As New System.Windows.Forms.Integration.WindowsFormsHost
|
Private ImportSceneHost As New System.Windows.Forms.Integration.WindowsFormsHost
|
||||||
|
|
||||||
Private m_SelListHole As New List(Of Integer)
|
|
||||||
Private m_DeselectListHole As New List(Of Integer)
|
|
||||||
|
|
||||||
' Properties
|
' Properties
|
||||||
Private m_sCurrDir As String = String.Empty
|
Private m_sCurrDir As String = String.Empty
|
||||||
Private m_sCurrFile As String = String.Empty
|
Private m_sCurrFile As String = String.Empty
|
||||||
@@ -88,7 +85,6 @@ Public Class ImportPageUC
|
|||||||
SideAngleBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 7) 'Inclina lati
|
SideAngleBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 7) 'Inclina lati
|
||||||
FiloTopBtn.Content = EgtMsg( 90400) 'Filo Top
|
FiloTopBtn.Content = EgtMsg( 90400) 'Filo Top
|
||||||
DripCutBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 8) 'Incidi da sotto
|
DripCutBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 8) 'Incidi da sotto
|
||||||
EngraveBtn.Content = "Engrave"
|
|
||||||
DripDrillBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 14) 'Foro da sotto
|
DripDrillBtn.Content = EgtMsg(MSG_IMPORTPAGEUC + 14) 'Foro da sotto
|
||||||
Cad2dBtn.Content = "Cad 2d"
|
Cad2dBtn.Content = "Cad 2d"
|
||||||
|
|
||||||
@@ -105,8 +101,6 @@ Public Class ImportPageUC
|
|||||||
' abilitazione Ordine e Distinta per importazione DXF
|
' abilitazione Ordine e Distinta per importazione DXF
|
||||||
m_bEnableOrderList = (m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut And
|
m_bEnableOrderList = (m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut And
|
||||||
GetPrivateProfileInt(S_COMPO, K_CSVDATA, 0, m_MainWindow.GetIniFile()) <> 0)
|
GetPrivateProfileInt(S_COMPO, K_CSVDATA, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
' rendo visibilie il pulsante di ricerca file
|
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
|
|
||||||
If m_bFirst Then
|
If m_bFirst Then
|
||||||
' imposto colore di default
|
' imposto colore di default
|
||||||
@@ -164,10 +158,6 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
' Pulisco tutto
|
' Pulisco tutto
|
||||||
ClearView()
|
ClearView()
|
||||||
' Definizione di quale comando deve essere visualizzato
|
|
||||||
DripCutBtn.Visibility = If(String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw), Visibility.Hidden, Visibility.Visible)
|
|
||||||
EngraveBtn.Visibility = If(DripCutBtn.Visibility <> Visibility.Visible, Visibility.Visible, Visibility.Hidden)
|
|
||||||
|
|
||||||
FileListBox.UnselectAll()
|
FileListBox.UnselectAll()
|
||||||
' inibisco selezione diretta da Scene
|
' inibisco selezione diretta da Scene
|
||||||
ImportScene.SetStatusNull()
|
ImportScene.SetStatusNull()
|
||||||
@@ -206,6 +196,7 @@ Public Class ImportPageUC
|
|||||||
PartNumTxBx.Text = "1"
|
PartNumTxBx.Text = "1"
|
||||||
' disabilito ok
|
' disabilito ok
|
||||||
OkBtn.IsEnabled = False
|
OkBtn.IsEnabled = False
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LoadGridData()
|
Private Sub LoadGridData()
|
||||||
@@ -348,12 +339,7 @@ Public Class ImportPageUC
|
|||||||
ResetBtn.IsEnabled = False
|
ResetBtn.IsEnabled = False
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
' Evito di settare le proprietà di oggeti che sono con visibilità Hidden
|
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
@@ -371,10 +357,6 @@ Public Class ImportPageUC
|
|||||||
Dim dScale As Double = If(m_bMM, ONEMM, ONEINCH)
|
Dim dScale As Double = If(m_bMM, ONEMM, ONEINCH)
|
||||||
' Importo file DXF
|
' Importo file DXF
|
||||||
bOk = bOk AndAlso EgtImportDxf(sPath, dScale)
|
bOk = bOk AndAlso EgtImportDxf(sPath, dScale)
|
||||||
' riporto al piano tutte le superifici
|
|
||||||
EgtSelectAll()
|
|
||||||
EgtScale(GDB_ID.SEL, Frame3d.GLOB, 1, 1, 0)
|
|
||||||
EgtDeselectAll()
|
|
||||||
ElseIf m_nFileType = FT.NGE Then
|
ElseIf m_nFileType = FT.NGE Then
|
||||||
' Carico Nge
|
' Carico Nge
|
||||||
bOk = bOk AndAlso EgtOpenFile(sPath)
|
bOk = bOk AndAlso EgtOpenFile(sPath)
|
||||||
@@ -414,11 +396,7 @@ Public Class ImportPageUC
|
|||||||
OkBtn.IsEnabled = False
|
OkBtn.IsEnabled = False
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
ElseIf m_nFileType = FT_TRF Or m_nFileType = FT_CUT Then
|
ElseIf m_nFileType = FT_TRF Or m_nFileType = FT_CUT Then
|
||||||
' abilito bottone Insert, disabilito bottoni UseLayer, UseClosedCurve, UseRegion e Reset
|
' abilito bottone Insert, disabilito bottoni UseLayer, UseClosedCurve, UseRegion e Reset
|
||||||
@@ -434,11 +412,7 @@ Public Class ImportPageUC
|
|||||||
OkBtn.IsEnabled = True
|
OkBtn.IsEnabled = True
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
End If
|
End If
|
||||||
' altrimenti import per cornici
|
' altrimenti import per cornici
|
||||||
@@ -451,10 +425,10 @@ Public Class ImportPageUC
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ImportScene.OnMouseDownScene
|
Private Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ImportScene.OnMouseDownScene
|
||||||
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Or EngraveBtn.IsChecked Then
|
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Then
|
||||||
OnMouseDownSceneSideAngle(e)
|
OnMouseDownSceneSideAngle( e)
|
||||||
ElseIf DripDrillBtn.IsChecked() Then
|
ElseIf DripDrillBtn.IsChecked() Then
|
||||||
OnMouseDownSceneUnderDrill(e)
|
OnMouseDownSceneUnderDrill( e)
|
||||||
ElseIf FiloTopBtn.IsChecked() Then
|
ElseIf FiloTopBtn.IsChecked() Then
|
||||||
OnMouseDownSceneFiloTop( e)
|
OnMouseDownSceneFiloTop( e)
|
||||||
End If
|
End If
|
||||||
@@ -595,8 +569,6 @@ Public Class ImportPageUC
|
|||||||
EgtSetColor(nEntId, New Color3d(127, 63, 0))
|
EgtSetColor(nEntId, New Color3d(127, 63, 0))
|
||||||
nEntId = EgtGetNext( nEntId)
|
nEntId = EgtGetNext( nEntId)
|
||||||
End While
|
End While
|
||||||
m_DeselectListHole.Add(nLayId)
|
|
||||||
m_SelListHole.Remove(nLayId)
|
|
||||||
End If
|
End If
|
||||||
Else
|
Else
|
||||||
Dim nLayId As Integer = GDB_ID.NULL
|
Dim nLayId As Integer = GDB_ID.NULL
|
||||||
@@ -613,8 +585,6 @@ Public Class ImportPageUC
|
|||||||
EgtSetColor(nEntId, New Color3d(255, 255, 255))
|
EgtSetColor(nEntId, New Color3d(255, 255, 255))
|
||||||
nEntId = EgtGetNext( nEntId)
|
nEntId = EgtGetNext( nEntId)
|
||||||
End While
|
End While
|
||||||
m_SelListHole.Add(nLayId)
|
|
||||||
m_DeselectListHole.Remove(nLayId)
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -622,12 +592,6 @@ Public Class ImportPageUC
|
|||||||
End If
|
End If
|
||||||
nId = EgtGetNextObjInSelWin()
|
nId = EgtGetNextObjInSelWin()
|
||||||
End While
|
End While
|
||||||
m_FiloTopUC.CreateFiloTopPreView(m_SelListHole)
|
|
||||||
m_FiloTopUC.EraseFiloTopPreview(m_DeselectListHole)
|
|
||||||
If m_SelListHole.Count > 0 Then
|
|
||||||
MessageTxBx.Text = ""
|
|
||||||
MessageBrd.Background = Brushes.Transparent
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnShowDistanceVector(sender As Object, vtDist As Vector3d) Handles ImportScene.OnShowDistanceVector
|
Private Sub OnShowDistanceVector(sender As Object, vtDist As Vector3d) Handles ImportScene.OnShowDistanceVector
|
||||||
@@ -637,7 +601,7 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
Private Sub SelectedPartChanged()
|
Private Sub SelectedPartChanged()
|
||||||
' Se sono in modalità inclinazioni o gocciolatoio calcolo lati inclinabili e creo testi
|
' Se sono in modalità inclinazioni o gocciolatoio calcolo lati inclinabili e creo testi
|
||||||
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Or EngraveBtn.IsChecked() Then
|
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Then
|
||||||
m_SideAngleUC.ReLoadSideAnglePage()
|
m_SideAngleUC.ReLoadSideAnglePage()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
@@ -698,12 +662,8 @@ Public Class ImportPageUC
|
|||||||
' abilito bottone angoli su lati esterni
|
' abilito bottone angoli su lati esterni
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -734,12 +694,8 @@ Public Class ImportPageUC
|
|||||||
' abilito bottone angoli su lati esterni
|
' abilito bottone angoli su lati esterni
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -770,12 +726,8 @@ Public Class ImportPageUC
|
|||||||
' abilito bottone angoli su lati esterni
|
' abilito bottone angoli su lati esterni
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1059,14 +1011,12 @@ Public Class ImportPageUC
|
|||||||
' Salvo direttorio corrente
|
' Salvo direttorio corrente
|
||||||
WritePrivateProfileString(S_FLATPARTS, K_FLPCURRDIR, m_sCurrDir, m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_FLATPARTS, K_FLPCURRDIR, m_sCurrDir, m_MainWindow.GetIniFile())
|
||||||
' Tolgo pagina inclinazioni/gocciolatoi se attiva
|
' Tolgo pagina inclinazioni/gocciolatoi se attiva
|
||||||
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Or EngraveBtn.IsChecked() Then
|
If SideAngleBtn.IsChecked() Or DripCutBtn.IsChecked() Then
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
||||||
FileListBox.Visibility = Windows.Visibility.Visible
|
FileListBox.Visibility = Windows.Visibility.Visible
|
||||||
LeftGrid.Children.Remove(m_SideAngleUC)
|
LeftGrid.Children.Remove(m_SideAngleUC)
|
||||||
If SideAngleBtn.IsChecked() Then
|
If SideAngleBtn.IsChecked() Then
|
||||||
SideAngleBtn.IsChecked = False
|
SideAngleBtn.IsChecked = False
|
||||||
ElseIf EngraveBtn.IsChecked() Then
|
|
||||||
EngraveBtn.IsChecked = False
|
|
||||||
Else
|
Else
|
||||||
DripCutBtn.IsChecked() = False
|
DripCutBtn.IsChecked() = False
|
||||||
End If
|
End If
|
||||||
@@ -1090,7 +1040,6 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
Private Sub SideAngleBtn_Click(sender As Object, e As RoutedEventArgs) Handles SideAngleBtn.Click
|
Private Sub SideAngleBtn_Click(sender As Object, e As RoutedEventArgs) Handles SideAngleBtn.Click
|
||||||
If SideAngleBtn.IsChecked() Then
|
If SideAngleBtn.IsChecked() Then
|
||||||
FinderGrd.Visibility = Visibility.Hidden
|
|
||||||
' Aggiungo regioni per percorsi interni
|
' Aggiungo regioni per percorsi interni
|
||||||
AdjustSelectRegions()
|
AdjustSelectRegions()
|
||||||
' Dichiaro nessuna selezione
|
' Dichiaro nessuna selezione
|
||||||
@@ -1103,11 +1052,7 @@ Public Class ImportPageUC
|
|||||||
FileListBox.Visibility = Windows.Visibility.Hidden
|
FileListBox.Visibility = Windows.Visibility.Hidden
|
||||||
' Disabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
' Disabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
mmBtn.IsEnabled = False
|
mmBtn.IsEnabled = False
|
||||||
inchBtn.IsEnabled = False
|
inchBtn.IsEnabled = False
|
||||||
@@ -1117,7 +1062,6 @@ Public Class ImportPageUC
|
|||||||
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno
|
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno
|
||||||
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
||||||
Else
|
Else
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
' Rimuovo regioni per percorsi interni
|
' Rimuovo regioni per percorsi interni
|
||||||
RemoveSelectRegions()
|
RemoveSelectRegions()
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
||||||
@@ -1129,72 +1073,8 @@ Public Class ImportPageUC
|
|||||||
EgtDeselectAll()
|
EgtDeselectAll()
|
||||||
' Riabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
' Riabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
|
||||||
mmBtn.IsEnabled = True
|
|
||||||
inchBtn.IsEnabled = True
|
|
||||||
' Elimino scritte angoli per input e inserisco quelle definitive
|
|
||||||
SideAngle.WriteSideAngleForNest(ImportScene.GetCtx())
|
|
||||||
' Riabilito bottone reset
|
|
||||||
ResetBtn.IsEnabled = True
|
|
||||||
' Pulisco area messaggi
|
|
||||||
MessageTxBx.Text = ""
|
|
||||||
MessageBrd.Background = Brushes.Transparent
|
|
||||||
End If
|
|
||||||
EgtZoom(ZM.ALL)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub EngraveBtn_Click(sender As Object, e As RoutedEventArgs) Handles EngraveBtn.Click
|
|
||||||
If EngraveBtn.IsChecked() Then
|
|
||||||
FinderGrd.Visibility = Visibility.Hidden
|
|
||||||
' Aggiungo regioni per percorsi interni
|
|
||||||
AdjustSelectRegions()
|
|
||||||
' Dichiaro nessuna selezione
|
|
||||||
m_nSelectedPart = GDB_ID.NULL
|
|
||||||
m_nSelectedLayer = GDB_ID.NULL
|
|
||||||
' Imposto modalità sideangle
|
|
||||||
m_SideAngleUC.m_Mode = SideAngleUC.ModeOpt.ENGRAVE
|
|
||||||
LeftGrid.Children.Add(m_SideAngleUC)
|
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Hidden
|
|
||||||
FileListBox.Visibility = Windows.Visibility.Hidden
|
|
||||||
' Disabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
|
||||||
SideAngleBtn.IsEnabled = False
|
|
||||||
FiloTopBtn.IsEnabled = False
|
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
|
||||||
mmBtn.IsEnabled = False
|
|
||||||
inchBtn.IsEnabled = False
|
|
||||||
' Disabilito bottone reset
|
|
||||||
ResetBtn.IsEnabled = False
|
|
||||||
' Messaggio di selezione da effettuare
|
|
||||||
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno
|
|
||||||
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
|
||||||
Else
|
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
' Rimuovo regioni per percorsi interni
|
|
||||||
RemoveSelectRegions()
|
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
|
||||||
FileListBox.Visibility = Windows.Visibility.Visible
|
|
||||||
LeftGrid.Children.Remove(m_SideAngleUC)
|
|
||||||
' Deseleziono eventuali pezzi rimasti selezionati
|
|
||||||
m_nSelectedPart = GDB_ID.NULL
|
|
||||||
m_nSelectedLayer = GDB_ID.NULL
|
|
||||||
EgtDeselectAll()
|
|
||||||
' Riabilito FiloTopBtn, DripCutBtn, DripDrillBtn e unità di misura
|
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
mmBtn.IsEnabled = True
|
mmBtn.IsEnabled = True
|
||||||
@@ -1212,7 +1092,6 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
Private Sub DripCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles DripCutBtn.Click
|
Private Sub DripCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles DripCutBtn.Click
|
||||||
If DripCutBtn.IsChecked() Then
|
If DripCutBtn.IsChecked() Then
|
||||||
FinderGrd.Visibility = Visibility.Hidden
|
|
||||||
' Dichiaro nessuna selezione
|
' Dichiaro nessuna selezione
|
||||||
m_nSelectedPart = GDB_ID.NULL
|
m_nSelectedPart = GDB_ID.NULL
|
||||||
m_nSelectedLayer = GDB_ID.NULL
|
m_nSelectedLayer = GDB_ID.NULL
|
||||||
@@ -1224,9 +1103,6 @@ Public Class ImportPageUC
|
|||||||
' Disabilito SideAngleBtn,FiloTop, DripDrillBtn e unità di misura
|
' Disabilito SideAngleBtn,FiloTop, DripDrillBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility <> Visibility.Visible Then
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
mmBtn.IsEnabled = False
|
mmBtn.IsEnabled = False
|
||||||
inchBtn.IsEnabled = False
|
inchBtn.IsEnabled = False
|
||||||
@@ -1236,7 +1112,6 @@ Public Class ImportPageUC
|
|||||||
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno
|
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno
|
||||||
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
||||||
Else
|
Else
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
||||||
FileListBox.Visibility = Windows.Visibility.Visible
|
FileListBox.Visibility = Windows.Visibility.Visible
|
||||||
LeftGrid.Children.Remove(m_SideAngleUC)
|
LeftGrid.Children.Remove(m_SideAngleUC)
|
||||||
@@ -1247,9 +1122,8 @@ Public Class ImportPageUC
|
|||||||
' Riabilito SideAngleBtn, FiloTop, DripDrillBtn e unità di misura
|
' Riabilito SideAngleBtn, FiloTop, DripDrillBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility <> Visibility.Visible Then
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
End If
|
|
||||||
mmBtn.IsEnabled = True
|
mmBtn.IsEnabled = True
|
||||||
inchBtn.IsEnabled = True
|
inchBtn.IsEnabled = True
|
||||||
' Elimino scritte angoli per input e inserisco quelle definitive
|
' Elimino scritte angoli per input e inserisco quelle definitive
|
||||||
@@ -1268,7 +1142,6 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
Private Sub DripDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles DripDrillBtn.Click
|
Private Sub DripDrillBtn_Click(sender As Object, e As RoutedEventArgs) Handles DripDrillBtn.Click
|
||||||
If DripDrillBtn.IsChecked() Then
|
If DripDrillBtn.IsChecked() Then
|
||||||
FinderGrd.Visibility = Visibility.Hidden
|
|
||||||
' Aggiungo regioni di selezione per percorsi interni
|
' Aggiungo regioni di selezione per percorsi interni
|
||||||
AdjustSelectRegions()
|
AdjustSelectRegions()
|
||||||
' Imposto modalità fori da sotto
|
' Imposto modalità fori da sotto
|
||||||
@@ -1278,11 +1151,7 @@ Public Class ImportPageUC
|
|||||||
' Disabilito SideAngleBtn, FiloTop, DripCutBtn e unità di misura
|
' Disabilito SideAngleBtn, FiloTop, DripCutBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
FiloTopBtn.IsEnabled = False
|
FiloTopBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
mmBtn.IsEnabled = False
|
mmBtn.IsEnabled = False
|
||||||
inchBtn.IsEnabled = False
|
inchBtn.IsEnabled = False
|
||||||
' Disabilito bottone reset
|
' Disabilito bottone reset
|
||||||
@@ -1291,7 +1160,6 @@ Public Class ImportPageUC
|
|||||||
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 15) ' Selezionare uno o più fori
|
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 15) ' Selezionare uno o più fori
|
||||||
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
||||||
Else
|
Else
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
' Rimuovo regioni per percorsi interni
|
' Rimuovo regioni per percorsi interni
|
||||||
RemoveSelectRegions()
|
RemoveSelectRegions()
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
||||||
@@ -1304,12 +1172,8 @@ Public Class ImportPageUC
|
|||||||
' Riabilito SideAngleBtn, FiloTop, DripCutBtn e unità di misura
|
' Riabilito SideAngleBtn, FiloTop, DripCutBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
FiloTopBtn.IsEnabled = m_MainWindow.m_CurrentMachine.bMilling
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
mmBtn.IsEnabled = True
|
mmBtn.IsEnabled = True
|
||||||
inchBtn.IsEnabled = True
|
inchBtn.IsEnabled = True
|
||||||
' Riabilito bottone reset
|
' Riabilito bottone reset
|
||||||
@@ -1323,7 +1187,6 @@ Public Class ImportPageUC
|
|||||||
|
|
||||||
Private Sub FiloTopBtn_Click(sender As Object, e As RoutedEventArgs) Handles FiloTopBtn.Click
|
Private Sub FiloTopBtn_Click(sender As Object, e As RoutedEventArgs) Handles FiloTopBtn.Click
|
||||||
If FiloTopBtn.IsChecked() Then
|
If FiloTopBtn.IsChecked() Then
|
||||||
FinderGrd.Visibility = Visibility.Hidden
|
|
||||||
' Aggiungo regioni per percorsi interni
|
' Aggiungo regioni per percorsi interni
|
||||||
AdjustSelectRegions()
|
AdjustSelectRegions()
|
||||||
' Dichiaro nessuna selezione
|
' Dichiaro nessuna selezione
|
||||||
@@ -1335,11 +1198,7 @@ Public Class ImportPageUC
|
|||||||
FileListBox.Visibility = Windows.Visibility.Hidden
|
FileListBox.Visibility = Windows.Visibility.Hidden
|
||||||
' Disabilito SideAngleBtn, DripCutBtn, DripDrillBtn e unità di misura
|
' Disabilito SideAngleBtn, DripCutBtn, DripDrillBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = False
|
SideAngleBtn.IsEnabled = False
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = False
|
DripCutBtn.IsEnabled = False
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = False
|
DripDrillBtn.IsEnabled = False
|
||||||
mmBtn.IsEnabled = False
|
mmBtn.IsEnabled = False
|
||||||
inchBtn.IsEnabled = False
|
inchBtn.IsEnabled = False
|
||||||
@@ -1349,7 +1208,6 @@ Public Class ImportPageUC
|
|||||||
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno interno
|
MessageTxBx.Text = EgtMsg(MSG_DRAWPAGEUC + 6) ' Selezionare un contorno interno
|
||||||
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
MessageBrd.Background = Application.Current.FindResource("OmagCut_Green")
|
||||||
Else
|
Else
|
||||||
FinderGrd.Visibility = Visibility.Visible
|
|
||||||
' Rimuovo regioni per percorsi interni
|
' Rimuovo regioni per percorsi interni
|
||||||
RemoveSelectRegions()
|
RemoveSelectRegions()
|
||||||
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
FilePathTxBl.Visibility = Windows.Visibility.Visible
|
||||||
@@ -1361,12 +1219,8 @@ Public Class ImportPageUC
|
|||||||
EgtDeselectAll()
|
EgtDeselectAll()
|
||||||
' Riabilito SideAngleBtn, DripCutBtn, DripDrillBtn e unità di misura
|
' Riabilito SideAngleBtn, DripCutBtn, DripDrillBtn e unità di misura
|
||||||
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
SideAngleBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
||||||
If DripCutBtn.Visibility = Visibility.Visible Then
|
|
||||||
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripCutBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripSaw)
|
||||||
Else
|
|
||||||
EngraveBtn.IsEnabled = m_MainWindow.m_DrawPageUC.bEnableSideAngle
|
|
||||||
End If
|
|
||||||
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
DripDrillBtn.IsEnabled = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.UNDER_CUT) And
|
||||||
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
Not String.IsNullOrWhiteSpace(m_MainWindow.m_CurrentMachine.sCurrDripDrill)
|
||||||
mmBtn.IsEnabled = True
|
mmBtn.IsEnabled = True
|
||||||
|
|||||||
@@ -33,26 +33,10 @@ Public Class MainComponentPageUC
|
|||||||
m_bIsFirstPage = True
|
m_bIsFirstPage = True
|
||||||
LoadPage()
|
LoadPage()
|
||||||
CurrentBtn = Nothing
|
CurrentBtn = Nothing
|
||||||
If m_MainWindow.FrameCutBtn.IsChecked Then
|
|
||||||
' se il numero delle componenti è superiore a 8 allora inserisco la seconda pagina
|
|
||||||
If GetPrivateProfileInt(S_FRAMECOMPO, K_CMP_COUNT, 0, m_MainWindow.GetIniFile()) > 8 Then
|
|
||||||
OthersBackGr.Visibility = Visibility.Visible
|
|
||||||
Compo9.SetValue(Grid.ColumnProperty, 0)
|
Compo9.SetValue(Grid.ColumnProperty, 0)
|
||||||
Compo9.SetValue(Grid.ColumnSpanProperty, 2)
|
Compo9.SetValue(Grid.ColumnSpanProperty, 2)
|
||||||
ImageCompo9.Visibility = Windows.Visibility.Hidden
|
ImageCompo9.Visibility = Windows.Visibility.Hidden
|
||||||
LabelCompo9.Visibility = Windows.Visibility.Visible
|
LabelCompo9.Visibility = Windows.Visibility.Visible
|
||||||
Else
|
|
||||||
OthersBackGr.Visibility = Visibility.Hidden
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
OthersBackGr.Visibility = Visibility.Visible
|
|
||||||
Compo9.SetValue(Grid.ColumnProperty, 0)
|
|
||||||
Compo9.SetValue(Grid.ColumnSpanProperty, 2)
|
|
||||||
ImageCompo9.Visibility = Windows.Visibility.Hidden
|
|
||||||
LabelCompo9.Visibility = Windows.Visibility.Visible
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = False
|
m_MainWindow.m_DrawPageUC.SideAngleBtn.IsEnabled = False
|
||||||
m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = False
|
m_MainWindow.m_DrawPageUC.FiloTopBtn.IsEnabled = False
|
||||||
m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = False
|
m_MainWindow.m_DrawPageUC.EngraveBtn.IsEnabled = False
|
||||||
|
|||||||
@@ -171,25 +171,25 @@ Public Class SideAngleUC
|
|||||||
|
|
||||||
' Aggiorno valori
|
' Aggiorno valori
|
||||||
If m_Mode = ModeOpt.DRIP Then
|
If m_Mode = ModeOpt.DRIP Then
|
||||||
m_dDripOffset = GetPrivateProfileDouble( S_SIDES, K_DRIPOFFSET, 20, m_MainWindow.GetIniFile())
|
m_dDripOffset = GetPrivateProfileDouble(S_SIDES, K_DRIPOFFSET, 20, m_MainWindow.GetIniFile())
|
||||||
m_dDripOffset2 = GetPrivateProfileDouble( S_SIDES, K_DRIPOFFSET2, 0, m_MainWindow.GetIniFile())
|
m_dDripOffset2 = GetPrivateProfileDouble(S_SIDES, K_DRIPOFFSET2, 0, m_MainWindow.GetIniFile())
|
||||||
m_dDripDepth = GetPrivateProfileDouble( S_SIDES, K_DRIPDEPTH, 10, m_MainWindow.GetIniFile())
|
m_dDripDepth = GetPrivateProfileDouble(S_SIDES, K_DRIPDEPTH, 10, m_MainWindow.GetIniFile())
|
||||||
m_dDripShort = GetPrivateProfileDouble( S_SIDES, K_DRIPSHORT, 0, m_MainWindow.GetIniFile())
|
m_dDripShort = GetPrivateProfileDouble(S_SIDES, K_DRIPSHORT, 0, m_MainWindow.GetIniFile())
|
||||||
Parameter1TxBx.Text = LenToString( m_dDripOffset, 3)
|
Parameter1TxBx.Text = LenToString(m_dDripOffset, 3)
|
||||||
Parameter2TxBx.Text = LenToString( m_dDripOffset2, 3)
|
Parameter2TxBx.Text = LenToString(m_dDripOffset2, 3)
|
||||||
Parameter3TxBx.Text = LenToString( m_dDripDepth, 3)
|
Parameter3TxBx.Text = LenToString(m_dDripDepth, 3)
|
||||||
Parameter4TxBx.Text = LenToString( m_dDripShort, 3)
|
Parameter4TxBx.Text = LenToString(m_dDripShort, 3)
|
||||||
ElseIf m_Mode = ModeOpt.ENGRAVE Then
|
ElseIf m_Mode = ModeOpt.ENGRAVE Then
|
||||||
m_dDripOffset = GetPrivateProfileDouble( S_SIDES, K_ENGRAVEOFFSET, 20, m_MainWindow.GetIniFile())
|
m_dDripOffset = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEOFFSET, 20, m_MainWindow.GetIniFile())
|
||||||
m_nEngrNbr2 = GetPrivateProfileInt( S_SIDES, K_ENGRAVENUMBER2, 1, m_MainWindow.GetIniFile())
|
m_nEngrNbr2 = GetPrivateProfileInt(S_SIDES, K_ENGRAVENUMBER2, 1, m_MainWindow.GetIniFile())
|
||||||
m_dDripOffset2 = GetPrivateProfileDouble( S_SIDES, K_ENGRAVEOFFSET2, 0, m_MainWindow.GetIniFile())
|
m_dDripOffset2 = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEOFFSET2, 0, m_MainWindow.GetIniFile())
|
||||||
m_dDripDepth = GetPrivateProfileDouble( S_SIDES, K_ENGRAVEDEPTH, 10, m_MainWindow.GetIniFile())
|
m_dDripDepth = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEDEPTH, 10, m_MainWindow.GetIniFile())
|
||||||
m_dEngraveDepth2 = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEDEPTH2, 0, m_MainWindow.GetIniFile())
|
m_dEngraveDepth2 = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEDEPTH2, 0, m_MainWindow.GetIniFile())
|
||||||
m_dEngraveAngle = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEANGLE, 0, m_MainWindow.GetIniFile())
|
m_dEngraveAngle = GetPrivateProfileDouble(S_SIDES, K_ENGRAVEANGLE, 0, m_MainWindow.GetIniFile())
|
||||||
Parameter1TxBx.Text = LenToString(m_dDripOffset, 3)
|
Parameter1TxBx.Text = LenToString(m_dDripOffset, 3)
|
||||||
Parameter2aTxBx.Text = m_nEngrNbr2.ToString()
|
Parameter2aTxBx.Text = m_nEngrNbr2.ToString()
|
||||||
Parameter2bTxBx.Text = LenToString( m_dDripOffset2, 3)
|
Parameter2bTxBx.Text = LenToString(m_dDripOffset2, 3)
|
||||||
Parameter3TxBx.Text = LenToString( m_dDripDepth, 3)
|
Parameter3TxBx.Text = LenToString(m_dDripDepth, 3)
|
||||||
Parameter4TxBx.Text = LenToString(m_dEngraveDepth2, 3)
|
Parameter4TxBx.Text = LenToString(m_dEngraveDepth2, 3)
|
||||||
Parameter5TxBx.Text = DoubleToString(m_dEngraveAngle, 3)
|
Parameter5TxBx.Text = DoubleToString(m_dEngraveAngle, 3)
|
||||||
End If
|
End If
|
||||||
@@ -311,8 +311,8 @@ Public Class SideAngleUC
|
|||||||
' Attualmente il vaore m_nCount è inizializzato ad "1"..
|
' Attualmente il vaore m_nCount è inizializzato ad "1"..
|
||||||
' Bottoni Prev Next
|
' Bottoni Prev Next
|
||||||
If m_nCount <= MAX_LINES Then
|
If m_nCount <= MAX_LINES Then
|
||||||
PrevBtn.Visibility= Windows.Visibility.Hidden
|
PrevBtn.Visibility = Windows.Visibility.Hidden
|
||||||
NextBtn.Visibility= Windows.Visibility.Hidden
|
NextBtn.Visibility = Windows.Visibility.Hidden
|
||||||
Else
|
Else
|
||||||
Grid.SetRow(PrevBtn, MAX_LINES - m_nShow)
|
Grid.SetRow(PrevBtn, MAX_LINES - m_nShow)
|
||||||
PrevBtn.Visibility = Windows.Visibility.Visible
|
PrevBtn.Visibility = Windows.Visibility.Visible
|
||||||
@@ -495,15 +495,15 @@ Public Class SideAngleUC
|
|||||||
'-------------> Restituisce gli oggetto della grafica assegnato l'indice
|
'-------------> Restituisce gli oggetto della grafica assegnato l'indice
|
||||||
|
|
||||||
' quando esco salvo nel file l'ultima configurazione per le incisioni
|
' quando esco salvo nel file l'ultima configurazione per le incisioni
|
||||||
Private Sub SideAngleUC_Unloaded( sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
Private Sub SideAngleUC_Unloaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
||||||
If m_CallingPage = MainWindow.Pages.Draw Then
|
If m_CallingPage = MainWindow.Pages.Draw Then
|
||||||
' Ricavo nome pezzo
|
' Ricavo nome pezzo
|
||||||
Dim PartId As Integer = EgtGetFirstInGroup( GDB_ID.ROOT)
|
Dim PartId As Integer = EgtGetFirstInGroup(GDB_ID.ROOT)
|
||||||
' Svuoto layer in cui sono presenti i testi con le inclinazioni dei lati
|
' Svuoto layer in cui sono presenti i testi con le inclinazioni dei lati
|
||||||
If m_Mode = ModeOpt.SIDEANGLE Then
|
If m_Mode = ModeOpt.SIDEANGLE Then
|
||||||
EgtEmptyGroup( EgtGetFirstNameInGroup( PartId, SIDE_ANGLE_LAYER))
|
EgtEmptyGroup(EgtGetFirstNameInGroup(PartId, SIDE_ANGLE_LAYER))
|
||||||
Else
|
Else
|
||||||
EgtEmptyGroup( EgtGetFirstNameInGroup( PartId, SIDE_ANGLE_LAYER))
|
EgtEmptyGroup(EgtGetFirstNameInGroup(PartId, SIDE_ANGLE_LAYER))
|
||||||
End If
|
End If
|
||||||
ElseIf m_CallingPage = MainWindow.Pages.Import Then
|
ElseIf m_CallingPage = MainWindow.Pages.Import Then
|
||||||
' Nessuna azione necessaria
|
' Nessuna azione necessaria
|
||||||
@@ -516,7 +516,7 @@ Public Class SideAngleUC
|
|||||||
'WritePrivateProfileString( S_SIDES, K_DRIPSHORT, DoubleToString( m_dDripShort, 3), m_MainWindow.GetIniFile())
|
'WritePrivateProfileString( S_SIDES, K_DRIPSHORT, DoubleToString( m_dDripShort, 3), m_MainWindow.GetIniFile())
|
||||||
ElseIf m_Mode = ModeOpt.ENGRAVE Then
|
ElseIf m_Mode = ModeOpt.ENGRAVE Then
|
||||||
WritePrivateProfileString(S_SIDES, K_ENGRAVEOFFSET, LenToString(m_dDripOffset, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_SIDES, K_ENGRAVEOFFSET, LenToString(m_dDripOffset, 3), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString( S_SIDES, K_ENGRAVENUMBER2, m_nEngrNbr2.ToString(), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_SIDES, K_ENGRAVENUMBER2, m_nEngrNbr2.ToString(), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_SIDES, K_ENGRAVEOFFSET2, LenToString(m_dDripOffset2, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_SIDES, K_ENGRAVEOFFSET2, LenToString(m_dDripOffset2, 3), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_SIDES, K_ENGRAVEDEPTH, LenToString(m_dDripDepth, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_SIDES, K_ENGRAVEDEPTH, LenToString(m_dDripDepth, 3), m_MainWindow.GetIniFile())
|
||||||
WritePrivateProfileString(S_SIDES, K_ENGRAVEDEPTH2, LenToString(m_dEngraveDepth2, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_SIDES, K_ENGRAVEDEPTH2, LenToString(m_dEngraveDepth2, 3), m_MainWindow.GetIniFile())
|
||||||
@@ -579,6 +579,10 @@ Public Class SideAngleUC
|
|||||||
' Creo le geometrie dei gocciolatoi
|
' Creo le geometrie dei gocciolatoi
|
||||||
CreateDripGeom(PartId)
|
CreateDripGeom(PartId)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' se abilitato e dimensione solido da sotto: creo il solido
|
||||||
|
Utility.CreateSolid3D(m_MainWindow.GetIniFile())
|
||||||
|
|
||||||
' Aggiorno visualizzazione
|
' Aggiorno visualizzazione
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -600,7 +604,7 @@ Public Class SideAngleUC
|
|||||||
For nIndex As Integer = 1 To m_nCount
|
For nIndex As Integer = 1 To m_nCount
|
||||||
Dim Entity As DripEntity = m_DripEntityList(nIndex - 1)
|
Dim Entity As DripEntity = m_DripEntityList(nIndex - 1)
|
||||||
' Imposto check box (se sono stati definiti il numero corretto di CheckBox
|
' Imposto check box (se sono stati definiti il numero corretto di CheckBox
|
||||||
If nIndex < ( m_nCurrPage - 1) * MAX_LINES Or nIndex > m_nCurrPage * MAX_LINES Then Continue For
|
If nIndex < (m_nCurrPage - 1) * MAX_LINES Or nIndex > m_nCurrPage * MAX_LINES Then Continue For
|
||||||
Dim nChIndex As Integer = nIndex - (m_nCurrPage - 1) * MAX_LINES + MAX_LINES - m_nShow
|
Dim nChIndex As Integer = nIndex - (m_nCurrPage - 1) * MAX_LINES + MAX_LINES - m_nShow
|
||||||
' verifico se l'entità ha un gocciolatoio
|
' verifico se l'entità ha un gocciolatoio
|
||||||
GetChBxFromIndex(nChIndex).IsChecked = Entity.bHaveDrip
|
GetChBxFromIndex(nChIndex).IsChecked = Entity.bHaveDrip
|
||||||
@@ -973,15 +977,15 @@ Public Class SideAngleUC
|
|||||||
Private Sub PrevBtn_Click(sender As Object, e As RoutedEventArgs) Handles PrevBtn.Click
|
Private Sub PrevBtn_Click(sender As Object, e As RoutedEventArgs) Handles PrevBtn.Click
|
||||||
If m_nCurrPage = 1 Then Return
|
If m_nCurrPage = 1 Then Return
|
||||||
m_nCurrPage -= 1
|
m_nCurrPage -= 1
|
||||||
m_nShow = Math.Min( m_nCount - ( m_nCurrPage - 1) * MAX_LINES, MAX_LINES)
|
m_nShow = Math.Min(m_nCount - (m_nCurrPage - 1) * MAX_LINES, MAX_LINES)
|
||||||
TxBlChBxView()
|
TxBlChBxView()
|
||||||
RefreshCheckAndValue()
|
RefreshCheckAndValue()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
Private Sub NextBtn_Click(sender As Object, e As RoutedEventArgs) Handles NextBtn.Click
|
||||||
If m_nCount <= ( m_nCurrPage - 1) * MAX_LINES Then Return
|
If m_nCount <= (m_nCurrPage - 1) * MAX_LINES Then Return
|
||||||
m_nCurrPage += 1
|
m_nCurrPage += 1
|
||||||
m_nShow = Math.Min( m_nCount - ( m_nCurrPage - 1) * MAX_LINES, MAX_LINES)
|
m_nShow = Math.Min(m_nCount - (m_nCurrPage - 1) * MAX_LINES, MAX_LINES)
|
||||||
TxBlChBxView()
|
TxBlChBxView()
|
||||||
RefreshCheckAndValue()
|
RefreshCheckAndValue()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -993,7 +997,7 @@ Public Class SideAngleUC
|
|||||||
Dim bVal As Boolean = CurrCheckBox.IsChecked()
|
Dim bVal As Boolean = CurrCheckBox.IsChecked()
|
||||||
Dim SideIndex As Integer = CInt(CurrCheckBox.Name.Substring(1))
|
Dim SideIndex As Integer = CInt(CurrCheckBox.Name.Substring(1))
|
||||||
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
||||||
Dim nCurrSide As Integer = ( m_nCurrPage - 1) * MAX_LINES + SideIndex - ( MAX_LINES - m_nShow)
|
Dim nCurrSide As Integer = (m_nCurrPage - 1) * MAX_LINES + SideIndex - (MAX_LINES - m_nShow)
|
||||||
Dim sCurrSide As String = m_DripEntityList(nCurrSide - 1).sEntityName
|
Dim sCurrSide As String = m_DripEntityList(nCurrSide - 1).sEntityName
|
||||||
' aggiorno l'entità con i valori scritti nel campo di testo
|
' aggiorno l'entità con i valori scritti nel campo di testo
|
||||||
Dim CurrEntity As DripEntity = DripEntity.FindEntity(sCurrSide)
|
Dim CurrEntity As DripEntity = DripEntity.FindEntity(sCurrSide)
|
||||||
@@ -1192,7 +1196,7 @@ Public Class SideAngleUC
|
|||||||
AngleTxBx.Text = DoubleToString(dSideAngle, 2)
|
AngleTxBx.Text = DoubleToString(dSideAngle, 2)
|
||||||
End If
|
End If
|
||||||
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
||||||
Dim nCurrSide As Integer = ( m_nCurrPage - 1) * MAX_LINES + SideIndex - ( MAX_LINES - m_nShow)
|
Dim nCurrSide As Integer = (m_nCurrPage - 1) * MAX_LINES + SideIndex - (MAX_LINES - m_nShow)
|
||||||
Dim sCurrSide As String = m_SideAngleEntityList(nCurrSide - 1).sEntityName
|
Dim sCurrSide As String = m_SideAngleEntityList(nCurrSide - 1).sEntityName
|
||||||
' Lo modifico nella geometria e nella lista inclinazioni
|
' Lo modifico nella geometria e nella lista inclinazioni
|
||||||
ModifySideAngle(sCurrSide, dSideAngle)
|
ModifySideAngle(sCurrSide, dSideAngle)
|
||||||
@@ -1262,7 +1266,7 @@ Public Class SideAngleUC
|
|||||||
HeelTxBx.Text = "0"
|
HeelTxBx.Text = "0"
|
||||||
End If
|
End If
|
||||||
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
' Converto nome checkbox in nome elemento tenendo conto della pagina e dello slittamento verso il basso
|
||||||
Dim nCurrSide As Integer = ( m_nCurrPage - 1) * MAX_LINES + SideIndex - ( MAX_LINES - m_nShow)
|
Dim nCurrSide As Integer = (m_nCurrPage - 1) * MAX_LINES + SideIndex - (MAX_LINES - m_nShow)
|
||||||
Dim sCurrSide As String = m_SideAngleEntityList(nCurrSide - 1).sEntityName
|
Dim sCurrSide As String = m_SideAngleEntityList(nCurrSide - 1).sEntityName
|
||||||
' Lo modifico nella geometria e nella lista inclinazioni
|
' Lo modifico nella geometria e nella lista inclinazioni
|
||||||
ModifySideHeel(sCurrSide, dSideHeel)
|
ModifySideHeel(sCurrSide, dSideHeel)
|
||||||
|
|||||||
@@ -39,15 +39,6 @@
|
|||||||
<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}"/>
|
<Image Source="{DynamicResource RawPartImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
<Button Name="CompoBtn" Grid.Column="2" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
|
||||||
<Image Source="{DynamicResource DrawImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
<Button Name="SelSectionBtn" Grid.Column="3" Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
|
||||||
<Image Source="{DynamicResource Sezione-corniceImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
<ToggleButton Name="MachiningBtn" Grid.Column="4" Style="{DynamicResource OmagCut_RightGrayYellowIconToggleButton}">
|
<ToggleButton Name="MachiningBtn" Grid.Column="4" Style="{DynamicResource OmagCut_RightGrayYellowIconToggleButton}">
|
||||||
<Image Source="{DynamicResource FrameMachiningImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource FrameMachiningImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
@@ -72,7 +63,6 @@
|
|||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="0.8*"/>
|
<RowDefinition Height="0.8*"/>
|
||||||
<RowDefinition Height="0.8*"/>
|
<RowDefinition Height="0.8*"/>
|
||||||
<RowDefinition Height="1.7*"/>
|
<RowDefinition Height="1.7*"/>
|
||||||
@@ -88,13 +78,14 @@
|
|||||||
</ComboBox>
|
</ComboBox>
|
||||||
|
|
||||||
<UniformGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" Columns="2" >
|
<UniformGrid Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" Columns="2" >
|
||||||
<!--<Button Name="SelSectionBtn"
|
<Button Name="SelSectionBtn"
|
||||||
Style="{DynamicResource OmagCut_YellowGradientYellowIconButton}">
|
Style="{DynamicResource OmagCut_YellowGradientYellowIconButton}">
|
||||||
<Image Source="{DynamicResource Sezione-corniceImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource Sezione-corniceImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
||||||
</Button>-->
|
</Button>
|
||||||
|
|
||||||
<Grid>
|
<Grid>
|
||||||
<Button Name="SelGuideBtn" Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
<Button Name="SelGuideBtn"
|
||||||
|
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
||||||
<UniformGrid Name="ArcGrid" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" Columns="2" >
|
<UniformGrid Name="ArcGrid" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" Columns="2" >
|
||||||
<TextBlock Name="ArcRadTxBl" Grid.Row="2" Grid.ColumnSpan="2"
|
<TextBlock Name="ArcRadTxBl" Grid.Row="2" Grid.ColumnSpan="2"
|
||||||
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
|
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
|
||||||
@@ -123,12 +114,7 @@
|
|||||||
<EgtWPFLib:EgtTextBox Name="OffsYyTxBx" Grid.Column="2" Grid.Row="4" Width="50"
|
<EgtWPFLib:EgtTextBox Name="OffsYyTxBx" Grid.Column="2" Grid.Row="4" Width="50"
|
||||||
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
|
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
|
||||||
|
|
||||||
<TextBlock Name="OffsXInteryTxBl" Grid.Row="5" Grid.ColumnSpan="2"
|
<UniformGrid Grid.Column="0" Grid.Row="5" Grid.ColumnSpan="3" Columns="2" >
|
||||||
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
|
|
||||||
<EgtWPFLib:EgtTextBox Name="OffsXInteryTxBx" Grid.Column="2" Grid.Row="5" Width="50"
|
|
||||||
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>
|
|
||||||
|
|
||||||
<UniformGrid Grid.Column="0" Grid.Row="7" Grid.ColumnSpan="3" Columns="2" >
|
|
||||||
<Button Name="MirrorPartBtn"
|
<Button Name="MirrorPartBtn"
|
||||||
Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
||||||
<Image Source="{DynamicResource SpecchiaImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource SpecchiaImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
||||||
@@ -139,12 +125,12 @@
|
|||||||
</Button>
|
</Button>
|
||||||
</UniformGrid>
|
</UniformGrid>
|
||||||
|
|
||||||
<!--<UniformGrid Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3" Columns="2" >
|
<UniformGrid Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3" Columns="2" >
|
||||||
<Button Name="CompoBtn"
|
<Button Name="CompoBtn"
|
||||||
Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
Style="{DynamicResource OmagCut_RightGrayGradientYellowButton}">
|
||||||
<Image Source="{DynamicResource DrawImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource DrawImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
||||||
</Button>
|
</Button>
|
||||||
</UniformGrid>-->
|
</UniformGrid>
|
||||||
|
|
||||||
<!--<TextBlock Name="SawRoughingTxBl" Grid.Row="4" Grid.ColumnSpan="3"
|
<!--<TextBlock Name="SawRoughingTxBl" Grid.Row="4" Grid.ColumnSpan="3"
|
||||||
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
|
Style="{StaticResource OmagCut_CenteredLowerCaseCharacterTextBlock}"/>
|
||||||
|
|||||||
@@ -52,8 +52,6 @@ Public Class FrameCutPageUC
|
|||||||
OffsXyTxBx.Text = LenToString(dOffsXY, 3)
|
OffsXyTxBx.Text = LenToString(dOffsXY, 3)
|
||||||
Dim dOffsYY As Double = GetPrivateProfileDouble(S_FRAME, K_OFFSYY, 5, m_MainWindow.GetIniFile())
|
Dim dOffsYY As Double = GetPrivateProfileDouble(S_FRAME, K_OFFSYY, 5, m_MainWindow.GetIniFile())
|
||||||
OffsYyTxBx.Text = LenToString(dOffsYY, 3)
|
OffsYyTxBx.Text = LenToString(dOffsYY, 3)
|
||||||
Dim dOffsXInterY As Double = GetPrivateProfileDouble(S_FRAME, K_OFFSXINTERY, 5, m_MainWindow.GetIniFile())
|
|
||||||
OffsXInteryTxBx.Text = LenToString(dOffsXInterY, 3)
|
|
||||||
|
|
||||||
' Imposto i messaggi letti dal file dei messaggi
|
' Imposto i messaggi letti dal file dei messaggi
|
||||||
m_AlongAx.Add(EgtMsg(MSG_FRAMECUTPAGEUC + 1)) 'Lungo X
|
m_AlongAx.Add(EgtMsg(MSG_FRAMECUTPAGEUC + 1)) 'Lungo X
|
||||||
@@ -72,7 +70,6 @@ Public Class FrameCutPageUC
|
|||||||
OffsZTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 8) 'Distanza sopra
|
OffsZTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 8) 'Distanza sopra
|
||||||
OffsXyTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 9) 'Distanza inizio
|
OffsXyTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 9) 'Distanza inizio
|
||||||
OffsYyTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 22) 'Distanza Y
|
OffsYyTxBl.Text = EgtMsg(MSG_FRAMECUTPAGEUC + 22) 'Distanza Y
|
||||||
OffsXInteryTxBl.Text = EgtMsg(90645) 'Interasse
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub FrameCutPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
Private Sub FrameCutPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||||
@@ -85,11 +82,7 @@ Public Class FrameCutPageUC
|
|||||||
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Hidden
|
m_ProjectMgr.VeinMatchingBtn.Visibility = Windows.Visibility.Hidden
|
||||||
m_ProjectMgr.RegisterBtn.Visibility = Windows.Visibility.Hidden
|
m_ProjectMgr.RegisterBtn.Visibility = Windows.Visibility.Hidden
|
||||||
' Visualizzo il bottone per l'importazione dei compo frame
|
' Visualizzo il bottone per l'importazione dei compo frame
|
||||||
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.COMPOFRAME) AndAlso GetPrivateProfileInt(S_FRAMECOMPO, K_CMP_COUNT, 0, m_MainWindow.GetIniFile()) > 0 Then
|
CompoBtn.Visibility = If(GetPrivateProfileInt(S_FRAMECOMPO, K_CMP_COUNT, 0, m_MainWindow.GetIniFile()) > 0, Visibility.Visible, Visibility.Hidden)
|
||||||
CompoBtn.Visibility = Visibility.Visible
|
|
||||||
Else
|
|
||||||
CompoBtn.Visibility = Visibility.Hidden
|
|
||||||
End If
|
|
||||||
' Recupero dimensioni e kerf del grezzo
|
' Recupero dimensioni e kerf del grezzo
|
||||||
m_nRawId = EgtGetFirstRawPart()
|
m_nRawId = EgtGetFirstRawPart()
|
||||||
GetRawBox(m_RawBox)
|
GetRawBox(m_RawBox)
|
||||||
@@ -280,7 +273,7 @@ Public Class FrameCutPageUC
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OffsXXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffsZTxBx.EgtClosed, OffsXyTxBx.EgtClosed, OffsYyTxBx.EgtClosed, OffsXInteryTxBx.EgtClosed
|
Private Sub OffsXXTxBx_EgtClosed(sender As Object, e As EventArgs) Handles OffsZTxBx.EgtClosed, OffsXyTxBx.EgtClosed, OffsYyTxBx.EgtClosed
|
||||||
' Forzo aggiornamento grezzo nella pagina di Nesting
|
' Forzo aggiornamento grezzo nella pagina di Nesting
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.CalcRawPart()
|
m_MainWindow.m_CadCutPageUC.m_NestPage.CalcRawPart()
|
||||||
' Parcheggio pezzi presenti nel grezzo
|
' Parcheggio pezzi presenti nel grezzo
|
||||||
@@ -305,13 +298,9 @@ Public Class FrameCutPageUC
|
|||||||
WritePrivateProfileString(S_FRAME, K_OFFSXY, DoubleToString(dOffsXy, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_FRAME, K_OFFSXY, DoubleToString(dOffsXy, 3), m_MainWindow.GetIniFile())
|
||||||
End If
|
End If
|
||||||
Dim dOffsYy As Double = 0
|
Dim dOffsYy As Double = 0
|
||||||
If StringToLen(OffsYyTxBx.Text, dOffsYy) Then
|
If StringToLen(OffsYyTxBx.Text, dOffsYY) Then
|
||||||
WritePrivateProfileString(S_FRAME, K_OFFSYY, DoubleToString(dOffsYy, 3), m_MainWindow.GetIniFile())
|
WritePrivateProfileString(S_FRAME, K_OFFSYY, DoubleToString(dOffsYy, 3), m_MainWindow.GetIniFile())
|
||||||
End If
|
End If
|
||||||
Dim dOffsXIntery As Double = 0
|
|
||||||
If StringToLen(OffsXInteryTxBx.Text, dOffsXIntery) Then
|
|
||||||
WritePrivateProfileString(S_FRAME, K_OFFSXINTERY, DoubleToString(dOffsXIntery, 3), m_MainWindow.GetIniFile())
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub MirrorPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles MirrorPartBtn.Click
|
Private Sub MirrorPartBtn_Click(sender As Object, e As RoutedEventArgs) Handles MirrorPartBtn.Click
|
||||||
@@ -959,18 +948,12 @@ Public Class FrameCutPageUC
|
|||||||
' Determino distanza da spessore lama
|
' Determino distanza da spessore lama
|
||||||
Dim dMinDist As Double = 0
|
Dim dMinDist As Double = 0
|
||||||
Dim dSawThick As Double = 0
|
Dim dSawThick As Double = 0
|
||||||
Dim dOffsXIntery As Double = 0
|
|
||||||
StringToLen(OffsXInteryTxBx.Text, dOffsXIntery)
|
|
||||||
If EgtTdbSetCurrTool(m_MainWindow.m_CurrentMachine.sCurrSaw) AndAlso
|
If EgtTdbSetCurrTool(m_MainWindow.m_CurrentMachine.sCurrSaw) AndAlso
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dSawThick) Then
|
EgtTdbGetCurrToolParam(MCH_TP.THICK, dSawThick) Then
|
||||||
If dOffsXIntery <= dSawThick Then
|
|
||||||
dMinDist = dSawThick + 5 * EPS_SMALL
|
dMinDist = dSawThick + 5 * EPS_SMALL
|
||||||
Else
|
|
||||||
dMinDist = dOffsXIntery + 5 * EPS_SMALL
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
EgtOutLog("Not found current saw for frames mindist")
|
EgtOutLog("Not found current saw for frames mindist")
|
||||||
dMinDist = dOffsXIntery
|
dMinDist = 0
|
||||||
End If
|
End If
|
||||||
' Inserisco il pezzo nel grezzo
|
' Inserisco il pezzo nel grezzo
|
||||||
Dim ptIns As Point3d
|
Dim ptIns As Point3d
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
<Window x:Class="LicenseWindow"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:EgtWPFLib="clr-namespace:EgtWPFLib;assembly=EgtWPFLib"
|
|
||||||
FontFamily="{DynamicResource OmagCut_Font}"
|
|
||||||
Title="OpenFile" Height="500.6" Width="426.6" WindowStyle="None"
|
|
||||||
ResizeMode="NoResize" ShowInTaskbar="False" AllowsTransparency="True"
|
|
||||||
Background="Transparent">
|
|
||||||
<Border Style="{DynamicResource OmagCut_Border}">
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
<ColumnDefinition Width="4*"/>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="1.5*"/>
|
|
||||||
<RowDefinition Height="5.5*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
<RowDefinition Height="1.5*"/>
|
|
||||||
<RowDefinition Height="0.5*"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<StackPanel Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3"
|
|
||||||
Orientation="Horizontal"
|
|
||||||
HorizontalAlignment="Center">
|
|
||||||
<TextBlock Name="IconTxBl" Foreground="White" FontSize="32"
|
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Center"/>
|
|
||||||
<TextBlock Name="LicenseTxBl"
|
|
||||||
Foreground="White" FontSize="20"
|
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
||||||
TextWrapping="Wrap"/>
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
<StackPanel Grid.Column="1" Grid.Row="2" Orientation="Horizontal"
|
|
||||||
HorizontalAlignment="Center">
|
|
||||||
<ScrollViewer Name="MyScrollViewer" VerticalScrollBarVisibility="Auto">
|
|
||||||
<TextBlock Name="LicenseMsgTxBl" MaxWidth="340"
|
|
||||||
HorizontalAlignment="Center"
|
|
||||||
Foreground="{DynamicResource Omag_White}" FontSize="20" VerticalAlignment="Center"
|
|
||||||
TextWrapping="Wrap"/>
|
|
||||||
</ScrollViewer>
|
|
||||||
</StackPanel>
|
|
||||||
<Grid Grid.Column="1" Grid.Row="4">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="1*"/>
|
|
||||||
<ColumnDefinition Width="0.5*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
|
|
||||||
<Button Name="ExitBtn" Grid.Column="2" Style="{DynamicResource OmagCut_GradientBlueIconButton}" IsCancel="True">
|
|
||||||
<Image Source="{DynamicResource XImg}" Style="{StaticResource OmagCut_ButtonIcon}"/>
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</Border>
|
|
||||||
</Window>
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
Public Class LicenseWindow
|
|
||||||
|
|
||||||
Private m_sMessage As String = String.Empty
|
|
||||||
Private m_sTitle As String = String.Empty
|
|
||||||
|
|
||||||
Public Sub New(Owner As Window, sMsg As String, sTitle As String)
|
|
||||||
Me.Owner = Owner
|
|
||||||
m_sMessage = sMsg
|
|
||||||
m_sTitle = sTitle
|
|
||||||
|
|
||||||
' La chiamata è richiesta dalla finestra di progettazione.
|
|
||||||
InitializeComponent()
|
|
||||||
|
|
||||||
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub Init() Handles Me.Initialized
|
|
||||||
IconTxBl.Text = "⚠️"
|
|
||||||
LicenseTxBl.Text = "Warning" & vbCrLf & m_sTitle
|
|
||||||
m_sMessage = m_sMessage.Replace("/n", "£")
|
|
||||||
Dim sItems As String() = m_sMessage.Split("£")
|
|
||||||
For Index As Integer = 0 To sItems.Count - 1
|
|
||||||
If Index = 0 Then
|
|
||||||
m_sMessage = sItems(Index)
|
|
||||||
Else
|
|
||||||
m_sMessage &= vbCrLf & sItems(Index)
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
LicenseMsgTxBl.Text = m_sMessage
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public Sub Exit_Click() Handles ExitBtn.Click
|
|
||||||
Me.Close()
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -184,31 +184,6 @@
|
|||||||
|
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
||||||
<!--Parametri rettifica tagli sottosquadra: 1 Parametro -->
|
|
||||||
<GroupBox Name="RectificationWJParamGpBx" Style="{DynamicResource OmagCut_GroupBox}" Grid.Column="0" Grid.Row="4" Grid.ColumnSpan="2" >
|
|
||||||
<Grid Grid.Column="3" Grid.Row="2">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Grid.RowDefinitions>
|
|
||||||
<RowDefinition Height="*"/>
|
|
||||||
</Grid.RowDefinitions>
|
|
||||||
|
|
||||||
<TextBlock Name="EnableRectificationTxBl" Grid.Row="0" Grid.ColumnSpan="2"
|
|
||||||
Style="{DynamicResource OmagCut_ToolsDBTextBlock}" />
|
|
||||||
<CheckBox Name="EnableRectificationChBx" Grid.Row="0" Grid.ColumnSpan="2" Style="{StaticResource OmagCut_CheckBox_Single}"
|
|
||||||
HorizontalAlignment="Right" Margin="0,0,10,0"/>
|
|
||||||
|
|
||||||
<!--<TextBlock Name="OffsetRectificationTxBl" Grid.Row="1" Grid.Column="0"
|
|
||||||
Style="{DynamicResource OmagCut_ToolsDBTextBlock}"/>
|
|
||||||
<EgtWPFLib:EgtTextBox Name="OffsetRectificationTxBx" Grid.Row="1" Grid.Column="1" Margin="10,0,10,0"
|
|
||||||
Style="{DynamicResource OmagCut_CalculatorTextBox}"/>-->
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</GroupBox>
|
|
||||||
|
|
||||||
<!--Parametri WaterJet: 5 Parametro (se questo GroupBox attivo allora nascondo Fori/Fresatura)-->
|
<!--Parametri WaterJet: 5 Parametro (se questo GroupBox attivo allora nascondo Fori/Fresatura)-->
|
||||||
<GroupBox Name="WjsParamGpBx" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Grid.RowSpan="4"
|
<GroupBox Name="WjsParamGpBx" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2" Grid.RowSpan="4"
|
||||||
Style="{DynamicResource OmagCut_GroupBox}">
|
Style="{DynamicResource OmagCut_GroupBox}">
|
||||||
|
|||||||
@@ -97,10 +97,7 @@ Public Class AlarmsPageUC
|
|||||||
HolesOffsetWJTxBl.Text = "Offset"
|
HolesOffsetWJTxBl.Text = "Offset"
|
||||||
MinRadiusWJTxBl.Text = "Min Radius"
|
MinRadiusWJTxBl.Text = "Min Radius"
|
||||||
OneHoleInCornerWJTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 26)
|
OneHoleInCornerWJTxBl.Text = EgtMsg(MSG_ALARMSPAGEUC + 26)
|
||||||
'-- INIZIO -- nuovi parametro Rettifica tagli sottosquadra WJ
|
'-- FINE -- nuovi parametri per preforo lavello
|
||||||
REctificationWJParamGpBx.Header = "Rectification"
|
|
||||||
EnableRectificationTxBl.Text = "Enable (on subsquare angle)"
|
|
||||||
'-- FINE -- nuovi parametro Rettifica tagli sottosquadra WJ
|
|
||||||
NestingParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 31) ' Nesting
|
NestingParamGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 31) ' Nesting
|
||||||
AlignTxBl.Text = EgtMsg(90932) ' Allineato
|
AlignTxBl.Text = EgtMsg(90932) ' Allineato
|
||||||
GhigliottinaTxBl.Text = EgtMsg(91066) ' Ghigliottina
|
GhigliottinaTxBl.Text = EgtMsg(91066) ' Ghigliottina
|
||||||
@@ -178,7 +175,6 @@ Public Class AlarmsPageUC
|
|||||||
' Se non previsti tagli waterjet, disabilito relativo box
|
' Se non previsti tagli waterjet, disabilito relativo box
|
||||||
If Not m_CurrentMachine.bWaterJetting Then
|
If Not m_CurrentMachine.bWaterJetting Then
|
||||||
WjsParamGpBx.Visibility = Visibility.Hidden
|
WjsParamGpBx.Visibility = Visibility.Hidden
|
||||||
RectificationWJParamGpBx.Visibility = Visibility.Hidden
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Abilitazione box per contorni grezzo da foto
|
' Abilitazione box per contorni grezzo da foto
|
||||||
@@ -358,9 +354,7 @@ Public Class AlarmsPageUC
|
|||||||
MinRadiusWJTxBx.Text = LenToString(dVal, 2)
|
MinRadiusWJTxBx.Text = LenToString(dVal, 2)
|
||||||
OneHoleInCornerWJChBx.IsChecked =
|
OneHoleInCornerWJChBx.IsChecked =
|
||||||
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, 1, m_MainWindow.GetMachIniFile()) <> 0)
|
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, 1, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
' leggo se attiva la rettifica degli angoli per WaterJet
|
|
||||||
EnableRectificationChBx.IsChecked =
|
|
||||||
(GetPrivateProfileInt(S_MACH_NEST, K_MACH_RECTIFICATION_ON_SUBSQUARE, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
|
||||||
' Leggo accorciamento angoli con fresa
|
' Leggo accorciamento angoli con fresa
|
||||||
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, m_MainWindow.GetMachIniFile())
|
dVal = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, m_MainWindow.GetMachIniFile())
|
||||||
ShortTxBx.Text = LenToString(dVal, 2)
|
ShortTxBx.Text = LenToString(dVal, 2)
|
||||||
@@ -976,17 +970,8 @@ Public Class AlarmsPageUC
|
|||||||
WritePrivateProfileString(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, "0", m_MainWindow.GetMachIniFile())
|
WritePrivateProfileString(S_MACH_NEST, K_MACH_DRILLINGWJ_ON_CORNERS, "0", m_MainWindow.GetMachIniFile())
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
' -- FINE -- nuovi parametri per prefori WaterJet
|
|
||||||
|
|
||||||
' -- INIZIO -- nuovi parametri per Rettifica angoli in sottosquadra WaterJet
|
' -- FINE -- nuovi parametri per prefori WaterJet
|
||||||
Private Sub EnableRectificationChBx_Click(sender As Object, e As EventArgs) Handles EnableRectificationChBx.Click
|
|
||||||
If EnableRectificationChBx.IsChecked() Then
|
|
||||||
WritePrivateProfileString(S_MACH_NEST, K_MACH_RECTIFICATION_ON_SUBSQUARE, "1", m_MainWindow.GetMachIniFile)
|
|
||||||
Else
|
|
||||||
WritePrivateProfileString(S_MACH_NEST, K_MACH_RECTIFICATION_ON_SUBSQUARE, "0", m_MainWindow.GetMachIniFile)
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
' -- FINE -- nuovi parametri per Rettifica angoli in sottosquadra WaterJet
|
|
||||||
|
|
||||||
Private Sub TmEnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles TmEnableChBx.Click
|
Private Sub TmEnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles TmEnableChBx.Click
|
||||||
If TmEnableChBx.IsChecked() Then
|
If TmEnableChBx.IsChecked() Then
|
||||||
@@ -1193,7 +1178,6 @@ Public Class AlarmsPageUC
|
|||||||
Dim dToolDiam As Double = 0
|
Dim dToolDiam As Double = 0
|
||||||
Dim dToolThick As Double = 0
|
Dim dToolThick As Double = 0
|
||||||
Dim dToolLen As Double = 0
|
Dim dToolLen As Double = 0
|
||||||
Dim dCore As Double = 0
|
|
||||||
Dim sToolParam As String = String.Empty
|
Dim sToolParam As String = String.Empty
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.HEAD, sToolParam)
|
EgtTdbGetCurrToolParam(MCH_TP.HEAD, sToolParam)
|
||||||
EgtLuaSetGlobStringVar("CMD.HEAD", sToolParam)
|
EgtLuaSetGlobStringVar("CMD.HEAD", sToolParam)
|
||||||
@@ -1205,8 +1189,6 @@ Public Class AlarmsPageUC
|
|||||||
EgtLuaSetGlobNumVar("CMD.THICK", dToolThick * 1000)
|
EgtLuaSetGlobNumVar("CMD.THICK", dToolThick * 1000)
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.LEN, dToolLen)
|
EgtTdbGetCurrToolParam(MCH_TP.LEN, dToolLen)
|
||||||
EgtLuaSetGlobNumVar("CMD.LENGTH", dToolLen * 1000)
|
EgtLuaSetGlobNumVar("CMD.LENGTH", dToolLen * 1000)
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.CORE, dCore)
|
|
||||||
EgtLuaSetGlobNumVar("CMD.CORE", dCore * 1000)
|
|
||||||
' Nuova varibile per gestione tastatura utensili Frankfurt (Polishing)
|
' Nuova varibile per gestione tastatura utensili Frankfurt (Polishing)
|
||||||
Dim nType As Integer
|
Dim nType As Integer
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
|
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
|
||||||
@@ -1265,7 +1247,7 @@ Public Class AlarmsPageUC
|
|||||||
System.Threading.Thread.Sleep(300)
|
System.Threading.Thread.Sleep(300)
|
||||||
m_MainWindow.m_CNCommunication.m_CN.DGeneralFunctions_CycleStart()
|
m_MainWindow.m_CNCommunication.m_CN.DGeneralFunctions_CycleStart()
|
||||||
' Creo MsgBox di attesa
|
' Creo MsgBox di attesa
|
||||||
Dim MsgBoxStateInfo As New EgtMsgBox(m_MainWindow, String.Format(EgtMsg(MSG_DIRECTCUTPAGEUC + 41), ToolForProbing.m_ToolName), EgtMsg(MSG_DIRECTCUTPAGEUC + 42), True, EgtMsgBox.Buttons.CANCEL, EgtMsgBox.Icons.NULL)
|
Dim MsgBoxStateInfo As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_DIRECTCUTPAGEUC + 41), EgtMsg(MSG_DIRECTCUTPAGEUC + 42), True, EgtMsgBox.Buttons.CANCEL, EgtMsgBox.Icons.NULL)
|
||||||
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
||||||
' Definisco flag tastatura
|
' Definisco flag tastatura
|
||||||
Dim bProbingOk As Boolean = False
|
Dim bProbingOk As Boolean = False
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Imports System.Collections.ObjectModel
|
Imports System.Collections.ObjectModel
|
||||||
Imports EgtWPFLib5
|
Imports EgtWPFLib5
|
||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports System.IO
|
|
||||||
|
|
||||||
Public Class CurrentMachine
|
Public Class CurrentMachine
|
||||||
|
|
||||||
@@ -52,10 +51,6 @@ Public Class CurrentMachine
|
|||||||
Private m_sProdLiProbingState2Var As String = ""
|
Private m_sProdLiProbingState2Var As String = ""
|
||||||
Private m_sProdLiProbingTcPos2Var As String = ""
|
Private m_sProdLiProbingTcPos2Var As String = ""
|
||||||
Private m_sProdLiSawDiameter2Var As String = ""
|
Private m_sProdLiSawDiameter2Var As String = ""
|
||||||
Private m_sClickState As String = "E80028"
|
|
||||||
Private m_sClickDir As String = ""
|
|
||||||
' Gestione speciale per canali CN
|
|
||||||
Private m_sExtFileCN As String = ".0"
|
|
||||||
|
|
||||||
' Numero e tipo di utensili correntemente disponibili sulla macchina
|
' Numero e tipo di utensili correntemente disponibili sulla macchina
|
||||||
Private m_MountedToolConfig As MountedToolConfigs = MountedToolConfigs.SAW
|
Private m_MountedToolConfig As MountedToolConfigs = MountedToolConfigs.SAW
|
||||||
@@ -139,8 +134,6 @@ Public Class CurrentMachine
|
|||||||
Private m_dPhotoOffsetY As Double = 0
|
Private m_dPhotoOffsetY As Double = 0
|
||||||
Private m_dTab2PhotoOffsetX As Double = 0
|
Private m_dTab2PhotoOffsetX As Double = 0
|
||||||
Private m_dTab2PhotoOffsetY As Double = 0
|
Private m_dTab2PhotoOffsetY As Double = 0
|
||||||
Private m_dHQPhotoOffsetX As Double = 0
|
|
||||||
Private m_dHQPhotoOffsetY As Double = 0
|
|
||||||
|
|
||||||
' Abilitazione scelta restart
|
' Abilitazione scelta restart
|
||||||
Private m_bEnableRestart As Boolean = False
|
Private m_bEnableRestart As Boolean = False
|
||||||
@@ -201,15 +194,8 @@ Public Class CurrentMachine
|
|||||||
' Massimo numero di utensili su Tc manuale
|
' Massimo numero di utensili su Tc manuale
|
||||||
Friend MAX_TCMAN_TOOLS As Integer = 60
|
Friend MAX_TCMAN_TOOLS As Integer = 60
|
||||||
|
|
||||||
' Massima profondità lavorabile nei tagli diretti
|
|
||||||
Private m_MaxTabDepth As Double = 10.0
|
|
||||||
|
|
||||||
#Region "Proprietà che leggono e scrivono i valori anche da o su file ini"
|
#Region "Proprietà che leggono e scrivono i valori anche da o su file ini"
|
||||||
Friend ReadOnly Property MaxTabDepth As Double
|
|
||||||
Get
|
|
||||||
Return m_MaxTabDepth
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Friend ReadOnly Property sMachineName As String
|
Friend ReadOnly Property sMachineName As String
|
||||||
Get
|
Get
|
||||||
@@ -338,24 +324,6 @@ Public Class CurrentMachine
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Friend ReadOnly Property sClickState As String
|
|
||||||
Get
|
|
||||||
Return m_sClickState
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Friend ReadOnly Property sClickDir As String
|
|
||||||
Get
|
|
||||||
Return m_sClickDir
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Friend ReadOnly Property sExtFileCN As String
|
|
||||||
Get
|
|
||||||
Return m_sExtFileCN
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Friend Function sProdLiProbingStateVar(nI As Integer) As String
|
Friend Function sProdLiProbingStateVar(nI As Integer) As String
|
||||||
If nI = 1 Then Return m_sProdLiProbingStateVar
|
If nI = 1 Then Return m_sProdLiProbingStateVar
|
||||||
If nI = 2 Then Return m_sProdLiProbingState2Var
|
If nI = 2 Then Return m_sProdLiProbingState2Var
|
||||||
@@ -766,10 +734,6 @@ Public Class CurrentMachine
|
|||||||
Set(value As String)
|
Set(value As String)
|
||||||
If WritePrivateProfileString(S_MACH_MACH, K_CURRWATERJETTING, value, sMachIniFile) Then
|
If WritePrivateProfileString(S_MACH_MACH, K_CURRWATERJETTING, value, sMachIniFile) Then
|
||||||
m_sCurrWaterJetting = value
|
m_sCurrWaterJetting = value
|
||||||
If m_MainWindow.m_CurrentMachine.bWaterJet And EgtGetHeadId("H1") = GDB_ID.NULL Then
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.MachiningTxBx.Text = value
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
@@ -866,10 +830,6 @@ Public Class CurrentMachine
|
|||||||
Case 2
|
Case 2
|
||||||
Return New Vector3d(m_dTab2PhotoOffsetX, m_dTab2PhotoOffsetY, 0)
|
Return New Vector3d(m_dTab2PhotoOffsetX, m_dTab2PhotoOffsetY, 0)
|
||||||
Case Else
|
Case Else
|
||||||
' verifico quale delle due fotocamere è attualmente attiva
|
|
||||||
If GetPrivateProfileInt(S_CAMERAHQ, K_CAMERAHQ_ACTIVATE, 0, m_MainWindow.GetMachIniFile()) = 1 Then
|
|
||||||
Return New Vector3d(m_dHQPhotoOffsetX, m_dHQPhotoOffsetY, 0)
|
|
||||||
End If
|
|
||||||
Return New Vector3d(m_dPhotoOffsetX, m_dPhotoOffsetY, 0)
|
Return New Vector3d(m_dPhotoOffsetX, m_dPhotoOffsetY, 0)
|
||||||
End Select
|
End Select
|
||||||
End Get
|
End Get
|
||||||
@@ -1160,8 +1120,6 @@ Public Class CurrentMachine
|
|||||||
m_sMachIniFile = m_MainWindow.GetMachinesRootDir & "\" & sMachineName & "\" & sMachineName & ".ini"
|
m_sMachIniFile = m_MainWindow.GetMachinesRootDir & "\" & sMachineName & "\" & sMachineName & ".ini"
|
||||||
' Leggo estensione del file programma pezzo
|
' Leggo estensione del file programma pezzo
|
||||||
GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, "xpi", m_sIsoFileExt, sMachIniFile)
|
GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, "xpi", m_sIsoFileExt, sMachIniFile)
|
||||||
' per gestione canali separati (macchina NUM con più di 5 Assi) ver. 2.5g1
|
|
||||||
GetPrivateProfileString(S_PARTPROGRAM, K_EXTFILECN, ".0", m_sExtFileCN, sMachIniFile)
|
|
||||||
If m_sIsoFileExt(0) <> "." Then m_sIsoFileExt = "." & m_sIsoFileExt
|
If m_sIsoFileExt(0) <> "." Then m_sIsoFileExt = "." & m_sIsoFileExt
|
||||||
' Leggo flag incremento asse C
|
' Leggo flag incremento asse C
|
||||||
m_dDeltaC = GetPrivateProfileDouble(S_AXES, K_DELTA_C, 0.0, sMachIniFile)
|
m_dDeltaC = GetPrivateProfileDouble(S_AXES, K_DELTA_C, 0.0, sMachIniFile)
|
||||||
@@ -1195,13 +1153,6 @@ Public Class CurrentMachine
|
|||||||
GetPrivateProfileString(S_PRODUCTIONLINE, K_PRODLIPROBINGTCPOS2VAR, "0", m_sProdLiProbingTcPos2Var, sMachIniFile)
|
GetPrivateProfileString(S_PRODUCTIONLINE, K_PRODLIPROBINGTCPOS2VAR, "0", m_sProdLiProbingTcPos2Var, sMachIniFile)
|
||||||
GetPrivateProfileString(S_PRODUCTIONLINE, K_PRODLISAWDIAMETER2VAR, "", m_sProdLiSawDiameter2Var, sMachIniFile)
|
GetPrivateProfileString(S_PRODUCTIONLINE, K_PRODLISAWDIAMETER2VAR, "", m_sProdLiSawDiameter2Var, sMachIniFile)
|
||||||
|
|
||||||
GetPrivateProfileString(S_POLISHLINE, K_CLICKSTATE, "", m_sClickState, sMachIniFile)
|
|
||||||
GetPrivateProfileString(S_POLISHLINE, k_CLICKDIR, "", m_sClickDir, sMachIniFile)
|
|
||||||
If Not Directory.Exists(m_sClickDir) Then
|
|
||||||
m_sClickState = ""
|
|
||||||
EgtOutLog("Directory " & m_sClickDir & " does not exist")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Leggo configurazione degli utensili in macchina
|
' Leggo configurazione degli utensili in macchina
|
||||||
m_MountedToolConfig = GetPrivateProfileInt(S_TOOLS, K_MOUNTEDTOOLCONFIG, 0, sMachIniFile)
|
m_MountedToolConfig = GetPrivateProfileInt(S_TOOLS, K_MOUNTEDTOOLCONFIG, 0, sMachIniFile)
|
||||||
' Leggo flag presenza tipologie utensili
|
' Leggo flag presenza tipologie utensili
|
||||||
@@ -1342,8 +1293,6 @@ Public Class CurrentMachine
|
|||||||
m_dPhotoOffsetY = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_OFFSETY, 0, sMachIniFile)
|
m_dPhotoOffsetY = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_OFFSETY, 0, sMachIniFile)
|
||||||
m_dTab2PhotoOffsetX = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_TAB2_OFFSETX, 0, sMachIniFile)
|
m_dTab2PhotoOffsetX = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_TAB2_OFFSETX, 0, sMachIniFile)
|
||||||
m_dTab2PhotoOffsetY = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_TAB2_OFFSETY, 0, sMachIniFile)
|
m_dTab2PhotoOffsetY = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_TAB2_OFFSETY, 0, sMachIniFile)
|
||||||
m_dHQPhotoOffsetX = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_HQ_OFFSETX, 0, sMachIniFile)
|
|
||||||
m_dHQPhotoOffsetY = GetPrivateProfileDouble(S_PHOTO, K_PHOTO_HQ_OFFSETY, 0, sMachIniFile)
|
|
||||||
|
|
||||||
' Leggo abilitazione per restart
|
' Leggo abilitazione per restart
|
||||||
m_bEnableRestart = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_ENABLERESTART, 0, sMachIniFile) <> 0)
|
m_bEnableRestart = (GetPrivateProfileInt(S_MACH_NEST, K_MACH_ENABLERESTART, 0, sMachIniFile) <> 0)
|
||||||
@@ -1411,12 +1360,6 @@ Public Class CurrentMachine
|
|||||||
m_HasRawProbe = (GetPrivateProfileInt(S_MACH_PROBING, K_ENABLERAWPROBE, 1, sMachIniFile) <> 0)
|
m_HasRawProbe = (GetPrivateProfileInt(S_MACH_PROBING, K_ENABLERAWPROBE, 1, sMachIniFile) <> 0)
|
||||||
' leggo se la macchina ha il lettore di codice a barre della lastra
|
' leggo se la macchina ha il lettore di codice a barre della lastra
|
||||||
m_nEnableBarCodeReader = GetPrivateProfileInt(S_MACH_BARCODEREADER, K_ENABLEBCR, 0, sMachIniFile)
|
m_nEnableBarCodeReader = GetPrivateProfileInt(S_MACH_BARCODEREADER, K_ENABLEBCR, 0, sMachIniFile)
|
||||||
|
|
||||||
' affonadamento massimo oltre la tavola (inidicata in positivo!)
|
|
||||||
m_MaxTabDepth = GetPrivateProfileDouble(S_MACH_NEST, "MaxTabDepth", 10.0, m_MainWindow.GetMachIniFile())
|
|
||||||
If m_MaxTabDepth < 0 Then
|
|
||||||
m_MaxTabDepth = 10.0
|
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Per il controllo FANUC al momento dell'inizializzazione del CN devono essere lette alcune variabili
|
' Per il controllo FANUC al momento dell'inizializzazione del CN devono essere lette alcune variabili
|
||||||
@@ -1662,9 +1605,7 @@ Public Class CurrentMachine
|
|||||||
Dim dToolDiam As Double = 0
|
Dim dToolDiam As Double = 0
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam)
|
||||||
' Confronto con massimo ammesso
|
' Confronto con massimo ammesso
|
||||||
Dim bOk As Boolean = dToolDiam <= dMaxSawDiamForProbe
|
Return (dToolDiam <= dMaxSawDiamForProbe)
|
||||||
If Not bOk Then EgtOutLog("WARNING: Saw diameter to big for probing")
|
|
||||||
Return bOk
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function GetPrivateProfileMaterial(
|
Friend Function GetPrivateProfileMaterial(
|
||||||
|
|||||||
@@ -87,19 +87,6 @@
|
|||||||
|
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
||||||
<GroupBox Name="CameraHQ" Style="{DynamicResource OmagCut_GroupBox}" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="2">
|
|
||||||
<Grid>
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
<ColumnDefinition Width="2*"/>
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<ToggleButton Name="CameraHQBtn" Grid.Column="2"
|
|
||||||
Style="{DynamicResource OmagCut_GradientYellowIconToggleButton}"
|
|
||||||
Foreground="White"/>
|
|
||||||
</Grid>
|
|
||||||
</GroupBox>
|
|
||||||
|
|
||||||
<GroupBox Name="PartProgTransferGpBx" Style="{DynamicResource OmagCut_GroupBox}" Grid.Row="2"
|
<GroupBox Name="PartProgTransferGpBx" Style="{DynamicResource OmagCut_GroupBox}" Grid.Row="2"
|
||||||
Grid.ColumnSpan="3">
|
Grid.ColumnSpan="3">
|
||||||
<Grid>
|
<Grid>
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ Public Class MachineCNPageUC
|
|||||||
MDICommandGpBx.Header = EgtMsg(MSG_MACHINECNPAGEUC + 16)
|
MDICommandGpBx.Header = EgtMsg(MSG_MACHINECNPAGEUC + 16)
|
||||||
PartProgTransferGpBx.Header = EgtMsg(MSG_MACHINECNPAGEUC + 17)
|
PartProgTransferGpBx.Header = EgtMsg(MSG_MACHINECNPAGEUC + 17)
|
||||||
ErrorLstGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 12)
|
ErrorLstGpBx.Header = EgtMsg(MSG_ALARMSPAGEUC + 12)
|
||||||
|
|
||||||
' Attivo gruppo PartProgTransferGpBx leggendo la variabile nel file ini
|
' Attivo gruppo PartProgTransferGpBx leggendo la variabile nel file ini
|
||||||
If GetPrivateProfileInt(S_GENERAL, K_TESTINGPAGE, 0, m_MainWindow.GetIniFile()) = 1 Then
|
If GetPrivateProfileInt(S_GENERAL, K_TESTINGPAGE, 0, m_MainWindow.GetIniFile()) = 1 Then
|
||||||
PartProgTransferGpBx.Visibility = Windows.Visibility.Visible
|
PartProgTransferGpBx.Visibility = Windows.Visibility.Visible
|
||||||
@@ -45,28 +44,6 @@ Public Class MachineCNPageUC
|
|||||||
Else
|
Else
|
||||||
PowerGpBx.Visibility = Visibility.Collapsed
|
PowerGpBx.Visibility = Visibility.Collapsed
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' verifico che sia attiva la modalità per l'uso di due fotocamere
|
|
||||||
If GetPrivateProfileInt(S_CAMERAHQ, K_CAMERAHQ_ENABLE, 0, m_MainWindow.GetMachIniFile()) = 1 Then
|
|
||||||
CameraHQ.Visibility = Visibility.Visible
|
|
||||||
CameraHQ.Header = "Photo on table"
|
|
||||||
CameraHQBtn.Content = "HQ"
|
|
||||||
' verifico quale camera è impostata
|
|
||||||
If GetPrivateProfileInt(S_CAMERAHQ, K_CAMERAHQ_ACTIVATE, 0, m_MainWindow.GetMachIniFile()) = 1 Then
|
|
||||||
CameraHQBtn.IsChecked = True
|
|
||||||
If Not IsNothing(m_MainWindow.m_CadCutPageUC.PhotoIMG) Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.PhotoIMG.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/NewIcons/icone-tagli-1HQ.png", UriKind.Relative))
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
CameraHQBtn.IsChecked = False
|
|
||||||
If Not IsNothing(m_MainWindow.m_CadCutPageUC.PhotoIMG) Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.PhotoIMG.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/NewIcons/icone-tagli-1.png", UriKind.Relative))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
CameraHQ.Visibility = Visibility.Collapsed
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub TestingPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
Private Sub TestingPage_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||||
@@ -226,20 +203,6 @@ Public Class MachineCNPageUC
|
|||||||
m_CN.DGeneralFunctions_WriteCncMode(8)
|
m_CN.DGeneralFunctions_WriteCncMode(8)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CameraHQBtn_Click(sender As Object, e As RoutedEventArgs) Handles CameraHQBtn.Click
|
|
||||||
Dim sEnableHQ As String = If(CameraHQBtn.IsChecked, "1", "0")
|
|
||||||
WritePrivateProfileString(S_CAMERAHQ, K_CAMERAHQ_ACTIVATE, sEnableHQ, m_MainWindow.GetMachIniFile())
|
|
||||||
If CameraHQBtn.IsChecked Then
|
|
||||||
If Not IsNothing(m_MainWindow.m_CadCutPageUC.PhotoIMG) Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.PhotoIMG.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/NewIcons/icone-tagli-1HQ.png", UriKind.Relative))
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
If Not IsNothing(m_MainWindow.m_CadCutPageUC.PhotoIMG) Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.PhotoIMG.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/NewIcons/icone-tagli-1.png", UriKind.Relative))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub MDITxBx_KeyDown(sender As Object, e As KeyEventArgs) Handles MDITxBx.KeyDown
|
Private Sub MDITxBx_KeyDown(sender As Object, e As KeyEventArgs) Handles MDITxBx.KeyDown
|
||||||
If e.Key = Key.Return Then
|
If e.Key = Key.Return Then
|
||||||
' leggo se stato reset
|
' leggo se stato reset
|
||||||
|
|||||||
@@ -279,12 +279,6 @@ Public Class MachineStatusUC
|
|||||||
|
|
||||||
Sub DisplayFeed()
|
Sub DisplayFeed()
|
||||||
Dim dRealFeed As Double = m_CN.d_DInterpo_Prog_Feed * m_CN.d_DInterpo_Feed_override / 100
|
Dim dRealFeed As Double = m_CN.d_DInterpo_Prog_Feed * m_CN.d_DInterpo_Feed_override / 100
|
||||||
' modifica richiesta 26/05/2023 da Rosario per cliente Lanzetta
|
|
||||||
If m_MainWindow.m_CNCommunication.m_nNCType = 4 Then
|
|
||||||
dRealFeed = m_CN.d_DInterpo_Prog_Feed
|
|
||||||
Else
|
|
||||||
dRealFeed = m_CN.d_DInterpo_Prog_Feed * m_CN.d_DInterpo_Feed_override / 100
|
|
||||||
End If
|
|
||||||
'Feed = DoubleToString(dRealFeed, 0)
|
'Feed = DoubleToString(dRealFeed, 0)
|
||||||
FeedTxBx.Text = LenToString(dRealFeed, 0, True)
|
FeedTxBx.Text = LenToString(dRealFeed, 0, True)
|
||||||
'FeedOverride = DoubleToString(m_CN.d_DInterpo_Feed_override, 0) & "%"
|
'FeedOverride = DoubleToString(m_CN.d_DInterpo_Feed_override, 0) & "%"
|
||||||
@@ -308,16 +302,8 @@ Public Class MachineStatusUC
|
|||||||
Dim dSpindleOvr As Double
|
Dim dSpindleOvr As Double
|
||||||
' se attivi nuovi comandi MDI su siemens
|
' se attivi nuovi comandi MDI su siemens
|
||||||
If m_MainWindow.m_CNCommunication.m_nNCType = 3 AndAlso m_MainWindow.m_CNCommunication.m_CN.m_IsSiemensOne Then
|
If m_MainWindow.m_CNCommunication.m_nNCType = 3 AndAlso m_MainWindow.m_CNCommunication.m_CN.m_IsSiemensOne Then
|
||||||
|
|
||||||
If m_MainWindow.m_CNCommunication.m_CN.m_IsSiemensOne Then
|
|
||||||
dSpindlePower = m_CN.d_spindle_power
|
|
||||||
'dSpindleOvr = If(m_CN.bPowerOvr > 0, m_CN.d_spindle_power / m_CN.bPowerOvr * 100, 0)
|
|
||||||
dSpindleOvr = m_CN.bPowerOvr
|
|
||||||
Else
|
|
||||||
' questo sistema è deprecabile dalla versione 2.6d2 (nuova gestione dei vettori)
|
|
||||||
dSpindlePower = m_CN.d_data(0)
|
dSpindlePower = m_CN.d_data(0)
|
||||||
dSpindleOvr = m_CN.d_data(1)
|
dSpindleOvr = m_CN.d_data(1)
|
||||||
End If
|
|
||||||
ElseIf m_MainWindow.m_CNCommunication.m_nNCType = 4 Then
|
ElseIf m_MainWindow.m_CNCommunication.m_nNCType = 4 Then
|
||||||
dSpindlePower = m_CN.d_spindle_power / 1000
|
dSpindlePower = m_CN.d_spindle_power / 1000
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ Public Class MachiningDbPageUC
|
|||||||
StepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39), EgtMsg(MSG_COMBOBOXPARAM + 40)}
|
StepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39), EgtMsg(MSG_COMBOBOXPARAM + 40)}
|
||||||
RouFinStepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39)}
|
RouFinStepType = {EgtMsg(MSG_COMBOBOXPARAM + 38), EgtMsg(MSG_COMBOBOXPARAM + 39)}
|
||||||
ExtCornType = {EgtMsg(MSG_COMBOBOXPARAM + 43), EgtMsg(MSG_COMBOBOXPARAM + 44), EgtMsg(MSG_COMBOBOXPARAM + 45)}
|
ExtCornType = {EgtMsg(MSG_COMBOBOXPARAM + 43), EgtMsg(MSG_COMBOBOXPARAM + 44), EgtMsg(MSG_COMBOBOXPARAM + 45)}
|
||||||
IntCornType = {EgtMsg(MSG_COMBOBOXPARAM + 43), EgtMsg(MSG_COMBOBOXPARAM + 44), EgtMsg(90852)}
|
IntCornType = {EgtMsg(MSG_COMBOBOXPARAM + 43), EgtMsg(MSG_COMBOBOXPARAM + 44)}
|
||||||
|
|
||||||
' Assegno array a combobox
|
' Assegno array a combobox
|
||||||
WorkSideCmBx.ItemsSource = WorkSide
|
WorkSideCmBx.ItemsSource = WorkSide
|
||||||
@@ -208,7 +208,7 @@ Public Class MachiningDbPageUC
|
|||||||
MillTool.Clear()
|
MillTool.Clear()
|
||||||
bFound = EgtTdbGetFirstTool(MCH_TF.MILL, sToolName, nType)
|
bFound = EgtTdbGetFirstTool(MCH_TF.MILL, sToolName, nType)
|
||||||
While bFound
|
While bFound
|
||||||
If nType = MCH_TY.MILL_STD And sToolName.Trim.ToLower <> "probe" Then MillTool.Add(sToolName)
|
If nType = MCH_TY.MILL_STD Then MillTool.Add( sToolName)
|
||||||
bFound = EgtTdbGetNextTool(MCH_TF.MILL, sToolName, nType)
|
bFound = EgtTdbGetNextTool(MCH_TF.MILL, sToolName, nType)
|
||||||
End While
|
End While
|
||||||
PocketTool.Clear()
|
PocketTool.Clear()
|
||||||
|
|||||||
@@ -695,16 +695,7 @@ Public Class ToolsDbPageUC
|
|||||||
Dim ToolName As String = String.Empty
|
Dim ToolName As String = String.Empty
|
||||||
Dim bFound As Boolean = EgtTdbGetFirstTool(nTType, ToolName, nType)
|
Dim bFound As Boolean = EgtTdbGetFirstTool(nTType, ToolName, nType)
|
||||||
While bFound
|
While bFound
|
||||||
Dim nDebug As Integer = GetPrivateProfileInt(S_GENERAL, K_DEBUG, 0, m_sIniFile)
|
If nType = nTType Then ToolCathegory.Items.Add(New CustomItem(ToolName, nType))
|
||||||
If nType = nTType Then
|
|
||||||
If nTType <> MCH_TY.MILL_STD Then
|
|
||||||
' se utensile diverso da MILL
|
|
||||||
ToolCathegory.Items.Add(New CustomItem(ToolName, nType))
|
|
||||||
ElseIf nTType = MCH_TY.MILL_STD And (ToolName.Trim.ToLower <> "probe" Or nDebug > 4) Then
|
|
||||||
' Se utensile MILL con nome "probe" aggiungo solo se livello debug maggiore di 4
|
|
||||||
ToolCathegory.Items.Add(New CustomItem(ToolName, nType))
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
bFound = EgtTdbGetNextTool(nTType, ToolName, nType)
|
bFound = EgtTdbGetNextTool(nTType, ToolName, nType)
|
||||||
End While
|
End While
|
||||||
ToolsList.Add(ToolCathegory)
|
ToolsList.Add(ToolCathegory)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<Border Name="LogoBrd" Background="Transparent">
|
<Border Name="LogoBrd" Background="Transparent">
|
||||||
<Image Source="../Resources/NewIcons/Logo-Egalware (2).png" Stretch="Uniform" Margin="1"/>
|
<Image Source="{DynamicResource LogoOmagImg}" Stretch="Uniform" Margin="1"/>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
<!-- ** Definizione della Grid delle tab ** -->
|
<!-- ** Definizione della Grid delle tab ** -->
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Button Name="ExitBtn" Grid.Column="2" Style="{DynamicResource OmagCut_BlueIconButton}" Click="ExitBtn_Click">
|
<Button Grid.Column="2" Style="{DynamicResource OmagCut_BlueIconButton}" Click="ExitBtn_Click">
|
||||||
<Image Source="{DynamicResource XImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
<Image Source="{DynamicResource XImg}" Style="{DynamicResource OmagCut_ButtonIcon}"/>
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
|
|||||||
@@ -23,9 +23,6 @@ Class MainWindow
|
|||||||
' Coefficiente di scalatura della finestra rispetto a standard
|
' Coefficiente di scalatura della finestra rispetto a standard
|
||||||
Friend m_dMWinScale As Double = 1
|
Friend m_dMWinScale As Double = 1
|
||||||
|
|
||||||
' Variabile che definisce l'avvio forzato in modalità FRAME
|
|
||||||
Friend m_OnlyFrame As Boolean = False
|
|
||||||
|
|
||||||
' Dichiarazione delle Page UserControl
|
' Dichiarazione delle Page UserControl
|
||||||
Friend m_WorkInProgressPageUC As WorkInProgressPageUC
|
Friend m_WorkInProgressPageUC As WorkInProgressPageUC
|
||||||
Friend m_CurrentProjectPageUC As CurrentProjectPageUC
|
Friend m_CurrentProjectPageUC As CurrentProjectPageUC
|
||||||
@@ -103,8 +100,6 @@ Class MainWindow
|
|||||||
OFFICE_TYPE = 2 ^ 19 ' 524288
|
OFFICE_TYPE = 2 ^ 19 ' 524288
|
||||||
REGISTRATION = 2 ^ 20 ' 1048576
|
REGISTRATION = 2 ^ 20 ' 1048576
|
||||||
SIMPLESTATISTICS = 2 ^ 21 ' 2097152
|
SIMPLESTATISTICS = 2 ^ 21 ' 2097152
|
||||||
COMPOFRAME = 2 ^ 22 ' 4194304
|
|
||||||
CUT_LIGHT = 2 ^ 23 ' 8388608
|
|
||||||
End Enum
|
End Enum
|
||||||
' Opzione nesting automatico
|
' Opzione nesting automatico
|
||||||
Private m_bAutoNest As Boolean = False
|
Private m_bAutoNest As Boolean = False
|
||||||
@@ -328,30 +323,15 @@ Class MainWindow
|
|||||||
Dim sNestKey As String = ""
|
Dim sNestKey As String = ""
|
||||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
|
EgtUILib.GetPrivateProfileString(S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
|
||||||
EgtSetNestKey(sNestKey)
|
EgtSetNestKey(sNestKey)
|
||||||
Dim bNetHwKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
|
Dim bNetHwKey As Boolean = ( GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
|
||||||
EgtSetNetHwKey(bNetHwKey)
|
EgtSetNetHwKey( bNetHwKey)
|
||||||
|
|
||||||
' Impostazioni per chiave di rete
|
|
||||||
Dim bNetKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
|
|
||||||
EgtSetNetHwKey(bNetKey)
|
|
||||||
Dim sLockId As String = ""
|
|
||||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_LOCKID, "", sLockId, sLicFile)
|
|
||||||
If Not String.IsNullOrEmpty(sLockId) Then
|
|
||||||
EgtSetLockId(sLockId)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Verifico abilitazione nesting automatico
|
' Verifico abilitazione nesting automatico
|
||||||
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
|
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
|
||||||
' Recupero opzioni della chiave
|
' Recupero opzioni della chiave
|
||||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2610, 1, m_nKeyLevel) And
|
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2505, 1, m_nKeyLevel) And
|
||||||
EgtGetKeyOptions(9423, 2610, 1, m_nKeyOptions)
|
EgtGetKeyOptions(9423, 2505, 1, m_nKeyOptions)
|
||||||
' Verifico abilitazione prodotto
|
' Verifico abilitazione prodotto
|
||||||
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
|
Dim bProd As Boolean = GetKeyOption(KEY_OPT.CUT_BASE)
|
||||||
' Impostazione per programma OnlyFrame: solo se CUT_BASE non attivo
|
|
||||||
If Not bProd Then
|
|
||||||
m_OnlyFrame = GetKeyOption(KEY_OPT.CUT_LIGHT)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Inizializzazione generale di EgtInterface
|
' Inizializzazione generale di EgtInterface
|
||||||
m_nDebug = GetPrivateProfileInt(S_GENERAL, K_DEBUG, 0, m_sIniFile)
|
m_nDebug = GetPrivateProfileInt(S_GENERAL, K_DEBUG, 0, m_sIniFile)
|
||||||
m_sVersion = My.Application.Info.Version.Major.ToString() & "." &
|
m_sVersion = My.Application.Info.Version.Major.ToString() & "." &
|
||||||
@@ -459,9 +439,8 @@ Class MainWindow
|
|||||||
|
|
||||||
' abilito il bottone per la gestione del comando di Check-Up-Start (posziona lama prelavorazione)
|
' abilito il bottone per la gestione del comando di Check-Up-Start (posziona lama prelavorazione)
|
||||||
If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 OrElse
|
If GetPrivateProfileInt(S_GENERAL, "Test", "0", m_sIniFile) = 0 OrElse
|
||||||
Not File.Exists(m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
Not File.Exists( m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
||||||
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Collapsed
|
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Collapsed
|
||||||
EgtOutLog("Warning: Missing file 'TestWork.lua' in folder 'DirectCmd', buttun 'TEST' collapsed!")
|
|
||||||
Else
|
Else
|
||||||
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Visible
|
m_CadCutPageUC.m_ProjectMgr.TestBtn.Visibility = Visibility.Visible
|
||||||
End If
|
End If
|
||||||
@@ -581,7 +560,7 @@ Class MainWindow
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
' --------------------------------- SLAB DB -------------------------------------------------------
|
' --------------------------------- SLAB DB -------------------------------------------------------
|
||||||
ExitBtn.ToolTip = "Exit" & vbCrLf & "Minimize (Shift)"
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ManageSingleIstance()
|
Private Sub ManageSingleIstance()
|
||||||
@@ -654,31 +633,6 @@ Class MainWindow
|
|||||||
m_IdleTimer.Interval = TimeSpan.FromMilliseconds(100)
|
m_IdleTimer.Interval = TimeSpan.FromMilliseconds(100)
|
||||||
m_IdleTimer.Start()
|
m_IdleTimer.Start()
|
||||||
|
|
||||||
Dim sAssStatus As String = " discontinued"
|
|
||||||
Dim nAssLeftDays As Integer
|
|
||||||
If EgtGetKeyAssLeftDays(nAssLeftDays) And nAssLeftDays >= 0 Then
|
|
||||||
If nAssLeftDays > 30 Then
|
|
||||||
sAssStatus = "expires within " & nAssLeftDays.ToString() & " days"
|
|
||||||
ElseIf nAssLeftDays > 0 Then
|
|
||||||
sAssStatus = "to be renewed within " & nAssLeftDays.ToString() & " days"
|
|
||||||
Else
|
|
||||||
sAssStatus = "to be renewed by today"
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Or nAssLeftDays = 358
|
|
||||||
If (nAssLeftDays <= 7 And nAssLeftDays >= 0) Or nAssLeftDays = 14 Or nAssLeftDays = 21 Or nAssLeftDays = 28 Then
|
|
||||||
Dim sMsg As String = EgtMsg(91141) ' Assistenza in scadenza /nContattare assistenza:/n
|
|
||||||
Dim sAssistance As String = String.Empty
|
|
||||||
GetPrivateProfileString(S_GENERAL, "Assistances", "", sAssistance, GetIniFile)
|
|
||||||
Dim sItems As String() = sAssistance.Split(","c)
|
|
||||||
For Each Item As String In sItems
|
|
||||||
sMsg &= " → " & Item.Trim & " /n"
|
|
||||||
Next
|
|
||||||
Dim MyLicWn As New LicenseWindow(Me, sMsg, "Assistance " & sAssStatus)
|
|
||||||
MyLicWn.Show()
|
|
||||||
End If
|
|
||||||
|
|
||||||
' inizilizzo
|
' inizilizzo
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1043,16 +997,6 @@ Class MainWindow
|
|||||||
' Se già visualizzato errore, lo nascondo
|
' Se già visualizzato errore, lo nascondo
|
||||||
If m_CurrentProjectPageUC.OutMessageBrd.IsMouseOver Then
|
If m_CurrentProjectPageUC.OutMessageBrd.IsMouseOver Then
|
||||||
m_CurrentProjectPageUC.ClearMessage()
|
m_CurrentProjectPageUC.ClearMessage()
|
||||||
' se è premuto il pulsante Shift allora provvedo ad aprire il file di Log
|
|
||||||
If Keyboard.Modifiers And ModifierKeys.Shift Then
|
|
||||||
' Genero file CNC (lancio anche se errore in precedenza)
|
|
||||||
Dim sTemoDirect As String = GetTempDir() & "\OmagCUTLog.txt"
|
|
||||||
Try
|
|
||||||
Process.Start("Notepad.exe", sTemoDirect)
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog(ex.ToString)
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
' Condizioni che impediscono di clickare fuori dalla calcolatrice o tastiera quando una di queste è aperta
|
' Condizioni che impediscono di clickare fuori dalla calcolatrice o tastiera quando una di queste è aperta
|
||||||
If EgtWPFLib.EgtCalculator.GetbIsActive Then
|
If EgtWPFLib.EgtCalculator.GetbIsActive Then
|
||||||
@@ -1143,9 +1087,9 @@ Class MainWindow
|
|||||||
m_CurrentProjectPageUC.SaveNamedProject()
|
m_CurrentProjectPageUC.SaveNamedProject()
|
||||||
m_CurrentProjectPageUC.SaveProject()
|
m_CurrentProjectPageUC.SaveProject()
|
||||||
End If
|
End If
|
||||||
' Inizio la chiusura del programma (se NUM_OLD verifico di aver terminato il processo DripFeed)
|
' Inizio la chiusura del programma (verifico di aver terminato il processo DripFeed)
|
||||||
EgtOutLog("Iniziato processo di chiusura programma")
|
EgtOutLog("Iniziato processo di chiusura programma")
|
||||||
m_IsClosingApplication = If(m_CNCommunication.m_nNCType = 1, 1, 2)
|
m_IsClosingApplication = 1
|
||||||
Dim nCount As Integer = 0
|
Dim nCount As Integer = 0
|
||||||
While m_IsClosingApplication <> 2
|
While m_IsClosingApplication <> 2
|
||||||
If nCount > 5 Then
|
If nCount > 5 Then
|
||||||
@@ -1272,7 +1216,7 @@ Class MainWindow
|
|||||||
Private Sub MainWindow_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
|
Private Sub MainWindow_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
|
||||||
' Verifico presenza del collegamento al CN
|
' Verifico presenza del collegamento al CN
|
||||||
m_bNCLink = (GetPrivateProfileInt(S_GENERAL, K_CNLINK, 0, m_sIniFile) <> 0) And
|
m_bNCLink = (GetPrivateProfileInt(S_GENERAL, K_CNLINK, 0, m_sIniFile) <> 0) And
|
||||||
Not GetKeyOption(KEY_OPT.OFFICE_TYPE)
|
Not GetKeyOption( KEY_OPT.OFFICE_TYPE)
|
||||||
m_CNCommunication.CNCommunication_Initialization()
|
m_CNCommunication.CNCommunication_Initialization()
|
||||||
' Se linea di produzione abilitata e collegata, lancio relativo timer
|
' Se linea di produzione abilitata e collegata, lancio relativo timer
|
||||||
If m_bNCLink And m_CurrentMachine.bProdLine Then
|
If m_bNCLink And m_CurrentMachine.bProdLine Then
|
||||||
@@ -1282,17 +1226,11 @@ Class MainWindow
|
|||||||
m_ProdLineTimer.Interval = TimeSpan.FromMilliseconds(2000)
|
m_ProdLineTimer.Interval = TimeSpan.FromMilliseconds(2000)
|
||||||
m_ProdLineTimer.Start()
|
m_ProdLineTimer.Start()
|
||||||
End If
|
End If
|
||||||
' di default attivo la pagina CadCut
|
|
||||||
If m_OnlyFrame Then
|
|
||||||
m_ActivePage = MainWindow.Pages.FrameCut
|
|
||||||
Else
|
|
||||||
m_ActivePage = MainWindow.Pages.CadCut
|
|
||||||
End If
|
|
||||||
' seleziono il tipo di avvio
|
' seleziono il tipo di avvio
|
||||||
m_CurrentProjectPageUC.StartProgram()
|
m_CurrentProjectPageUC.StartProgram()
|
||||||
' aggiorno la grafica
|
' aggiorno la grafica
|
||||||
EgtZoom(ZM.ALL, True)
|
EgtZoom(ZM.ALL, True)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub EgtWPFInit()
|
Friend Sub EgtWPFInit()
|
||||||
@@ -1324,34 +1262,8 @@ Class MainWindow
|
|||||||
Dim bHeadH1 As Boolean = (EgtGetHeadId("H1") <> GDB_ID.NULL)
|
Dim bHeadH1 As Boolean = (EgtGetHeadId("H1") <> GDB_ID.NULL)
|
||||||
EgtSetCurrentContext(nCurrCtx)
|
EgtSetCurrentContext(nCurrCtx)
|
||||||
' Aggiorno interfaccia
|
' Aggiorno interfaccia
|
||||||
If m_OnlyFrame Then
|
|
||||||
If nPrjType = CurrentProjectPageUC.PRJ_TYPE.FLATS And
|
|
||||||
m_ActivePage <> Pages.RawPart And m_ActivePage <> Pages.DirectCut And m_ActivePage <> Pages.Simulation Then
|
|
||||||
Dim FrameWnd As New EgtMsgBox(Me, EgtMsg(91142), EgtMsg(91143), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
|
||||||
'' Gestione stato FastGrid
|
|
||||||
'm_CadCutPageUC.m_FastGridSlabManager.OnPreNewProject()
|
|
||||||
' Cancello progetto salvato con nome da file ini
|
|
||||||
WritePrivateProfileString(S_GENERAL, K_LASTNAMEPROJ, "", GetIniFile())
|
|
||||||
' Scelta tavola della macchina
|
|
||||||
Dim nTabInd As Integer = m_CadCutPageUC.m_ProjectMgr.ChooseTable()
|
|
||||||
' Creo nuovo progetto
|
|
||||||
m_CurrentProjectPageUC.NewProject(nTabInd, False)
|
|
||||||
'' Gestione stato FastGrid
|
|
||||||
'm_CadCutPageUC.m_FastGridSlabManager.OnPostNewProject()
|
|
||||||
FrameCutBtn_Click(Nothing, Nothing)
|
|
||||||
CadCutBtn.IsEnabled = False
|
|
||||||
Else
|
|
||||||
FrameCutBtn.IsEnabled = True
|
|
||||||
CadCutBtn.IsEnabled = False
|
|
||||||
' Attivo il pulsante FRAME
|
|
||||||
'FrameCutBtn.IsChecked = True
|
|
||||||
'CadCutBtn.IsChecked = False
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
CadCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FRAMES)
|
CadCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FRAMES)
|
||||||
FrameCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FLATS) AndAlso bHeadH1
|
FrameCutBtn.IsEnabled = (nPrjType <> CurrentProjectPageUC.PRJ_TYPE.FLATS) AndAlso bHeadH1
|
||||||
End If
|
|
||||||
|
|
||||||
' DirectCutBtn.IsEnabled = bHeadH1
|
' DirectCutBtn.IsEnabled = bHeadH1
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -1380,9 +1292,7 @@ Class MainWindow
|
|||||||
m_CNCommunication.m_CN.ReadEls_Add_Parameter(m_CurrentMachine.sVarProjFinished, 1)
|
m_CNCommunication.m_CN.ReadEls_Add_Parameter(m_CurrentMachine.sVarProjFinished, 1)
|
||||||
Dim nVarFin As Integer = 0
|
Dim nVarFin As Integer = 0
|
||||||
For I As Integer = 1 To 4
|
For I As Integer = 1 To 4
|
||||||
If Not m_CurrentMachine.bDemo Then
|
|
||||||
System.Threading.Thread.Sleep(50)
|
System.Threading.Thread.Sleep(50)
|
||||||
End If
|
|
||||||
If m_CNCommunication.m_CN.n_DReadELS_handle = 1 Then
|
If m_CNCommunication.m_CN.n_DReadELS_handle = 1 Then
|
||||||
nVarFin = CInt(m_CNCommunication.m_CN.d_DReadELS_value)
|
nVarFin = CInt(m_CNCommunication.m_CN.d_DReadELS_value)
|
||||||
Exit For
|
Exit For
|
||||||
@@ -1395,11 +1305,11 @@ Class MainWindow
|
|||||||
' Salvo in INI indice del progetto terminato
|
' Salvo in INI indice del progetto terminato
|
||||||
WritePrivateProfileString(S_GENERAL, K_LASTPROJFINISHED, nVarFin.ToString("D4"), GetIniFile())
|
WritePrivateProfileString(S_GENERAL, K_LASTPROJFINISHED, nVarFin.ToString("D4"), GetIniFile())
|
||||||
' Salvo in INI data e ora attuali di termine lavorazione del progetto (solo gli ultimi 10 tramite modulo)
|
' Salvo in INI data e ora attuali di termine lavorazione del progetto (solo gli ultimi 10 tramite modulo)
|
||||||
Dim sKey As String = K_DATETIMEFINISHED & "." & (nVarFin Mod 10).ToString()
|
Dim sKey As String = K_DATETIMEFINISHED & "." & ( nVarFin Mod 10).ToString()
|
||||||
Dim sDateTime As String = My.Computer.Clock.LocalTime.ToString("dd.MM.yyyy HH\:mm\:ss")
|
Dim sDateTime As String = My.Computer.Clock.LocalTime.ToString("dd.MM.yyyy HH\:mm\:ss")
|
||||||
WritePrivateProfileString(S_GENERAL, sKey, sDateTime, GetIniFile())
|
WritePrivateProfileString(S_GENERAL, sKey, sDateTime, GetIniFile())
|
||||||
' Eseguo script
|
' Eseguo script
|
||||||
ExecFinishedProgScript(nVarFin, sDateTime)
|
ExecFinishedProgScript( nVarFin, sDateTime)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
' Se OmagVIEW blocca, esco (riproverò al prossimo giro)
|
' Se OmagVIEW blocca, esco (riproverò al prossimo giro)
|
||||||
@@ -1437,16 +1347,14 @@ Class MainWindow
|
|||||||
StandardAndSpecialViewFileManagement()
|
StandardAndSpecialViewFileManagement()
|
||||||
' altrimenti modalità custom
|
' altrimenti modalità custom
|
||||||
Else
|
Else
|
||||||
CustomViewFileManagement(nProjInd)
|
CustomViewFileManagement( nProjInd)
|
||||||
End If
|
End If
|
||||||
' Leggo variabile con indice progetto da copiare per OmagVIEW (standard E80025)
|
' Leggo variabile con indice progetto da copiare per OmagVIEW (standard E80025)
|
||||||
m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
||||||
m_CNCommunication.m_CN.ReadEls_Add_Parameter(m_CurrentMachine.sVarProjCopy, 1)
|
m_CNCommunication.m_CN.ReadEls_Add_Parameter(m_CurrentMachine.sVarProjCopy, 1)
|
||||||
Dim nVarCopy As Integer = 0
|
Dim nVarCopy As Integer = 0
|
||||||
For I As Integer = 1 To 10
|
For I As Integer = 1 To 10
|
||||||
If Not m_CurrentMachine.bDemo Then
|
|
||||||
System.Threading.Thread.Sleep(50)
|
System.Threading.Thread.Sleep(50)
|
||||||
End If
|
|
||||||
If m_CNCommunication.m_CN.n_DReadELS_handle = 1 Then
|
If m_CNCommunication.m_CN.n_DReadELS_handle = 1 Then
|
||||||
nVarCopy = CInt(m_CNCommunication.m_CN.d_DReadELS_value)
|
nVarCopy = CInt(m_CNCommunication.m_CN.d_DReadELS_value)
|
||||||
Exit For
|
Exit For
|
||||||
@@ -1858,7 +1766,7 @@ Class MainWindow
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function CustomViewFileManagement(nProjInd As Integer) As Boolean
|
Private Function CustomViewFileManagement( nProjInd As Integer) As Boolean
|
||||||
' Se non esiste file EPL, esco
|
' Se non esiste file EPL, esco
|
||||||
Dim sSouEplFile As String = m_CurrentMachine.sLineDataDir & "\" & CURR_PROJ_EPL
|
Dim sSouEplFile As String = m_CurrentMachine.sLineDataDir & "\" & CURR_PROJ_EPL
|
||||||
If Not My.Computer.FileSystem.FileExists(sSouEplFile) Then Return True
|
If Not My.Computer.FileSystem.FileExists(sSouEplFile) Then Return True
|
||||||
@@ -1897,7 +1805,7 @@ Class MainWindow
|
|||||||
' Verifico progetto restituito da View
|
' Verifico progetto restituito da View
|
||||||
If nProjInd = 0 Then nProjInd = nLastCopy
|
If nProjInd = 0 Then nProjInd = nLastCopy
|
||||||
' Leggo variabile con data termine lavorazione
|
' Leggo variabile con data termine lavorazione
|
||||||
Dim sKey As String = K_DATETIMEFINISHED & "." & (nProjInd Mod 10).ToString()
|
Dim sKey As String = K_DATETIMEFINISHED & "." & ( nProjInd Mod 10).ToString()
|
||||||
GetPrivateProfileString(S_GENERAL, sKey, sDateTime, sDateTime, GetIniFile())
|
GetPrivateProfileString(S_GENERAL, sKey, sDateTime, sDateTime, GetIniFile())
|
||||||
' Recupero direttorio per pezzi rovinati
|
' Recupero direttorio per pezzi rovinati
|
||||||
Dim sRuPartsDir As String = GetRuinedPartsDir()
|
Dim sRuPartsDir As String = GetRuinedPartsDir()
|
||||||
@@ -1924,7 +1832,7 @@ Class MainWindow
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function ExecSentProgScript(bDirectCut As Boolean, Optional bAlreadySent As Boolean = False) As Boolean
|
Friend Function ExecSentProgScript( bDirectCut As Boolean, Optional bAlreadySent As Boolean = False) As Boolean
|
||||||
' Verifico esistenza script
|
' Verifico esistenza script
|
||||||
Dim sLuaPath As String = m_CurrentMachine.sMachDir() & "\Scripts\SentProg.lua"
|
Dim sLuaPath As String = m_CurrentMachine.sMachDir() & "\Scripts\SentProg.lua"
|
||||||
If Not My.Computer.FileSystem.FileExists(sLuaPath) Then Return True
|
If Not My.Computer.FileSystem.FileExists(sLuaPath) Then Return True
|
||||||
@@ -2026,15 +1934,15 @@ Class MainWindow
|
|||||||
End If
|
End If
|
||||||
' Dichiaro progetto passato da View
|
' Dichiaro progetto passato da View
|
||||||
If nProjInd = m_CurrentProjectPageUC.GetCurrentProject() Then
|
If nProjInd = m_CurrentProjectPageUC.GetCurrentProject() Then
|
||||||
EgtSetInfo(EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK), INFO_UNLOADSAVED, 1)
|
EgtSetInfo( EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK), INFO_UNLOADSAVED, 1)
|
||||||
Else
|
Else
|
||||||
Dim nTmpCtx As Integer = EgtInitContext()
|
Dim nTmpCtx As Integer = EgtInitContext()
|
||||||
If nTmpCtx <> 0 Then
|
If nTmpCtx <> 0 Then
|
||||||
Dim sNgeFile As String = GetSaveDir() & "\" & nProjInd.ToString("D4") & ".nge"
|
Dim sNgeFile As String = GetSaveDir() & "\" & nProjInd.ToString("D4") & ".nge"
|
||||||
EgtOpenFile(sNgeFile)
|
EgtOpenFile( sNgeFile)
|
||||||
EgtSetInfo(EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK), INFO_UNLOADSAVED, 1)
|
EgtSetInfo( EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK), INFO_UNLOADSAVED, 1)
|
||||||
EgtSaveFile(sNgeFile, NGE.CMPTEXT)
|
EgtSaveFile( sNgeFile, NGE.CMPTEXT)
|
||||||
EgtDeleteContext(nTmpCtx)
|
EgtDeleteContext( nTmpCtx)
|
||||||
EgtSetCurrentContext(m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
|
EgtSetCurrentContext(m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -2068,21 +1976,21 @@ Class MainWindow
|
|||||||
' Evento che apre AboutBox quando viene clickato il logo
|
' Evento che apre AboutBox quando viene clickato il logo
|
||||||
Private Sub LogoBrd_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles LogoBrd.MouseDown
|
Private Sub LogoBrd_MouseDown(sender As Object, e As MouseButtonEventArgs) Handles LogoBrd.MouseDown
|
||||||
' Se non premuto Shift -> AboutBox
|
' Se non premuto Shift -> AboutBox
|
||||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = 0 Then
|
If ( Keyboard.Modifiers And ModifierKeys.Shift) = 0 Then
|
||||||
Dim AboutBox As New AboutBoxWD(Me)
|
Dim AboutBox As New AboutBoxWD( Me)
|
||||||
' Altrimenti lancio cambio macchina (solo uso interno)
|
' Altrimenti lancio cambio macchina (solo uso interno)
|
||||||
Else
|
Else
|
||||||
If m_ActivePage = Pages.CadCut Or m_ActivePage = Pages.FrameCut Then
|
If m_ActivePage = Pages.CadCut Or m_ActivePage = Pages.FrameCut Then
|
||||||
' Cambio macchina
|
' Cambio macchina
|
||||||
EgtLuaCreateGlobTable("CHM")
|
EgtLuaCreateGlobTable( "CHM")
|
||||||
EgtLuaExecFile(GetConfigDir() & "\ChangeMachine.lua")
|
EgtLuaExecFile( GetConfigDir() & "\ChangeMachine.lua")
|
||||||
Dim nRestart As Integer = 0
|
Dim nRestart As Integer = 0
|
||||||
EgtLuaGetGlobIntVar("CHM.RESTART", nRestart)
|
EgtLuaGetGlobIntVar( "CHM.RESTART", nRestart)
|
||||||
EgtLuaResetGlobVar("CHM")
|
EgtLuaResetGlobVar( "CHM")
|
||||||
' Riavvio
|
' Riavvio
|
||||||
If nRestart = 1 Then
|
If nRestart = 1 Then
|
||||||
Close()
|
Close()
|
||||||
Process.Start(Application.ResourceAssembly.Location)
|
Process.Start( Application.ResourceAssembly.Location)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -2104,7 +2012,6 @@ Class MainWindow
|
|||||||
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
|
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
|
||||||
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
EgtDeselectObj(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
||||||
EgtResetMark(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
EgtResetMark(m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
||||||
m_CadCutPageUC.m_NestPage.m_CurrToolFromSelectedSawCurv = String.Empty
|
|
||||||
m_CadCutPageUC.m_ProjectMgr.TestBtn.IsChecked = False
|
m_CadCutPageUC.m_ProjectMgr.TestBtn.IsChecked = False
|
||||||
Me.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
|
Me.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ Imports System.Windows
|
|||||||
#End If
|
#End If
|
||||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||||
<Assembly: AssemblyProduct("OmagCUT")>
|
<Assembly: AssemblyProduct("OmagCUT")>
|
||||||
<Assembly: AssemblyCopyright("Copyright © 2015-2024 by Egalware s.r.l.")>
|
<Assembly: AssemblyCopyright("Copyright © 2015-2023 by Egalware s.r.l.")>
|
||||||
<Assembly: AssemblyTrademark("")>
|
<Assembly: AssemblyTrademark("")>
|
||||||
<Assembly: ComVisible(False)>
|
<Assembly: ComVisible(False)>
|
||||||
|
|
||||||
@@ -62,5 +62,5 @@ Imports System.Windows
|
|||||||
' by using the '*' as shown below:
|
' by using the '*' as shown below:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("2.6.10.1")>
|
<Assembly: AssemblyVersion("2.5.5.1")>
|
||||||
<Assembly: AssemblyFileVersion("2.6.10.1")>
|
<Assembly: AssemblyFileVersion("2.5.5.1")>
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ Imports System.Collections.ObjectModel
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Text
|
Imports System.Text
|
||||||
Imports EgtWPFLib.EgtMsgBox
|
|
||||||
Imports OmagCUT.CN_generico
|
|
||||||
|
|
||||||
Public Class CNCommunication
|
Public Class CNCommunication
|
||||||
|
|
||||||
@@ -30,9 +28,6 @@ Public Class CNCommunication
|
|||||||
' Oggetto CN
|
' Oggetto CN
|
||||||
Public WithEvents m_CN As CN_generico
|
Public WithEvents m_CN As CN_generico
|
||||||
|
|
||||||
' NUOVO ! in fase di test
|
|
||||||
Private ListReferenceIndex As New List(Of RefereceFlagSimens)
|
|
||||||
|
|
||||||
' Flag di aggiornamento dati
|
' Flag di aggiornamento dati
|
||||||
Private m_bNewPosData As Boolean = True
|
Private m_bNewPosData As Boolean = True
|
||||||
Private m_bNewDeltaData As Boolean = True
|
Private m_bNewDeltaData As Boolean = True
|
||||||
@@ -138,10 +133,6 @@ Public Class CNCommunication
|
|||||||
Refresh()
|
Refresh()
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sClickState) Then
|
|
||||||
ClickOnPolishLine()
|
|
||||||
End If
|
|
||||||
|
|
||||||
m_bTimerBusy = False
|
m_bTimerBusy = False
|
||||||
m_RefreshTimer.Start()
|
m_RefreshTimer.Start()
|
||||||
Else
|
Else
|
||||||
@@ -241,17 +232,6 @@ Public Class CNCommunication
|
|||||||
m_bInInches = (GetPrivateProfileInt(S_AXES, K_ININCHES, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
m_bInInches = (GetPrivateProfileInt(S_AXES, K_ININCHES, 0, m_MainWindow.GetMachIniFile()) <> 0)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub KillSimensCom(sProcessName As String)
|
|
||||||
Dim sAppName As String = Path.GetFileNameWithoutExtension(sProcessName)
|
|
||||||
Dim pList() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses
|
|
||||||
For Each proc As System.Diagnostics.Process In pList
|
|
||||||
If proc.ProcessName.ToString = sAppName Then
|
|
||||||
proc.Kill()
|
|
||||||
EgtOutLog("ProcessKill : " & """" & sProcessName & """")
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub InitCn()
|
Private Sub InitCn()
|
||||||
|
|
||||||
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
||||||
@@ -287,7 +267,6 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
' Recupero e imposto le variabili per i dati del CN (feed, speed,...)
|
' Recupero e imposto le variabili per i dati del CN (feed, speed,...)
|
||||||
GetPrivateProfileString(S_NCDATA, K_COMM, "XIP01, 0, 10, 0, 0, 0", sVal, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_COMM, "XIP01, 0, 10, 0, 0, 0", sVal, m_MainWindow.GetMachIniFile())
|
||||||
EgtOutLog(" → Tipo di comunicazione: " & sVal)
|
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.Comm, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.Comm, sVal)
|
||||||
GetPrivateProfileString(S_NCDATA, K_REFRESH, "200", sVal, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_REFRESH, "200", sVal, m_MainWindow.GetMachIniFile())
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.Refresh, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.Refresh, sVal)
|
||||||
@@ -389,9 +368,6 @@ Public Class CNCommunication
|
|||||||
m_CN.SetCnDataVar(CN_generico.CnData.VacuumOff, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.VacuumOff, sVal)
|
||||||
GetPrivateProfileString(S_NCDATA, K_BYPASSTATE, "", sVal, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_BYPASSTATE, "", sVal, m_MainWindow.GetMachIniFile())
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.BypassState, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.BypassState, sVal)
|
||||||
' ver 2.6i1 : nuova gestione SiemensONE
|
|
||||||
GetPrivateProfileString(S_NCDATA, K_RESETSTATUS, "", sVal, m_MainWindow.GetMachIniFile())
|
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.ResetStatus, sVal)
|
|
||||||
|
|
||||||
' nuove variabili: stato dei nuovi pulsanti
|
' nuove variabili: stato dei nuovi pulsanti
|
||||||
nVal = GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile())
|
nVal = GetPrivateProfileInt(S_NCDATA, K_NEWCONSOLE, 0, m_MainWindow.GetMachIniFile())
|
||||||
@@ -409,7 +385,7 @@ Public Class CNCommunication
|
|||||||
If Not String.IsNullOrEmpty(sVal) Then m_CN.SetCnDataVar(CN_generico.CnData.Remote, sVal)
|
If Not String.IsNullOrEmpty(sVal) Then m_CN.SetCnDataVar(CN_generico.CnData.Remote, sVal)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Solo per controllo FANUC
|
' Solo per controllo FANUNC
|
||||||
GetPrivateProfileString(S_NCDATA, K_NAXES, "", sVal, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_NAXES, "", sVal, m_MainWindow.GetMachIniFile())
|
||||||
m_CN.SetCnDataVar(CN_generico.CnData.nAxes, sVal)
|
m_CN.SetCnDataVar(CN_generico.CnData.nAxes, sVal)
|
||||||
|
|
||||||
@@ -422,10 +398,6 @@ Public Class CNCommunication
|
|||||||
EgtOutLog("Error starting NC communication : " & ex.Message)
|
EgtOutLog("Error starting NC communication : " & ex.Message)
|
||||||
End Try
|
End Try
|
||||||
|
|
||||||
'' !!!!!!!!!!!!! Per forzare la lettura delle variabili siemens di configurazione !!!!!!!!!!!!!
|
|
||||||
' m_nNCType = 3
|
|
||||||
'' !!!!!!!!!!!!! Per forzare la lettura delle variabili siemens di configurazione !!!!!!!!!!!!!
|
|
||||||
|
|
||||||
Select Case m_nNCType
|
Select Case m_nNCType
|
||||||
Case 0 'Debug
|
Case 0 'Debug
|
||||||
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_Yellow")
|
||||||
@@ -450,137 +422,26 @@ Public Class CNCommunication
|
|||||||
Try
|
Try
|
||||||
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
m_MachineStatus.MachineStatusGrid.Background = Application.Current.FindResource("OmagCut_DarkGray")
|
||||||
Dim sArg As String = "-start """ & m_sCNSiemensPath & """"
|
Dim sArg As String = "-start """ & m_sCNSiemensPath & """"
|
||||||
|
|
||||||
' !!!!!!!!!!!!!! FORZO LA SIMULAZIONE DELLA LETTURA DELLE VARIBILI E SIEMENS !!!!!!!!!!!!!!
|
|
||||||
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
||||||
KillSimensCom(m_sCNSiemensHMIPath)
|
|
||||||
Process.Start(m_sCNSiemensHMIPath, sArg)
|
Process.Start(m_sCNSiemensHMIPath, sArg)
|
||||||
' !!!!!!!!!!!!!! FORZO LA SIMULAZIONE DELLA LETTURA DELLE VARIBILI E SIEMENS !!!!!!!!!!!!!!
|
|
||||||
|
|
||||||
EgtOutLog("ProcessStart : " & """" & m_sCNSiemensHMIPath & """" & " " & sArg)
|
|
||||||
m_CN.m_IsSiemensOne = GetPrivateProfileInt(S_NCSIEMENS, K_ISSIEMENSONE, 0, m_MainWindow.GetMachIniFile()) > 0
|
m_CN.m_IsSiemensOne = GetPrivateProfileInt(S_NCSIEMENS, K_ISSIEMENSONE, 0, m_MainWindow.GetMachIniFile()) > 0
|
||||||
m_CN.m_IsActiveModeSubscription = GetPrivateProfileInt(S_NCSIEMENS, K_ISACTIVEMODESUBSCR, 0, m_MainWindow.GetMachIniFile()) > 0
|
m_CN.m_IsActiveModeSubscription = GetPrivateProfileInt(S_NCSIEMENS, K_ISACTIVEMODESUBSCR, 0, m_MainWindow.GetMachIniFile()) > 0
|
||||||
If m_CN.m_IsSiemensOne Then
|
If m_CN.m_IsSiemensOne Then
|
||||||
|
' stati bottoni parte 1
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.Laser), VarType.TInteger, 0)
|
||||||
|
' stati bottoni ventose
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.LaserTrac), VarType.TInteger, 1)
|
||||||
|
'stati porte
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.DoorClosed), VarType.TInteger, 2)
|
||||||
|
'
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
||||||
|
' stati bottoni parte 2
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.CBAxes), VarType.TInteger, 4)
|
||||||
|
' ampere e ampere override
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.Spindle), VarType.TDouble, 0)
|
||||||
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.SpeedOvr), VarType.TDouble, 1)
|
||||||
|
|
||||||
' Leggo tutte le varaibili che sono state caricate nel percorso [NcData] del file *.ini
|
|
||||||
Dim nIndexArrayBool As Integer = 0
|
|
||||||
Dim nIndexArrayInt As Integer = 0
|
|
||||||
Dim nIndexArrayLong As Integer = 0
|
|
||||||
Dim nIndexArrayDoub As Integer = 0
|
|
||||||
Dim nIndexArrayStr As Integer = 0
|
|
||||||
' lista che associa Indice del vettore al nome (per associazioni Bit a Bit)
|
|
||||||
Dim ListIndexToVar As New List(Of IndexArrayToBit)
|
|
||||||
' Creo un vettore che mi permetta di risalire a cosa contiene ogni vettore FLAG (di tipo Enum)
|
|
||||||
For ItemIndex As Integer = 0 To m_CN.m_szCnDataVar.Count - 1
|
|
||||||
' escludo i Flag 'Comm' e 'Refresh'
|
|
||||||
If ItemIndex = CnData.Comm Or ItemIndex = CnData.Refresh Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
If Not String.IsNullOrEmpty(m_CN.m_szCnDataVar(ItemIndex)) Then
|
|
||||||
Dim sItem As String() = m_CN.m_szCnDataVar(ItemIndex).Split(","c)
|
|
||||||
Dim nVarType As VarType = VarType.TInteger
|
|
||||||
If sItem.Count > 1 Then
|
|
||||||
If IsNumeric(sItem(0)) Then
|
|
||||||
Select Case CInt(sItem(0))
|
|
||||||
Case 0
|
|
||||||
If nIndexArrayBool > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TBoolean
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayBool)
|
|
||||||
Dim NewRefFlafSiemens As RefereceFlagSimens = New RefereceFlagSimens(nIndexArrayBool, ItemIndex, nVarType)
|
|
||||||
If sItem.Count = 3 Then
|
|
||||||
' forzo la lettura della variabile di default (ignoro lo stato letto da CN)
|
|
||||||
NewRefFlafSiemens.DefaultValue = sItem(2)
|
|
||||||
End If
|
|
||||||
ListReferenceIndex.Add(NewRefFlafSiemens)
|
|
||||||
nIndexArrayBool += 1
|
|
||||||
Case 1
|
|
||||||
If nIndexArrayInt > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TInteger
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayInt)
|
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayInt, ItemIndex, nVarType))
|
|
||||||
nIndexArrayInt += 1
|
|
||||||
Case 2
|
|
||||||
If nIndexArrayLong > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TLong
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayLong)
|
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayLong, ItemIndex, nVarType))
|
|
||||||
nIndexArrayLong += 1
|
|
||||||
Case 3
|
|
||||||
If nIndexArrayDoub > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TDouble
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayDoub)
|
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayDoub, ItemIndex, nVarType))
|
|
||||||
nIndexArrayDoub += 1
|
|
||||||
Case 4
|
|
||||||
If nIndexArrayStr > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TString
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayStr)
|
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayStr, ItemIndex, nVarType))
|
|
||||||
nIndexArrayStr += 1
|
|
||||||
Case 5
|
|
||||||
If nIndexArrayInt > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
' verifico se devo riempire un vettore con bit
|
|
||||||
Dim sSubItem As String() = sItem(1).Split("."c)
|
|
||||||
' //My. name. Is Bond._James Bond!
|
|
||||||
Dim sVarName = String.Join(".", sSubItem.Take(sSubItem.Length - 1)) ' //My. name. Is Bond
|
|
||||||
Dim sIndexBit = sSubItem.Last() ' //_James Bond!
|
|
||||||
If sSubItem.Count > 1 And IsNumeric(sIndexBit) Then
|
|
||||||
Dim bFound As Boolean = False
|
|
||||||
Dim nIndexArrayInt_1 As Integer = nIndexArrayInt
|
|
||||||
For Each VarSiemens As IndexArrayToBit In ListIndexToVar
|
|
||||||
If VarSiemens.sNameVar.Trim = sVarName.Trim Then
|
|
||||||
nIndexArrayInt_1 = VarSiemens.nIndex
|
|
||||||
bFound = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
nVarType = VarType.TInteger
|
|
||||||
m_CN.DVariables_Read_Subscription(sVarName, nVarType, nIndexArrayInt_1)
|
|
||||||
Dim NewRefFlafSiemens As RefereceFlagSimens = New RefereceFlagSimens(nIndexArrayInt_1, ItemIndex, nVarType, sIndexBit)
|
|
||||||
If sItem.Count = 3 Then
|
|
||||||
' forzo la lettura della variabile di default (ignoro lo stato letto da CN)
|
|
||||||
NewRefFlafSiemens.DefaultValue = sItem(2)
|
|
||||||
End If
|
|
||||||
ListReferenceIndex.Add(NewRefFlafSiemens)
|
|
||||||
If Not bFound Then
|
|
||||||
nIndexArrayInt += 1
|
|
||||||
ListIndexToVar.Add(New IndexArrayToBit(nIndexArrayInt_1, sVarName.Trim))
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
EgtOutLog(" ATTENZIONE: in [NcData] '" & m_CN.m_szCnDataVar(ItemIndex) & "' non è inidicato il bit associato")
|
|
||||||
End If
|
|
||||||
Case Else
|
|
||||||
If nIndexArrayInt > 14 Then
|
|
||||||
Continue For
|
|
||||||
End If
|
|
||||||
nVarType = VarType.TInteger
|
|
||||||
m_CN.DVariables_Read_Subscription(sItem(1), nVarType, nIndexArrayInt)
|
|
||||||
ListReferenceIndex.Add(New RefereceFlagSimens(nIndexArrayInt, ItemIndex, nVarType))
|
|
||||||
nIndexArrayInt += 1
|
|
||||||
End Select
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
EgtOutLog(" ATTENZIONE: in [NcData] '" & m_CN.m_szCnDataVar(ItemIndex) & "' non è indicato il tipo (0→Bool,1→Int,2→Long,3→Double,4→String,5→Bit)")
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
' Attraverso la funzione "RefreshNoEvents" rileggo i dati caricati
|
|
||||||
|
|
||||||
' Recupero il perocorso delle variabili PLC
|
|
||||||
GetPrivateProfileString(S_NCSIEMENS, K_DBVARPATH, "", m_CN.m_DbVarPath, m_MainWindow.GetMachIniFile)
|
GetPrivateProfileString(S_NCSIEMENS, K_DBVARPATH, "", m_CN.m_DbVarPath, m_MainWindow.GetMachIniFile)
|
||||||
|
|
||||||
ElseIf m_CN.m_IsActiveModeSubscription Then
|
ElseIf m_CN.m_IsActiveModeSubscription Then
|
||||||
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
m_CN.DVariables_Read_Subscription(m_CN.m_szCnDataVar(CN_generico.CnData.BlowState), VarType.TInteger, 3)
|
||||||
End If
|
End If
|
||||||
@@ -638,33 +499,6 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ClickOnPolishLine()
|
|
||||||
' Se richiesto di scattare foto sulla linea di lucidatura
|
|
||||||
m_CN.n_DReadELS_handle = 0
|
|
||||||
m_CN.ReadEls_Add_Parameter(m_MainWindow.m_CurrentMachine.sClickState, 1)
|
|
||||||
Dim nClickState As Integer = 0
|
|
||||||
For I As Integer = 0 To 10
|
|
||||||
System.Threading.Thread.Sleep(50)
|
|
||||||
If m_CN.n_DReadELS_handle = 1 Then
|
|
||||||
nClickState = CInt(m_CN.d_DReadELS_value)
|
|
||||||
If nClickState = 1 Then
|
|
||||||
' procedo a costruire un nuovo file nella cartella indicata in configurazione
|
|
||||||
Try
|
|
||||||
Dim fs As FileStream = File.Create(m_MainWindow.m_CurrentMachine.sClickDir & "\NewClick.txt")
|
|
||||||
' chiudo il file creato
|
|
||||||
fs.Close()
|
|
||||||
' Dichiaro di aver provveduto a comunicare di scattare la foto
|
|
||||||
m_CN.DVariables_WriteVariables2(m_MainWindow.m_CurrentMachine.sClickState, "0")
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog("Error on PolishLine comunication: " & ex.ToString)
|
|
||||||
End Try
|
|
||||||
End If
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub Refresh()
|
Private Sub Refresh()
|
||||||
|
|
||||||
If m_bNewPosData Then
|
If m_bNewPosData Then
|
||||||
@@ -765,8 +599,8 @@ Public Class CNCommunication
|
|||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.LimitZChanged(m_CN.bLimitZState)
|
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.LimitZChanged(m_CN.bLimitZState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.FiveAxisStateChanged(m_CN.Is_G24_active())
|
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.FiveAxisStateChanged(m_CN.Is_G24_active())
|
||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.ParkingStateChanged(m_CN.bParkingState)
|
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.ParkingStateChanged(m_CN.bParkingState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.ZoneStateChanged(m_CN.nEnableZone)
|
'm_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.ZoneStateChanged(m_CN.nEnableZone)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.PcStateChanged(m_CN.nEnablePc)
|
'm_MainWindow.m_DirectCutPageUC.m_ControlsMachineButton.PcStateChanged(m_CN.nEnablePc)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.VacuumUpChanged(m_CN.bVacuumUp)
|
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.VacuumUpChanged(m_CN.bVacuumUp)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.VacuumDownChanged(m_CN.bVacuumDown)
|
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.VacuumDownChanged(m_CN.bVacuumDown)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.Vacuum2UpChanged(m_CN.bVacuum2Up)
|
m_MainWindow.m_DirectCutPageUC.m_VacuumMachineButton.Vacuum2UpChanged(m_CN.bVacuum2Up)
|
||||||
@@ -820,7 +654,6 @@ Public Class CNCommunication
|
|||||||
End If
|
End If
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.DoorStateChanged(m_CN.nDoorClosedState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.DoorStateChanged(m_CN.nDoorClosedState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.ParkingStateChanged(m_CN.bParkingState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.ParkingStateChanged(m_CN.bParkingState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.HomeStateChanged(m_CN.bHomeState)
|
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.EnableZoneStateChanged(m_CN.nEnableZone)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.EnableZoneStateChanged(m_CN.nEnableZone)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.EnablePcStateChanged(m_CN.nEnablePc)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.EnablePcStateChanged(m_CN.nEnablePc)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.TableUpChanged(m_CN.bTableUpState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.TableUpChanged(m_CN.bTableUpState)
|
||||||
@@ -1108,68 +941,6 @@ Public Class CNCommunication
|
|||||||
'Laser = 16384
|
'Laser = 16384
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
#Region "MASCHERA per conttrollo Bit a Bit"
|
|
||||||
<Flags()>
|
|
||||||
Public Enum Mask As Integer
|
|
||||||
bit_Err = -1
|
|
||||||
bit_0 = &H1 ' 1
|
|
||||||
bit_1 = &H2 ' 2
|
|
||||||
bit_2 = &H4 ' 4
|
|
||||||
bit_3 = &H8 ' 8
|
|
||||||
bit_4 = &H10 ' 16
|
|
||||||
bit_5 = &H20 ' 32
|
|
||||||
bit_6 = &H40 ' 64
|
|
||||||
bit_7 = &H80 ' 128
|
|
||||||
bit_8 = &H100 ' 256
|
|
||||||
bit_9 = &H200 ' 512
|
|
||||||
bit_10 = &H400 ' 1024
|
|
||||||
bit_11 = &H800 ' 2048
|
|
||||||
bit_12 = &H1000 ' 4096
|
|
||||||
bit_13 = &H2000 ' 8192
|
|
||||||
bit_14 = &H4000 ' 16384
|
|
||||||
bit_15 = &H8000 ' 32768
|
|
||||||
End Enum
|
|
||||||
|
|
||||||
Public Function GetMaskByBit(IndexBit As Integer) As Mask
|
|
||||||
Dim Bit_ As Mask = Mask.bit_Err
|
|
||||||
Select Case IndexBit
|
|
||||||
Case 0
|
|
||||||
Bit_ = Mask.bit_0
|
|
||||||
Case 1
|
|
||||||
Bit_ = Mask.bit_1
|
|
||||||
Case 2
|
|
||||||
Bit_ = Mask.bit_2
|
|
||||||
Case 3
|
|
||||||
Bit_ = Mask.bit_3
|
|
||||||
Case 4
|
|
||||||
Bit_ = Mask.bit_4
|
|
||||||
Case 5
|
|
||||||
Bit_ = Mask.bit_5
|
|
||||||
Case 6
|
|
||||||
Bit_ = Mask.bit_6
|
|
||||||
Case 7
|
|
||||||
Bit_ = Mask.bit_7
|
|
||||||
Case 8
|
|
||||||
Bit_ = Mask.bit_8
|
|
||||||
Case 9
|
|
||||||
Bit_ = Mask.bit_9
|
|
||||||
Case 10
|
|
||||||
Bit_ = Mask.bit_10
|
|
||||||
Case 11
|
|
||||||
Bit_ = Mask.bit_11
|
|
||||||
Case 12
|
|
||||||
Bit_ = Mask.bit_12
|
|
||||||
Case 13
|
|
||||||
Bit_ = Mask.bit_13
|
|
||||||
Case 14
|
|
||||||
Bit_ = Mask.bit_14
|
|
||||||
Case 15
|
|
||||||
Bit_ = Mask.bit_15
|
|
||||||
End Select
|
|
||||||
Return Bit_
|
|
||||||
End Function
|
|
||||||
#End Region ' Maschera per controllo Bit a Bit
|
|
||||||
|
|
||||||
Public Function IsSetAll(value As Integer, flag As Integer) As Boolean
|
Public Function IsSetAll(value As Integer, flag As Integer) As Boolean
|
||||||
' somma Bit a Bit
|
' somma Bit a Bit
|
||||||
Return ((value And flag) = flag)
|
Return ((value And flag) = flag)
|
||||||
@@ -1185,23 +956,23 @@ Public Class CNCommunication
|
|||||||
|
|
||||||
m_MachineStatus.DisplaySpeed()
|
m_MachineStatus.DisplaySpeed()
|
||||||
|
|
||||||
'm_MachineStatus.DisplayPower()
|
m_MachineStatus.DisplayPower()
|
||||||
|
|
||||||
m_MachineStatus.DisplayVar()
|
m_MachineStatus.DisplayVar()
|
||||||
'EgtOutLog("Modo attivato: " & m_CN.read_active_mode & " modo attivo: " & m_nCurrMode)
|
'EgtOutLog("Modo attivato: " & m_CN.read_active_mode & " modo attivo: " & m_nCurrMode)
|
||||||
|
|
||||||
'If m_nCountRefresh > 10 Then
|
If m_nCountRefresh > 10 Then
|
||||||
' Dim TempCurrMode As Short = m_CN.read_active_mode()
|
Dim TempCurrMode As Short = m_CN.read_active_mode()
|
||||||
' 'EgtOutLog("Machine status: " & TempCurrMode)
|
'EgtOutLog("Machine status: " & TempCurrMode)
|
||||||
' If TempCurrMode <> m_nCurrMode Then
|
If TempCurrMode <> m_nCurrMode Then
|
||||||
' 'EgtOutLog("Modo attivo: " & m_CN.read_active_mode)
|
'EgtOutLog("Modo attivo: " & m_CN.read_active_mode)
|
||||||
' m_nCurrMode = CInt(TempCurrMode)
|
m_nCurrMode = CInt(TempCurrMode)
|
||||||
' m_MachineStatus.DisplayActiveMode(m_nCurrMode)
|
m_MachineStatus.DisplayActiveMode(m_nCurrMode)
|
||||||
' End If
|
End If
|
||||||
' m_nCountRefresh = 0
|
m_nCountRefresh = 0
|
||||||
'Else
|
Else
|
||||||
' m_nCountRefresh = m_nCountRefresh + 1
|
m_nCountRefresh = m_nCountRefresh + 1
|
||||||
'End If
|
End If
|
||||||
|
|
||||||
If m_CN.b_NC_error Then
|
If m_CN.b_NC_error Then
|
||||||
ErrorList.Clear()
|
ErrorList.Clear()
|
||||||
@@ -1218,176 +989,61 @@ Public Class CNCommunication
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' lettura delle variabili abbonate
|
|
||||||
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
||||||
|
|
||||||
'------------ SINUMERIK ONE ----------------------------------------------
|
' lettura variabili stati mancanti su Siemens
|
||||||
For IndxLst As Integer = 0 To ListReferenceIndex.Count - 1
|
Dim nVarValue As Integer = m_CN.n_data(0)
|
||||||
Dim nType As Integer = ListReferenceIndex(IndxLst).TypeArray
|
EgtOutLog("Variabile PLC control addr: " & 1 & " value: " & nVarValue)
|
||||||
Dim nFlag As Integer = ListReferenceIndex(IndxLst).FlagIndex
|
m_CN.bSpindleState = IsSetAll(nVarValue, ControlStates.Spindle)
|
||||||
Dim nIndex As Integer = ListReferenceIndex(IndxLst).SiemnesArrayIndex
|
m_CN.bLaserTracState = IsSetAll(nVarValue, ControlStates.LaserTrac)
|
||||||
Dim nIndexBit As Integer = ListReferenceIndex(IndxLst).IndexBit
|
m_CN.bCoolantState = IsSetAll(nVarValue, ControlStates.Coolant)
|
||||||
Dim sDefaultValue As String = ListReferenceIndex(IndxLst).DefaultValue
|
m_CN.bInternalCoolantState = IsSetAll(nVarValue, ControlStates.InternalCoolant)
|
||||||
Dim b_temp As Boolean = False
|
m_CN.bExternCoolantState = IsSetAll(nVarValue, ControlStates.ExternCoolant)
|
||||||
Dim n_temp As Integer = 0
|
m_CN.bCBAxesState = IsSetAll(nVarValue, ControlStates.CAxis)
|
||||||
Dim l_temp As Long = 0.0
|
m_CN.bAirBlowState = IsSetAll(nVarValue, ControlStates.AirBlow)
|
||||||
Dim d_temp As Double = 0.0
|
m_CN.bHomeState = IsSetAll(nVarValue, ControlStates.Home)
|
||||||
' leggo il valore caricato
|
m_CN.bTableUpState = IsSetAll(nVarValue, ControlStates.TableUp)
|
||||||
Select Case nType
|
m_CN.bTableDownState = IsSetAll(nVarValue, ControlStates.TableDown)
|
||||||
Case VarType.TBoolean
|
m_CN.bLimitZState = IsSetAll(nVarValue, ControlStates.LimitZ)
|
||||||
If Not String.IsNullOrEmpty(sDefaultValue) Then
|
m_CN.b5AxesState = IsSetAll(nVarValue, ControlStates.Axis5)
|
||||||
' ver 2.6i1
|
|
||||||
Try
|
|
||||||
b_temp = CBool(sDefaultValue)
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog("Default boolean value of flag " & nFlag.ToString & " is not Boolean, verify the form: True or true or 1, False or false or 0")
|
|
||||||
b_temp = m_CN.b_data(nIndex)
|
|
||||||
End Try
|
|
||||||
Else
|
|
||||||
b_temp = m_CN.b_data(nIndex)
|
|
||||||
End If
|
|
||||||
Case VarType.TInteger
|
|
||||||
n_temp = m_CN.n_data(nIndex)
|
|
||||||
' VENTOSE: lettura dato da intero Bit a Bit (ver_2.6h1), ritorno un Boolean
|
|
||||||
If Not String.IsNullOrEmpty(sDefaultValue) Then
|
|
||||||
' ver 2.6i1
|
|
||||||
Try
|
|
||||||
b_temp = CBool(sDefaultValue)
|
|
||||||
Catch ex As Exception
|
|
||||||
EgtOutLog("Default bit value of flag " & nFlag.ToString & " is not Boolean, verify the form: True or true or 1, False or false or 0")
|
|
||||||
b_temp = ReadBit(nIndexBit, n_temp)
|
|
||||||
End Try
|
|
||||||
Else
|
|
||||||
b_temp = ReadBit(nIndexBit, n_temp)
|
|
||||||
End If
|
|
||||||
Case VarType.TLong
|
|
||||||
l_temp = m_CN.l_data(nIndex)
|
|
||||||
Case VarType.TDouble
|
|
||||||
d_temp = m_CN.d_data(nIndex)
|
|
||||||
Case VarType.TString
|
|
||||||
'b_temp = If(m_CN.d_data(nIndex) = 0, True, False)
|
|
||||||
End Select
|
|
||||||
|
|
||||||
Select Case nFlag
|
nVarValue = m_CN.n_data(1)
|
||||||
Case CN_generico.CnData.Mode ' (0) Stato modo attivo
|
'EgtOutLog("Variabile PLC vacuum addr: " & m_CN.m_szCnDataVar(CN_generico.CnData.LaserTrac) & " value: " & nVarValue)
|
||||||
m_CN.n_index_mode = nIndex
|
m_CN.bVacuumUp = IsSetAll(nVarValue, VacuumStates.VacuumUp)
|
||||||
If m_nCountRefresh > 10 Then
|
m_CN.bVacuumDown = IsSetAll(nVarValue, VacuumStates.VacuumDown)
|
||||||
Dim TempCurrMode As Short = m_CN.read_active_mode()
|
m_CN.bVacuum2Up = IsSetAll(nVarValue, VacuumStates.Vacuum2Up)
|
||||||
'EgtOutLog("Machine status: " & TempCurrMode)
|
m_CN.bVacuum2Down = IsSetAll(nVarValue, VacuumStates.Vacuum2Down)
|
||||||
If TempCurrMode <> m_nCurrMode Then
|
m_CN.bVacuum1State = IsSetAll(nVarValue, VacuumStates.Vacuum1State)
|
||||||
'EgtOutLog("Modo attivo: " & m_CN.read_active_mode)
|
m_CN.bVacuum2State = IsSetAll(nVarValue, VacuumStates.Vacuum2State)
|
||||||
m_nCurrMode = CInt(TempCurrMode)
|
m_CN.bVacuum3State = IsSetAll(nVarValue, VacuumStates.Vacuum3State)
|
||||||
m_MachineStatus.DisplayActiveMode(m_nCurrMode)
|
m_CN.bVacuum4State = IsSetAll(nVarValue, VacuumStates.Vacuum4State)
|
||||||
m_CN.nMachineMode = m_nCurrMode
|
m_CN.bVacuum5State = IsSetAll(nVarValue, VacuumStates.Vacuum5State)
|
||||||
End If
|
m_CN.bVacuum6State = IsSetAll(nVarValue, VacuumStates.Vacuum6State)
|
||||||
m_nCountRefresh = 0
|
m_CN.bOpenAllState = (m_CN.bVacuum1State And m_CN.bVacuum2State And m_CN.bVacuum3State And m_CN.bVacuum4State And m_CN.bVacuum5State And m_CN.bVacuum6State)
|
||||||
Else
|
m_CN.bCloseAllState = (Not m_CN.bVacuum1State And Not m_CN.bVacuum2State And Not m_CN.bVacuum3State And Not m_CN.bVacuum4State And Not m_CN.bVacuum5State And Not m_CN.bVacuum6State)
|
||||||
m_nCountRefresh = m_nCountRefresh + 1
|
m_CN.bOpen123State = (m_CN.bVacuum1State And m_CN.bVacuum2State And m_CN.bVacuum3State)
|
||||||
End If
|
m_CN.bOpen456State = (m_CN.bVacuum4State And m_CN.bVacuum5State And m_CN.bVacuum6State)
|
||||||
Case CN_generico.CnData.Power
|
m_CN.bClose123State = (Not m_CN.bVacuum1State And Not m_CN.bVacuum2State And Not m_CN.bVacuum3State)
|
||||||
m_CN.d_spindle_power = d_temp
|
m_CN.bClose456State = (Not m_CN.bVacuum4State And Not m_CN.bVacuum5State And Not m_CN.bVacuum6State)
|
||||||
Case CN_generico.CnData.Spindle ' (7) Stato rotazione mandrino
|
m_CN.bBlowState = IsSetAll(nVarValue, VacuumStates.AirBlow)
|
||||||
m_CN.bSpindleState = b_temp
|
m_CN.bVacuumOn = IsSetAll(nVarValue, VacuumStates.VacuumOn)
|
||||||
Case CN_generico.CnData.Coolant ' (8) Stato acqua
|
m_CN.bVacuumOff = IsSetAll(nVarValue, VacuumStates.VacuumOff)
|
||||||
m_CN.bCoolantState = b_temp
|
m_CN.bBypassState = IsSetAll(nVarValue, VacuumStates.BypassState)
|
||||||
Case CN_generico.CnData.Laser ' (9) Stato laser punto
|
|
||||||
m_CN.bLaserState = b_temp
|
|
||||||
Case CN_generico.CnData.PowerOvr ' (10) Amperaggio
|
|
||||||
m_CN.bPowerOvr = d_temp
|
|
||||||
Case CN_generico.CnData.InternalCoolant ' (13) Stato acqua interna
|
|
||||||
m_CN.bInternalCoolantState = b_temp
|
|
||||||
Case CN_generico.CnData.ExternCoolant ' (14) Stato acqua esterna
|
|
||||||
m_CN.bExternCoolantState = b_temp
|
|
||||||
Case CN_generico.CnData.CBAxes ' (15) Stato ativazione assi c e b
|
|
||||||
m_CN.bCBAxesState = b_temp
|
|
||||||
Case CN_generico.CnData.AirBlow ' (16) Stato soffio utensile
|
|
||||||
m_CN.bAirBlowState = b_temp
|
|
||||||
Case CN_generico.CnData.Home ' (17) Stato home
|
|
||||||
m_CN.bHomeState = b_temp
|
|
||||||
Case CN_generico.CnData.TableUp ' (18) Stato tavolo su
|
|
||||||
m_CN.bTableUpState = b_temp
|
|
||||||
Case CN_generico.CnData.TableDown ' (19) Stato tavolo giu'
|
|
||||||
m_CN.bTableDownState = b_temp
|
|
||||||
Case CN_generico.CnData.DoorClosed ' (20) Stato porte
|
|
||||||
m_CN.nDoorClosedState = n_temp
|
|
||||||
Case CN_generico.CnData.LimitZ ' (21) Stato limitazione asse Z
|
|
||||||
m_CN.bLimitZState = b_temp
|
|
||||||
Case CN_generico.CnData.VacuumUp ' (22) Stato ventosa su'
|
|
||||||
m_CN.bVacuumUp = b_temp
|
|
||||||
Case CN_generico.CnData.VacuumDown ' (23) Stato ventosa giu'
|
|
||||||
m_CN.bVacuumDown = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum2Up ' (24) Stato ventosa2 su'
|
|
||||||
m_CN.bVacuum2Up = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum2Down ' (25) Stato ventosa2 giu'
|
|
||||||
m_CN.bVacuum2Down = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum1State ' (26) Stato ventosa 1
|
|
||||||
m_CN.bVacuum1State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum2State ' (27) Stato ventosa 2
|
|
||||||
m_CN.bVacuum2State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum3State ' (28) Stato ventosa 3
|
|
||||||
m_CN.bVacuum3State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum4State ' (29) Stato ventosa 4
|
|
||||||
m_CN.bVacuum4State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum5State ' (30) Stato ventosa 5
|
|
||||||
m_CN.bVacuum5State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum6State ' (31) Stato ventosa 6
|
|
||||||
m_CN.bVacuum6State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum135State ' (32) Stato ventose 135
|
|
||||||
m_CN.bVacuum135State = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum246State ' (33) Stato ventose 246
|
|
||||||
m_CN.bVacuum246State = b_temp
|
|
||||||
Case CN_generico.CnData.OpenAllState ' (34) Stato apertura ventose
|
|
||||||
m_CN.bOpenAllState = b_temp
|
|
||||||
Case CN_generico.CnData.CloseAllState ' (35) Stato chiusura ventose
|
|
||||||
m_CN.bCloseAllState = b_temp
|
|
||||||
Case CN_generico.CnData.Open123State ' (36) Stato apertura ventose
|
|
||||||
m_CN.bOpen123State = b_temp
|
|
||||||
Case CN_generico.CnData.Open456State ' (37) Stato apertura ventose
|
|
||||||
m_CN.bOpen456State = b_temp
|
|
||||||
Case CN_generico.CnData.Close123State ' (38) Stato chiusura ventose
|
|
||||||
m_CN.bClose123State = b_temp
|
|
||||||
Case CN_generico.CnData.Close456State ' (39) Stato chiusura ventose
|
|
||||||
m_CN.bClose456State = b_temp
|
|
||||||
Case CN_generico.CnData.BlowState ' (40) Stato soffio ventose
|
|
||||||
m_CN.bBlowState = b_temp
|
|
||||||
Case CN_generico.CnData.VacuumOn ' (41) Stato aspirazione ventose acceso
|
|
||||||
m_CN.bVacuumOn = b_temp
|
|
||||||
Case CN_generico.CnData.BypassState ' (42) Stato bypass
|
|
||||||
m_CN.bBypassState = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum0 ' (43) Stato rotazione ventosa 0
|
|
||||||
m_CN.bVacuum0 = b_temp
|
|
||||||
Case CN_generico.CnData.Vacuum90 ' (44) Stato rotazione ventosa 0
|
|
||||||
m_CN.bVacuum90 = b_temp
|
|
||||||
Case CN_generico.CnData.VacuumOff ' (45) Stato aspirazione ventose spento
|
|
||||||
m_CN.bVacuumOff = b_temp
|
|
||||||
Case CN_generico.CnData.LaserTrac ' (46) Stato laser tracciatura
|
|
||||||
m_CN.bLaserTracState = b_temp
|
|
||||||
Case CN_generico.CnData.XYJog ' (47)
|
|
||||||
m_CN.bXYJog = b_temp
|
|
||||||
Case CN_generico.CnData.ZCJog ' (48)
|
|
||||||
m_CN.bZCJog = b_temp
|
|
||||||
Case CN_generico.CnData.ZBJog ' (49)
|
|
||||||
m_CN.bZBCJog = b_temp
|
|
||||||
Case CN_generico.CnData.PowerON ' (50)
|
|
||||||
m_CN.bPowerON = b_temp
|
|
||||||
Case CN_generico.CnData.Remote ' (51)
|
|
||||||
m_CN.bRemote = b_temp
|
|
||||||
Case CN_generico.CnData.Parking ' (52)
|
|
||||||
m_CN.bParkingState = b_temp
|
|
||||||
Case CN_generico.CnData.nAxes ' (55)
|
|
||||||
m_CN.n_index_is_G24_active = nIndex
|
|
||||||
m_CN.b5AxesState = b_temp
|
|
||||||
Case CN_generico.CnData.ResetStatus ' (56)
|
|
||||||
m_CN.bResetState = b_temp
|
|
||||||
|
|
||||||
End Select
|
nVarValue = m_CN.n_data(2)
|
||||||
Next
|
'EgtOutLog("Variabile PLC door addr: " & m_CN.m_szCnDataVar(CN_generico.CnData.DoorClosed) & " value: " & nVarValue)
|
||||||
'------------ SINUMERIK ONE ----------------------------------------------
|
m_CN.nDoorClosedState = nVarValue
|
||||||
|
|
||||||
|
nVarValue = m_CN.n_data(4)
|
||||||
|
'EgtOutLog("Variabile PLC control 2 addr: " & 3 & " value: " & nVarValue)
|
||||||
|
m_CN.bLaserState = IsSetAll(nVarValue, ControlStates2.Laser)
|
||||||
|
m_CN.bHsm = IsSetAll(nVarValue, ControlStates2.Hsm)
|
||||||
|
m_CN.bResetState = IsSetAll(nVarValue, ControlStates2.ResetState)
|
||||||
|
m_CN.bFeedHold = IsSetAll(nVarValue, ControlStates2.FeedHold)
|
||||||
|
m_CN.bSpeedHold = IsSetAll(nVarValue, ControlStates2.SpindleHold)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
m_MachineStatus.DisplayPower()
|
|
||||||
|
|
||||||
' Flag e variabili per bottoni macchina, che verifico solo nelle pagine in cui ci sono
|
' Flag e variabili per bottoni macchina, che verifico solo nelle pagine in cui ci sono
|
||||||
If m_MainWindow.m_ActivePage = MainWindow.Pages.DirectCut Then
|
If m_MainWindow.m_ActivePage = MainWindow.Pages.DirectCut Then
|
||||||
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
||||||
@@ -1437,7 +1093,6 @@ Public Class CNCommunication
|
|||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.CoolantStateChanged(m_CN.bCoolantState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.CoolantStateChanged(m_CN.bCoolantState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserStateChanged(m_CN.bLaserState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserStateChanged(m_CN.bLaserState)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserTracStateChanged(m_CN.bLaserTracState)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.LaserTracStateChanged(m_CN.bLaserTracState)
|
||||||
' modalità vecchia
|
|
||||||
If m_CN.Is_G24_active() Then
|
If m_CN.Is_G24_active() Then
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.ThreeAxisStateChanged(False)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.ThreeAxisStateChanged(False)
|
||||||
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.FiveAxisStateChanged(True)
|
m_MainWindow.m_DirectCutPageUC.m_MachineButtons.FiveAxisStateChanged(True)
|
||||||
@@ -1466,25 +1121,8 @@ Public Class CNCommunication
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If m_MainWindow.m_ActivePage = MainWindow.Pages.Machine Then
|
|
||||||
If m_IsNewConsole Then
|
|
||||||
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerONChanged(m_CN.bPowerON)
|
|
||||||
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.PowerOFFChanged(Not m_CN.bPowerON)
|
|
||||||
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.CncModeChange(m_CN.nMachineMode)
|
|
||||||
End If
|
|
||||||
m_MainWindow.m_MachinePageUC.m_MachineCNPageUC.CncModeChange(m_CN.nMachineMode)
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function ReadBit(IndexBit As Integer, Val As Integer) As Boolean
|
|
||||||
If IndexBit < 0 Then Return False
|
|
||||||
Dim _mask = GetMaskByBit(IndexBit)
|
|
||||||
If _mask = Mask.bit_Err Then Return False
|
|
||||||
If (Val And _mask) = 0 Then Return False
|
|
||||||
Return True
|
|
||||||
End Function
|
|
||||||
|
|
||||||
Friend Function SetProgramMainOrSub(bMain As Boolean) As Boolean
|
Friend Function SetProgramMainOrSub(bMain As Boolean) As Boolean
|
||||||
Return m_CN.SetProgramMainOrSub(bMain)
|
Return m_CN.SetProgramMainOrSub(bMain)
|
||||||
End Function
|
End Function
|
||||||
@@ -1492,18 +1130,12 @@ Public Class CNCommunication
|
|||||||
Friend Function SendProgram(ByVal sCncPath As String, ByVal nNumProg As Integer,
|
Friend Function SendProgram(ByVal sCncPath As String, ByVal nNumProg As Integer,
|
||||||
Optional bActivate As Boolean = True) As Boolean
|
Optional bActivate As Boolean = True) As Boolean
|
||||||
Dim bOk As Boolean = True
|
Dim bOk As Boolean = True
|
||||||
|
|
||||||
' !!!!!!!!!!!!!!!!!! FORZO IL PROGRAMMA !!!!!!!!!!!!!!!!!!
|
|
||||||
' m_nNCType = 2
|
|
||||||
' !!!!!!!!!!!!!!!!!! FORZO IL PROGRAMMA !!!!!!!!!!!!!!!!!!
|
|
||||||
|
|
||||||
' Download programma
|
' Download programma
|
||||||
If m_MainWindow.m_bNCLink Then
|
If m_MainWindow.m_bNCLink Then
|
||||||
bOk = (m_nNCType > 0)
|
bOk = (m_nNCType > 0)
|
||||||
Dim sNumProg As String = String.Empty
|
Dim sNumProg As String = String.Empty
|
||||||
If m_nNCType = 1 Or m_nNCType = 2 Then
|
If m_nNCType = 1 Or m_nNCType = 2 Then
|
||||||
Dim sExtFileCN As String = m_MainWindow.m_CurrentMachine.sExtFileCN
|
sNumProg = "%" & nNumProg.ToString() & ".0"
|
||||||
sNumProg = "%" & nNumProg.ToString() & sExtFileCN
|
|
||||||
Else
|
Else
|
||||||
sNumProg = nNumProg.ToString()
|
sNumProg = nNumProg.ToString()
|
||||||
End If
|
End If
|
||||||
@@ -1530,7 +1162,7 @@ Public Class CNCommunication
|
|||||||
' Attesa opportuna
|
' Attesa opportuna
|
||||||
System.Threading.Thread.Sleep(m_MainWindow.m_CurrentMachine.nThreadSleep)
|
System.Threading.Thread.Sleep(m_MainWindow.m_CurrentMachine.nThreadSleep)
|
||||||
End If
|
End If
|
||||||
EgtOutLog("Download_NC_prog(" & sCncPath & ", " & sNumProg.ToString & ")")
|
EgtOutLog("Download_NC_prog(sCncPath, sNumProg)")
|
||||||
' -------------- START DOWNLOAD --------------
|
' -------------- START DOWNLOAD --------------
|
||||||
TimeSpanInit()
|
TimeSpanInit()
|
||||||
bOk = bOk AndAlso (m_CN.Download_NC_prog(sCncPath, sNumProg) = 0)
|
bOk = bOk AndAlso (m_CN.Download_NC_prog(sCncPath, sNumProg) = 0)
|
||||||
@@ -1571,7 +1203,7 @@ Public Class CNCommunication
|
|||||||
' Se richiesta attivazione
|
' Se richiesta attivazione
|
||||||
If bActivate Then
|
If bActivate Then
|
||||||
' Attivazione programma
|
' Attivazione programma
|
||||||
EgtOutLog("ActivateProgram(" & nNumProg.ToString & ")")
|
EgtOutLog("ActivateProgram(nNumProg)")
|
||||||
TimeSpanInit()
|
TimeSpanInit()
|
||||||
bOk = bOk AndAlso (m_CN.ActivateProgram(nNumProg) = 0)
|
bOk = bOk AndAlso (m_CN.ActivateProgram(nNumProg) = 0)
|
||||||
EgtOutLog(TimeSpanEnd())
|
EgtOutLog(TimeSpanEnd())
|
||||||
@@ -1701,95 +1333,3 @@ Public Class CNCommunication
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Class RefereceFlagSimens
|
|
||||||
|
|
||||||
Private m_SiemnesArrayIndex As Integer
|
|
||||||
Private m_FlagIndex As Integer
|
|
||||||
Private m_TypeArray As Integer
|
|
||||||
' Opzionale
|
|
||||||
Private m_IndexBit As Integer = -1
|
|
||||||
Private m_DefaultValue As String = ""
|
|
||||||
|
|
||||||
Public Property SiemnesArrayIndex As Integer
|
|
||||||
Get
|
|
||||||
Return m_SiemnesArrayIndex
|
|
||||||
End Get
|
|
||||||
Set(value As Integer)
|
|
||||||
m_SiemnesArrayIndex = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property FlagIndex As Integer
|
|
||||||
Get
|
|
||||||
Return m_FlagIndex
|
|
||||||
End Get
|
|
||||||
Set(value As Integer)
|
|
||||||
m_FlagIndex = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property TypeArray As Integer
|
|
||||||
Get
|
|
||||||
Return m_TypeArray
|
|
||||||
End Get
|
|
||||||
Set(value As Integer)
|
|
||||||
m_TypeArray = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property IndexBit As String
|
|
||||||
Get
|
|
||||||
Return m_IndexBit
|
|
||||||
End Get
|
|
||||||
Set(value As String)
|
|
||||||
m_IndexBit = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Public Property DefaultValue As String
|
|
||||||
Get
|
|
||||||
Return m_DefaultValue
|
|
||||||
End Get
|
|
||||||
Set(value As String)
|
|
||||||
m_DefaultValue = value
|
|
||||||
End Set
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Sub New(IndArray As Integer, Flag As Integer, nType As Integer)
|
|
||||||
m_SiemnesArrayIndex = IndArray
|
|
||||||
m_FlagIndex = Flag
|
|
||||||
m_TypeArray = nType
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Sub New(IndArray As Integer, Flag As Integer, nType As Integer, nIndBit As Integer)
|
|
||||||
m_SiemnesArrayIndex = IndArray
|
|
||||||
m_FlagIndex = Flag
|
|
||||||
m_TypeArray = nType
|
|
||||||
m_IndexBit = nIndBit
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
|
||||||
|
|
||||||
Public Class IndexArrayToBit
|
|
||||||
|
|
||||||
Private m_nIndex As Integer = 0
|
|
||||||
Public ReadOnly Property nIndex As Integer
|
|
||||||
Get
|
|
||||||
Return m_nIndex
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Private m_sNameVar As String = ""
|
|
||||||
Public ReadOnly Property sNameVar As String
|
|
||||||
Get
|
|
||||||
Return m_sNameVar
|
|
||||||
End Get
|
|
||||||
End Property
|
|
||||||
|
|
||||||
Sub New(Index As Integer, NameVar As String)
|
|
||||||
m_nIndex = Index
|
|
||||||
m_sNameVar = NameVar
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
End Class
|
|
||||||
@@ -87,7 +87,6 @@ Public Class CN_Siemens
|
|||||||
Case 8 ' Modalita Ref Point
|
Case 8 ' Modalita Ref Point
|
||||||
sDBVarPath &= "REF_POINT"
|
sDBVarPath &= "REF_POINT"
|
||||||
End Select
|
End Select
|
||||||
' /plc/"OmagCUT_DB".CTRL.AUTO
|
|
||||||
DVariables_WriteVariables3(sDBVarPath, 1, 1, 0, 0, "")
|
DVariables_WriteVariables3(sDBVarPath, 1, 1, 0, 0, "")
|
||||||
Return 0
|
Return 0
|
||||||
Else
|
Else
|
||||||
@@ -133,7 +132,7 @@ Public Class CN_Siemens
|
|||||||
Public Overrides Function read_active_mode() As Short
|
Public Overrides Function read_active_mode() As Short
|
||||||
'EgtOutLog("Modo attivo: " & M_MMFiles.SiemensRet.n_param2)
|
'EgtOutLog("Modo attivo: " & M_MMFiles.SiemensRet.n_param2)
|
||||||
If m_IsSiemensOne Or m_IsActiveModeSubscription Then
|
If m_IsSiemensOne Or m_IsActiveModeSubscription Then
|
||||||
Select Case n_data(n_index_mode)
|
Select Case n_data(3)
|
||||||
Case 1
|
Case 1
|
||||||
Return 0
|
Return 0
|
||||||
Case 2
|
Case 2
|
||||||
@@ -145,7 +144,7 @@ Public Class CN_Siemens
|
|||||||
End Select
|
End Select
|
||||||
Else
|
Else
|
||||||
' per verificare che la comunicazione funzioni correttamente
|
' per verificare che la comunicazione funzioni correttamente
|
||||||
' EgtOutLog("Modo -read_active_mode-: " & M_MMFiles.SiemensRet.n_param2.ToString)
|
EgtOutLog("Modo -read_active_mode-: " & M_MMFiles.SiemensRet.n_param2.ToString)
|
||||||
Return M_MMFiles.read_active_mode()
|
Return M_MMFiles.read_active_mode()
|
||||||
'Return CShort(M_MMFiles.SiemensRet.n_param2)
|
'Return CShort(M_MMFiles.SiemensRet.n_param2)
|
||||||
End If
|
End If
|
||||||
@@ -153,12 +152,7 @@ Public Class CN_Siemens
|
|||||||
|
|
||||||
Public Overrides Function Is_G24_active() As Boolean
|
Public Overrides Function Is_G24_active() As Boolean
|
||||||
|
|
||||||
If m_IsSiemensOne Or m_IsActiveModeSubscription Then
|
|
||||||
Return b_data(n_index_is_G24_active)
|
|
||||||
|
|
||||||
Else
|
|
||||||
Return M_MMFiles.SiemensRet.b_interf_G24
|
Return M_MMFiles.SiemensRet.b_interf_G24
|
||||||
End If
|
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -223,12 +217,12 @@ Public Class CN_Siemens
|
|||||||
Public Overrides Sub DVariables_WriteVariables3(VarAddr As String, ParType As Short, nVarValue As Integer, lVarValue As Long, dVarValue As Double, sVarValue As String)
|
Public Overrides Sub DVariables_WriteVariables3(VarAddr As String, ParType As Short, nVarValue As Integer, lVarValue As Long, dVarValue As Double, sVarValue As String)
|
||||||
Dim n_ret As Short = Write_var(VarAddr, ParType, nVarValue, lVarValue, dVarValue, sVarValue)
|
Dim n_ret As Short = Write_var(VarAddr, ParType, nVarValue, lVarValue, dVarValue, sVarValue)
|
||||||
'EgtOutLog("CN SIEMENS Dopo scrittura variabile")
|
'EgtOutLog("CN SIEMENS Dopo scrittura variabile")
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Overrides Sub DVariables_Read_Subscription(VarAddr As String, ParType As Short, Index As Integer)
|
Public Overrides Sub DVariables_Read_Subscription(VarAddr As String, ParType As Short, Index As Integer)
|
||||||
' Ricevo il percorso della varibile, il tipo
|
|
||||||
Dim n_ret As Short = Read_subscription(VarAddr, ParType, Index)
|
Dim n_ret As Short = Read_subscription(VarAddr, ParType, Index)
|
||||||
EgtOutLog(" ABBONAMENTO (Esito: " & n_ret.ToString & ") -> Address: " & VarAddr & ", Type: " & ParType.ToString & ", Index: " & Index.ToString)
|
'EgtOutLog("CN SIEMENS Dopo lettura abbonamento")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
'
|
'
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Public MustInherit Class CN_generico
|
|||||||
Public Const MAX_VAR As Short = 100
|
Public Const MAX_VAR As Short = 100
|
||||||
Public Const MAX_VALUES As Short = 9 ' Max. index to read the data from the FXServer array
|
Public Const MAX_VALUES As Short = 9 ' Max. index to read the data from the FXServer array
|
||||||
Public Const MAX_TOOLS As Short = 100
|
Public Const MAX_TOOLS As Short = 100
|
||||||
Public Const NUM_DATA = 57 ' Numero di dati del CN (Speed,Feed,...)
|
Public Const NUM_DATA = 56 ' Numero di dati del CN (Speed,Feed,...)
|
||||||
|
|
||||||
Public m_NewVariable As Boolean = False ' per scrittura delle vairbaili Apllication del PLC
|
Public m_NewVariable As Boolean = False ' per scrittura delle vairbaili Apllication del PLC
|
||||||
|
|
||||||
@@ -72,8 +72,6 @@ Public MustInherit Class CN_generico
|
|||||||
EnablePC = 54
|
EnablePC = 54
|
||||||
|
|
||||||
nAxes = 55
|
nAxes = 55
|
||||||
|
|
||||||
ResetStatus = 56
|
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum Type As Short
|
Public Enum Type As Short
|
||||||
@@ -140,9 +138,6 @@ Public MustInherit Class CN_generico
|
|||||||
Public d_param1 As Double
|
Public d_param1 As Double
|
||||||
Public sz_string As String ' ( MAX 200 caratteri )
|
Public sz_string As String ' ( MAX 200 caratteri )
|
||||||
|
|
||||||
' Indice del vettore n_data associato alla lettura nMode
|
|
||||||
Public n_index_mode As Integer = 0
|
|
||||||
Public n_index_is_G24_active As Integer = 0
|
|
||||||
Public b_data(14) As Boolean
|
Public b_data(14) As Boolean
|
||||||
Public n_data(14) As Int16
|
Public n_data(14) As Int16
|
||||||
Public l_data(14) As Long
|
Public l_data(14) As Long
|
||||||
|
|||||||
@@ -1683,16 +1683,7 @@ Module M_Fanuc
|
|||||||
sz_Err_Msg = ""
|
sz_Err_Msg = ""
|
||||||
If Not bSimulation Then
|
If Not bSimulation Then
|
||||||
|
|
||||||
' Nicola: 10/05/2024
|
sz_MDI_program = sz_MDI_command
|
||||||
|
|
||||||
Dim sItems As String() = sz_MDI_command.Split(";")
|
|
||||||
Dim sNew_MDI_program As String = ""
|
|
||||||
For Each sItem As String In sItems
|
|
||||||
sNew_MDI_program &= sItem & vbLf
|
|
||||||
Next
|
|
||||||
sNew_MDI_program &= "%"
|
|
||||||
|
|
||||||
sz_MDI_program = sNew_MDI_program
|
|
||||||
|
|
||||||
' Nicola: 29/03/2023
|
' Nicola: 29/03/2023
|
||||||
|
|
||||||
|
|||||||
@@ -650,7 +650,9 @@ Namespace Fanuc
|
|||||||
' ...
|
' ...
|
||||||
|
|
||||||
Case CnData.Feed ' (2)
|
Case CnData.Feed ' (2)
|
||||||
d_DInterpo_Prog_Feed = CDbl(n_temp) ' d_DInterpo_Prog_Feed
|
|
||||||
|
Dim qq As Short = n_temp
|
||||||
|
'd_DInterpo_Prog_Feed = CDbl(CLng(values(n))) ' d_DInterpo_Prog_Feed
|
||||||
|
|
||||||
Case CnData.FeedOvr ' (3) Potenziom. Feed = * 0.47059
|
Case CnData.FeedOvr ' (3) Potenziom. Feed = * 0.47059
|
||||||
d_DInterpo_Feed_override = CDbl(n_temp)
|
d_DInterpo_Feed_override = CDbl(n_temp)
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ Module M_MMFiles
|
|||||||
|
|
||||||
#Region " Structures"
|
#Region " Structures"
|
||||||
|
|
||||||
' Struttura per spedire un "comando" al Siemens
|
|
||||||
<StructLayout(LayoutKind.Sequential)>
|
<StructLayout(LayoutKind.Sequential)> _
|
||||||
Structure SiemensSendStruct
|
Structure SiemensSendStruct
|
||||||
|
|
||||||
Public n_Flag As Integer
|
Public n_Flag As Integer
|
||||||
@@ -46,7 +46,7 @@ Module M_MMFiles
|
|||||||
|
|
||||||
Private SiemensSend As SiemensSendStruct
|
Private SiemensSend As SiemensSendStruct
|
||||||
|
|
||||||
' Struttura per leggere l'esito di un "comando" al Siemens
|
|
||||||
<StructLayout(LayoutKind.Sequential)> _
|
<StructLayout(LayoutKind.Sequential)> _
|
||||||
Structure SiemensRetStruct
|
Structure SiemensRetStruct
|
||||||
|
|
||||||
@@ -75,7 +75,6 @@ Module M_MMFiles
|
|||||||
Public b_is_laser_ON As Boolean
|
Public b_is_laser_ON As Boolean
|
||||||
Public b_is_spindle_ON As Boolean
|
Public b_is_spindle_ON As Boolean
|
||||||
|
|
||||||
' Vettore assi macchina (file SiemensComm: axes_0_M, axes_0_P)
|
|
||||||
<MarshalAs(UnmanagedType.ByValArray, ArraySubType:=UnmanagedType.R8, SizeConst:=16)> _
|
<MarshalAs(UnmanagedType.ByValArray, ArraySubType:=UnmanagedType.R8, SizeConst:=16)> _
|
||||||
Public d_interf_axis_position() As Double
|
Public d_interf_axis_position() As Double
|
||||||
|
|
||||||
@@ -177,7 +176,7 @@ Module M_MMFiles
|
|||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region " Commands constants"
|
#Region " Commands constants"
|
||||||
' Elenco codici comandi per spedire programma a SiemensComm.exe
|
|
||||||
Enum CMD As Short
|
Enum CMD As Short
|
||||||
|
|
||||||
CMD_Download_NC_prog = 1
|
CMD_Download_NC_prog = 1
|
||||||
@@ -206,7 +205,6 @@ Module M_MMFiles
|
|||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Friend Enum VarType As Short
|
Friend Enum VarType As Short
|
||||||
TBoolean = 0
|
|
||||||
TInteger = 1
|
TInteger = 1
|
||||||
TLong = 2
|
TLong = 2
|
||||||
TDouble = 3
|
TDouble = 3
|
||||||
@@ -345,9 +343,6 @@ Module M_MMFiles
|
|||||||
Function ActivateProgram(ByVal sz_part_program As String) As Short
|
Function ActivateProgram(ByVal sz_part_program As String) As Short
|
||||||
'EgtOutLog("ActivateProgram start dell'm_mmFiles")
|
'EgtOutLog("ActivateProgram start dell'm_mmFiles")
|
||||||
|
|
||||||
EgtOutLog("Flag di comando: " & CMD.CMD_ActivateProgram.ToString)
|
|
||||||
EgtOutLog("Stringa di comando: " & sz_part_program.ToString)
|
|
||||||
|
|
||||||
SiemensSend.n_Command = CMD.CMD_ActivateProgram
|
SiemensSend.n_Command = CMD.CMD_ActivateProgram
|
||||||
SiemensSend.sz_string = sz_part_program
|
SiemensSend.sz_string = sz_part_program
|
||||||
|
|
||||||
@@ -375,8 +370,7 @@ Module M_MMFiles
|
|||||||
SiemensSend.n_Command = CMD.CMD_CycleStart
|
SiemensSend.n_Command = CMD.CMD_CycleStart
|
||||||
|
|
||||||
execute_command()
|
execute_command()
|
||||||
' Rimango in attesa
|
'EgtOutLog("CycleStart end dell'm_mmFiles")
|
||||||
EgtOutLog(" → CycleStart")
|
|
||||||
Return SiemensRet.n_result
|
Return SiemensRet.n_result
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
@@ -603,15 +597,16 @@ Module M_MMFiles
|
|||||||
'EgtOutLog("Write_Nc_var start dell'm_mmFiles")
|
'EgtOutLog("Write_Nc_var start dell'm_mmFiles")
|
||||||
SiemensSend.n_Command = CMD.CMD_Read_NC_subscription
|
SiemensSend.n_Command = CMD.CMD_Read_NC_subscription
|
||||||
SiemensSend.sz_string_2 = VarAddr ' indirizzo su CN dell' oggetto da scrivere
|
SiemensSend.sz_string_2 = VarAddr ' indirizzo su CN dell' oggetto da scrivere
|
||||||
EgtOutLog(" → Sottoscrivo lettura di '" & VarAddr & "'")
|
|
||||||
SiemensSend.n_param1 = Index ' tipo di dato da scrivere
|
SiemensSend.n_param1 = Index ' tipo di dato da scrivere
|
||||||
EgtOutLog(" Indice del vettore associato '" & Index & "'")
|
|
||||||
SiemensSend.n_param2 = ParType ' tipo di dato da scrivere
|
SiemensSend.n_param2 = ParType ' tipo di dato da scrivere
|
||||||
EgtOutLog(" Indice tipo di variabile '" & ParType & "'")
|
|
||||||
execute_command()
|
execute_command()
|
||||||
m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message = SiemensRet.sz_interf_error_message
|
m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message = SiemensRet.sz_interf_error_message
|
||||||
EgtOutLog(" sz_interf_error_message: " & m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message)
|
|
||||||
EgtOutLog(" n_result: " & SiemensRet.n_result)
|
EgtOutLog("sz_interf_error_message: " & m_MainWindow.m_CNCommunication.m_CN.sz_interf_error_message)
|
||||||
|
EgtOutLog("n_result: " & SiemensRet.n_result)
|
||||||
Return SiemensRet.n_result
|
Return SiemensRet.n_result
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -770,7 +765,7 @@ Module M_MMFiles
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
' copio variabili in abbonamento
|
' copio variabili in abbonamento
|
||||||
For Index As Integer = 0 To 14
|
For Index As Integer = 0 To 5
|
||||||
CurrCN.b_data(Index) = SiemensRet.b_data(Index)
|
CurrCN.b_data(Index) = SiemensRet.b_data(Index)
|
||||||
CurrCN.n_data(Index) = SiemensRet.n_data(Index)
|
CurrCN.n_data(Index) = SiemensRet.n_data(Index)
|
||||||
CurrCN.l_data(Index) = SiemensRet.l_data(Index)
|
CurrCN.l_data(Index) = SiemensRet.l_data(Index)
|
||||||
|
|||||||
@@ -289,7 +289,6 @@ Namespace Num
|
|||||||
|
|
||||||
' Stringhe valide : "COM" o "XIP01, 0, 10, 0, 0, 0"
|
' Stringhe valide : "COM" o "XIP01, 0, 10, 0, 0, 0"
|
||||||
Dim nret As Integer = NC_connect(m_szCnDataVar(CnData.Comm))
|
Dim nret As Integer = NC_connect(m_szCnDataVar(CnData.Comm))
|
||||||
EgtOutLog(" → Risultatao apertura connessiione: " & nret)
|
|
||||||
If nret <> 0 Then Return False
|
If nret <> 0 Then Return False
|
||||||
|
|
||||||
n_state = 2
|
n_state = 2
|
||||||
@@ -584,6 +583,7 @@ Namespace Num
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Function Read_machine_pos() As Int16
|
Function Read_machine_pos() As Int16
|
||||||
|
|
||||||
Dim nret As Int16
|
Dim nret As Int16
|
||||||
Dim i, n As Integer
|
Dim i, n As Integer
|
||||||
|
|
||||||
|
|||||||
@@ -115,9 +115,6 @@
|
|||||||
<Reference Include="AxInterop.FXLib">
|
<Reference Include="AxInterop.FXLib">
|
||||||
<HintPath>..\..\EgtProg\OmagCUT\AxInterop.FXLib.dll</HintPath>
|
<HintPath>..\..\EgtProg\OmagCUT\AxInterop.FXLib.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="DotNetZip">
|
|
||||||
<HintPath>..\..\EgtProg\OmagCUT\DotNetZip.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="EgtPHOTOLib">
|
<Reference Include="EgtPHOTOLib">
|
||||||
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
|
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
@@ -145,6 +142,9 @@
|
|||||||
<HintPath>..\..\EgtProg\OmagCUT\Interop.FXServer.dll</HintPath>
|
<HintPath>..\..\EgtProg\OmagCUT\Interop.FXServer.dll</HintPath>
|
||||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
<Reference Include="Ionic.Zip">
|
||||||
|
<HintPath>..\..\EgtProg\OmagCUT\Ionic.Zip.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
<Reference Include="PresentationFramework.Aero" />
|
<Reference Include="PresentationFramework.Aero" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
<Reference Include="System.Data.SQLite, Version=1.0.112.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=x86">
|
||||||
@@ -174,9 +174,6 @@
|
|||||||
<Compile Include="AboutBox\AboutBoxWD.xaml.vb">
|
<Compile Include="AboutBox\AboutBoxWD.xaml.vb">
|
||||||
<DependentUpon>AboutBoxWD.xaml</DependentUpon>
|
<DependentUpon>AboutBoxWD.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="CadCuts\ChooseTestToolWD.xaml.vb">
|
|
||||||
<DependentUpon>ChooseTestToolWD.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="CadCuts\SelectPartFromFamilyWD.xaml.vb">
|
<Compile Include="CadCuts\SelectPartFromFamilyWD.xaml.vb">
|
||||||
<DependentUpon>SelectPartFromFamilyWD.xaml</DependentUpon>
|
<DependentUpon>SelectPartFromFamilyWD.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -212,9 +209,6 @@
|
|||||||
<Compile Include="DrawImport\UnderDrillUC.xaml.vb">
|
<Compile Include="DrawImport\UnderDrillUC.xaml.vb">
|
||||||
<DependentUpon>UnderDrillUC.xaml</DependentUpon>
|
<DependentUpon>UnderDrillUC.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="LicenseWindow.xaml.vb">
|
|
||||||
<DependentUpon>LicenseWindow.xaml</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Machine\AlarmsPageUC.xaml.vb">
|
<Compile Include="Machine\AlarmsPageUC.xaml.vb">
|
||||||
<DependentUpon>AlarmsPageUC.xaml</DependentUpon>
|
<DependentUpon>AlarmsPageUC.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -447,10 +441,6 @@
|
|||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="CadCuts\ChooseTestToolWD.xaml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
<Generator>MSBuild:Compile</Generator>
|
|
||||||
</Page>
|
|
||||||
<Page Include="CadCuts\SelectPartFromFamilyWD.xaml">
|
<Page Include="CadCuts\SelectPartFromFamilyWD.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
@@ -495,10 +485,6 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
<Page Include="LicenseWindow.xaml">
|
|
||||||
<SubType>Designer</SubType>
|
|
||||||
<Generator>MSBuild:Compile</Generator>
|
|
||||||
</Page>
|
|
||||||
<Page Include="Machine\AlarmsPageUC.xaml">
|
<Page Include="Machine\AlarmsPageUC.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
@@ -1354,37 +1340,6 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Resource Include="Resources\NewIcons\RefTab.png" />
|
<Resource Include="Resources\NewIcons\RefTab.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\PhotoHQ.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\icone-tagli-1HQ.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\ImportPageListBoxImages\4.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\ImportPageListBoxImages\5.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\Muovi-grezzo.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\ON_OFF-REG.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\Move-Spot-Reg.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\Logo-Egalware.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\Logo-Egalware %282%29.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Resource Include="Resources\NewIcons\Logo-Egalware %283%29.png" />
|
|
||||||
<Resource Include="Resources\NewIcons\RawHeight.png" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
|
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
|
||||||
|
|||||||
@@ -63,7 +63,6 @@
|
|||||||
<BitmapImage x:Key="PhotoImg" UriSource="Resources/NewIcons/icone-tagli-1.png"></BitmapImage>
|
<BitmapImage x:Key="PhotoImg" UriSource="Resources/NewIcons/icone-tagli-1.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawPartImg" UriSource="Resources/NewIcons/icone-tagli-5.png"></BitmapImage>
|
<BitmapImage x:Key="RawPartImg" UriSource="Resources/NewIcons/icone-tagli-5.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawProbeImg" UriSource="Resources/NewIcons/RawProbe.png"></BitmapImage>
|
<BitmapImage x:Key="RawProbeImg" UriSource="Resources/NewIcons/RawProbe.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawHeightImg" UriSource="Resources/NewIcons/RawHeight.png"></BitmapImage>
|
|
||||||
<BitmapImage x:Key="RightArrowImg" UriSource="Resources/NewIcons/RightArrow.png"></BitmapImage>
|
<BitmapImage x:Key="RightArrowImg" UriSource="Resources/NewIcons/RightArrow.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="SawProbeImg" UriSource="Resources/NewIcons/SawProbe.png"></BitmapImage>
|
<BitmapImage x:Key="SawProbeImg" UriSource="Resources/NewIcons/SawProbe.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="SendImg" UriSource="Resources/NewIcons/Send.png"></BitmapImage>
|
<BitmapImage x:Key="SendImg" UriSource="Resources/NewIcons/Send.png"></BitmapImage>
|
||||||
@@ -238,10 +237,7 @@
|
|||||||
<Setter Property="Foreground" Value="White"/>
|
<Setter Property="Foreground" Value="White"/>
|
||||||
<Setter Property="IsReadOnly" Value="True"/>
|
<Setter Property="IsReadOnly" Value="True"/>
|
||||||
<Setter Property="IsEnabled" Value="False"/>
|
<Setter Property="IsEnabled" Value="False"/>
|
||||||
<Setter Property="TextAlignment" Value="Center"/>
|
|
||||||
<Setter Property="Template" Value="{StaticResource FixedTextBoxTemplate}" />
|
<Setter Property="Template" Value="{StaticResource FixedTextBoxTemplate}" />
|
||||||
<Setter Property="ToolTipService.ShowOnDisabled" Value="True"/>
|
|
||||||
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
|
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style x:Key="OmagCut_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
|
<Style x:Key="OmagCut_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
|
||||||
|
|||||||
@@ -133,7 +133,6 @@
|
|||||||
<BitmapImage x:Key="PhotoImg" UriSource="Resources/Photo.png"></BitmapImage>
|
<BitmapImage x:Key="PhotoImg" UriSource="Resources/Photo.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawPartImg" UriSource="Resources/RawPart.png"></BitmapImage>
|
<BitmapImage x:Key="RawPartImg" UriSource="Resources/RawPart.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawProbeImg" UriSource="Resources/RawProbe.png"></BitmapImage>
|
<BitmapImage x:Key="RawProbeImg" UriSource="Resources/RawProbe.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="RawHeightImg" UriSource="Resources/NewIcons/RawHeight.png"></BitmapImage>
|
|
||||||
<BitmapImage x:Key="RightArrowImg" UriSource="Resources/RightArrow.png"></BitmapImage>
|
<BitmapImage x:Key="RightArrowImg" UriSource="Resources/RightArrow.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="SawProbeImg" UriSource="Resources/SawProbe.png"></BitmapImage>
|
<BitmapImage x:Key="SawProbeImg" UriSource="Resources/SawProbe.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="SendImg" UriSource="Resources/Send.png"></BitmapImage>
|
<BitmapImage x:Key="SendImg" UriSource="Resources/Send.png"></BitmapImage>
|
||||||
@@ -172,7 +171,6 @@
|
|||||||
<BitmapImage x:Key="Vein-matchImg" UriSource="Resources/NewIcons/Vein-match.png"></BitmapImage>
|
<BitmapImage x:Key="Vein-matchImg" UriSource="Resources/NewIcons/Vein-match.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Test-lamaImg" UriSource="Resources/NewIcons/Test-lama.png"></BitmapImage>
|
<BitmapImage x:Key="Test-lamaImg" UriSource="Resources/NewIcons/Test-lama.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Parcheggia-pezzoImg" UriSource="Resources/NewIcons/Parcheggia-pezzo.png"></BitmapImage>
|
<BitmapImage x:Key="Parcheggia-pezzoImg" UriSource="Resources/NewIcons/Parcheggia-pezzo.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Muovi-grezzoImg" UriSource="Resources/NewIcons/Muovi-grezzo.png"></BitmapImage>
|
|
||||||
<BitmapImage x:Key="Inserisci-pezzoImg" UriSource="Resources/NewIcons/Inserisci-pezzo.png"></BitmapImage>
|
<BitmapImage x:Key="Inserisci-pezzoImg" UriSource="Resources/NewIcons/Inserisci-pezzo.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Elimina-pezzoImg" UriSource="Resources/NewIcons/Elimina-pezzo.png"></BitmapImage>
|
<BitmapImage x:Key="Elimina-pezzoImg" UriSource="Resources/NewIcons/Elimina-pezzo.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Seleziona-tuttoImg" UriSource="Resources/NewIcons/Seleziona-tutto.png"></BitmapImage>
|
<BitmapImage x:Key="Seleziona-tuttoImg" UriSource="Resources/NewIcons/Seleziona-tutto.png"></BitmapImage>
|
||||||
@@ -227,7 +225,6 @@
|
|||||||
<BitmapImage x:Key="QualityWJImg" UriSource="Resources/NewIcons/Quality.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="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="ON_OFF-singolo-taglioImg" UriSource="Resources/NewIcons/ON_OFF-singolo-taglio.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="ON_OFF-REGImg" UriSource="Resources/NewIcons/ON_OFF-REG.png"></BitmapImage>
|
|
||||||
<BitmapImage x:Key="Tutti-ONImg" UriSource="Resources/NewIcons/Tutti-ON.png"></BitmapImage>
|
<BitmapImage x:Key="Tutti-ONImg" UriSource="Resources/NewIcons/Tutti-ON.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Tutti-OFFImg" UriSource="Resources/NewIcons/Tutti-OFF.png"></BitmapImage>
|
<BitmapImage x:Key="Tutti-OFFImg" UriSource="Resources/NewIcons/Tutti-OFF.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Inizio-Centro-FuoriImg" UriSource="Resources/NewIcons/Inizio-centro-fuori.png"></BitmapImage>
|
<BitmapImage x:Key="Inizio-Centro-FuoriImg" UriSource="Resources/NewIcons/Inizio-centro-fuori.png"></BitmapImage>
|
||||||
@@ -243,7 +240,6 @@
|
|||||||
<BitmapImage x:Key="Tutti-allungaImg" UriSource="Resources/NewIcons/Tutti-allunga.png"></BitmapImage>
|
<BitmapImage x:Key="Tutti-allungaImg" UriSource="Resources/NewIcons/Tutti-allunga.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Tutti-accorciaImg" UriSource="Resources/NewIcons/Tutti-accorcia.png"></BitmapImage>
|
<BitmapImage x:Key="Tutti-accorciaImg" UriSource="Resources/NewIcons/Tutti-accorcia.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="LastProjImg" UriSource="Resources/NewIcons/PlayStep.png"></BitmapImage>
|
<BitmapImage x:Key="LastProjImg" UriSource="Resources/NewIcons/PlayStep.png"></BitmapImage>
|
||||||
<BitmapImage x:Key="Move-Spot-RegImg" UriSource="Resources/NewIcons/Move-Spot-Reg.png"></BitmapImage>
|
|
||||||
|
|
||||||
<FontFamily x:Key="OmagCut_Font">./Resources/Fonts/#Century Gothic</FontFamily>
|
<FontFamily x:Key="OmagCut_Font">./Resources/Fonts/#Century Gothic</FontFamily>
|
||||||
|
|
||||||
@@ -795,12 +791,6 @@
|
|||||||
<Setter Property="Margin" Value="0,8,6,4"/>
|
<Setter Property="Margin" Value="0,8,6,4"/>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<!--Style di un immagine in al posto di una text-->
|
|
||||||
<Style x:Key="OmagCut_TextIcon" TargetType="{x:Type Image}" >
|
|
||||||
<Setter Property="Width" Value="30"/>
|
|
||||||
<Setter Property="Height" Value="30"/>
|
|
||||||
</Style>
|
|
||||||
|
|
||||||
<!-- ______________________________________________________________________________________________________________________ -->
|
<!-- ______________________________________________________________________________________________________________________ -->
|
||||||
|
|
||||||
<!-- ScrollBar & it's component (RepeatButton, Thumb) -->
|
<!-- ScrollBar & it's component (RepeatButton, Thumb) -->
|
||||||
@@ -1276,10 +1266,7 @@
|
|||||||
<Setter Property="Background" Value="White"/>
|
<Setter Property="Background" Value="White"/>
|
||||||
<Setter Property="IsReadOnly" Value="True"/>
|
<Setter Property="IsReadOnly" Value="True"/>
|
||||||
<Setter Property="IsEnabled" Value="False"/>
|
<Setter Property="IsEnabled" Value="False"/>
|
||||||
<Setter Property="TextAlignment" Value="Center"/>
|
|
||||||
<Setter Property="Template" Value="{StaticResource FixedTextBoxTemplate}" />
|
<Setter Property="Template" Value="{StaticResource FixedTextBoxTemplate}" />
|
||||||
<Setter Property="ToolTipService.ShowOnDisabled" Value="True"/>
|
|
||||||
<Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>
|
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<!-- ______________________________________________________________________________________________________________________ -->
|
<!-- ______________________________________________________________________________________________________________________ -->
|
||||||
|
|||||||
@@ -1304,8 +1304,6 @@ Public Class OptionsPageUC
|
|||||||
End If
|
End If
|
||||||
Try
|
Try
|
||||||
Using zip As New Ionic.Zip.ZipFile(sZipToCreate, Console.Out)
|
Using zip As New Ionic.Zip.ZipFile(sZipToCreate, Console.Out)
|
||||||
zip.AlternateEncodingUsage = Ionic.Zip.ZipOption.Always
|
|
||||||
zip.AlternateEncoding = Text.Encoding.UTF8
|
|
||||||
' aggiungo file macchine
|
' aggiungo file macchine
|
||||||
For Each sMachineName As String In Machines
|
For Each sMachineName As String In Machines
|
||||||
Dim sMachineDir As String = m_MainWindow.GetMachinesRootDir() & "\" & sMachineName
|
Dim sMachineDir As String = m_MainWindow.GetMachinesRootDir() & "\" & sMachineName
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
<Border Name="CurrProjGrid" Style="{DynamicResource OmagCut_MachiningBorder}" Grid.Row="0" >
|
<Border Name="CurrProjGrid" Style="{DynamicResource OmagCut_MachiningBorder}" Grid.Row="0" >
|
||||||
<Grid >
|
<Grid >
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="0.2*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
@@ -51,22 +51,21 @@
|
|||||||
<RowDefinition Height="0.5*"/>
|
<RowDefinition Height="0.5*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Image Name="MaterialTxBl"
|
<TextBlock Name="MaterialTxBl" Grid.Row="0"
|
||||||
Source="{DynamicResource RawPartImg}" Style="{StaticResource OmagCut_TextIcon}"/>
|
Style="{DynamicResource OmagCut_CurrProjSummeryTextBlock}"/>
|
||||||
<EgtWPFLib:EgtTextBox Name="MaterialTxBx" Grid.Column="1" Grid.Row="0" Margin="0,0,10,0"
|
<EgtWPFLib:EgtTextBox Name="MaterialTxBx" Grid.Column="1" Grid.Row="0" Width="100"
|
||||||
TextAlignment="Right" Style="{DynamicResource OmagCut_FixedTextBox}"/>
|
Style="{DynamicResource OmagCut_FixedTextBox}"/>
|
||||||
<Image Name="HeightTxBl" Grid.Row="1"
|
<TextBlock Name="HeightTxBl" Grid.Row="1"
|
||||||
Source="{DynamicResource RawHeightImg}" Style="{StaticResource OmagCut_TextIcon}"/>
|
Style="{DynamicResource OmagCut_CurrProjSummeryTextBlock}"/>
|
||||||
<EgtWPFLib:EgtTextBox Name="HeightTxBx" Grid.Column="1" Grid.Row="1" Margin="0,0,10,0"
|
<EgtWPFLib:EgtTextBox Name="HeightTxBx" Grid.Column="1" Grid.Row="1" Width="100"
|
||||||
Style="{DynamicResource OmagCut_FixedTextBox}" TextAlignment="Right"/>
|
|
||||||
<Image Name="ToolTxBl" Grid.Row="2"
|
|
||||||
Source="{DynamicResource DB-utensiliImg}" Style="{StaticResource OmagCut_TextIcon}"/>
|
|
||||||
<EgtWPFLib:EgtTextBox Name="ToolTxBx" Grid.Column="1" Grid.Row="2" Margin="0,0,10,0"
|
|
||||||
Style="{DynamicResource OmagCut_FixedTextBox}" TextAlignment="Right"/>
|
|
||||||
<Image Name="MachiningTxBl" Grid.Row="3"
|
|
||||||
Source="{DynamicResource DB-lavorazioniImg}" Style="{StaticResource OmagCut_TextIcon}"/>
|
|
||||||
<EgtWPFLib:EgtTextBox Name="MachiningTxBx" Grid.Column="1" Grid.Row="3" Margin="0,0,10,0"
|
|
||||||
Style="{DynamicResource OmagCut_FixedTextBox}" TextAlignment="Right"/>
|
Style="{DynamicResource OmagCut_FixedTextBox}" TextAlignment="Right"/>
|
||||||
|
<TextBlock Name="ToolTxBl" Grid.Row="2" Style="{DynamicResource OmagCut_CurrProjSummeryTextBlock}"/>
|
||||||
|
<EgtWPFLib:EgtTextBox Name="ToolTxBx" Grid.Column="1" Grid.Row="2" Width="100"
|
||||||
|
Style="{DynamicResource OmagCut_FixedTextBox}"/>
|
||||||
|
<TextBlock Name="MachiningTxBl" Grid.Row="3"
|
||||||
|
Style="{DynamicResource OmagCut_CurrProjSummeryTextBlock}"/>
|
||||||
|
<EgtWPFLib:EgtTextBox Name="MachiningTxBx" Grid.Column="1" Grid.Row="3" Width="100"
|
||||||
|
Style="{DynamicResource OmagCut_FixedTextBox}"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,8 @@ Imports EgtWPFLib5
|
|||||||
Public Class CurrentProjectPageUC
|
Public Class CurrentProjectPageUC
|
||||||
' Dichiarazione eventi
|
' Dichiarazione eventi
|
||||||
Friend Event OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
Friend Event OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
|
||||||
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
Friend Event OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||||
Friend Event OnKeyCancelDownScene(sender As Object, e As System.Windows.Forms.KeyEventArgs)
|
|
||||||
' Riferimento alla MainWindow
|
' Riferimento alla MainWindow
|
||||||
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
||||||
' Dichiarazione delle Page UserControl
|
' Dichiarazione delle Page UserControl
|
||||||
@@ -60,10 +58,10 @@ Public Class CurrentProjectPageUC
|
|||||||
Me.CurrentProjectPageGrid.Children.Add(CurrentProjectSceneHost)
|
Me.CurrentProjectPageGrid.Children.Add(CurrentProjectSceneHost)
|
||||||
|
|
||||||
'Imposto i messaggi letti dal file dei messaggi
|
'Imposto i messaggi letti dal file dei messaggi
|
||||||
MaterialTxBl.ToolTip = EgtMsg(MSG_RAWPARTPAGEUC + 9) 'Material - Materiale
|
MaterialTxBl.Text = EgtMsg(MSG_RAWPARTPAGEUC + 9) 'Material - Materiale
|
||||||
HeightTxBl.ToolTip = EgtMsg(MSG_RAWPARTPAGEUC + 5) 'Height - Spessore
|
HeightTxBl.Text = EgtMsg(MSG_RAWPARTPAGEUC + 5) 'Height - Spessore
|
||||||
ToolTxBl.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 11) 'Tool - Utensile
|
ToolTxBl.Text = EgtMsg(MSG_CADCUTPAGEUC + 11) 'Tool - Utensile
|
||||||
MachiningTxBl.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 12) 'Machining - Lavorazione
|
MachiningTxBl.Text = EgtMsg(MSG_CADCUTPAGEUC + 12) 'Machining - Lavorazione
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -109,7 +107,7 @@ Public Class CurrentProjectPageUC
|
|||||||
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
|
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
|
||||||
CurrentProjectScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
CurrentProjectScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
||||||
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
|
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
|
||||||
Dim bProd As Boolean = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_BASE) Or m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_LIGHT)
|
Dim bProd As Boolean = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_BASE)
|
||||||
If Not CurrentProjectScene.Init() Or Not bProd Then
|
If Not CurrentProjectScene.Init() Or Not bProd Then
|
||||||
' Rimuovo l'host della scena perchè altrimenti rimarrebbe il buco!!
|
' Rimuovo l'host della scena perchè altrimenti rimarrebbe il buco!!
|
||||||
Me.CurrentProjectPageGrid.Children.Remove(CurrentProjectSceneHost)
|
Me.CurrentProjectPageGrid.Children.Remove(CurrentProjectSceneHost)
|
||||||
@@ -120,25 +118,11 @@ Public Class CurrentProjectPageUC
|
|||||||
#Else
|
#Else
|
||||||
' Se manca la chiave
|
' Se manca la chiave
|
||||||
If m_MainWindow.GetKeyLevel() = -1 Or m_MainWindow.GetKeyLevel() = -2 Then
|
If m_MainWindow.GetKeyLevel() = -1 Or m_MainWindow.GetKeyLevel() = -2 Then
|
||||||
If Not EgtGetNetHwKey() Then
|
|
||||||
EgtOutLog("Missing Dongle")
|
EgtOutLog("Missing Dongle")
|
||||||
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
||||||
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
||||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
||||||
Else
|
|
||||||
EgtOutLog("NetDongle is full")
|
|
||||||
' Box di avviso slot chiave di rete occupato : "Chiave di Rete completamente occupata. \n Uscire dal programma su un altro PC." "Errore"
|
|
||||||
Dim sText As String = EgtMsg(10110) & vbCrLf & EgtMsg(10111)
|
|
||||||
Dim sTitle As String = EgtMsg(10101)
|
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
|
||||||
End If
|
|
||||||
ElseIf m_MainWindow.GetKeyLevel() = -9 Then
|
|
||||||
EgtOutLog("Missing Link with Net Dongle")
|
|
||||||
' Box di avviso chiave mancante : "Collegamento con la Chiave di rete non riuscito. \n Verificare la connessione." "Errore"
|
|
||||||
Dim sText As String = EgtMsg(10108) & vbCrLf & EgtMsg(10109)
|
|
||||||
Dim sTitle As String = EgtMsg(10101)
|
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
|
||||||
' Altrimenti manca la licenza
|
' Altrimenti manca la licenza
|
||||||
Else
|
Else
|
||||||
EgtOutLog("Problems with Licence")
|
EgtOutLog("Problems with Licence")
|
||||||
@@ -212,17 +196,9 @@ Public Class CurrentProjectPageUC
|
|||||||
Else
|
Else
|
||||||
MaterialTxBx.Text = "-----"
|
MaterialTxBx.Text = "-----"
|
||||||
End If
|
End If
|
||||||
|
' Visualizzo lama e lavorazione correnti
|
||||||
' se macchina waterjet e senza una lama corrente impostata allora visualizzo info WJ
|
|
||||||
If m_MainWindow.m_CurrentMachine.bWaterJet And String.IsNullOrEmpty(m_MainWindow.m_CurrentMachine.sCurrSaw) Then
|
|
||||||
ToolTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrWaterJet
|
|
||||||
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrWaterJetting
|
|
||||||
'& "-" & m_MainWindow.m_CurrentMachine.sCurrWaterJettingQuality
|
|
||||||
Else
|
|
||||||
ToolTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSaw
|
ToolTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSawing
|
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSawing
|
||||||
End If
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub StartProgram()
|
Public Sub StartProgram()
|
||||||
@@ -300,7 +276,7 @@ Public Class CurrentProjectPageUC
|
|||||||
' se apro la finestra "OpenFolder" l'assegnazione dei Children è fatta direttamente nella classe ProjectMgrUC
|
' se apro la finestra "OpenFolder" l'assegnazione dei Children è fatta direttamente nella classe ProjectMgrUC
|
||||||
If MyStartLancherWD.CurrSelection <> MODE_LAUNCHER.OpenFolder Then
|
If MyStartLancherWD.CurrSelection <> MODE_LAUNCHER.OpenFolder Then
|
||||||
' Carico sottopagina opportuna
|
' Carico sottopagina opportuna
|
||||||
If GetProjectType() <> PRJ_TYPE.FRAMES And Not m_MainWindow.m_OnlyFrame Then
|
If GetProjectType() <> PRJ_TYPE.FRAMES Then
|
||||||
CurrentProjectPageGrid.Children.Add(m_MainWindow.m_CadCutPageUC)
|
CurrentProjectPageGrid.Children.Add(m_MainWindow.m_CadCutPageUC)
|
||||||
m_MainWindow.m_ActivePage = MainWindow.Pages.CadCut
|
m_MainWindow.m_ActivePage = MainWindow.Pages.CadCut
|
||||||
m_MainWindow.CadCutBtn.IsChecked = True
|
m_MainWindow.CadCutBtn.IsChecked = True
|
||||||
@@ -338,10 +314,6 @@ Public Class CurrentProjectPageUC
|
|||||||
RaiseEvent OnMouseDownScene(sender, e)
|
RaiseEvent OnMouseDownScene(sender, e)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnMyMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.MouseDoubleClick
|
|
||||||
RaiseEvent OnMouseDownScene_DoubleClick(sender, e)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene
|
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles CurrentProjectScene.OnMouseMoveScene
|
||||||
RaiseEvent OnMouseMoveScene(sender, e)
|
RaiseEvent OnMouseMoveScene(sender, e)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -354,10 +326,6 @@ Public Class CurrentProjectPageUC
|
|||||||
SetInfoMessage(DistToString(vtDist))
|
SetInfoMessage(DistToString(vtDist))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OnMyKeyCancelDownScene(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles CurrentProjectScene.KeyDown
|
|
||||||
RaiseEvent OnKeyCancelDownScene(sender, e)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' Gestione progetto
|
' Gestione progetto
|
||||||
|
|
||||||
Friend Sub SetNextProjectIndex()
|
Friend Sub SetNextProjectIndex()
|
||||||
@@ -466,10 +434,7 @@ Public Class CurrentProjectPageUC
|
|||||||
End If
|
End If
|
||||||
' Se valore cambiato, aggiorno...
|
' Se valore cambiato, aggiorno...
|
||||||
Dim dDeltaZ As Double = m_MainWindow.m_CurrentMachine.dAdditionalTable - dCurrAddTab
|
Dim dDeltaZ As Double = m_MainWindow.m_CurrentMachine.dAdditionalTable - dCurrAddTab
|
||||||
Dim bChanged As Boolean = ( Math.Abs(dDeltaZ) > EPS_SMALL)
|
If Math.Abs(dDeltaZ) > EPS_SMALL Or bForced Then
|
||||||
If bChanged Or bForced Then
|
|
||||||
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
|
||||||
If Not bChanged AndAlso bOldEnMod Then EgtDisableModified()
|
|
||||||
AddAdditionalTable()
|
AddAdditionalTable()
|
||||||
UpdateAllRawsZ(dDeltaZ)
|
UpdateAllRawsZ(dDeltaZ)
|
||||||
If GetPhoto() <> GDB_ID.NULL Then
|
If GetPhoto() <> GDB_ID.NULL Then
|
||||||
@@ -485,7 +450,6 @@ Public Class CurrentProjectPageUC
|
|||||||
End While
|
End While
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
If Not bChanged AndAlso bOldEnMod Then EgtEnableModified()
|
|
||||||
End If
|
End If
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
@@ -505,9 +469,7 @@ Public Class CurrentProjectPageUC
|
|||||||
' Nuova geometria
|
' Nuova geometria
|
||||||
Dim nAddTabId As Integer = GDB_ID.NULL
|
Dim nAddTabId As Integer = GDB_ID.NULL
|
||||||
' Se esiste geometria di riferimento
|
' Se esiste geometria di riferimento
|
||||||
Dim sNameTable As String = MAIN_TAB
|
Dim nRefAddTabId = EgtGetFirstNameInGroup( EgtGetFirstNameInGroup( EgtGetTableId( MAIN_TAB), "SOLID"), MACH_ADD_TABLE)
|
||||||
EgtGetTableName(sNameTable)
|
|
||||||
Dim nRefAddTabId = EgtGetFirstNameInGroup(EgtGetFirstNameInGroup(EgtGetTableId(sNameTable), "SOLID"), MACH_ADD_TABLE)
|
|
||||||
If nRefAddTabId <> GDB_ID.NULL Then
|
If nRefAddTabId <> GDB_ID.NULL Then
|
||||||
nAddTabId = EgtCopyGlob( nRefAddTabId, nFixtId)
|
nAddTabId = EgtCopyGlob( nRefAddTabId, nFixtId)
|
||||||
EgtSetStatus( nAddTabId, GDB_ST.ON_)
|
EgtSetStatus( nAddTabId, GDB_ST.ON_)
|
||||||
@@ -523,7 +485,7 @@ Public Class CurrentProjectPageUC
|
|||||||
' Sistemazioni finali
|
' Sistemazioni finali
|
||||||
If nAddTabId = GDB_ID.NULL Then Return False
|
If nAddTabId = GDB_ID.NULL Then Return False
|
||||||
EgtSetName(nAddTabId, MACH_ADD_TABLE)
|
EgtSetName(nAddTabId, MACH_ADD_TABLE)
|
||||||
If nRefAddTabId = GDB_ID.NULL Then EgtSetColor(nAddTabId, New Color3d(150, 75, 0, 100), True)
|
EgtSetColor(nAddTabId, New Color3d(150, 75, 0, 100), True)
|
||||||
EgtSetInfo(nAddTabId, KEY_ADD_TABLE, dAddTable)
|
EgtSetInfo(nAddTabId, KEY_ADD_TABLE, dAddTable)
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
@@ -1034,13 +996,7 @@ Public Class CurrentProjectPageUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Sub UpdateMachiningTxBx()
|
Friend Sub UpdateMachiningTxBx()
|
||||||
' se macchina waterjet e senza uscita lama allora visualizzo info WJ
|
|
||||||
If m_MainWindow.m_CurrentMachine.bWaterJet And EgtGetHeadId("H1") = GDB_ID.NULL Then
|
|
||||||
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrWaterJetting
|
|
||||||
'& "-" & m_MainWindow.m_CurrentMachine.sCurrWaterJettingQuality
|
|
||||||
Else
|
|
||||||
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSawing
|
MachiningTxBx.Text = m_MainWindow.m_CurrentMachine.sCurrSawing
|
||||||
End If
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Gestione fotografia della lastra (compreso riconoscimento contorno)
|
' Gestione fotografia della lastra (compreso riconoscimento contorno)
|
||||||
@@ -1417,14 +1373,7 @@ Public Class CurrentProjectPageUC
|
|||||||
Friend Sub SetAreasStatus( bShow As Boolean)
|
Friend Sub SetAreasStatus( bShow As Boolean)
|
||||||
Dim nMarkId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK)
|
Dim nMarkId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, NAME_PROJMARK)
|
||||||
If nMarkId = GDB_ID.NULL Then Return
|
If nMarkId = GDB_ID.NULL Then Return
|
||||||
|
|
||||||
' Disabilito impostazione modificato
|
|
||||||
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
|
||||||
If bOldEnMod Then EgtDisableModified()
|
|
||||||
' Cambio stato visualizzazione
|
|
||||||
EgtSetStatus( nMarkId, If( bShow, GDB_ST.ON_, GDB_ST.OFF))
|
EgtSetStatus( nMarkId, If( bShow, GDB_ST.ON_, GDB_ST.OFF))
|
||||||
' Se necessario riabilito impostazione modificato
|
|
||||||
If bOldEnMod Then EgtEnableModified()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
' Gestione messaggi in interfaccia
|
' Gestione messaggi in interfaccia
|
||||||
@@ -1451,8 +1400,7 @@ Public Class CurrentProjectPageUC
|
|||||||
|
|
||||||
Friend Sub ClearMessage()
|
Friend Sub ClearMessage()
|
||||||
OutMessageBrd.Background = Brushes.Transparent
|
OutMessageBrd.Background = Brushes.Transparent
|
||||||
OutMessageTxBl.Text = ""
|
OutMessageBrd.Visibility = Windows.Visibility.Hidden
|
||||||
'OutMessageBrd.Visibility = Windows.Visibility.Hidden
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -100,10 +100,6 @@ Public Class OpenPageUC
|
|||||||
LoadCurrDir()
|
LoadCurrDir()
|
||||||
m_bFirst = False
|
m_bFirst = False
|
||||||
Else
|
Else
|
||||||
GetPrivateProfileString(S_SLABDXF, K_SLABLAYER, "SlabBoundary", m_sSlabLayer, m_MainWindow.GetIniFile())
|
|
||||||
GetPrivateProfileString(S_SLABDXF, K_PARTSLAYER, "Counters", m_sPartsLayer, m_MainWindow.GetIniFile())
|
|
||||||
GetPrivateProfileString(S_SLABDXF, K_SCRAPLAYER, "ReservedAreaBoundary", m_sScrapLayer, m_MainWindow.GetIniFile())
|
|
||||||
m_dSlabThick = GetPrivateProfileDouble(S_SLABDXF, K_STDTHICK, 20, m_MainWindow.GetIniFile())
|
|
||||||
EgtSetCurrentContext(OpenScene.GetCtx())
|
EgtSetCurrentContext(OpenScene.GetCtx())
|
||||||
End If
|
End If
|
||||||
' Pulisco tutto
|
' Pulisco tutto
|
||||||
@@ -495,19 +491,7 @@ Public Class OpenPageUC
|
|||||||
m_SceneButtons.MeasureBtn.IsChecked = False
|
m_SceneButtons.MeasureBtn.IsChecked = False
|
||||||
' Istruzioni per chiudere OpenPageUC e aprire currentproject e cadcut page
|
' Istruzioni per chiudere OpenPageUC e aprire currentproject e cadcut page
|
||||||
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_OpenPage)
|
m_MainWindow.MainWindowGrid.Children.Remove(m_MainWindow.m_OpenPage)
|
||||||
If m_MainWindow.m_PrevActivePage = MainWindow.Pages.CadCut Then
|
|
||||||
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_CurrentProjectPageUC)
|
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_CurrentProjectPageUC)
|
||||||
If Not m_MainWindow.CadCutBtn.IsChecked Then
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_CadCutPageUC)
|
|
||||||
m_MainWindow.CadCutBtn.IsChecked = True
|
|
||||||
End If
|
|
||||||
ElseIf m_MainWindow.m_PrevActivePage = MainWindow.Pages.FrameCut Then
|
|
||||||
m_MainWindow.MainWindowGrid.Children.Add(m_MainWindow.m_CurrentProjectPageUC)
|
|
||||||
If Not m_MainWindow.FrameCutBtn.IsChecked Then
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.CurrentProjectPageGrid.Children.Add(m_MainWindow.m_FrameCutPageUC)
|
|
||||||
m_MainWindow.FrameCutBtn.IsChecked = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
' Non modifico progetto corrente
|
' Non modifico progetto corrente
|
||||||
m_MainWindow.m_ActivePage = m_MainWindow.m_PrevActivePage
|
m_MainWindow.m_ActivePage = m_MainWindow.m_PrevActivePage
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Imports System.ComponentModel
|
Imports System.ComponentModel
|
||||||
Imports System.Drawing
|
Imports System.Drawing
|
||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports System.Windows.Forms.Integration
|
|
||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports EgtWPFLib
|
Imports EgtWPFLib
|
||||||
|
|
||||||
@@ -33,7 +32,6 @@ Public Class ProjectMgrUC
|
|||||||
WorkBtn.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 2) 'Work - Lavora
|
WorkBtn.ToolTip = EgtMsg(MSG_CADCUTPAGEUC + 2) 'Work - Lavora
|
||||||
End If
|
End If
|
||||||
TestBtn.ToolTip = EgtMsg(90255) 'Test
|
TestBtn.ToolTip = EgtMsg(90255) 'Test
|
||||||
ResetCutBtn.ToolTip = "Reset Cuts" & vbCrLf & "Reset Feed (Shift)"
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ProjectMgrUC_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
Private Sub ProjectMgrUC_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||||
@@ -252,11 +250,6 @@ Public Class ProjectMgrUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ResetCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCutBtn.Click
|
Private Sub ResetCutBtn_Click(sender As Object, e As RoutedEventArgs) Handles ResetCutBtn.Click
|
||||||
If (Keyboard.Modifiers And ModifierKeys.Shift) Then
|
|
||||||
' eseguo il ricalcolo delle sole FEED di lavorazione
|
|
||||||
UpdateFeedAllMachining()
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
|
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
|
||||||
' Cancello eventuali messaggi
|
' Cancello eventuali messaggi
|
||||||
m_CurrProjPage.ClearMessage()
|
m_CurrProjPage.ClearMessage()
|
||||||
@@ -266,14 +259,10 @@ Public Class ProjectMgrUC
|
|||||||
ResetAllStartCurv()
|
ResetAllStartCurv()
|
||||||
' cancello tutti i ponticelli disegnati
|
' cancello tutti i ponticelli disegnati
|
||||||
ResetAllBRidges()
|
ResetAllBRidges()
|
||||||
' cancella tutti i tagli di separazione inseriti in OFFICE
|
|
||||||
ResetAllSplitCut()
|
|
||||||
' Ricalcolo tutte le lavorazioni
|
' Ricalcolo tutte le lavorazioni
|
||||||
Dim nWarn As Integer = 0
|
Dim nWarn As Integer = 0
|
||||||
ResetAllMachinings(nWarn)
|
ResetAllMachinings(nWarn)
|
||||||
If nWarn = 1 Then m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_SPLITPAGEUC + 11)) ' Lama troppo grande per utilizzo ventosa
|
If nWarn = 1 Then m_CurrProjPage.SetWarningMessage(EgtMsg(MSG_SPLITPAGEUC + 11)) ' Lama troppo grande per utilizzo ventosa
|
||||||
' Se eistono elimino i grezzi delle fasi che non contengono lavorazioni
|
|
||||||
ResetAllRawPart()
|
|
||||||
' Aggiorno Info C Home
|
' Aggiorno Info C Home
|
||||||
Dim dCHome As Double
|
Dim dCHome As Double
|
||||||
EgtGetAxisHomePos("C", dCHome)
|
EgtGetAxisHomePos("C", dCHome)
|
||||||
@@ -314,117 +303,47 @@ Public Class ProjectMgrUC
|
|||||||
Dim m_ptRawMax, m_ptRawMin As Point3d
|
Dim m_ptRawMax, m_ptRawMin As Point3d
|
||||||
If Not GetRawBox(m_ptRawMin, m_ptRawMax) Then Return
|
If Not GetRawBox(m_ptRawMin, m_ptRawMax) Then Return
|
||||||
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
|
Dim dRawHeight As Double = m_ptRawMax.z - m_ptRawMin.z
|
||||||
|
|
||||||
' Recupero spessore lama corrente
|
' Recupero spessore lama corrente
|
||||||
Dim TestToolWD As New ChooseTestToolWD(m_MainWindow)
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
TestToolWD.ShowDialog()
|
EgtTdbSetCurrTool(sSaw)
|
||||||
If Not TestToolWD.DialogResult Then Return
|
|
||||||
Dim CurrTestTool As TestTool = TestToolWD.GetSelectedTool
|
|
||||||
|
|
||||||
'Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
|
||||||
'EgtTdbSetCurrTool(sSaw)
|
|
||||||
|
|
||||||
Dim dThick As Double = 0
|
Dim dThick As Double = 0
|
||||||
Dim dHeight As Double = 0
|
|
||||||
If CurrTestTool.ToolIsSaw Then
|
|
||||||
' Spessore LAMA
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
||||||
' Diametro
|
Dim dDiam As Double = 0
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dHeight)
|
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dDiam)
|
||||||
' Raggio lama
|
|
||||||
dHeight = dHeight / 2
|
|
||||||
ElseIf CurrTestTool.ToolIsLaser Then
|
|
||||||
' Raggio
|
|
||||||
dThick = 0
|
|
||||||
dHeight = 0
|
|
||||||
Else
|
|
||||||
' Diametro FRESA/FORETTO (l'altezza non serve: posizione calcolata tiene conto del Tip Tool)
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.DIAM, dThick)
|
|
||||||
' Raggio
|
|
||||||
dThick = dThick / 2
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
'recupero il lato selezionato
|
'recupero il lato selezionato
|
||||||
Dim nIdSelected As Integer = m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv
|
Dim nIdSelected As Integer = m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv
|
||||||
If nIdSelected = -1 Then Return
|
If nIdSelected = -1 Then Return
|
||||||
' recupero il vettore nel punto medio dell'entità
|
' recupero gli estremi del latovda tagliare
|
||||||
Dim vtDirLine As Vector3d
|
Dim ptStart As Point3d
|
||||||
EgtMidVector(nIdSelected, GDB_ID.ROOT, vtDirLine)
|
EgtStartPoint(nIdSelected, GDB_ID.ROOT, ptStart)
|
||||||
|
Dim ptEnd As Point3d
|
||||||
' calcolo il versore della linea di taglio
|
EgtEndPoint(nIdSelected, GDB_ID.ROOT, ptEnd)
|
||||||
|
Dim vtDirLine As Vector3d = ptEnd - ptStart
|
||||||
|
' calcolo il versore perpendicolare alla linea di taglio (diretto verso l'interno del pezzo)
|
||||||
Dim vtDirT As Vector3d = vtDirLine
|
Dim vtDirT As Vector3d = vtDirLine
|
||||||
vtDirT.Normalize()
|
vtDirT.Normalize()
|
||||||
' calcolo la direzione di offset da applicare all'utensile
|
|
||||||
Dim vtOffset As New Vector3d(vtDirT.x, vtDirT.y, vtDirT.z)
|
|
||||||
vtOffset.Rotate(Vector3d.Z_AX, 90)
|
|
||||||
|
|
||||||
If CurrTestTool.ToolIsSaw Then
|
|
||||||
' calcolo il versore perpendicolare alla linea di taglio (diretto verso l'interno del pezzo)
|
|
||||||
vtDirT.Rotate(Vector3d.Z_AX, 90)
|
vtDirT.Rotate(Vector3d.Z_AX, 90)
|
||||||
Else
|
|
||||||
' calcolo il versore perpendicolare alla linea di taglio (diretto verso l'interno del pezzo)
|
|
||||||
vtDirT.Rotate(Vector3d.Z_AX, 90)
|
|
||||||
' calcolo il versore perpendicolare al piano di taglio (diretto verso l'interno dell'utensile)
|
|
||||||
vtDirT.Rotate(vtDirLine, 90)
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Calcolo punto di posizionamemto (punto medio)
|
' Calcolo punto di posizionamemto (punto medio)
|
||||||
Dim ptMid, m_ptTabOri As Point3d
|
Dim ptMid, m_ptTabOri As Point3d
|
||||||
|
|
||||||
If Not EgtGetTableRef(1, m_ptTabOri) Then Return
|
If Not EgtGetTableRef(1, m_ptTabOri) Then Return
|
||||||
' recupero il punto medio della curva
|
ptMid.x = (ptEnd.x + ptStart.x) / 2
|
||||||
EgtMidPoint(nIdSelected, GDB_ID.ROOT, ptMid)
|
ptMid.y = (ptEnd.y + ptStart.y) / 2
|
||||||
ptMid.z = m_ptTabOri.z + CamAuto.GetRawHeight() + dHeight
|
ptMid.z = (ptEnd.z + ptStart.z) / 2 + dDiam / 2
|
||||||
' Offset dovuto allo spessore Utensile
|
ptMid -= vtDirT * dThick
|
||||||
ptMid -= vtOffset * dThick
|
|
||||||
|
|
||||||
'--------------------------- Imposto la posizione della macchina ----------------------------
|
'--------------------------- Imposto la posizione della macchina ----------------------------
|
||||||
' Recupero la posizione macchina
|
' Recupero la posizione macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
If Not m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2) Then Return
|
||||||
|
' Imposto la lama corrente
|
||||||
' Imposto la lama corrente, preso dalla scelta precedente
|
If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
||||||
'If Not EgtSetCalcTool(sSaw, "H1", 1) Then Return
|
|
||||||
If Not EgtSetCalcTool(CurrTestTool.ToolName, CurrTestTool.ToolHead, CurrTestTool.ToolExit) Then Return
|
|
||||||
|
|
||||||
' calcolo la posizione degli assi rotanti C, B
|
' calcolo la posizione degli assi rotanti C, B
|
||||||
Dim nStat As Integer
|
Dim nStat As Integer
|
||||||
Dim dC1, dB1, dC2, dB2 As Double
|
Dim dC1, dB1, dC2, dB2 As Double
|
||||||
If CurrTestTool.ToolIsSaw Then
|
|
||||||
' Se LAMA
|
|
||||||
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
|
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
|
||||||
ElseIf CurrTestTool.ToolIsLaser Then
|
|
||||||
' Se LASER
|
|
||||||
Dim dHomeC As Double = 90
|
|
||||||
EgtGetAxisHomePos("C", dHomeC)
|
|
||||||
Dim vtPrefAuxDir As Vector3d = -Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, dHomeC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
' Forzo B90
|
|
||||||
dB1 = 90
|
|
||||||
' Forzo la pozione in Z alla quota di Home (per evitare l'errore di fine corsa asse Z)
|
|
||||||
Dim dHomeZ As Double = 0
|
|
||||||
EgtGetAxisHomePos("Z", dHomeZ)
|
|
||||||
ptMid.z = dHomeZ
|
|
||||||
Else
|
|
||||||
' Se utensile speciale
|
|
||||||
If CurrTestTool.ToolType = MCH_TY.MILL_STD Or CurrTestTool.ToolType = MCH_TY.DRILL_STD Then
|
|
||||||
' Se FRESA/FORETTO
|
|
||||||
Dim nStepRotC As Integer = GetPrivateProfileInt(S_NEST, K_MACH_DRILL_MILL_C90, 1, m_MainWindow.GetMachIniFile())
|
|
||||||
Dim vtPrefAuxDir As Vector3d = -Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, 90 * nStepRotC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
ElseIf CurrTestTool.ToolType = MCH_TY.WATERJET Then
|
|
||||||
' Se WJ
|
|
||||||
Dim dHomeC As Double = 90
|
|
||||||
EgtGetAxisHomePos("C", dHomeC)
|
|
||||||
Dim vtPrefAuxDir As Vector3d = Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, dHomeC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
' calcolo la posizione degli assi lineari X, Y, Z
|
' calcolo la posizione degli assi lineari X, Y, Z
|
||||||
Dim dX, dY, dZ As Double
|
Dim dX, dY, dZ As Double
|
||||||
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
||||||
@@ -432,49 +351,16 @@ Public Class ProjectMgrUC
|
|||||||
' verifica assi lineari
|
' verifica assi lineari
|
||||||
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
||||||
If nStat <> 0 Then
|
If nStat <> 0 Then
|
||||||
EgtOutLog("Out of stroke: " & nStat)
|
|
||||||
vtDirT = -vtDirT
|
vtDirT = -vtDirT
|
||||||
ptMid -= vtDirT * dThick
|
ptMid -= vtDirT * dThick
|
||||||
If CurrTestTool.ToolIsSaw Then
|
|
||||||
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
|
EgtGetCalcAngles(vtDirT, Vector3d.Z_AX(), nStat, dC1, dB1, dC2, dB2)
|
||||||
ElseIf CurrTestTool.ToolIsLaser Then
|
|
||||||
' Se LASER
|
|
||||||
Dim dHomeC As Double = 90
|
|
||||||
EgtGetAxisHomePos("C", dHomeC)
|
|
||||||
Dim vtPrefAuxDir As Vector3d = -Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, dHomeC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
' Forzo B90
|
|
||||||
dB1 = 90
|
|
||||||
Else
|
|
||||||
If CurrTestTool.ToolType = MCH_TY.MILL_STD Or CurrTestTool.ToolType = MCH_TY.DRILL_STD Then
|
|
||||||
' Se FRESA/FORETTO
|
|
||||||
Dim nStepRotC As Integer = GetPrivateProfileInt(S_NEST, K_MACH_DRILL_MILL_C90, 1, m_MainWindow.GetMachIniFile())
|
|
||||||
Dim vtPrefAuxDir As Vector3d = -Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, 90 * nStepRotC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
ElseIf CurrTestTool.ToolType = MCH_TY.WATERJET Then
|
|
||||||
' Se WJ
|
|
||||||
Dim dHomeC As Double = 90
|
|
||||||
EgtGetAxisHomePos("C", dHomeC)
|
|
||||||
Dim vtPrefAuxDir As Vector3d = Vector3d.X_AX()
|
|
||||||
vtPrefAuxDir.Rotate(Vector3d.Z_AX, dHomeC)
|
|
||||||
EgtGetCalcAngles(vtDirT, vtPrefAuxDir, nStat, dC1, dB1, dC2, dB2)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
|
' calcolo la posizione degli assi lineari X, Y, Z ( correggere il punto ptMid.z sommando il raggio utensile)
|
||||||
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
EgtGetCalcPositions(ptMid, dC1, dB1, nStat, dX, dY, dZ)
|
||||||
|
|
||||||
' verifica assi lineari
|
|
||||||
EgtVerifyOutstroke(dX, dY, dZ, dC1, dB1, nStat)
|
|
||||||
If nStat <> 0 Then
|
|
||||||
EgtOutLog("2nd attemp out of stroke: " & nStat)
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'--------------------------- Comunico i movimenti in origine macchina al CN ----------------------------------------
|
'--------------------------- Comunico i movimenti in origine macchina al CN ----------------------------------------
|
||||||
Dim ptMachine As Point3d = New Point3d(dX, dY, If(CurrTestTool.ToolIsLaser, 0, dZ))
|
Dim ptMachine As Point3d = New Point3d(dX, dY, dZ)
|
||||||
ExecuteCommandCNC(ptMachine, dC1, dB1, CurrTestTool)
|
ExecuteCommandCNC(ptMachine, dC1, dB1)
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
' ---------------------------- Fine modalità test --------------------------------------------
|
' ---------------------------- Fine modalità test --------------------------------------------
|
||||||
@@ -622,6 +508,7 @@ Public Class ProjectMgrUC
|
|||||||
' apro la finestra con l'elenco degli sfridi
|
' apro la finestra con l'elenco degli sfridi
|
||||||
Dim MyScrapsWD As New ScrapsWD(m_MainWindow, Me, NewScrapsList)
|
Dim MyScrapsWD As New ScrapsWD(m_MainWindow, Me, NewScrapsList)
|
||||||
MyScrapsWD.ShowDialog()
|
MyScrapsWD.ShowDialog()
|
||||||
|
|
||||||
End If
|
End If
|
||||||
' ------------------ FINE gestione SCRAPS -----------------------------
|
' ------------------ FINE gestione SCRAPS -----------------------------
|
||||||
|
|
||||||
@@ -691,13 +578,6 @@ Public Class ProjectMgrUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Dichiaro che il progetto è nuovo
|
' Dichiaro che il progetto è nuovo
|
||||||
bAlreadySent = False
|
bAlreadySent = False
|
||||||
' reimposto tutti gli sfridi come nuovi sfridi
|
|
||||||
Dim CurrScrapsList As New List(Of Scrap)
|
|
||||||
' procedo all'aggiornamento della lista degli sfridi
|
|
||||||
UpDateScrapList(CurrScrapsList)
|
|
||||||
For Each ItemScrap As Scrap In CurrScrapsList
|
|
||||||
ItemScrap.ResetState()
|
|
||||||
Next
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
If bAlreadySent Then
|
If bAlreadySent Then
|
||||||
@@ -708,18 +588,6 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' ------------------ INIZIO gestione SCRAPS ---------------------------
|
|
||||||
Dim NewScrapsList As New List(Of Scrap)
|
|
||||||
' procedo all'aggiornamento della lista degli sfridi
|
|
||||||
UpDateScrapList(NewScrapsList)
|
|
||||||
' se esiste almeno uno sfrido da inserire come nuovo grezzo
|
|
||||||
If NewScrapsList.Count > 0 Then
|
|
||||||
' apro la finestra con l'elenco degli sfridi
|
|
||||||
Dim MyScrapsWD As New ScrapsWD(m_MainWindow, Me, NewScrapsList)
|
|
||||||
MyScrapsWD.ShowDialog()
|
|
||||||
End If
|
|
||||||
' ------------------ FINE gestione SCRAPS -----------------------------
|
|
||||||
|
|
||||||
' Se non collegato alla macchina
|
' Se non collegato alla macchina
|
||||||
If Not m_MainWindow.m_bNCLink Then
|
If Not m_MainWindow.m_bNCLink Then
|
||||||
' salvo il progetto corrente incrementando il valore del progetto
|
' salvo il progetto corrente incrementando il valore del progetto
|
||||||
@@ -759,12 +627,6 @@ Public Class ProjectMgrUC
|
|||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
' leggo il nome della tavola da cui sto lanciando il progetto
|
|
||||||
Dim sTabeName As String = String.Empty
|
|
||||||
EgtGetTableName(sTabeName)
|
|
||||||
Dim bDoubleProg As Boolean = (GetPrivateProfileInt(S_PRODUCTIONLINE, "DoubleProg", 0, m_MainWindow.GetMachIniFile()) <> 0)
|
|
||||||
|
|
||||||
' Leggo eventuale variabile per lavorazione con 2 tavole in parallelo (standard E80027)
|
' Leggo eventuale variabile per lavorazione con 2 tavole in parallelo (standard E80027)
|
||||||
Dim nVarProgTwins As Integer = 1
|
Dim nVarProgTwins As Integer = 1
|
||||||
If Not String.IsNullOrWhiteSpace(m_CurrMachine.sVarProgTwins) Then
|
If Not String.IsNullOrWhiteSpace(m_CurrMachine.sVarProgTwins) Then
|
||||||
@@ -778,26 +640,8 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
' Verifico se posso scrivere nell'area 1
|
' Verifico se posso scrivere nell'area 1
|
||||||
Dim bSendToAre1 As Boolean = (nVarProg1 = 0 And (nVarProg2 <> 1 Or nVarProgTwins = 2))
|
If nVarProg1 = 0 And (nVarProg2 <> 1 Or nVarProgTwins = 2) Then
|
||||||
Dim bSendToAre2 As Boolean = (nVarProg2 = 0 And (nVarProg1 <> 1 Or nVarProgTwins = 2))
|
|
||||||
|
|
||||||
If bDoubleProg Then
|
|
||||||
If sTabeName = MAIN_TAB Then
|
|
||||||
' spedisco il programma da tavola 1 solo se CN ha terminato programma 901
|
|
||||||
bSendToAre1 = (nVarProg1 = 0)
|
|
||||||
bSendToAre2 = False
|
|
||||||
EgtOutLog(" Invio programma da tavola 1")
|
|
||||||
Else
|
|
||||||
' spedisco il programma da tavola 2 solo se CN ha terminato programma 902
|
|
||||||
bSendToAre1 = False
|
|
||||||
bSendToAre2 = (nVarProg2 = 0)
|
|
||||||
EgtOutLog(" Invio programma da tavola 2")
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
If bSendToAre1 Then
|
|
||||||
m_CurrNcComm.SetProgramMainOrSub(False)
|
m_CurrNcComm.SetProgramMainOrSub(False)
|
||||||
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg1, False) Then
|
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg1, False) Then
|
||||||
' Dichiaro part program inviato
|
' Dichiaro part program inviato
|
||||||
@@ -814,7 +658,7 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
m_CurrNcComm.SetProgramMainOrSub(True)
|
m_CurrNcComm.SetProgramMainOrSub(True)
|
||||||
' Altrimenti verifico se posso scrivere nell'area 2
|
' Altrimenti verifico se posso scrivere nell'area 2
|
||||||
ElseIf bSendToAre2 Then
|
ElseIf nVarProg2 = 0 And (nVarProg1 <> 1 Or nVarProgTwins = 2) Then
|
||||||
m_CurrNcComm.SetProgramMainOrSub(False)
|
m_CurrNcComm.SetProgramMainOrSub(False)
|
||||||
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg2, False) Then
|
If m_CurrNcComm.SendProgram(sCncPath, m_CurrMachine.nProg2, False) Then
|
||||||
' Dichiaro part program inviato
|
' Dichiaro part program inviato
|
||||||
@@ -834,12 +678,6 @@ Public Class ProjectMgrUC
|
|||||||
Else
|
Else
|
||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90318)) 'La macchina non accetta il programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90318)) 'La macchina non accetta il programma CN
|
||||||
End If
|
End If
|
||||||
' avvio programma solo se DoubleProg
|
|
||||||
If (GetPrivateProfileInt(S_GENERAL, K_STARTPROGRAM, 0, m_MainWindow.GetIniFile()) <> 0 And bDoubleProg) And
|
|
||||||
(bSendToAre1 Or bSendToAre2) Then
|
|
||||||
Dim MyCicloStartWD As New CicloStartWD(m_MainWindow)
|
|
||||||
MyCicloStartWD.ShowDialog()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
@@ -871,114 +709,8 @@ Public Class ProjectMgrUC
|
|||||||
End While
|
End While
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub UpdateFeedAllMachining()
|
|
||||||
' recupero il valore di Feed della lavorazione corrente
|
|
||||||
Dim sMachiningName As String = String.Empty
|
|
||||||
If Not EgtMdbGetCurrMachiningParam(MCH_MP.NAME, sMachiningName) Then
|
|
||||||
' errore: lavorazione non trovata
|
|
||||||
EgtOutLog(" - Prima di 'Reset Feed' accedere alla pagina MACCHINA!")
|
|
||||||
'm_MainWindow.m_CurrentProjectPageUC.SetErrorMessage("Salvare la lavorazione corrente")
|
|
||||||
Return
|
|
||||||
End If
|
|
||||||
Dim dFeed As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.FEED, dFeed)
|
|
||||||
Dim dFeedStarted As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.STARTFEED, dFeedStarted)
|
|
||||||
Dim dFeedEnded As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.ENDFEED, dFeedEnded)
|
|
||||||
Dim dFeedTipped As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.TIPFEED, dFeedTipped)
|
|
||||||
Dim dFeedBack As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.BACKFEED, dFeedBack)
|
|
||||||
Dim dFeedSideAng As Double = 0
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, dFeedSideAng)
|
|
||||||
Dim MachiningList As New List(Of SplitMach)
|
|
||||||
|
|
||||||
' Recupero l'indice della fase corrente
|
|
||||||
Dim nCurrPhase As Integer = 1
|
|
||||||
' recupero in numero di fasi presenti nel progetto
|
|
||||||
Dim nCountPhase As Integer = EgtGetPhaseCount()
|
|
||||||
' ciclo su tutte le fasi di lavorazione
|
|
||||||
Dim nMach As Integer = 0
|
|
||||||
Dim nMachUpdated As Integer = 0
|
|
||||||
For IndexPhase As Integer = 1 To nCountPhase
|
|
||||||
' imposto la fase corrente
|
|
||||||
nCurrPhase = IndexPhase
|
|
||||||
' Preparo la lista delle lavorazioni
|
|
||||||
CalculateSplitMachList(nCurrPhase, MachiningList)
|
|
||||||
' per ogni lavorazione corrente procedo ad aggiornare la feed
|
|
||||||
For IndexMachining As Integer = 0 To MachiningList.Count - 1
|
|
||||||
nMach += 1
|
|
||||||
Dim nOperId As Integer = MachiningList(IndexMachining).m_nId
|
|
||||||
' setto la lavorazione come corrente
|
|
||||||
If EgtSetCurrMachining(nOperId) Then
|
|
||||||
Dim bUpdate As Boolean = False
|
|
||||||
' STANDARD
|
|
||||||
Dim dOrigFeed As Double
|
|
||||||
EgtGetMachiningParam(MCH_MP.FEED, dOrigFeed)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeed - dFeed) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.FEED, dFeed)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' STARTED
|
|
||||||
Dim dOrigFeedStarted As Double
|
|
||||||
EgtGetMachiningParam(MCH_MP.STARTFEED, dOrigFeedStarted)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeedStarted - dFeedStarted) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.STARTFEED, dFeedStarted)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' ENDED
|
|
||||||
Dim dOrigFeedEnded As Double
|
|
||||||
EgtGetMachiningParam(MCH_MP.ENDFEED, dOrigFeedEnded)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeedEnded - dFeedEnded) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.ENDFEED, dFeedEnded)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' TIPPED
|
|
||||||
Dim dOrigFeedTipped As Double
|
|
||||||
EgtGetMachiningParam(MCH_MP.TIPFEED, dOrigFeedTipped)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeedTipped - dFeedTipped) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.TIPFEED, dFeedTipped)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' BACK
|
|
||||||
Dim dOrigFeedBack As Double
|
|
||||||
EgtGetMachiningParam(MCH_MP.BACKFEED, dOrigFeedBack)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeedBack - dFeedBack) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.BACKFEED, dFeedBack)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' SIDEANG
|
|
||||||
Dim dOrigFeedSideAng As Double
|
|
||||||
EgtMdbGetCurrMachiningParam(MCH_MP.SIDEANGFEED, dOrigFeedSideAng)
|
|
||||||
' imposto il valore di Feed solo se differente da quello nuovo
|
|
||||||
If Math.Abs(dOrigFeedBack - dFeedSideAng) > 0.1 Then
|
|
||||||
bUpdate = bUpdate Or EgtSetMachiningParam(MCH_MP.SIDEANGFEED, dFeedSideAng)
|
|
||||||
' aggiorno la lavorazione (senza il ricalcolo dell'intera lavorazione)
|
|
||||||
EgtApplyMachining(True)
|
|
||||||
End If
|
|
||||||
' conto il numero di lavorazioni aggiornate
|
|
||||||
If bUpdate Then
|
|
||||||
nMachUpdated += 1
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
Next
|
|
||||||
Next
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.SetInfoMessage("Lavorazione aggiornate: " & nMachUpdated & "/ " & nMach)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
' ------------------------------------------------ GENERA COMANDI CNC MOVIMENTO ------------------------------------------------
|
' ------------------------------------------------ GENERA COMANDI CNC MOVIMENTO ------------------------------------------------
|
||||||
Private Sub ExecuteCommandCNC(ptMid As Point3d, dAngC As Double, dAngB As Double, SelTestTool As TestTool)
|
Private Sub ExecuteCommandCNC(ptMid As Point3d, dAngC As Double, dAngB As Double)
|
||||||
|
|
||||||
Dim CmdString As String = String.Empty
|
Dim CmdString As String = String.Empty
|
||||||
If Not EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
If Not EgtLuaExecFile(m_MainWindow.m_CurrentMachine.sMachDir() & "\DirectCmd\TestWork.lua") Then
|
||||||
@@ -1004,23 +736,12 @@ Public Class ProjectMgrUC
|
|||||||
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
||||||
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
||||||
|
|
||||||
'' Recupero spessore lama corrente
|
' Recupero spessore lama corrente
|
||||||
'Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
Dim sSaw As String = m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
'EgtTdbSetCurrTool(sSaw)
|
EgtTdbSetCurrTool(sSaw)
|
||||||
'Dim dThick As Double = 0
|
|
||||||
'EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
|
||||||
'EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
|
||||||
|
|
||||||
EgtTdbSetCurrTool(SelTestTool.ToolName)
|
|
||||||
EgtLuaSetGlobStringVar("CMD.TLNAME", SelTestTool.ToolName)
|
|
||||||
EgtLuaSetGlobStringVar("CMD.TLALIAS", SelTestTool.ToolAlias)
|
|
||||||
Dim dThick As Double = 0
|
Dim dThick As Double = 0
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
||||||
EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
EgtLuaSetGlobNumVar("CMD.SAWTH", dThick)
|
||||||
Dim sTCPos As String = String.Empty
|
|
||||||
EgtTdbGetCurrToolParam(MCH_TP.TCPOS, sTCPos)
|
|
||||||
EgtLuaSetGlobStringVar("CMD.TCPOS", sTCPos)
|
|
||||||
|
|
||||||
|
|
||||||
'----------- ASSEGNO POSIZIONE DI ARRIVO MACCHINA -----------
|
'----------- ASSEGNO POSIZIONE DI ARRIVO MACCHINA -----------
|
||||||
' Assegno valore ad ogni asse da muovere (in zero macchina)
|
' Assegno valore ad ogni asse da muovere (in zero macchina)
|
||||||
@@ -1079,7 +800,6 @@ Public Class ProjectMgrUC
|
|||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
|
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bSelectCurv = False
|
||||||
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
|
EgtDeselectObj(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedCurv)
|
||||||
EgtResetMark(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
EgtResetMark(m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrSelectedSawCurv)
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.m_CurrToolFromSelectedSawCurv = String.Empty
|
|
||||||
End If
|
End If
|
||||||
' aggiorno il disegno
|
' aggiorno il disegno
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -1129,7 +849,6 @@ Public Class ProjectMgrUC
|
|||||||
ResetCutBtn.Visibility = Windows.Visibility.Hidden
|
ResetCutBtn.Visibility = Windows.Visibility.Hidden
|
||||||
SimulateBtn.Visibility = Windows.Visibility.Hidden
|
SimulateBtn.Visibility = Windows.Visibility.Hidden
|
||||||
WorkBtn.Visibility = Windows.Visibility.Hidden
|
WorkBtn.Visibility = Windows.Visibility.Hidden
|
||||||
If TestBtn.Visibility = Windows.Visibility.Visible Then TestBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
' Nascondo bottoni CadCutPageUC
|
' Nascondo bottoni CadCutPageUC
|
||||||
m_MainWindow.m_CadCutPageUC.PhotoBtn.Visibility = Windows.Visibility.Hidden
|
m_MainWindow.m_CadCutPageUC.PhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
m_MainWindow.m_CadCutPageUC.RawPartBtn.Visibility = Windows.Visibility.Hidden
|
m_MainWindow.m_CadCutPageUC.RawPartBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1145,19 +864,6 @@ Public Class ProjectMgrUC
|
|||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.RemovePartBtn.Visibility = Windows.Visibility.Hidden
|
m_MainWindow.m_CadCutPageUC.m_NestPage.RemovePartBtn.Visibility = Windows.Visibility.Hidden
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.SelectAllBtn.Visibility = Windows.Visibility.Hidden
|
m_MainWindow.m_CadCutPageUC.m_NestPage.SelectAllBtn.Visibility = Windows.Visibility.Hidden
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.DeselectAllBtn.Visibility = Windows.Visibility.Hidden
|
m_MainWindow.m_CadCutPageUC.m_NestPage.DeselectAllBtn.Visibility = Windows.Visibility.Hidden
|
||||||
' nuovi bottoni pagina di Nesting
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.DragRettanleBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
If m_MainWindow.m_CadCutPageUC.m_NestPage.SplitCurveWJBtn.Visibility = Windows.Visibility.Visible Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.SplitCurveWJBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
End If
|
|
||||||
' Nascondo bottoni rawpage
|
|
||||||
m_MainWindow.m_RawPartPage.OtherRefTabBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.LoadParams()
|
|
||||||
' Rendo visibili i bottoni per la definizione degli Spotreg
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UG0_Reg.Visibility = Visibility.Visible
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UG1_Reg.Visibility = Visibility.Visible
|
|
||||||
|
|
||||||
' Deseleziono tutto
|
' Deseleziono tutto
|
||||||
EgtDeselectAll()
|
EgtDeselectAll()
|
||||||
' Se c'è la foto devo sistemare
|
' Se c'è la foto devo sistemare
|
||||||
@@ -1189,15 +895,8 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
' Visualizzo step adatti alla scelta fatta
|
' Visualizzo step adatti alla scelta fatta
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UpdateStepsOnUI()
|
m_MainWindow.m_CadCutPageUC.m_NestPage.UpdateStepsOnUI()
|
||||||
|
|
||||||
' Cancello eventuali messaggi di errore/avvertimento
|
' Cancello eventuali messaggi di errore/avvertimento
|
||||||
m_CurrProjPage.ClearMessage()
|
m_CurrProjPage.ClearMessage()
|
||||||
|
|
||||||
' visualizzo i punti di SpotReg
|
|
||||||
EgtSetStatus(m_MainWindow.m_CadCutPageUC.m_NestPage.m_nRegGroupId, GDB_ST.ON_)
|
|
||||||
' eventualmente risistemo tutti i punti Spotreg in funzione dell'altezza del grezzo
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UpdateSpotRegistration()
|
|
||||||
EgtDraw()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub RegisterBtn_Unchecked(sender As Object, e As RoutedEventArgs) Handles RegisterBtn.Unchecked
|
Private Sub RegisterBtn_Unchecked(sender As Object, e As RoutedEventArgs) Handles RegisterBtn.Unchecked
|
||||||
@@ -1225,7 +924,6 @@ Public Class ProjectMgrUC
|
|||||||
m_MainWindow.m_CadCutPageUC.DrawBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.DrawBtn.Visibility = Windows.Visibility.Visible
|
||||||
m_MainWindow.m_CadCutPageUC.ImportBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.ImportBtn.Visibility = Windows.Visibility.Visible
|
||||||
m_MainWindow.m_CadCutPageUC.SplitBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.SplitBtn.Visibility = Windows.Visibility.Visible
|
||||||
If TestBtn.Visibility = Windows.Visibility.Hidden Then TestBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
' Visualizzo bottoni nesting
|
' Visualizzo bottoni nesting
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bRegister = False
|
m_MainWindow.m_CadCutPageUC.m_NestPage.m_bRegister = False
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.MaximizeMoveBtn.IsEnabled = True
|
m_MainWindow.m_CadCutPageUC.m_NestPage.MaximizeMoveBtn.IsEnabled = True
|
||||||
@@ -1235,22 +933,6 @@ Public Class ProjectMgrUC
|
|||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.RemovePartBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.m_NestPage.RemovePartBtn.Visibility = Windows.Visibility.Visible
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.SelectAllBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.m_NestPage.SelectAllBtn.Visibility = Windows.Visibility.Visible
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.DeselectAllBtn.Visibility = Windows.Visibility.Visible
|
m_MainWindow.m_CadCutPageUC.m_NestPage.DeselectAllBtn.Visibility = Windows.Visibility.Visible
|
||||||
' nuovi bottoni pagina di Nesting
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.DragRettanleBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
If m_MainWindow.m_CadCutPageUC.m_NestPage.SplitCurveWJBtn.Visibility = Windows.Visibility.Hidden Then
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.SplitCurveWJBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
End If
|
|
||||||
' disabilito i comandi per gestioen SpotReg
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.PointRegCheckedOff()
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UG0_Reg.Visibility = Visibility.Hidden
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UG1_Reg.Visibility = Visibility.Hidden
|
|
||||||
|
|
||||||
' Nascondo bottoni rawpage
|
|
||||||
m_MainWindow.m_RawPartPage.OtherRefTabBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
|
|
||||||
' Nascondo i bottoni per la definizione degli Spotreg
|
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UG0_Reg.Visibility = Visibility.Hidden
|
|
||||||
|
|
||||||
' Se c'è la foto devo sistemare
|
' Se c'è la foto devo sistemare
|
||||||
If m_CurrProjPage.GetPhoto() <> GDB_ID.NULL Then
|
If m_CurrProjPage.GetPhoto() <> GDB_ID.NULL Then
|
||||||
' Recupero il riferimento originale del primo grezzo
|
' Recupero il riferimento originale del primo grezzo
|
||||||
@@ -1295,11 +977,6 @@ Public Class ProjectMgrUC
|
|||||||
End If
|
End If
|
||||||
' Visualizzo step adatti alla scelta fatta
|
' Visualizzo step adatti alla scelta fatta
|
||||||
m_MainWindow.m_CadCutPageUC.m_NestPage.UpdateStepsOnUI()
|
m_MainWindow.m_CadCutPageUC.m_NestPage.UpdateStepsOnUI()
|
||||||
|
|
||||||
' nascondi i punti di SpotReg
|
|
||||||
EgtSetStatus(m_MainWindow.m_CadCutPageUC.m_NestPage.m_nRegGroupId, GDB_ST.OFF)
|
|
||||||
EgtDraw()
|
|
||||||
|
|
||||||
' Cancello eventuali messaggi di errore/avvertimento
|
' Cancello eventuali messaggi di errore/avvertimento
|
||||||
m_CurrProjPage.ClearMessage()
|
m_CurrProjPage.ClearMessage()
|
||||||
End Sub
|
End Sub
|
||||||
@@ -1311,7 +988,6 @@ Public Class Scrap
|
|||||||
Private m_iPictureID As Integer
|
Private m_iPictureID As Integer
|
||||||
Private m_sName As String
|
Private m_sName As String
|
||||||
Private m_IdRaw As Integer
|
Private m_IdRaw As Integer
|
||||||
' nState=1 -> da inserire in DB, nState=2 -> già inserito in DB
|
|
||||||
Private m_nState As Integer
|
Private m_nState As Integer
|
||||||
|
|
||||||
Public Property PictureID() As Integer
|
Public Property PictureID() As Integer
|
||||||
@@ -1344,16 +1020,9 @@ Public Class Scrap
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Public Sub ResetState(Optional nNewState As Integer = 1)
|
Public ReadOnly Property PictureString() As String
|
||||||
m_nState = nNewState
|
|
||||||
EgtSetInfo(m_IdRaw, K_ISNEWSCRAPS, nNewState)
|
|
||||||
EgtRemoveInfo(m_IdRaw, K_DATABASEID)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Public ReadOnly Property PreviewState As System.Windows.Media.Imaging.BitmapImage
|
|
||||||
Get
|
Get
|
||||||
Dim sPath As String = "/Resources/ImportPageListBoxImages/" & PictureID.ToString() & ".png"
|
Return "/Resources/ImportPageListBoxImages/" + PictureID.ToString() + ".png"
|
||||||
Return New System.Windows.Media.Imaging.BitmapImage(New Uri(sPath, UriKind.Relative))
|
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
|||||||
@@ -22,24 +22,8 @@
|
|||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<Label Name="TitleTxBl" Grid.Column="1" Grid.Row="1" Foreground="White" FontSize="20" VerticalAlignment="Center"/>
|
<Label Name="TitleTxBl" Grid.Column="1" Grid.Row="1" Foreground="White" FontSize="20" VerticalAlignment="Center"/>
|
||||||
<ListBox Name="ScrapsListBox" Grid.Column="1" Grid.Row="2">
|
<ListBox Name="ScrapsListBox" Grid.Column="1" Grid.Row="2" ItemTemplate="{DynamicResource DataTemplateItem}"
|
||||||
<ListBox.ItemTemplate>
|
ItemsSource="{Binding ItemList, NotifyOnSourceUpdated=True}"/>
|
||||||
<DataTemplate>
|
|
||||||
<Grid Margin="0,2">
|
|
||||||
<Grid.ColumnDefinitions>
|
|
||||||
<ColumnDefinition Width="0.5*" />
|
|
||||||
<ColumnDefinition Width="1*" />
|
|
||||||
</Grid.ColumnDefinitions>
|
|
||||||
<Image Source="{Binding PreviewState}" VerticalAlignment="Center"
|
|
||||||
MaxWidth="50" MaxHeight="50"
|
|
||||||
Stretch="Uniform" Grid.Column="0" />
|
|
||||||
<TextBlock Text="{Binding Name}" VerticalAlignment="Center"
|
|
||||||
Style="{StaticResource OmagCut_CurrProjSummeryTextBlock}"
|
|
||||||
Grid.Column="1"/>
|
|
||||||
</Grid>
|
|
||||||
</DataTemplate>
|
|
||||||
</ListBox.ItemTemplate>
|
|
||||||
</ListBox>
|
|
||||||
|
|
||||||
<Grid Grid.Column="1" Grid.Row="4">
|
<Grid Grid.Column="1" Grid.Row="4">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
|
|||||||
@@ -96,22 +96,16 @@ Public Class StartLauncherWD
|
|||||||
Dim ItemFile As String = String.Empty
|
Dim ItemFile As String = String.Empty
|
||||||
'carico la liste dei file recenti
|
'carico la liste dei file recenti
|
||||||
Dim sFileName As String = String.Empty
|
Dim sFileName As String = String.Empty
|
||||||
Dim MruFileListRemove As New List(Of String)
|
|
||||||
For Each ItemFile In m_MainWindow.m_CurrentProjectPageUC.m_MruFiles.FileNames
|
For Each ItemFile In m_MainWindow.m_CurrentProjectPageUC.m_MruFiles.FileNames
|
||||||
sFileName = ItemFile.Replace("__", "_")
|
sFileName = ItemFile.Replace("__", "_")
|
||||||
If Not String.IsNullOrEmpty(sFileName) AndAlso File.Exists(sFileName) Then
|
If Not String.IsNullOrEmpty(sFileName) Then
|
||||||
m_RecentFileList.Add(New FileNameLsBxItem(sFileName, File.GetLastAccessTime(sFileName)))
|
m_RecentFileList.Add(New FileNameLsBxItem(sFileName, File.GetLastAccessTime(sFileName)))
|
||||||
m_RecentFileList.Add(New FileNameLsBxItem(sFileName, File.GetLastAccessTime(sFileName)))
|
m_RecentFileList.Add(New FileNameLsBxItem(sFileName, File.GetLastAccessTime(sFileName)))
|
||||||
Else
|
Else
|
||||||
MruFileListRemove.Add(ItemFile)
|
m_MainWindow.m_CurrentProjectPageUC.m_MruFiles.Remove(ItemFile)
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
For Each ItemFileRemove As String In MruFileListRemove
|
|
||||||
m_MainWindow.m_CurrentProjectPageUC.m_MruFiles.Remove(ItemFileRemove)
|
|
||||||
EgtOutLog(" WARNING: File " & ItemFileRemove & " does not exist or is not accessible, it's been removed from MruFiles list")
|
|
||||||
Next
|
|
||||||
|
|
||||||
' posiziono la fistra in centro alla pagina
|
' posiziono la fistra in centro alla pagina
|
||||||
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
|
Me.Top = Owner.Top + Owner.Height / 2 - Me.Height / 2
|
||||||
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
|
Me.Left = Owner.Left + Owner.Width / 2 - Me.Width / 2
|
||||||
|
|||||||
@@ -205,12 +205,6 @@ Public Class Camera
|
|||||||
Dim nInd As Integer = 1
|
Dim nInd As Integer = 1
|
||||||
If m_nCameraCount = 2 Then
|
If m_nCameraCount = 2 Then
|
||||||
nInd = GetCurrentTable()
|
nInd = GetCurrentTable()
|
||||||
' verifico se la macchina è configurata per fotocamera sulla tavola di lavoro
|
|
||||||
If (GetPrivateProfileInt(S_CAMERAHQ, K_CAMERAHQ_ENABLE, 0, m_MainWindow.GetMachIniFile()) <> 0) AndAlso
|
|
||||||
(GetPrivateProfileInt(S_CAMERAHQ, K_CAMERAHQ_ACTIVATE, 0, m_MainWindow.GetMachIniFile()) <> 0) Then
|
|
||||||
' forzo l'utilizzo della seconda camera (sopra alla tavola di lavoro)
|
|
||||||
nInd = 2
|
|
||||||
End If
|
|
||||||
If nInd <> 1 And nInd <> 2 Then Return 0
|
If nInd <> 1 And nInd <> 2 Then Return 0
|
||||||
End If
|
End If
|
||||||
' Se gestore macchina non attivo, lo lancio in modo cieco
|
' Se gestore macchina non attivo, lo lancio in modo cieco
|
||||||
@@ -321,16 +315,6 @@ Public Class Camera
|
|||||||
GetPrivateProfileString(S_NCDATA, K_SPOTLIGHT2, "", sPLCVarSpotLight2, m_MainWindow.GetMachIniFile())
|
GetPrivateProfileString(S_NCDATA, K_SPOTLIGHT2, "", sPLCVarSpotLight2, m_MainWindow.GetMachIniFile())
|
||||||
Dim nPhotoDeley As Integer = GetPrivateProfileInt(S_NCNUM, K_PHOTODELEY, "100", m_MainWindow.GetMachIniFile())
|
Dim nPhotoDeley As Integer = GetPrivateProfileInt(S_NCNUM, K_PHOTODELEY, "100", m_MainWindow.GetMachIniFile())
|
||||||
|
|
||||||
' eventualmente rimuovo inizio stringa: "PLC, ___"
|
|
||||||
Dim sItemString1() As String = Split(sPLCVarSpotLight1, ","c)
|
|
||||||
If sItemString1.Count > 1 Then
|
|
||||||
sPLCVarSpotLight1 = sItemString1(1).Trim
|
|
||||||
End If
|
|
||||||
Dim sItemString2() As String = Split(sPLCVarSpotLight2, ","c)
|
|
||||||
If sItemString2.Count > 1 Then
|
|
||||||
sPLCVarSpotLight2 = sItemString2(1).Trim
|
|
||||||
End If
|
|
||||||
|
|
||||||
Select Case m_MainWindow.m_CNCommunication.m_nNCType
|
Select Case m_MainWindow.m_CNCommunication.m_nNCType
|
||||||
Case 1, 2
|
Case 1, 2
|
||||||
If m_MainWindow.m_CNCommunication.m_nNCType = 2 Then
|
If m_MainWindow.m_CNCommunication.m_nNCType = 2 Then
|
||||||
|
|||||||
@@ -175,9 +175,6 @@ Public Class ChooseMachining
|
|||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
If m_CurrentMachine.bWaterJet And EgtGetHeadId("H1") = GDB_ID.NULL Then
|
|
||||||
|
|
||||||
Else
|
|
||||||
' verifico che lista delle lavorazioni di lama non sia vuoto
|
' verifico che lista delle lavorazioni di lama non sia vuoto
|
||||||
If m_SawingList.Count > 0 Then
|
If m_SawingList.Count > 0 Then
|
||||||
' provo ad assegnare la lama corrente (se l'associazione fallisce corrispoende ad impostare un campo vuoto)
|
' provo ad assegnare la lama corrente (se l'associazione fallisce corrispoende ad impostare un campo vuoto)
|
||||||
@@ -193,7 +190,6 @@ Public Class ChooseMachining
|
|||||||
End If
|
End If
|
||||||
m_MainWindow.m_CurrentMachine.sCurrSawing = String.Empty
|
m_MainWindow.m_CurrentMachine.sCurrSawing = String.Empty
|
||||||
End If
|
End If
|
||||||
End If
|
|
||||||
|
|
||||||
' definizione della lista delle lavorazioni secondarie -- DA RIMUOVERE COMPLETAMENTE --
|
' definizione della lista delle lavorazioni secondarie -- DA RIMUOVERE COMPLETAMENTE --
|
||||||
If m_bNotShowAuxilaryCmBx Then
|
If m_bNotShowAuxilaryCmBx Then
|
||||||
|
|||||||
@@ -136,9 +136,7 @@
|
|||||||
Style="{DynamicResource OmagCut_YellowToggleButton}"/>
|
Style="{DynamicResource OmagCut_YellowToggleButton}"/>
|
||||||
<ToggleButton Name="RemoveBtn" Grid.Column="1"
|
<ToggleButton Name="RemoveBtn" Grid.Column="1"
|
||||||
Style="{DynamicResource OmagCut_YellowToggleButton}"/>
|
Style="{DynamicResource OmagCut_YellowToggleButton}"/>
|
||||||
<Button Name="CloseBtn" Grid.Row="1"
|
<Button Name="CloseBtn" Grid.Row="1" Grid.ColumnSpan="2"
|
||||||
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
|
||||||
<Button Name="RectangleBtn" Grid.Row="1" Grid.Column="1"
|
|
||||||
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
Style="{DynamicResource OmagCut_YellowTextButton}"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
|||||||
@@ -210,7 +210,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 14) 'Add - Aggiungi
|
AddBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 14) 'Add - Aggiungi
|
||||||
RemoveBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 15) 'Remove - Rimuovi
|
RemoveBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 15) 'Remove - Rimuovi
|
||||||
CloseBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 31) 'Close - Chiudi
|
CloseBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 31) 'Close - Chiudi
|
||||||
RectangleBtn.Content = "Rectangle"
|
|
||||||
ConfirmPhotoBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 24) 'Conferma
|
ConfirmPhotoBtn.Content = EgtMsg(MSG_RAWPARTPAGEUC + 24) 'Conferma
|
||||||
|
|
||||||
OtherRefTabTxBl.Text = "New Ref On Tab"
|
OtherRefTabTxBl.Text = "New Ref On Tab"
|
||||||
@@ -329,7 +328,6 @@ Public Class RawPartPageUC
|
|||||||
RawModeCmBx.SelectedIndex = RAWMODE.BY_POINTS
|
RawModeCmBx.SelectedIndex = RAWMODE.BY_POINTS
|
||||||
PointsGpBx.Visibility = Windows.Visibility.Visible
|
PointsGpBx.Visibility = Windows.Visibility.Visible
|
||||||
CloseBtn.Visibility = Windows.Visibility.Hidden
|
CloseBtn.Visibility = Windows.Visibility.Hidden
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
' Visualizzo crocette
|
' Visualizzo crocette
|
||||||
UpdateCircles()
|
UpdateCircles()
|
||||||
EgtZoom(ZM.ALL)
|
EgtZoom(ZM.ALL)
|
||||||
@@ -364,8 +362,6 @@ Public Class RawPartPageUC
|
|||||||
OtherRefTabChBx.Visibility = Visibility.Collapsed
|
OtherRefTabChBx.Visibility = Visibility.Collapsed
|
||||||
OtherRefTabTxBl.Visibility = Visibility.Collapsed
|
OtherRefTabTxBl.Visibility = Visibility.Collapsed
|
||||||
Return
|
Return
|
||||||
Else
|
|
||||||
OtherRefTabBtn.Visibility = Visibility.Visible
|
|
||||||
End If
|
End If
|
||||||
m_bOtherRefTab = (GetPrivateProfileInt(S_RAWPART, K_OTHERREFTAB, 0, m_MainWindow.GetIniFile()) <> 0)
|
m_bOtherRefTab = (GetPrivateProfileInt(S_RAWPART, K_OTHERREFTAB, 0, m_MainWindow.GetIniFile()) <> 0)
|
||||||
m_OtherRefTabX = GetPrivateProfileDouble(S_RAWPART, K_OTHERREFTABX, 0, m_MainWindow.GetIniFile())
|
m_OtherRefTabX = GetPrivateProfileDouble(S_RAWPART, K_OTHERREFTABX, 0, m_MainWindow.GetIniFile())
|
||||||
@@ -758,8 +754,6 @@ Public Class RawPartPageUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
|
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
' Non è possibile uscire con tastatura in corso
|
' Non è possibile uscire con tastatura in corso
|
||||||
If m_bProbingOn Then Return
|
If m_bProbingOn Then Return
|
||||||
' reimposto il comando OutLine
|
' reimposto il comando OutLine
|
||||||
@@ -925,7 +919,6 @@ Public Class RawPartPageUC
|
|||||||
RawModeView()
|
RawModeView()
|
||||||
' Disattivo il bottone
|
' Disattivo il bottone
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
OkBtn.IsEnabled = False
|
OkBtn.IsEnabled = False
|
||||||
Case 3 ' Da Lama
|
Case 3 ' Da Lama
|
||||||
If Not m_MainWindow.m_CurrentMachine.bSaw Then ' Da fotografia
|
If Not m_MainWindow.m_CurrentMachine.bSaw Then ' Da fotografia
|
||||||
@@ -958,7 +951,6 @@ Public Class RawPartPageUC
|
|||||||
RawModeView()
|
RawModeView()
|
||||||
' Disattivo il bottone
|
' Disattivo il bottone
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
OkBtn.IsEnabled = False
|
OkBtn.IsEnabled = False
|
||||||
Case 4 ' Da fotografia
|
Case 4 ' Da fotografia
|
||||||
' Se ero in modalità da laser
|
' Se ero in modalità da laser
|
||||||
@@ -1023,7 +1015,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 2)
|
AddBtn.SetValue(Grid.RowSpanProperty, 2)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 2)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 2)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Hidden
|
CloseBtn.Visibility = Windows.Visibility.Hidden
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
' Disattivo bottoni zone rovinate e foto
|
' Disattivo bottoni zone rovinate e foto
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
||||||
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1046,7 +1037,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Visible
|
CloseBtn.Visibility = Windows.Visibility.Visible
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
' Disattivo bottoni zone rovinate e foto
|
' Disattivo bottoni zone rovinate e foto
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
||||||
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1069,7 +1059,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 2)
|
AddBtn.SetValue(Grid.RowSpanProperty, 2)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 2)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 2)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Hidden
|
CloseBtn.Visibility = Windows.Visibility.Hidden
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Hidden
|
|
||||||
' Attivo bottoni zone rovinate
|
' Attivo bottoni zone rovinate
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Visible
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Visible
|
||||||
' Disattivo bottoni foto
|
' Disattivo bottoni foto
|
||||||
@@ -1109,7 +1098,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Visible
|
CloseBtn.Visibility = Windows.Visibility.Visible
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
' Disattivo bottoni zone rovinate e foto
|
' Disattivo bottoni zone rovinate e foto
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
||||||
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1131,7 +1119,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Visible
|
CloseBtn.Visibility = Windows.Visibility.Visible
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
' Disattivo bottoni zone rovinate e foto
|
' Disattivo bottoni zone rovinate e foto
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
||||||
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1153,7 +1140,6 @@ Public Class RawPartPageUC
|
|||||||
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
AddBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
RemoveBtn.SetValue(Grid.RowSpanProperty, 1)
|
||||||
CloseBtn.Visibility = Windows.Visibility.Visible
|
CloseBtn.Visibility = Windows.Visibility.Visible
|
||||||
RectangleBtn.Visibility = Windows.Visibility.Visible
|
|
||||||
' Disattivo bottoni zone rovinate e foto
|
' Disattivo bottoni zone rovinate e foto
|
||||||
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
DamagedAreaGpBx.Visibility = Windows.Visibility.Hidden
|
||||||
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
ConfirmPhotoBtn.Visibility = Windows.Visibility.Hidden
|
||||||
@@ -1210,9 +1196,6 @@ Public Class RawPartPageUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub AddBtn_Click(sender As Object, e As RoutedEventArgs) Handles AddBtn.Click
|
Private Sub AddBtn_Click(sender As Object, e As RoutedEventArgs) Handles AddBtn.Click
|
||||||
' disabilito i comandi di chiusura contorno
|
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
Select Case m_ActiveRawMode
|
Select Case m_ActiveRawMode
|
||||||
Case RAWMODE.RECTANGLE
|
Case RAWMODE.RECTANGLE
|
||||||
AddBtn.IsChecked = False
|
AddBtn.IsChecked = False
|
||||||
@@ -1261,15 +1244,9 @@ Public Class RawPartPageUC
|
|||||||
m_bptLast = True
|
m_bptLast = True
|
||||||
End If
|
End If
|
||||||
m_ptLast = ptAcquired
|
m_ptLast = ptAcquired
|
||||||
' Se ho almeno un segmento allora deve essere la diagonale
|
|
||||||
If m_CurveXKerfList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXKerfList.Count > 1 Then
|
If m_CurveXKerfList.Count > 1 Then
|
||||||
OkBtn.IsEnabled = True
|
OkBtn.IsEnabled = True
|
||||||
CloseBtn.IsEnabled = True
|
CloseBtn.IsEnabled = True
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
End If
|
||||||
AddBtn.IsChecked = False
|
AddBtn.IsChecked = False
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -1315,14 +1292,9 @@ Public Class RawPartPageUC
|
|||||||
m_bptLast = True
|
m_bptLast = True
|
||||||
End If
|
End If
|
||||||
m_ptLast = ptAcquired
|
m_ptLast = ptAcquired
|
||||||
If m_CurveXKerfList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXKerfList.Count > 1 Then
|
If m_CurveXKerfList.Count > 1 Then
|
||||||
OkBtn.IsEnabled = True
|
OkBtn.IsEnabled = True
|
||||||
CloseBtn.IsEnabled = True
|
CloseBtn.IsEnabled = True
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
End If
|
||||||
AddBtn.IsChecked = False
|
AddBtn.IsChecked = False
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -1378,14 +1350,9 @@ Public Class RawPartPageUC
|
|||||||
m_bptLast = True
|
m_bptLast = True
|
||||||
End If
|
End If
|
||||||
m_ptLast = ptAcquired
|
m_ptLast = ptAcquired
|
||||||
If m_CurveXDamagedAreaList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXDamagedAreaList.Count > 1 Then
|
If m_CurveXDamagedAreaList.Count > 1 Then
|
||||||
OkBtn.IsEnabled = True
|
OkBtn.IsEnabled = True
|
||||||
CloseBtn.IsEnabled = True
|
CloseBtn.IsEnabled = True
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
End If
|
||||||
AddBtn.IsChecked = False
|
AddBtn.IsChecked = False
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -1431,14 +1398,9 @@ Public Class RawPartPageUC
|
|||||||
m_bptLast = True
|
m_bptLast = True
|
||||||
End If
|
End If
|
||||||
m_ptLast = ptAcquired
|
m_ptLast = ptAcquired
|
||||||
If m_CurveXDamagedAreaList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXDamagedAreaList.Count > 1 Then
|
If m_CurveXDamagedAreaList.Count > 1 Then
|
||||||
OkBtn.IsEnabled = True
|
OkBtn.IsEnabled = True
|
||||||
CloseBtn.IsEnabled = True
|
CloseBtn.IsEnabled = True
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
End If
|
||||||
AddBtn.IsChecked = False
|
AddBtn.IsChecked = False
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
@@ -1458,7 +1420,7 @@ Public Class RawPartPageUC
|
|||||||
Dim nExit As Integer = 0
|
Dim nExit As Integer = 0
|
||||||
EgtGetCalcTool(sTool, sHead, nExit)
|
EgtGetCalcTool(sTool, sHead, nExit)
|
||||||
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
' Imposto come testa corrente il laser (senza utensile ovviamente)
|
||||||
If Not EgtSetCalcTool("", LASER_HEAD, 1) Then
|
If Not EgtSetCalcTool("", "H3", 1) Then
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
@@ -1470,10 +1432,6 @@ Public Class RawPartPageUC
|
|||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
ptAcquired = ptTipP1
|
ptAcquired = ptTipP1
|
||||||
ptAcquired.ToLoc(New Frame3d(m_ptTableMin))
|
ptAcquired.ToLoc(New Frame3d(m_ptTableMin))
|
||||||
EgtOutLog("Actual axis laser H3: L1=" & dL1.ToString & ", L2=" & dL2.ToString & ", L3=" & dL3.ToString &
|
|
||||||
", R1=" & dR1.ToString & ", R2=" & dR2.ToString)
|
|
||||||
EgtOutLog("Actual pos laser H3: " & ptTipP1.x.ToString & "," & ptTipP1.y.ToString & "," & ptTipP1.z.ToString &
|
|
||||||
"; on table: " & ptAcquired.x.ToString & "," & ptAcquired.y.ToString & "," & ptAcquired.z.ToString)
|
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -1491,8 +1449,6 @@ Public Class RawPartPageUC
|
|||||||
EgtGetCalcTool(sTool, sHead, nExit)
|
EgtGetCalcTool(sTool, sHead, nExit)
|
||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, ptTipP1) Then
|
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, ptTipP1) Then
|
||||||
EgtOutLog("Actual pos " & sHead & ": L1=" & dL1.ToString & ", L2=" & dL2.ToString & ", L3=" & dL3.ToString &
|
|
||||||
", R1=" & dR1.ToString & ", R2=" & dR2.ToString)
|
|
||||||
Return False
|
Return False
|
||||||
End If
|
End If
|
||||||
' Porto il tip nell'origine tavola
|
' Porto il tip nell'origine tavola
|
||||||
@@ -1523,17 +1479,6 @@ Public Class RawPartPageUC
|
|||||||
' Aggiorno ptLast
|
' Aggiorno ptLast
|
||||||
EgtEndPoint(m_CurveXKerfList(m_CurveXKerfList.Count - 1), m_ptLast)
|
EgtEndPoint(m_CurveXKerfList(m_CurveXKerfList.Count - 1), m_ptLast)
|
||||||
End If
|
End If
|
||||||
' reset dei comandi di chiusura
|
|
||||||
If m_CurveXKerfList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXKerfList.Count > 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
m_bptLast = False
|
m_bptLast = False
|
||||||
End If
|
End If
|
||||||
@@ -1554,17 +1499,6 @@ Public Class RawPartPageUC
|
|||||||
' Aggiorno ptLast
|
' Aggiorno ptLast
|
||||||
EgtEndPoint(m_CurveXKerfList(m_CurveXKerfList.Count - 1), m_ptLast)
|
EgtEndPoint(m_CurveXKerfList(m_CurveXKerfList.Count - 1), m_ptLast)
|
||||||
End If
|
End If
|
||||||
' reset dei comandi di chiusura
|
|
||||||
If m_CurveXKerfList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXKerfList.Count > 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
m_bptLast = False
|
m_bptLast = False
|
||||||
End If
|
End If
|
||||||
@@ -1595,17 +1529,6 @@ Public Class RawPartPageUC
|
|||||||
' Aggiorno ptLast
|
' Aggiorno ptLast
|
||||||
EgtEndPoint(m_CurveXDamagedAreaList(m_CurveXDamagedAreaList.Count - 1), m_ptLast)
|
EgtEndPoint(m_CurveXDamagedAreaList(m_CurveXDamagedAreaList.Count - 1), m_ptLast)
|
||||||
End If
|
End If
|
||||||
' reset dei comandi di chiusura
|
|
||||||
If m_CurveXDamagedAreaList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXDamagedAreaList.Count > 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
m_bptLast = False
|
m_bptLast = False
|
||||||
End If
|
End If
|
||||||
@@ -1626,17 +1549,6 @@ Public Class RawPartPageUC
|
|||||||
' Aggiorno ptLast
|
' Aggiorno ptLast
|
||||||
EgtEndPoint(m_CurveXDamagedAreaList(m_CurveXDamagedAreaList.Count - 1), m_ptLast)
|
EgtEndPoint(m_CurveXDamagedAreaList(m_CurveXDamagedAreaList.Count - 1), m_ptLast)
|
||||||
End If
|
End If
|
||||||
' reset dei comandi di chiusura
|
|
||||||
If m_CurveXDamagedAreaList.Count = 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = False
|
|
||||||
RectangleBtn.IsEnabled = True
|
|
||||||
End If
|
|
||||||
If m_CurveXDamagedAreaList.Count > 1 Then
|
|
||||||
OkBtn.IsEnabled = True
|
|
||||||
CloseBtn.IsEnabled = True
|
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End If
|
|
||||||
Else
|
Else
|
||||||
m_bptLast = False
|
m_bptLast = False
|
||||||
End If
|
End If
|
||||||
@@ -2148,7 +2060,6 @@ Public Class RawPartPageUC
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Sub RefTabModeChange()
|
Public Sub RefTabModeChange()
|
||||||
If Not m_bOtherRefTab Then Return
|
|
||||||
MoveRawToMaiRefTab()
|
MoveRawToMaiRefTab()
|
||||||
MoveRawToOtherRefTab()
|
MoveRawToOtherRefTab()
|
||||||
UpdateRefTabDraw()
|
UpdateRefTabDraw()
|
||||||
@@ -2661,21 +2572,6 @@ Public Class RawPartPageUC
|
|||||||
EgtEmptyGroup(m_nTempLay)
|
EgtEmptyGroup(m_nTempLay)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub RectangleBtn_Click(sender As Object, e As RoutedEventArgs) Handles RectangleBtn.Click
|
|
||||||
Select Case m_ActiveRawMode
|
|
||||||
Case RAWMODE.DAMAGED_BY_LASER
|
|
||||||
CloseDamagedAreaByLaser_Rectangle()
|
|
||||||
Case RAWMODE.DAMAGED_BY_SAW
|
|
||||||
CloseDamagedAreaBySaw_Rectangle()
|
|
||||||
Case RAWMODE.FROM_SAW
|
|
||||||
CloseRawBySaw_Rectangle()
|
|
||||||
Case Else
|
|
||||||
CloseRawByLaser_Rectangle()
|
|
||||||
End Select
|
|
||||||
' Rimuovo eventuali crocette create acquisendo i punti nel disegno
|
|
||||||
EgtEmptyGroup(m_nTempLay)
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CloseRawByLaser()
|
Private Sub CloseRawByLaser()
|
||||||
' Verifico ci siano punti
|
' Verifico ci siano punti
|
||||||
If m_CurveXKerfList.Count() = 0 Then Return
|
If m_CurveXKerfList.Count() = 0 Then Return
|
||||||
@@ -2710,33 +2606,6 @@ Public Class RawPartPageUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Disattivo il bottone chiudi grezzo
|
' Disattivo il bottone chiudi grezzo
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CloseRawByLaser_Rectangle()
|
|
||||||
' Verifico ci siano punti
|
|
||||||
If m_CurveXKerfList.Count() <> 1 Then Return
|
|
||||||
' Recupero punto iniziale prima e unica linea del grezzo
|
|
||||||
Dim ptStart As Point3d
|
|
||||||
EgtStartPoint(m_CurveXKerfList(0), ptStart)
|
|
||||||
' Recupero punto finale prima e unica linea del grezzo
|
|
||||||
Dim ptEnd As Point3d
|
|
||||||
EgtEndPoint(m_CurveXKerfList(0), ptEnd)
|
|
||||||
' Elimo il segmemnto usato come diagonale
|
|
||||||
EgtErase(m_CurveXKerfList(0))
|
|
||||||
' Pulisco lista entità del grezzo (che contiene la diagonale)
|
|
||||||
m_CurveXKerfList.Clear()
|
|
||||||
' Procedo a costruire il rettangolo
|
|
||||||
Dim pt_Temp As Point3d = New Point3d(ptEnd.x, ptStart.y, ptStart.z)
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptStart, pt_Temp))
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptEnd))
|
|
||||||
pt_Temp = New Point3d(ptStart.x, ptEnd.y, ptStart.z)
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptEnd, pt_Temp))
|
|
||||||
' salvo come ultimo punto, l'ultimo calcolato
|
|
||||||
m_ptLast = pt_Temp
|
|
||||||
'CurveXKerfArray(3) = EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptStart)
|
|
||||||
'm_CurveXKerfList.Add(CurveXKerfArray(3))
|
|
||||||
CloseRawByLaser()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CloseRawBySaw()
|
Private Sub CloseRawBySaw()
|
||||||
@@ -2773,33 +2642,6 @@ Public Class RawPartPageUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Disattivo il bottone chiudi grezzo
|
' Disattivo il bottone chiudi grezzo
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CloseRawBySaw_Rectangle()
|
|
||||||
' Verifico ci siano punti
|
|
||||||
If m_CurveXKerfList.Count() <> 1 Then Return
|
|
||||||
' Recupero punto iniziale prima e unica linea del grezzo
|
|
||||||
Dim ptStart As Point3d
|
|
||||||
EgtStartPoint(m_CurveXKerfList(0), ptStart)
|
|
||||||
' Recupero punto finale prima e unica linea del grezzo
|
|
||||||
Dim ptEnd As Point3d
|
|
||||||
EgtEndPoint(m_CurveXKerfList(0), ptEnd)
|
|
||||||
' Elimo il segmemnto usato come diagonale
|
|
||||||
EgtErase(m_CurveXKerfList(0))
|
|
||||||
' Pulisco lista entità del grezzo (che contiene la diagonale)
|
|
||||||
m_CurveXKerfList.Clear()
|
|
||||||
' Procedo a costruire il rettangolo
|
|
||||||
Dim pt_Temp As Point3d = New Point3d(ptEnd.x, ptStart.y, ptStart.z)
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptStart, pt_Temp))
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptEnd))
|
|
||||||
pt_Temp = New Point3d(ptStart.x, ptEnd.y, ptStart.z)
|
|
||||||
m_CurveXKerfList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptEnd, pt_Temp))
|
|
||||||
' salvo come ultimo punto, l'ultimo calcolato
|
|
||||||
m_ptLast = pt_Temp
|
|
||||||
'CurveXKerfArray(3) = EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptStart)
|
|
||||||
'm_CurveXKerfList.Add(CurveXKerfArray(3))
|
|
||||||
CloseRawBySaw()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
#Region "Damaged Area"
|
#Region "Damaged Area"
|
||||||
@@ -2856,32 +2698,6 @@ Public Class RawPartPageUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Disattivo il bottone chiudi grezzo
|
' Disattivo il bottone chiudi grezzo
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CloseDamagedAreaByLaser_Rectangle()
|
|
||||||
' Verifico che esista una sola linea
|
|
||||||
If m_CurveXDamagedAreaList.Count() <> 1 Then Return
|
|
||||||
' Recupero punto iniziale prima linea del grezzo
|
|
||||||
Dim ptStart As Point3d
|
|
||||||
EgtStartPoint(m_CurveXDamagedAreaList(0), ptStart)
|
|
||||||
' Recupero punto finale prima e unica linea del grezzo
|
|
||||||
Dim ptEnd As Point3d
|
|
||||||
EgtEndPoint(m_CurveXDamagedAreaList(0), ptEnd)
|
|
||||||
' Elimo il segmemnto usato come diagonale
|
|
||||||
EgtErase(m_CurveXDamagedAreaList(0))
|
|
||||||
' Pulisco lista entità del grezzo (che contiene la diagonale)
|
|
||||||
m_CurveXDamagedAreaList.Clear()
|
|
||||||
' Procedo a costruire il rettangolo
|
|
||||||
Dim pt_Temp As Point3d = New Point3d(ptEnd.x, ptStart.y, ptStart.z)
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptStart, pt_Temp))
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptEnd))
|
|
||||||
pt_Temp = New Point3d(ptStart.x, ptEnd.y, ptStart.z)
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptEnd, pt_Temp))
|
|
||||||
' salvo come ultimo punto, l'ultimo calcolato
|
|
||||||
m_ptLast = pt_Temp
|
|
||||||
' procedo a costruire il rettangolo
|
|
||||||
CloseDamagedAreaByLaser()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub CloseDamagedAreaBySaw()
|
Private Sub CloseDamagedAreaBySaw()
|
||||||
@@ -2908,32 +2724,6 @@ Public Class RawPartPageUC
|
|||||||
EgtDraw()
|
EgtDraw()
|
||||||
' Disattivo il bottone chiudi grezzo
|
' Disattivo il bottone chiudi grezzo
|
||||||
CloseBtn.IsEnabled = False
|
CloseBtn.IsEnabled = False
|
||||||
RectangleBtn.IsEnabled = False
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
Private Sub CloseDamagedAreaBySaw_Rectangle()
|
|
||||||
' Verifico che esista una sola linea
|
|
||||||
If m_CurveXDamagedAreaList.Count() <> 1 Then Return
|
|
||||||
' Recupero punto iniziale prima linea del grezzo
|
|
||||||
Dim ptStart As Point3d
|
|
||||||
EgtStartPoint(m_CurveXDamagedAreaList(0), ptStart)
|
|
||||||
' Recupero punto finale prima e unica linea del grezzo
|
|
||||||
Dim ptEnd As Point3d
|
|
||||||
EgtEndPoint(m_CurveXDamagedAreaList(0), ptEnd)
|
|
||||||
' Elimo il segmemnto usato come diagonale
|
|
||||||
EgtErase(m_CurveXDamagedAreaList(0))
|
|
||||||
' Pulisco lista entità del grezzo (che contiene la diagonale)
|
|
||||||
m_CurveXDamagedAreaList.Clear()
|
|
||||||
' Procedo a costruire il rettangolo
|
|
||||||
Dim pt_Temp As Point3d = New Point3d(ptEnd.x, ptStart.y, ptStart.z)
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptStart, pt_Temp))
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, pt_Temp, ptEnd))
|
|
||||||
pt_Temp = New Point3d(ptStart.x, ptEnd.y, ptStart.z)
|
|
||||||
m_CurveXDamagedAreaList.Add(EgtCreateLine(m_CurrProjPage.m_nRawId, ptEnd, pt_Temp))
|
|
||||||
' salvo come ultimo punto, l'ultimo calcolato
|
|
||||||
m_ptLast = pt_Temp
|
|
||||||
' procedo a costruire il rettangolo
|
|
||||||
CloseDamagedAreaBySaw()
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub RemoveDamagedArea()
|
Private Sub RemoveDamagedArea()
|
||||||
@@ -3061,6 +2851,7 @@ Public Class RawPartPageUC
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
|
'EgtSaveFile("C:\EgtData\OmagCUT\Temp\MyTest.nge", NGE.BIN)
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1018 B |
|
Before Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -240,10 +240,10 @@
|
|||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Button Name="GenerateCN_Btn" Grid.Column="1" Style="{DynamicResource OmagCut_GradientBlueIconButton}" Click="GenerateCN_Click">
|
<Button Name="GenerateCN_Btn" Grid.Column="1" Style="{DynamicResource OmagCut_GradientBlueIconButton}" Click="GenerateXPIUC_Click">
|
||||||
<Image Source="{DynamicResource GenerateCNImg}" Style="{StaticResource OmagCut_ButtonIcon}" />
|
<Image Source="{DynamicResource GenerateCNImg}" Style="{StaticResource OmagCut_ButtonIcon}" />
|
||||||
</Button>
|
</Button>
|
||||||
<Button Grid.Column="2" Style="{DynamicResource OmagCut_GradientBlueIconButton}" Click="ExitBtn_Click">
|
<Button Grid.Column="2" Style="{DynamicResource OmagCut_GradientBlueIconButton}" Click="ExitBtnUC_Click">
|
||||||
<Image Source="{DynamicResource VImg}" Style="{StaticResource OmagCut_ButtonIcon}" />
|
<Image Source="{DynamicResource VImg}" Style="{StaticResource OmagCut_ButtonIcon}" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ Public Class SimulationPageUC
|
|||||||
End If
|
End If
|
||||||
' Pulsante Play
|
' Pulsante Play
|
||||||
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
|
PlayPauseImage.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/Resources/Play.png", UriKind.Relative))
|
||||||
' abilito la visualizzazione del pulsante per la generazione del codice CN (se previsto)
|
' abilito la visualizzazione del pulsante per la sola generazione del codice CN
|
||||||
If GetPrivateProfileInt(S_GENERAL, K_GENERATECN, 0, m_MainWindow.GetIniFile()) <> 0 Then
|
If GetPrivateProfileInt(S_GENERAL, K_GENERATECN, 0, m_MainWindow.GetIniFile()) <> 0 Then
|
||||||
GenerateCN_Btn.Visibility = Visibility.Visible
|
GenerateCN_Btn.Visibility = Visibility.Visible
|
||||||
Else
|
Else
|
||||||
@@ -535,7 +535,7 @@ Public Class SimulationPageUC
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub ExitBtn_Click(sender As Object, e As RoutedEventArgs)
|
Private Sub ExitBtnUC_Click(sender As Object, e As RoutedEventArgs)
|
||||||
' Mi assicuro di terminare la simulazione
|
' Mi assicuro di terminare la simulazione
|
||||||
ResetSimulation()
|
ResetSimulation()
|
||||||
' Nascondo tutte le lavorazioni
|
' Nascondo tutte le lavorazioni
|
||||||
@@ -566,23 +566,101 @@ Public Class SimulationPageUC
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub GenerateCN_Click(sender As Object, e As RoutedEventArgs)
|
Private Sub GenerateXPIUC_Click(sender As Object, e As RoutedEventArgs)
|
||||||
' Se il bottone Shift è premuto apro il file CadCut1 nel programma NotePad
|
' se il bottone Shift è premuto apro il file CadCut1 nel programma NotePad
|
||||||
Dim IsPressedShiftKey As Boolean = False
|
Dim IsPressedShiftKey As Boolean = False
|
||||||
If Keyboard.Modifiers And ModifierKeys.Shift Then IsPressedShiftKey = True
|
If Keyboard.Modifiers And ModifierKeys.Shift Then
|
||||||
|
IsPressedShiftKey = True
|
||||||
|
End If
|
||||||
|
|
||||||
' Eventualmente fermo la simulazione
|
' Se nella pagina di tagli diretti
|
||||||
m_nStatus = MCH_SIM_ST.UI_STOP
|
If m_MainWindow.DirectCutBtn.IsChecked And Not m_MainWindow.CadCutBtn.IsChecked Then
|
||||||
m_bPlay = False
|
' Genero file CNC (lancio anche se errore in precedenza)
|
||||||
PlayPauseBtn_Click(Nothing, Nothing)
|
Dim sCncPathDirect As String = m_MainWindow.GetCncDir() & "\DirectCut" & m_MainWindow.m_CurrentMachine.sIsoFileExt
|
||||||
|
Dim bOkDirect As Boolean = EgtGenerate(sCncPathDirect, "OmagCut ver." & m_MainWindow.GetVersion())
|
||||||
|
|
||||||
' Se versione ufficio non genero
|
' Costringo ad aggiornare UI
|
||||||
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
|
UpdateUI()
|
||||||
m_CurrProjPage.SetWarningMessage("Office Version")
|
' Ripristino come fase corrente quella iniziale
|
||||||
|
EgtSetCurrPhase(1)
|
||||||
|
If bOkDirect Then
|
||||||
|
m_CurrProjPage.SetInfoMessage("Genarato file " & "DirectCut" & m_MainWindow.m_CurrentMachine.sIsoFileExt)
|
||||||
|
Else
|
||||||
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
|
End If
|
||||||
|
' procedo all'apertura del file CadCut1 apenna generato (solo se generazione corretta)
|
||||||
|
If bOkDirect And IsPressedShiftKey Then
|
||||||
|
Try
|
||||||
|
Process.Start("Notepad.exe", sCncPathDirect)
|
||||||
|
Catch ex As Exception
|
||||||
|
EgtOutLog(ex.ToString)
|
||||||
|
End Try
|
||||||
|
End If
|
||||||
|
' ricarico la pagina di simulazione
|
||||||
|
EgtSetCurrPhase(1)
|
||||||
|
' nascondo i pezzi in parcheggio
|
||||||
|
HideParkedParts(True)
|
||||||
|
' Avvio ambiente di simulazione
|
||||||
|
EgtSimInit()
|
||||||
|
EgtSimStart()
|
||||||
|
' Imposto stato corrente
|
||||||
|
SetStatus(MCH_SIM_ST.UI_STOP)
|
||||||
|
m_bPlay = True
|
||||||
|
' Costringo ad aggiornare UI
|
||||||
|
UpdateUI()
|
||||||
|
' esco
|
||||||
Return
|
Return
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
' eventualmente fermo la simulazione
|
||||||
|
m_nStatus = MCH_SIM_ST.UI_STOP
|
||||||
|
m_bPlay = False
|
||||||
|
PlayPauseBtn_Click(Nothing, Nothing)
|
||||||
|
Dim bOk As Boolean = True
|
||||||
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
|
EgtSetCurrentContext(m_CurrProjPage.CurrentProjectScene.GetCtx())
|
||||||
|
' Elimino eventuale attrezzaggio da OmagOFFICE
|
||||||
|
EgtEraseCurrSetup()
|
||||||
|
' Verifico l'attrezzaggio degli utensili utilizzati
|
||||||
|
Dim sMissingTools As String = String.Empty
|
||||||
|
If Not VerifySetup(sMissingTools) Then
|
||||||
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90322) & " " & sMissingTools) 'Mancano gli utensili : ...
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
' Costringo ad aggiornare UI
|
||||||
|
UpdateUI()
|
||||||
|
' Aggiorno flag per lavaggio
|
||||||
|
m_CurrProjPage.UpdateWashingFlag()
|
||||||
|
' Aggiorno flag per tastatura per tagli con angolo di fianco
|
||||||
|
m_CurrProjPage.UpdateSideAngCutProbeFlag()
|
||||||
|
' Se pezzi piani e non c'è ordine delle lavorazioni, ricalcolo tutto e ne faccio uno automatico
|
||||||
|
Dim nPrjType As Integer = m_CurrProjPage.GetCurrentProjectType()
|
||||||
|
Dim bDirectCut As Boolean = (GetDirectCutPart() <> GDB_ID.NULL)
|
||||||
|
If nPrjType = CurrentProjectPageUC.PRJ_TYPE.FLATS And
|
||||||
|
Not bDirectCut And
|
||||||
|
Not m_CurrProjPage.GetOrderMachiningFlag() Then
|
||||||
|
ResetAllMachinings()
|
||||||
|
bOk = SortAllMachinings()
|
||||||
|
If bOk Then
|
||||||
|
m_CurrProjPage.SetOrderMachiningFlag()
|
||||||
|
Dim bModif As Boolean = TestAllMachiningsForStrict()
|
||||||
|
If bModif Then
|
||||||
|
m_CurrProjPage.SetWarningMessage(EgtMsg(90321)) 'Ridotte alcune lavorazioni per evitare interferenze
|
||||||
|
Else
|
||||||
|
m_CurrProjPage.SetInfoMessage(EgtMsg(90399)) 'Aggiornate tutte le lavorazioni
|
||||||
|
End If
|
||||||
|
EgtDraw()
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
' Costringo ad aggiornare UI
|
||||||
|
UpdateUI()
|
||||||
|
' Disabilito impostazione modificato
|
||||||
|
EgtDisableModified()
|
||||||
|
' Aggiorno le lavorazioni
|
||||||
|
bOk = UpdateAllMachiningsToolpaths() And bOk
|
||||||
|
' Aggiorno posizionamento ventose sui pezzi per eventuali tagli da sotto con lama
|
||||||
|
bOk = UpdateVacuumsForDrip() And bOk
|
||||||
|
' Costringo ad aggiornare UI
|
||||||
|
UpdateUI()
|
||||||
' Inserisco indice di progetto
|
' Inserisco indice di progetto
|
||||||
m_CurrProjPage.SetProjectIndexFlag()
|
m_CurrProjPage.SetProjectIndexFlag()
|
||||||
' Inserisco il materiale
|
' Inserisco il materiale
|
||||||
@@ -592,22 +670,45 @@ Public Class SimulationPageUC
|
|||||||
m_CurrProjPage.SaveFile(sMchPath)
|
m_CurrProjPage.SaveFile(sMchPath)
|
||||||
' Costringo ad aggiornare UI
|
' Costringo ad aggiornare UI
|
||||||
UpdateUI()
|
UpdateUI()
|
||||||
|
' Se modalità Ufficio, copio il progetto ed esco
|
||||||
' Nome e path del file CN da generare
|
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.OFFICE_TYPE) Then
|
||||||
Dim sFileName As String = ""
|
' Ripristino come fase corrente quella iniziale
|
||||||
' Se in Tagli Diretti
|
EgtSetCurrPhase(1)
|
||||||
If m_MainWindow.DirectCutBtn.IsChecked And Not m_MainWindow.CadCutBtn.IsChecked Then
|
' Chiedo il nome del file esportato
|
||||||
sFileName = "DirectCut"
|
Dim MySaveNameWD As New SaveNameWD(m_MainWindow, SaveNameWD.SAVE_TYPE.PRJ_COPY)
|
||||||
' Altrimenti in Tagli Cad
|
MySaveNameWD.ShowDialog()
|
||||||
Else
|
Return
|
||||||
Dim nIndexTab As Integer = CamAuto.GetCurrentTable()
|
|
||||||
Dim sIndexTab As String = If( nIndexTab > 0, nIndexTab.ToString, "")
|
|
||||||
sFileName = "CadCut" & sIndexTab
|
|
||||||
End If
|
End If
|
||||||
|
' Se presente ripartenza, ne chiedo conferma
|
||||||
|
Dim nPhaseRestart As Integer = m_CurrProjPage.GetProjectNcRestart()
|
||||||
|
If nPhaseRestart <> 0 Then
|
||||||
|
' Confermi ripartenza dalla fase NNN ?
|
||||||
|
Dim AskNcRestart As New EgtMsgBox(m_MainWindow, "", String.Format(EgtMsg(90326), nPhaseRestart),
|
||||||
|
EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL, 2)
|
||||||
|
Select Case AskNcRestart.m_nPressedBtn
|
||||||
|
Case 1 ' YES
|
||||||
|
Case 2 ' NO
|
||||||
|
EgtEnableModified()
|
||||||
|
m_CurrProjPage.ResetProjectNcRestart()
|
||||||
|
nPhaseRestart = 0
|
||||||
|
EgtDisableModified()
|
||||||
|
Case Else ' CANCEL
|
||||||
|
Return
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
' Se abilitate, eseguo le stime
|
||||||
|
If GetPrivateProfileInt(S_MACH_ESTIMATIONS, K_ENABLEEST, 0, m_MainWindow.GetMachIniFile()) <> 0 Then
|
||||||
|
EgtEstimate(m_MainWindow.GetTempDir() & "\MachProj.html", "OmagCut ver." & m_MainWindow.GetVersion())
|
||||||
|
End If
|
||||||
|
' Genero file CNC (lancio anche se errore in precedenza) -> recupero la tavola corrente! CamAuto.GetCurrentTable()
|
||||||
|
Dim nIndexTab As Integer = CamAuto.GetCurrentTable()
|
||||||
|
Dim sIndexTab As String = String.Empty
|
||||||
|
If nIndexTab > 0 Then
|
||||||
|
sIndexTab = nIndexTab.ToString
|
||||||
|
End If
|
||||||
|
Dim sFileName As String = "CadCut" & sIndexTab
|
||||||
Dim sCncPath As String = m_MainWindow.GetCncDir() & "\" & sFileName & m_MainWindow.m_CurrentMachine.sIsoFileExt
|
Dim sCncPath As String = m_MainWindow.GetCncDir() & "\" & sFileName & m_MainWindow.m_CurrentMachine.sIsoFileExt
|
||||||
|
bOk = EgtGenerate(sCncPath, "OmagCut ver." & m_MainWindow.GetVersion()) And bOk
|
||||||
' Genero file CNC
|
|
||||||
Dim bOk As Boolean = EgtGenerate(sCncPath, "OmagCut ver." & m_MainWindow.GetVersion())
|
|
||||||
' Costringo ad aggiornare UI
|
' Costringo ad aggiornare UI
|
||||||
UpdateUI()
|
UpdateUI()
|
||||||
' Ripristino come fase corrente quella iniziale
|
' Ripristino come fase corrente quella iniziale
|
||||||
@@ -617,7 +718,7 @@ Public Class SimulationPageUC
|
|||||||
Else
|
Else
|
||||||
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
m_CurrProjPage.SetErrorMessage(EgtMsg(90314)) 'Errore nella generazione del programma CN
|
||||||
End If
|
End If
|
||||||
' procedo all'apertura del file CadCut1 appena generato (solo se generazione corretta)
|
' procedo all'apertura del file CadCut1 apenna generato (solo se generazione corretta)
|
||||||
If bOk And IsPressedShiftKey Then
|
If bOk And IsPressedShiftKey Then
|
||||||
Try
|
Try
|
||||||
Process.Start("Notepad.exe", sCncPath)
|
Process.Start("Notepad.exe", sCncPath)
|
||||||
|
|||||||
@@ -6,6 +6,36 @@ Imports EgtWPFLib
|
|||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
|
|
||||||
Module Utility
|
Module Utility
|
||||||
|
|
||||||
|
'--------------------------------------------------------------------------------------------------
|
||||||
|
#Region "COMPO SOLID3d"
|
||||||
|
|
||||||
|
Friend Function CreateSolid3D(sIniFile As String) As Boolean
|
||||||
|
EgtSaveFile("C:\EgtData\OmagCUT\Temp\Ribasso.nge", NGE.TEXT)
|
||||||
|
Dim bOk As Boolean = False
|
||||||
|
Dim dRawHeight As Double = GetPrivateProfileDouble(S_RAWPART, K_RAWHEIGHT, 30, sIniFile)
|
||||||
|
' se abilitato e dimensione solido da sotto: creo il solido
|
||||||
|
Dim sPathSOLID As String = String.Empty
|
||||||
|
If GetPrivateProfileString(S_SIDES, "CreateSOLID", "", sPathSOLID, sIniFile) <> 0 And
|
||||||
|
GetPrivateProfileInt(S_SIDES, K_SIZEALWAYSONTOP, 0, sIniFile) = 0 Then
|
||||||
|
' Recupero file LUA
|
||||||
|
EgtLuaExecFile(sPathSOLID)
|
||||||
|
Dim dThick As Double = dRawHeight
|
||||||
|
EgtLuaSetGlobNumVar("CMP.THICK", dThick)
|
||||||
|
bOk = EgtLuaExecLine("CMP_Draw(false)")
|
||||||
|
Dim nErr As Integer = 0
|
||||||
|
EgtLuaGetGlobIntVar("CMP.ERR", nErr)
|
||||||
|
' Reset lua
|
||||||
|
EgtLuaResetGlobVar("CMP")
|
||||||
|
Else
|
||||||
|
EgtOutLog("CreateSolid3d Failed: file '" & sPathSOLID & "' not found or parameter 'SizeAlwaysOnTop' is TRUE")
|
||||||
|
End If
|
||||||
|
Return bOk
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#End Region ' Compo Solid3d
|
||||||
|
'--------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
Friend Function CompoColor(sIniFile As String) As Color3d
|
Friend Function CompoColor(sIniFile As String) As Color3d
|
||||||
Dim InsertColor As New Color3d(89, 210, 210, 25)
|
Dim InsertColor As New Color3d(89, 210, 210, 25)
|
||||||
Dim IndexColor As Integer = GetPrivateProfileInt(S_COMPO, K_LASTCOLOR, 1, sIniFile)
|
Dim IndexColor As Integer = GetPrivateProfileInt(S_COMPO, K_LASTCOLOR, 1, sIniFile)
|
||||||
@@ -25,7 +55,7 @@ Module Utility
|
|||||||
StopWatch.Start()
|
StopWatch.Start()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Function TimeSpanEnd() As String
|
Friend Function TimeSpanEnd()
|
||||||
Dim sTime As String = ""
|
Dim sTime As String = ""
|
||||||
If Not IsNothing(StopWatch) Then
|
If Not IsNothing(StopWatch) Then
|
||||||
StopWatch.Stop()
|
StopWatch.Stop()
|
||||||
@@ -39,7 +69,7 @@ Module Utility
|
|||||||
Friend Sub UpdateUI()
|
Friend Sub UpdateUI()
|
||||||
' Costringo ad aggiornare UI
|
' Costringo ad aggiornare UI
|
||||||
Dim nDummy As Integer
|
Dim nDummy As Integer
|
||||||
Application.Current.Dispatcher.Invoke(Windows.Threading.DispatcherPriority.Background, _
|
Application.Current.Dispatcher.Invoke(Windows.Threading.DispatcherPriority.Background,
|
||||||
New Action(Function() nDummy = 0))
|
New Action(Function() nDummy = 0))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -366,20 +396,20 @@ Module Utility
|
|||||||
If bOldEnMod Then EgtEnableModified()
|
If bOldEnMod Then EgtEnableModified()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend Function SetTextColor( nGroup As Integer) As Boolean
|
Friend Function SetTextColor(nGroup As Integer) As Boolean
|
||||||
' Recupero il colore da assegnare ai testi
|
' Recupero il colore da assegnare ai testi
|
||||||
Dim colText As New Color3d( 0, 0, 0)
|
Dim colText As New Color3d(0, 0, 0)
|
||||||
Dim sTextColor As String = " "
|
Dim sTextColor As String = " "
|
||||||
Dim MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
Dim MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
||||||
If GetPrivateProfileString(S_NEST, K_TEXTCOLOR, " ", sTextColor, MainWindow.GetIniFile()) <> 0 Then
|
If GetPrivateProfileString(S_NEST, K_TEXTCOLOR, " ", sTextColor, MainWindow.GetIniFile()) <> 0 Then
|
||||||
Dim sTextColorArray() As String = sTextColor.Split(",")
|
Dim sTextColorArray() As String = sTextColor.Split(",")
|
||||||
Dim nRed As Integer = 0 : Integer.TryParse( sTextColorArray(0), nRed)
|
Dim nRed As Integer = 0 : Integer.TryParse(sTextColorArray(0), nRed)
|
||||||
Dim nGreen As Integer = 0 : Integer.TryParse( sTextColorArray(1), nGreen)
|
Dim nGreen As Integer = 0 : Integer.TryParse(sTextColorArray(1), nGreen)
|
||||||
Dim nBlue As Integer = 0 : Integer.TryParse( sTextColorArray(2), nBlue)
|
Dim nBlue As Integer = 0 : Integer.TryParse(sTextColorArray(2), nBlue)
|
||||||
colText.Setup( nRed, nGreen, nBlue)
|
colText.Setup(nRed, nGreen, nBlue)
|
||||||
End If
|
End If
|
||||||
' Assegno questo colore ai testi del layer indicato
|
' Assegno questo colore ai testi del layer indicato
|
||||||
Dim nId As Integer = EgtGetFirstInGroup( nGroup)
|
Dim nId As Integer = EgtGetFirstInGroup(nGroup)
|
||||||
While nId <> GDB_ID.NULL
|
While nId <> GDB_ID.NULL
|
||||||
If EgtGetType(nId) = GDB_TY.EXT_TEXT Then
|
If EgtGetType(nId) = GDB_TY.EXT_TEXT Then
|
||||||
EgtSetColor(nId, colText)
|
EgtSetColor(nId, colText)
|
||||||
@@ -389,62 +419,62 @@ Module Utility
|
|||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function AddTopToPartRegion( nRegId As Integer) As Boolean
|
Friend Function AddTopToPartRegion(nRegId As Integer) As Boolean
|
||||||
Dim frReg As New Frame3d : EgtGetGroupGlobFrame( nRegId, frReg)
|
Dim frReg As New Frame3d : EgtGetGroupGlobFrame(nRegId, frReg)
|
||||||
Dim b3Reg As New BBox3d : EgtGetBBoxGlob( nRegId, GDB_BB.STANDARD, b3Reg)
|
Dim b3Reg As New BBox3d : EgtGetBBoxGlob(nRegId, GDB_BB.STANDARD, b3Reg)
|
||||||
Dim dH As Double = Math.Min(0.1 * b3Reg.DimY(), 30)
|
Dim dH As Double = Math.Min(0.1 * b3Reg.DimY(), 30)
|
||||||
Dim ptIns As New Point3d( b3Reg.Center().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
Dim ptIns As New Point3d(b3Reg.Center().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
||||||
ptIns.ToLoc( frReg)
|
ptIns.ToLoc(frReg)
|
||||||
Dim nSfrId As Integer = EgtGetFirstInGroup( nRegId)
|
Dim nSfrId As Integer = EgtGetFirstInGroup(nRegId)
|
||||||
While nSfrId <> GDB_ID.NULL
|
While nSfrId <> GDB_ID.NULL
|
||||||
If EgtGetType( nSfrId) = GDB_TY.SRF_FRGN Then Exit While
|
If EgtGetType(nSfrId) = GDB_TY.SRF_FRGN Then Exit While
|
||||||
nSfrId = EgtGetNext( nSfrId)
|
nSfrId = EgtGetNext(nSfrId)
|
||||||
End While
|
End While
|
||||||
If nSfrId <> GDB_ID.NULL Then
|
If nSfrId <> GDB_ID.NULL Then
|
||||||
Dim ptStart As New Point3d ( b3Reg.Min().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
Dim ptStart As New Point3d(b3Reg.Min().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
||||||
ptStart.ToLoc( frReg)
|
ptStart.ToLoc(frReg)
|
||||||
Dim ptEnd As New Point3d ( b3Reg.Max().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
Dim ptEnd As New Point3d(b3Reg.Max().x, b3Reg.Max().y - dH, b3Reg.Max().z)
|
||||||
ptEnd.ToLoc( frReg)
|
ptEnd.ToLoc(frReg)
|
||||||
Dim nLineId As Integer = EgtCreateLine( nRegId, ptStart, ptEnd)
|
Dim nLineId As Integer = EgtCreateLine(nRegId, ptStart, ptEnd)
|
||||||
Dim nCount As Integer = 0
|
Dim nCount As Integer = 0
|
||||||
Dim nNewId As Integer = EgtTrimCurveWithRegion( nLineId, nSfrId, True, False, nCount)
|
Dim nNewId As Integer = EgtTrimCurveWithRegion(nLineId, nSfrId, True, False, nCount)
|
||||||
If nNewId <> GDB_ID.NULL Then
|
If nNewId <> GDB_ID.NULL Then
|
||||||
If nCount > 0 Then EgtMidPoint( nNewId, ptIns)
|
If nCount > 0 Then EgtMidPoint(nNewId, ptIns)
|
||||||
For nTmpId As Integer = nNewId To nNewId + nCount - 1
|
For nTmpId As Integer = nNewId To nNewId + nCount - 1
|
||||||
EgtErase( nTmpId)
|
EgtErase(nTmpId)
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
EgtErase( nLineId)
|
EgtErase(nLineId)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Dim vtDir As New Vector3d( 1, 0, 0)
|
Dim vtDir As New Vector3d(1, 0, 0)
|
||||||
vtDir.ToLoc( frReg)
|
vtDir.ToLoc(frReg)
|
||||||
Dim dLen, dAngV, dAngH As Double
|
Dim dLen, dAngV, dAngH As Double
|
||||||
vtDir.ToSpherical( dLen, dAngV, dAngH)
|
vtDir.ToSpherical(dLen, dAngV, dAngH)
|
||||||
Dim nText As Integer = EgtCreateTextAdv(nRegId, ptIns, dAngH, "*TOP*", "", 500, False, dH, 1, 0, INS_POS.MC)
|
Dim nText As Integer = EgtCreateTextAdv(nRegId, ptIns, dAngH, "*TOP*", "", 500, False, dH, 1, 0, INS_POS.MC)
|
||||||
Return ( nText <> GDB_ID.NULL)
|
Return (nText <> GDB_ID.NULL)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Friend Function SetBlockAndSlabNbr( sBlock As String, sSlabNbr As String) As Boolean
|
Friend Function SetBlockAndSlabNbr(sBlock As String, sSlabNbr As String) As Boolean
|
||||||
Dim nRawId As Integer = GetCurrentRaw()
|
Dim nRawId As Integer = GetCurrentRaw()
|
||||||
If nRawId = GDB_ID.NULL Then Return False
|
If nRawId = GDB_ID.NULL Then Return False
|
||||||
If String.IsNullOrWhiteSpace(sBlock) Then sSlabNbr = ""
|
If String.IsNullOrWhiteSpace(sBlock) Then sSlabNbr = ""
|
||||||
' Assegno info
|
' Assegno info
|
||||||
EgtSetInfo( nRawId, INFO_RAW_BLOCK, sBlock)
|
EgtSetInfo(nRawId, INFO_RAW_BLOCK, sBlock)
|
||||||
EgtSetInfo( nRawId, INFO_RAW_SLABNBR, sSlabNbr)
|
EgtSetInfo(nRawId, INFO_RAW_SLABNBR, sSlabNbr)
|
||||||
' Cancello eventuale vecchio BarCode
|
' Cancello eventuale vecchio BarCode
|
||||||
EgtErase( EgtGetFirstNameInGroup( nRawId, NAME_BARCODE))
|
EgtErase(EgtGetFirstNameInGroup(nRawId, NAME_BARCODE))
|
||||||
' Se definito, inserisco nuovo BarCode
|
' Se definito, inserisco nuovo BarCode
|
||||||
Dim sBarCode As String = sBlock & " - " & sSlabNbr
|
Dim sBarCode As String = sBlock & " - " & sSlabNbr
|
||||||
If sBarCode <> " - " Then
|
If sBarCode <> " - " Then
|
||||||
Dim ptRawCen As Point3d
|
Dim ptRawCen As Point3d
|
||||||
GetRawCenter( ptRawCen)
|
GetRawCenter(ptRawCen)
|
||||||
Dim ptRawMin, ptRawMax As Point3d
|
Dim ptRawMin, ptRawMax As Point3d
|
||||||
GetRawBox( ptRawMin, ptRawMax)
|
GetRawBox(ptRawMin, ptRawMax)
|
||||||
Dim ptText As New Point3d( ptRawCen.x, ptRawCen.y, ptRawMax.z)
|
Dim ptText As New Point3d(ptRawCen.x, ptRawCen.y, ptRawMax.z)
|
||||||
Dim nText As Integer = EgtCreateTextAdv( nRawId, ptText, 0, sBarCode, "", 500, False, 50.0, 1, 0, INS_POS.MC, GDB_RT.GLOB)
|
Dim nText As Integer = EgtCreateTextAdv(nRawId, ptText, 0, sBarCode, "", 500, False, 50.0, 1, 0, INS_POS.MC, GDB_RT.GLOB)
|
||||||
EgtSetName( nText, NAME_BARCODE)
|
EgtSetName(nText, NAME_BARCODE)
|
||||||
EgtSetColor( nText, New Color3d(255, 0, 0))
|
EgtSetColor(nText, New Color3d(255, 0, 0))
|
||||||
End If
|
End If
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
@@ -480,7 +510,7 @@ Module Utility
|
|||||||
|
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
Public Function GetPrivateProfileLanguage( lpAppName As String, lpKeyName As String, lpFileName As String) As Language
|
Public Function GetPrivateProfileLanguage(lpAppName As String, lpKeyName As String, lpFileName As String) As Language
|
||||||
Dim sVal As String = String.Empty
|
Dim sVal As String = String.Empty
|
||||||
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
|
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
|
||||||
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
||||||
|
|||||||
@@ -31,9 +31,7 @@ Public Class VeinMatchingWindow
|
|||||||
VeinMatchingSceneHost.SetValue(Grid.ColumnProperty, 1)
|
VeinMatchingSceneHost.SetValue(Grid.ColumnProperty, 1)
|
||||||
Me.VeinMatchingGrid.Children.Add(VeinMatchingSceneHost)
|
Me.VeinMatchingGrid.Children.Add(VeinMatchingSceneHost)
|
||||||
' Per non farla visualizzare alla creazione
|
' Per non farla visualizzare alla creazione
|
||||||
If GetPrivateProfileInt(S_VEINMATCHING, K_VEINMA_ENABLE, 0, m_MainWindow.GetIniFile()) = 1 Then
|
|
||||||
Me.Left = 32000
|
Me.Left = 32000
|
||||||
End If
|
|
||||||
' Assegno messaggi
|
' Assegno messaggi
|
||||||
NewBtn.Content = EgtMsg(MSG_CADCUTPAGEUC + 3)
|
NewBtn.Content = EgtMsg(MSG_CADCUTPAGEUC + 3)
|
||||||
ExportBtn.Content = EgtMsg(MSG_CADCUTPAGEUC + 10)
|
ExportBtn.Content = EgtMsg(MSG_CADCUTPAGEUC + 10)
|
||||||
@@ -385,6 +383,8 @@ Friend Module VeinMatching
|
|||||||
ShowParkedParts()
|
ShowParkedParts()
|
||||||
' Ripristino il contesto corrente
|
' Ripristino il contesto corrente
|
||||||
EgtSetCurrentContext(nCurrCtx)
|
EgtSetCurrentContext(nCurrCtx)
|
||||||
|
|
||||||
|
' EgtSaveFile("C:\EgtData\OmagCUT\Temp\MyVeinMatch.nge", NGE.TEXT)
|
||||||
Return True
|
Return True
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
@@ -1176,8 +1176,6 @@ Friend Module VeinMatching
|
|||||||
' Esporto il file come immagine
|
' Esporto il file come immagine
|
||||||
EgtSetCurrentContext(m_nVeinCtx)
|
EgtSetCurrentContext(m_nVeinCtx)
|
||||||
Dim bOk As Boolean = (EgtGetFileType(sFilePath) = FT.IMG)
|
Dim bOk As Boolean = (EgtGetFileType(sFilePath) = FT.IMG)
|
||||||
m_nImgWidth = GetPrivateProfileDouble(S_VEINMATCHING, K_VEINMA_WIDTH, m_nImgWidth, m_MainWindow.GetIniFile)
|
|
||||||
m_nImgHeight = GetPrivateProfileDouble(S_VEINMATCHING, K_VEINMA_HEIGHT, m_nImgHeight, m_MainWindow.GetIniFile)
|
|
||||||
bOk = bOk AndAlso EgtGetImage(EgtGetShowMode(), New Color3d(255, 255, 255), New Color3d(255, 255, 255),
|
bOk = bOk AndAlso EgtGetImage(EgtGetShowMode(), New Color3d(255, 255, 255), New Color3d(255, 255, 255),
|
||||||
m_nImgWidth, m_nImgHeight, sFilePath)
|
m_nImgWidth, m_nImgHeight, sFilePath)
|
||||||
' Ripristino il contesto originale
|
' Ripristino il contesto originale
|
||||||
|
|||||||
@@ -189,33 +189,25 @@ Public Class WorkInProgressPageUC
|
|||||||
' Valori precedenti degli assi macchina
|
' Valori precedenti degli assi macchina
|
||||||
Dim dL1p, dL2p, dL3p, dR1p, dR2p As Double
|
Dim dL1p, dL2p, dL3p, dR1p, dR2p As Double
|
||||||
Dim bFirst As Boolean = True
|
Dim bFirst As Boolean = True
|
||||||
|
|
||||||
' Gestione fase di lavoro
|
' Gestione fase di lavoro
|
||||||
Dim sPhaseVar As String = String.Empty
|
Dim sPhaseVar As String = String.Empty
|
||||||
Dim nCurrPhase = 1
|
GetPrivateProfileString(S_MACH_INPROGRESS, K_PHASEVAR, "E80020", sPhaseVar, m_MainWindow.GetMachIniFile())
|
||||||
Dim bCurrPhaseExists As Boolean = False
|
|
||||||
If GetPrivateProfileString(S_MACH_INPROGRESS, K_PHASEVAR, "E80020", sPhaseVar, m_MainWindow.GetMachIniFile()) <> 0 Then
|
|
||||||
bCurrPhaseExists = True
|
|
||||||
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
||||||
m_MainWindow.m_CNCommunication.m_CN.ReadEls_Add_Parameter(sPhaseVar, 3)
|
m_MainWindow.m_CNCommunication.m_CN.ReadEls_Add_Parameter(sPhaseVar, 3)
|
||||||
System.Threading.Thread.Sleep(100)
|
System.Threading.Thread.Sleep(100)
|
||||||
|
Dim nCurrPhase = 1
|
||||||
If m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 3 Then
|
If m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 3 Then
|
||||||
nCurrPhase = CInt(m_MainWindow.m_CNCommunication.m_CN.d_DReadELS_value)
|
nCurrPhase = CInt(m_MainWindow.m_CNCommunication.m_CN.d_DReadELS_value)
|
||||||
End If
|
End If
|
||||||
EgtSetCurrPhase(nCurrPhase, True)
|
EgtSetCurrPhase(nCurrPhase, True)
|
||||||
EgtDraw()
|
EgtDraw()
|
||||||
Else
|
|
||||||
EgtOutLog("Variabile 'PhaseVar' mancante! In CurrentMachine non sarà aggiornata la fase del grezzo")
|
|
||||||
End If
|
|
||||||
|
|
||||||
' Tempo di ritardo nel ciclo
|
' Tempo di ritardo nel ciclo
|
||||||
Dim nTimeStep As Integer = 50
|
Dim nTimeStep As Integer = 50
|
||||||
nTimeStep = GetPrivateProfileInt(S_MACH_INPROGRESS, K_WP_STEPTIME, nTimeStep, m_MainWindow.GetMachIniFile())
|
nTimeStep = GetPrivateProfileInt(S_MACH_INPROGRESS, K_WP_STEPTIME, nTimeStep, m_MainWindow.GetMachIniFile())
|
||||||
EgtOutLog("Tempo di attesa tra una lettura degli assi e la successiva: " & nTimeStep.ToString & " (ms)")
|
|
||||||
' Ciclo
|
' Ciclo
|
||||||
While m_bContinue
|
While m_bContinue
|
||||||
' Rileggo la variabile di fase
|
' Rileggo la variabile di fase
|
||||||
If bCurrPhaseExists Then m_MainWindow.m_CNCommunication.m_CN.ReadEls_Add_Parameter(sPhaseVar, 3)
|
m_MainWindow.m_CNCommunication.m_CN.ReadEls_Add_Parameter(sPhaseVar, 3)
|
||||||
' Recupero la posizione degli assi macchina
|
' Recupero la posizione degli assi macchina
|
||||||
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
||||||
m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2)
|
m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2)
|
||||||
@@ -246,7 +238,7 @@ Public Class WorkInProgressPageUC
|
|||||||
' Per evitare di ciclare rapidissimamente e consumare inutilmente CPU
|
' Per evitare di ciclare rapidissimamente e consumare inutilmente CPU
|
||||||
System.Threading.Thread.Sleep(nTimeStep)
|
System.Threading.Thread.Sleep(nTimeStep)
|
||||||
' Leggo la fase
|
' Leggo la fase
|
||||||
If bCurrPhaseExists AndAlso m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 3 Then
|
If m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 3 Then
|
||||||
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
m_MainWindow.m_CNCommunication.m_CN.n_DReadELS_handle = 0
|
||||||
Dim nNextPhase As Integer = CInt(m_MainWindow.m_CNCommunication.m_CN.d_DReadELS_value)
|
Dim nNextPhase As Integer = CInt(m_MainWindow.m_CNCommunication.m_CN.d_DReadELS_value)
|
||||||
If nNextPhase > nCurrPhase Then
|
If nNextPhase > nCurrPhase Then
|
||||||
@@ -317,7 +309,7 @@ Public Class WorkInProgressPageUC
|
|||||||
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
|
Dim nDepthBits As Integer = GetPrivateProfileInt(S_OPENGL, K_DEPTHBITS, 32, m_MainWindow.GetIniFile())
|
||||||
WorkInProgressScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
WorkInProgressScene.SetViewAttributes(nDriver, b2Buff, nColorBits, nDepthBits)
|
||||||
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
|
' inizializzo la scena (DB geometrico + visualizzazione) e verifico presenza chiave
|
||||||
Dim bProd As Boolean = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_BASE) Or m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_LIGHT)
|
Dim bProd As Boolean = m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.CUT_BASE)
|
||||||
If Not WorkInProgressScene.Init() Or Not bProd Then
|
If Not WorkInProgressScene.Init() Or Not bProd Then
|
||||||
' Rimuovo l'host della scena perchè altrimenti rimarrebbe il buco!!
|
' Rimuovo l'host della scena perchè altrimenti rimarrebbe il buco!!
|
||||||
Me.WorkInProgressPageGrid.Children.Remove(WorkInProgressSceneHost)
|
Me.WorkInProgressPageGrid.Children.Remove(WorkInProgressSceneHost)
|
||||||
@@ -328,30 +320,16 @@ Public Class WorkInProgressPageUC
|
|||||||
#Else
|
#Else
|
||||||
' Se manca la chiave
|
' Se manca la chiave
|
||||||
If m_MainWindow.GetKeyLevel() = -1 Or m_MainWindow.GetKeyLevel() = -2 Then
|
If m_MainWindow.GetKeyLevel() = -1 Or m_MainWindow.GetKeyLevel() = -2 Then
|
||||||
If Not EgtGetNetHwKey() Then
|
|
||||||
EgtOutLog("Missing Dongle")
|
EgtOutLog("Missing Dongle")
|
||||||
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
||||||
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
||||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_MISSINGKEYWD + 1), EgtMsg(MSG_MISSINGKEYWD + 2) & " " & EgtMsg(MSG_MISSINGKEYWD + 3), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
||||||
Else
|
|
||||||
EgtOutLog("NetDongle is full")
|
|
||||||
' Box di avviso slot chiave di rete occupato : "Chiave di Rete completamente occupata. \n Uscire dal programma su un altro PC." "Errore"
|
|
||||||
Dim sText As String = EgtMsg(10110) & vbCrLf & EgtMsg(10111)
|
|
||||||
Dim sTitle As String = EgtMsg(10101)
|
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
|
||||||
End If
|
|
||||||
ElseIf m_MainWindow.GetKeyLevel() = -9 Then
|
|
||||||
EgtOutLog("Missing Link with Net Dongle")
|
|
||||||
' Box di avviso chiave mancante : "Collegamento con la Chiave di rete non riuscito. \n Verificare la connessione." "Errore"
|
|
||||||
Dim sText As String = EgtMsg(10108) & vbCrLf & EgtMsg(10109)
|
|
||||||
Dim sTitle As String = EgtMsg(10101)
|
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
|
|
||||||
' Altrimenti manca la licenza
|
' Altrimenti manca la licenza
|
||||||
Else
|
Else
|
||||||
EgtOutLog("Problems with Licence")
|
EgtOutLog("Problems with Licence")
|
||||||
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
|
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
|
||||||
Dim sKeyInfo As String = "" : EgtGetKeyInfo(sKeyInfo)
|
Dim sKeyInfo As String = "" : EgtGetKeyInfo( sKeyInfo)
|
||||||
Dim sText As String = sKeyInfo & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6)
|
Dim sText As String = sKeyInfo & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 5) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 6)
|
||||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||||
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL, 0, 2)
|
Dim MissingKeyWnd As New EgtMsgBox(m_MainWindow, sTitle, sText, EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL, 0, 2)
|
||||||
@@ -382,7 +360,7 @@ Public Class WorkInProgressPageUC
|
|||||||
End If
|
End If
|
||||||
#End If
|
#End If
|
||||||
m_MainWindow.Close()
|
m_MainWindow.Close()
|
||||||
If bRestart Then Process.Start(Application.ResourceAssembly.Location)
|
If bRestart Then Process.Start( Application.ResourceAssembly.Location)
|
||||||
Return True
|
Return True
|
||||||
End If
|
End If
|
||||||
' dimensione lineare max in pixel delle textures
|
' dimensione lineare max in pixel delle textures
|
||||||
@@ -411,19 +389,19 @@ Public Class WorkInProgressPageUC
|
|||||||
' Imposto il giusto contesto
|
' Imposto il giusto contesto
|
||||||
Dim bOk As Boolean = EgtSetCurrentContext(WorkInProgressScene.GetCtx())
|
Dim bOk As Boolean = EgtSetCurrentContext(WorkInProgressScene.GetCtx())
|
||||||
' Svuoto le teste
|
' Svuoto le teste
|
||||||
EgtResetHeadSet("H1")
|
EgtResetHeadSet( "H1")
|
||||||
EgtResetHeadSet("H2")
|
EgtResetHeadSet( "H2")
|
||||||
' Imposto la lama corrente
|
' Imposto la lama corrente
|
||||||
Dim sSaw As String = GetFirstTool()
|
Dim sSaw As String = GetFirstTool()
|
||||||
If bOk Then
|
If bOk Then
|
||||||
If Not EgtSetCalcTool(sSaw, "H1", 1) Then bOk = False
|
If Not EgtSetCalcTool( sSaw, "H1", 1) Then bOk = False
|
||||||
End If
|
End If
|
||||||
' Imposto eventuale secondo utensile montato
|
' Imposto eventuale secondo utensile montato
|
||||||
If bOk Then
|
If bOk Then
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
Dim nExit As Integer = 0
|
Dim nExit As Integer = 0
|
||||||
Dim sTool As String = GetSecondTool(sHead, nExit)
|
Dim sTool As String = GetSecondTool( sHead, nExit)
|
||||||
If Not String.IsNullOrEmpty(sTool) AndAlso Not EgtLoadTool(sHead, nExit, sTool) Then
|
If Not String.IsNullOrEmpty( sTool) AndAlso Not EgtLoadTool( sHead, nExit, sTool) Then
|
||||||
bOk = False
|
bOk = False
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -436,7 +414,7 @@ Public Class WorkInProgressPageUC
|
|||||||
Return m_MainWindow.m_CurrentMachine.sCurrSaw
|
Return m_MainWindow.m_CurrentMachine.sCurrSaw
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Private Function GetSecondTool(ByRef sHead As String, ByRef nExit As Integer) As String
|
Private Function GetSecondTool( ByRef sHead As String, ByRef nExit As Integer) As String
|
||||||
' Se non previsto secondo utensile, non c'è
|
' Se non previsto secondo utensile, non c'è
|
||||||
If m_MainWindow.m_CurrentMachine.MountedToolConfig <> CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then
|
If m_MainWindow.m_CurrentMachine.MountedToolConfig <> CurrentMachine.MountedToolConfigs.SAWANDAUXTOOL Then
|
||||||
Return ""
|
Return ""
|
||||||
@@ -476,17 +454,17 @@ Public Class WorkInProgressPageUC
|
|||||||
' Trasformo in posizione punta utensile in basso
|
' Trasformo in posizione punta utensile in basso
|
||||||
If bOk Then
|
If bOk Then
|
||||||
' Calcolo standard con utensile principale (lama)
|
' Calcolo standard con utensile principale (lama)
|
||||||
If Not EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, ptTip) Then bOk = False
|
If Not EgtGetCalcTipFromPositions( dL1, dL2, dL3, dR1, dR2, True, ptTip) Then bOk = False
|
||||||
' Se testa verticale e presente altro utensile, rifaccio calcolo con questo
|
' Se testa verticale e presente altro utensile, rifaccio calcolo con questo
|
||||||
Dim vtTool As Vector3d
|
Dim vtTool As Vector3d
|
||||||
If EgtGetCalcToolDirFromAngles(dR1, dR2, vtTool) AndAlso (vtTool - Vector3d.Z_AX()).IsSmall() Then
|
If EgtGetCalcToolDirFromAngles( dR1, dR2, vtTool) AndAlso ( vtTool - Vector3d.Z_AX()).IsSmall() Then
|
||||||
Dim sHead As String = ""
|
Dim sHead As String = ""
|
||||||
Dim nExit As Integer = 0
|
Dim nExit As Integer = 0
|
||||||
Dim sTool As String = GetSecondTool(sHead, nExit)
|
Dim sTool As String = GetSecondTool( sHead, nExit)
|
||||||
If Not String.IsNullOrEmpty(sTool) AndAlso EgtSetCalcTool(sTool, sHead, nExit) Then
|
If Not String.IsNullOrEmpty( sTool) AndAlso EgtSetCalcTool( sTool, sHead, nExit) Then
|
||||||
' Calcolo secondo tip
|
' Calcolo secondo tip
|
||||||
Dim ptTip2 As Point3d
|
Dim ptTip2 As Point3d
|
||||||
If EgtGetCalcTipFromPositions(dL1, dL2, dL3, dR1, dR2, True, ptTip2) Then
|
If EgtGetCalcTipFromPositions( dL1, dL2, dL3, dR1, dR2, True, ptTip2) Then
|
||||||
ptTip = ptTip2
|
ptTip = ptTip2
|
||||||
End If
|
End If
|
||||||
' Ripristino configurazione standard
|
' Ripristino configurazione standard
|
||||||
|
|||||||