Merge commit 'a2a1b838889165d647b5419e61402291fca887d2' into feature/Controllo_Converter
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<UserControl x:Class="InputExpanderV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<Expander Header="{Binding Title}" IsExpanded="{Binding IsExpanded}" IsEnabled="{Binding IsEnabled}"
|
||||
Style="{StaticResource ExpanderStyle}">
|
||||
@@ -16,17 +16,66 @@
|
||||
</StackPanel.Style>-->
|
||||
<TextBlock Text="{Binding TextBlock}"
|
||||
Visibility="{Binding TextVisibility}" Margin="5,5,0,5"/>
|
||||
<TextBox x:Name="TextBoxFocus" Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="{Binding TextVisibility}" Margin="5,0,5,5" IsEnabled="True" Focusable="True">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
|
||||
<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>
|
||||
</TextBox.InputBindings>
|
||||
</TextBox>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBox x:Name="Txt" x:Name="TextBoxFocus" Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
|
||||
PreviewKeyDown="TextBox_PreviewKeyDown" Height="Auto"
|
||||
Visibility="{Binding TextVisibility}" Margin="5,0,5,5" IsEnabled="True" Focusable="True" >
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
|
||||
<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>
|
||||
</TextBox.InputBindings>
|
||||
</TextBox>
|
||||
<Button Grid.Column="1"
|
||||
Content="+"
|
||||
Command="{Binding ShowInfoItemCommand}"
|
||||
Visibility="Collapsed"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="5,-1,5,0"
|
||||
VerticalAlignment="Top"/>
|
||||
<!--Visibility="{Binding ShowInfoItemVisibility}"-->
|
||||
</Grid>
|
||||
<CheckBox Content="{Binding CheckBoxText}" IsChecked="{Binding IsChecked}"
|
||||
Visibility="{Binding CheckVisibility}" Margin="5,0,5,5"/>
|
||||
<ComboBox ItemsSource="{Binding ComboItemsList}" SelectedIndex="{Binding ComboSelectedIndex}"
|
||||
Visibility="{Binding ComboVisibility}" Margin="5,0,5,5"/>
|
||||
Visibility="{Binding ComboVisibility}" Margin="5,5,5,5"/>
|
||||
|
||||
<ItemsControl ItemsSource="{Binding InfoList}"
|
||||
Visibility="{Binding InfoVisibility}"
|
||||
Margin="5,5,0,10">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Key}"
|
||||
Width="70"
|
||||
Margin="0,6,-15,0"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding Valour, UpdateSourceTrigger=PropertyChanged}"
|
||||
Margin="0,5,5,10">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding DoneInfoCommand}"/>
|
||||
</TextBox.InputBindings>
|
||||
</TextBox>
|
||||
<Button Grid.Column="2"
|
||||
Content="-"
|
||||
Command="{Binding RemoveInfoItemCommand}"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="5,-2,5,5"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
|
||||
<Grid Margin="5,0,5,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
|
||||
@@ -14,4 +14,12 @@
|
||||
Me.TextBoxFocus.Focus()
|
||||
End Sub
|
||||
|
||||
Private Sub TextBox_PreviewKeyDown(sender As Object, e As KeyEventArgs)
|
||||
If e.Key = Key.Enter And Keyboard.Modifiers = ModifierKeys.Shift Then
|
||||
Txt.AcceptsReturn = True
|
||||
Txt.TextWrapping = TextWrapping.Wrap
|
||||
Txt.AppendText(Environment.NewLine)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports MS.Internal
|
||||
|
||||
Public Class InputExpanderVM
|
||||
Inherits ViewModelBase
|
||||
@@ -8,6 +9,23 @@ Public Class InputExpanderVM
|
||||
|
||||
Friend Event m_FocusOnTextBox()
|
||||
|
||||
' Variabile temporanea per salvare bShow
|
||||
Private m_tmpbShow As Boolean
|
||||
|
||||
Private m_tmpInfoList As New ObservableCollection(Of InfoItem)
|
||||
''' <summary>
|
||||
''' Lista temporanea delle info
|
||||
''' </summary>
|
||||
Private Property tmpInfoList As ObservableCollection(Of InfoItem)
|
||||
Get
|
||||
Return m_tmpInfoList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of InfoItem))
|
||||
m_tmpInfoList = value
|
||||
OnPropertyChanged("tmpInfoList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Expander fields
|
||||
Private m_IsExpanded As Boolean
|
||||
Public Property IsExpanded As Boolean
|
||||
@@ -142,15 +160,61 @@ Public Class InputExpanderVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoList As New ObservableCollection(Of InfoItem)
|
||||
''' <summary>
|
||||
''' Lista delle info modificate
|
||||
''' </summary>
|
||||
Public Property InfoList As ObservableCollection(Of InfoItem)
|
||||
Get
|
||||
Return m_InfoList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of InfoItem))
|
||||
m_InfoList = value
|
||||
OnPropertyChanged("InfoList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoList As New ObservableCollection(Of InfoItem)
|
||||
''' <summary>
|
||||
''' Lista delle info modificate
|
||||
''' </summary>
|
||||
Public Property InfoList As ObservableCollection(Of InfoItem)
|
||||
Get
|
||||
Return m_InfoList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of InfoItem))
|
||||
m_InfoList = value
|
||||
OnPropertyChanged("InfoList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ComboSelectedIndex As Integer
|
||||
Public Property ComboSelectedIndex As Integer
|
||||
Get
|
||||
Return m_ComboSelectedIndex
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
Map.refProjectVM.SetLastInteger(value)
|
||||
If m_tmpbShow Then Map.refProjectVM.SetLastInteger(value)
|
||||
m_ComboSelectedIndex = value
|
||||
' Assegno l'indice selezionato ad una variabile temporanea per utilizzarlo quando rimuovo l'info dalla lista
|
||||
Dim tmpComboSelectedIndex As Integer = ComboSelectedIndex
|
||||
' Controllo se l'indice è maggiore o uguale a zero e la lista tmp contiene valori
|
||||
If m_ComboSelectedIndex >= 0 AndAlso tmpInfoList.Count > 0 Then
|
||||
' Controllo se la info è contenuta nella lista ComboItemsList
|
||||
If ComboItemsList.Contains(tmpInfoList(m_ComboSelectedIndex).sKey) Then
|
||||
' Aggiungo la info alla lista per visualizzarla
|
||||
InfoList.Add(New InfoItem(tmpInfoList(m_ComboSelectedIndex).nId, tmpInfoList(m_ComboSelectedIndex).sKey, m_tmpInfoList(m_ComboSelectedIndex).sValour))
|
||||
' Nascondo la combobox
|
||||
ComboVisibility = Visibility.Collapsed
|
||||
' Rimuovo la info dalla ComboItemsList
|
||||
ComboItemsList.Remove(tmpInfoList(m_ComboSelectedIndex).sKey)
|
||||
End If
|
||||
' Rimuovo la info dalla tmpInfoList
|
||||
tmpInfoList.Remove(tmpInfoList(tmpComboSelectedIndex))
|
||||
End If
|
||||
OnPropertyChanged(NameOf(ComboSelectedIndex))
|
||||
OnPropertyChanged("ComboItemsList")
|
||||
OnPropertyChanged("InfoList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -179,9 +243,75 @@ Public Class InputExpanderVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ShowInfoItemVisibility As Visibility
|
||||
''' <summary>
|
||||
''' Propietà visibilità bottone +
|
||||
''' </summary>
|
||||
Public Property ShowInfoItemVisibility As Visibility
|
||||
Get
|
||||
Return m_ShowInfoItemVisibility
|
||||
End Get
|
||||
Set(value As Visibility)
|
||||
If value <> m_ShowInfoItemVisibility Then
|
||||
m_ShowInfoItemVisibility = value
|
||||
OnPropertyChanged("ShowInfoItemVisibility")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoVisibility As Visibility
|
||||
''' <summary>
|
||||
''' Propietà visibilità lista info modificate
|
||||
''' </summary>
|
||||
Public Property InfoVisibility As Visibility
|
||||
Get
|
||||
Return m_InfoVisibility
|
||||
End Get
|
||||
Set(value As Visibility)
|
||||
If value <> m_InfoVisibility Then
|
||||
m_InfoVisibility = value
|
||||
OnPropertyChanged("InfoVisibility")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ShowInfoItemVisibility As Visibility
|
||||
''' <summary>
|
||||
''' Propietà visibilità bottone +
|
||||
''' </summary>
|
||||
Public Property ShowInfoItemVisibility As Visibility
|
||||
Get
|
||||
Return m_ShowInfoItemVisibility
|
||||
End Get
|
||||
Set(value As Visibility)
|
||||
If value <> m_ShowInfoItemVisibility Then
|
||||
m_ShowInfoItemVisibility = value
|
||||
OnPropertyChanged("ShowInfoItemVisibility")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoVisibility As Visibility
|
||||
''' <summary>
|
||||
''' Propietà visibilità lista info modificate
|
||||
''' </summary>
|
||||
Public Property InfoVisibility As Visibility
|
||||
Get
|
||||
Return m_InfoVisibility
|
||||
End Get
|
||||
Set(value As Visibility)
|
||||
If value <> m_InfoVisibility Then
|
||||
m_InfoVisibility = value
|
||||
OnPropertyChanged("InfoVisibility")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Commands definition
|
||||
Private m_cmdShow As ICommand
|
||||
Private m_cmdDone As ICommand
|
||||
Private m_cmdShowInfoItem As ICommand
|
||||
Private m_cmdRemoveInfoItem As ICommand
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
@@ -259,6 +389,15 @@ Public Class InputExpanderVM
|
||||
''' Execute the Point. This method is invoked by the PointCommand.
|
||||
''' </summary>
|
||||
Public Sub Done(ByVal param As Object)
|
||||
' Controllo se la lista contenente la info modificata sia presente
|
||||
If InfoList.Count > 0 Then
|
||||
' Ciclo sulla lista
|
||||
For Each Item As InfoItem In InfoList
|
||||
Map.refProjectVM.NotifyInputText((Item.Key & "=" & Item.Valour).Trim())
|
||||
' Assegno a m_TextBox la info modificata
|
||||
m_TextBox &= vbCrLf & (Item.Key & "=" & Item.Valour).Trim() & vbCrLf
|
||||
Next
|
||||
End If
|
||||
Map.refProjectVM.Done(m_TextBox)
|
||||
End Sub
|
||||
|
||||
@@ -271,6 +410,30 @@ Public Class InputExpanderVM
|
||||
|
||||
#End Region ' DoneCommand
|
||||
|
||||
#Region "ShowInfoItemCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Comando per la visualizzazione della combobox
|
||||
''' </summary>
|
||||
Public ReadOnly Property ShowInfoItemCommand As ICommand
|
||||
Get
|
||||
If m_cmdShowInfoItem Is Nothing Then
|
||||
m_cmdShowInfoItem = New Command(AddressOf ShowInfoItem)
|
||||
End If
|
||||
Return m_cmdShowInfoItem
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Funzione per la visualizzazione della combobox
|
||||
''' </summary>
|
||||
''' <param name="param"></param>
|
||||
Public Sub ShowInfoItem(ByVal param As Object)
|
||||
ComboVisibility = Visibility.Visible
|
||||
End Sub
|
||||
|
||||
#End Region ' ShowInfoItemCommand
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "METHODS"
|
||||
@@ -285,13 +448,37 @@ Public Class InputExpanderVM
|
||||
TextBlock = PrepareInputBoxParam.sLabel
|
||||
TextBox = ""
|
||||
TextVisibility = Visibility.Visible
|
||||
' Controllo se il titolo è uguale a INFO se si
|
||||
If Title = EgtMsg(5359).ToUpper() Then
|
||||
' Metto tmpbShow a false
|
||||
m_tmpbShow = False
|
||||
' Rendo visibile il pulsante che mostra la lista delle info
|
||||
ShowInfoItemVisibility = Visibility.Visible
|
||||
' Rendo visibile la lista delle info selezionate
|
||||
InfoVisibility = Visibility.Visible
|
||||
' Pulisco la lista tmpInfoList
|
||||
tmpInfoList.Clear()
|
||||
' Pulisco la lista InfoList
|
||||
InfoList.Clear()
|
||||
' Pulisco la lista ComboItemsList
|
||||
ComboItemsList.Clear()
|
||||
' Popolo la lista ComboItemsList
|
||||
ComboInfo()
|
||||
End If
|
||||
End If
|
||||
If PrepareInputBoxParam.sCheckLabel <> "" Then
|
||||
CheckBoxText = PrepareInputBoxParam.sCheckLabel
|
||||
CheckVisibility = Visibility.Visible
|
||||
End If
|
||||
If PrepareInputBoxParam.bShowCombo Then
|
||||
' Assegno a tmpbShow PrepareInputBoxParam.bShowCombo
|
||||
m_tmpbShow = PrepareInputBoxParam.bShowCombo
|
||||
' Pulisco la lista ComboItemsList
|
||||
ComboItemsList.Clear()
|
||||
' Pulisco la lista tmpInfoList
|
||||
tmpInfoList.Clear()
|
||||
' Pulisco la lista InfoList
|
||||
InfoList.Clear()
|
||||
ComboVisibility = Visibility.Visible
|
||||
End If
|
||||
If PrepareInputBoxParam.bShowBtn Then
|
||||
@@ -309,6 +496,8 @@ Public Class InputExpanderVM
|
||||
CheckVisibility = Visibility.Collapsed
|
||||
ComboVisibility = Visibility.Collapsed
|
||||
ShowBtnVisibility = Visibility.Collapsed
|
||||
ShowInfoItemVisibility = Visibility.Collapsed
|
||||
InfoVisibility = Visibility.Collapsed
|
||||
IsExpanded = False
|
||||
IsEnabled = False
|
||||
End Sub
|
||||
@@ -337,12 +526,44 @@ Public Class InputExpanderVM
|
||||
|
||||
Private Function AddInputBoxCombo(ByVal sText As String, ByVal bSelected As Boolean) As Boolean
|
||||
ComboItemsList.Add(sText)
|
||||
|
||||
If bSelected Then
|
||||
ComboSelectedIndex = ComboItemsList.Count - 1
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Rimovi nota da info lista
|
||||
''' </summary>
|
||||
''' <param name="InfoItem">Informazione da eliminare</param>
|
||||
Friend Sub RemoveItemInfo(InfoItem As InfoItem)
|
||||
' Rimuovo info da lista modifica
|
||||
InfoList.Remove(InfoItem)
|
||||
' Riaggiungo la info eliminata
|
||||
ComboItemsList.Add(InfoItem.sKey)
|
||||
' Riaggiungo la info eliminata
|
||||
tmpInfoList.Add(InfoItem)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Funzione che popola la lista ComboItemsList
|
||||
''' </summary>
|
||||
Private Sub ComboInfo()
|
||||
'''''''''''''''''''''''''''''' Recuperare funzione egtgetallinfo quando sarà pronta
|
||||
Dim val As Integer
|
||||
If Not m_tmpbShow Then
|
||||
For Ind As Integer = 0 To 6
|
||||
val += Ind
|
||||
tmpInfoList.Add(New InfoItem(Ind, "A" & +Ind, val.ToString()))
|
||||
Next
|
||||
|
||||
For Each InfoItem As InfoItem In tmpInfoList
|
||||
ComboItemsList.Add(InfoItem.sKey)
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Methods
|
||||
|
||||
End Class
|
||||
|
||||
@@ -69,7 +69,7 @@ Public Class LayerTreeViewItem
|
||||
Return m_bOnOff
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If Map.refProjectVM.GetController().GetStep() <> 0 Then Return
|
||||
'If Map.refProjectVM.GetController().GetStep() <> 0 Then Return
|
||||
If m_bOnOff <> value Then
|
||||
m_bOnOff = value
|
||||
' se abilitato, eseguo operazione
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
<Button Content="{Binding ColorMsg}" Command="{Binding LayerColorCommand}" Height="30"/>
|
||||
</UniformGrid>
|
||||
|
||||
<TreeView Name="LayerTreeView" MinHeight="150" MaxHeight="250"
|
||||
ItemsSource="{Binding Path=LayerList}"
|
||||
<TreeView x:Name="LayerTreeView" MinHeight="150" MaxHeight="250"
|
||||
ItemsSource="{Binding Path=LayerList}"
|
||||
VirtualizingStackPanel.IsVirtualizing = "True"
|
||||
VirtualizingStackPanel.VirtualizationMode = "Recycling">
|
||||
<interactivity:Interaction.Triggers>
|
||||
@@ -50,8 +50,8 @@
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<ToggleButton Style="{StaticResource EgtCAM5_LampToggleButton}" Grid.Column="0"
|
||||
IsChecked="{Binding OnOff}" Visibility="{Binding IsHidden}" Focusable="False" Height="15" Width="15" Margin="0,0,5,0"/>
|
||||
<ToggleButton Style="{StaticResource EgtCAM5_LampToggleButton}" Grid.Column="0"
|
||||
IsChecked="{Binding OnOff}" Visibility="{Binding IsHidden}" Focusable="True" Height="15" Width="15" Margin="0,0,5,0"/>
|
||||
<Image Grid.Column="1" Source="{Binding PictureString}" Height="15" Margin="0,0,5,0"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding Name}" Margin="0,0,5,0" Name="Pippo"/>
|
||||
<Ellipse Grid.Column="3" Height="10" Width="10" Fill="{Binding LayerColor}" />
|
||||
|
||||
@@ -526,7 +526,7 @@ Public Class ManageLayerExpanderVM
|
||||
#Region "METHODS"
|
||||
|
||||
Private WithEvents ObjTreeTimer As New System.Windows.Threading.DispatcherTimer
|
||||
Private m_nObjTreeOldId As Integer = GDB_ID.NULL
|
||||
Friend m_nObjTreeOldId As Integer = GDB_ID.NULL
|
||||
Private m_nObjTreeMenuId As Integer = GDB_ID.NULL
|
||||
Private m_bEnableUpdateObjInObjTree As Boolean = True
|
||||
|
||||
|
||||
@@ -179,14 +179,17 @@ Public Class EstimationsExpanderVM
|
||||
If Not bOk Then Return False
|
||||
' Calcolo della stima
|
||||
If Not EgtEstimate(sEstFile, sInfo) Then
|
||||
If EgtGetLastMachMgrErrorId() <> 0 Then
|
||||
Dim nErr As Integer = EgtGetLastMachMgrErrorId()
|
||||
If nErr = 1000 Then
|
||||
MessageBox.Show(EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr = 1001 Then
|
||||
MessageBox.Show(EgtMsg(5334), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr <> 0 Then
|
||||
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
||||
sErr = sErr.Replace("Cnc", "Est")
|
||||
'MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' ERRORE
|
||||
MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
Else
|
||||
'MessageBox.Show(EgtMsg(MSG_SIMULATION + 17), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5317), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore nel calcolo delle stime! ERRORE
|
||||
MessageBox.Show(EgtMsg(5317), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
bOk = False
|
||||
End If
|
||||
|
||||
+2
-1
@@ -275,7 +275,7 @@ Public Class DispositionParameterExpanderVM
|
||||
End If
|
||||
Select Case m_ActiveObject
|
||||
Case ObjectType.RAWPART
|
||||
' Abilito la selezione delle Fixture
|
||||
' Abilito la selezione dei Grezzi
|
||||
Map.refProjectVM.SceneSelType = SceneSelTypeOpt.RAWPART
|
||||
Case ObjectType.FIXTURE
|
||||
' Abilito la selezione delle Fixture
|
||||
@@ -283,6 +283,7 @@ Public Class DispositionParameterExpanderVM
|
||||
End Select
|
||||
Map.refRawPartOptionVM.SetMoveWithFixture(False)
|
||||
Map.refFixtureParametersVM.UpdateFixtureTypeList()
|
||||
DispositionUtility.InitHookData()
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
+662
-350
File diff suppressed because it is too large
Load Diff
+135
-76
@@ -5,8 +5,6 @@ Imports EgtUILib
|
||||
Public Class FixtureParametersVM
|
||||
Inherits ViewModelBase
|
||||
|
||||
Friend Const USED As String = "USED"
|
||||
|
||||
Private m_FixtureTypeList As ObservableCollection(Of FixtureListItem)
|
||||
Public ReadOnly Property FixtureTypeList As ObservableCollection(Of FixtureListItem)
|
||||
Get
|
||||
@@ -64,8 +62,8 @@ Public Class FixtureParametersVM
|
||||
Dim nUsedFixtureId As Integer = EgtGetFirstFixture()
|
||||
While nUsedFixtureId <> GDB_ID.NULL
|
||||
Dim sUsedFixtureName As String = String.Empty
|
||||
EgtGetName(nUsedFixtureId, sUsedFixtureName)
|
||||
For Index = 0 To m_FixtureTypeList.Count - 1
|
||||
EgtGetName(nUsedFixtureId, sUsedFixtureName)
|
||||
If sUsedFixtureName = m_FixtureTypeList(Index).Name Then
|
||||
Dim CurrFixtureType As FixtureType = DirectCast(m_FixtureTypeList(Index), FixtureType)
|
||||
CurrFixtureType.UsedNumber += 1
|
||||
@@ -78,6 +76,7 @@ Public Class FixtureParametersVM
|
||||
|
||||
Friend Sub UpdateFixtureTypeList()
|
||||
m_FixtureTypeList = New ObservableCollection(Of FixtureListItem)(FixtureType.ReadFixtureTypeFromMachIni())
|
||||
UpdateFixtureCount()
|
||||
OnPropertyChanged(NameOf(FixtureTypeList))
|
||||
End Sub
|
||||
|
||||
@@ -122,26 +121,34 @@ Public Class FixtureParametersVM
|
||||
OnPropertyChanged(NameOf(FixtureErrorMsg))
|
||||
Return
|
||||
End If
|
||||
' dimensioni tavola
|
||||
Dim vtTabDim As Vector3d = ptTableMax - ptTableMin
|
||||
' calcolo il centro della tavola
|
||||
Dim ptTableMid As New Point3d((ptTableMax.x - ptTableMin.x) / 2, (ptTableMax.y - ptTableMin.y) / 2, (ptTableMax.z - ptTableMin.z) / 2)
|
||||
Dim ptTableMid As Point3d = Point3d.ORIG() + 0.5 * vtTabDim
|
||||
' posiziono il nuovo sottopezzo al centro della tavola
|
||||
Dim nAddedFixtureId As Integer = EgtAddFixture(SelectedFixture.Name, ptTableMid, 0, 0)
|
||||
Dim nAddedFixtureId As Integer = EgtAddFixture(SelectedFixture.Name, ptTableMid, 0, 20)
|
||||
If nAddedFixtureId = GDB_ID.NULL Then
|
||||
m_FixtureErrorMsg = "Impossibile posizionare la ventosa sulla tavola"
|
||||
OnPropertyChanged(NameOf(FixtureErrorMsg))
|
||||
Return
|
||||
End If
|
||||
' verifico se la ventosa ha punti di hook da ancorare
|
||||
' Se la ventosa ha punti di hook da ancorare
|
||||
If IsFixtureWithHook(nAddedFixtureId) Then
|
||||
If Not PositionFixtureOnNearestHook(nAddedFixtureId) Then
|
||||
' non ci sono punti liberi, quindi rimuovo la ventosa e segnalo
|
||||
EgtRemoveFixture(nAddedFixtureId)
|
||||
'MessageBox.Show("No free hook point!", "ERROR")
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, "No free hook point!", "ERROR")
|
||||
Return
|
||||
EgtMoveFixture( nAddedFixtureId, 0.2 * vtTabDim.y * Vector3d.Y_AX())
|
||||
If Not PositionFixtureOnNearestHook(nAddedFixtureId) Then
|
||||
EgtMoveFixture( nAddedFixtureId, 0.2 * vtTabDim.y * Vector3d.Y_AX())
|
||||
If Not PositionFixtureOnNearestHook(nAddedFixtureId) Then
|
||||
' non ci sono punti liberi, quindi rimuovo la ventosa e segnalo
|
||||
EgtRemoveFixture(nAddedFixtureId)
|
||||
EgtSetFixtureLink( nAddedFixtureId, "")
|
||||
MessageBox.Show("No free hook point!", "ERROR")
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' altrimenti ventosa con movimento continuo
|
||||
Else
|
||||
' se non ha punti di ancoraggio
|
||||
' verifico se è in una posizione valida
|
||||
If Not DispositionUtility.VerifyFixturePosition(nAddedFixtureId, New Vector3d) Then
|
||||
' se non trovo una posizione valida, esco
|
||||
@@ -199,8 +206,8 @@ Public Class FixtureParametersVM
|
||||
' verifico se c'è almeno un bordo
|
||||
If nTableFrBorderCount = 0 Then
|
||||
m_FixtureErrorMsg = "Impossibile posizionare la ventosa sulla tavola"
|
||||
OnPropertyChanged(NameOf(FixtureErrorMsg))
|
||||
Return False
|
||||
OnPropertyChanged("FixtureErrorMsg")
|
||||
Return False
|
||||
End If
|
||||
' converto il punto medio della tavola in coordinate globali
|
||||
Dim PtTableRef As Point3d
|
||||
@@ -240,9 +247,7 @@ Public Class FixtureParametersVM
|
||||
' leggo tipo
|
||||
Dim sType As String = ""
|
||||
EgtGetInfo(nFixtHookId, DispositionUtility.TYPE, sType)
|
||||
If sType.Equals(DispositionUtility.FREE) Then
|
||||
Return False
|
||||
ElseIf sType.Equals(DispositionUtility.POINT) Then
|
||||
If sType.Equals(DispositionUtility.POINT) Then
|
||||
Return True
|
||||
ElseIf sType.Equals(DispositionUtility.LINE) Then
|
||||
Return True
|
||||
@@ -251,7 +256,7 @@ Public Class FixtureParametersVM
|
||||
End If
|
||||
End Function
|
||||
|
||||
' Funzione che aggancia la ventosa al più vicino hook libero
|
||||
' Funzione che cerca un hook libero adatto alla ventosa e se trovato la posiziona
|
||||
Friend Shared Function PositionFixtureOnNearestHook(nFixtureId As Integer) As Boolean
|
||||
' cerco punto hook sulla ventosa
|
||||
Dim nFixtSolidId As Integer = EgtGetFirstNameInGroup(nFixtureId, SOLID)
|
||||
@@ -263,26 +268,21 @@ Public Class FixtureParametersVM
|
||||
Dim nFixtHookType As DispositionUtility.HOOKTYPE = DispositionUtility.HOOKTYPE.FREE
|
||||
Dim sType As String = ""
|
||||
EgtGetInfo(nFixtHookId, DispositionUtility.TYPE, sType)
|
||||
If sType.Equals(DispositionUtility.FREE) Then
|
||||
nFixtHookType = DispositionUtility.HOOKTYPE.FREE
|
||||
' esco perchè non devo cercare alcun punto
|
||||
Return True
|
||||
ElseIf sType.Equals(DispositionUtility.POINT) Then
|
||||
If sType.Equals(DispositionUtility.POINT) Then
|
||||
nFixtHookType = DispositionUtility.HOOKTYPE.POINT
|
||||
ElseIf sType.Equals(DispositionUtility.LINE) Then
|
||||
nFixtHookType = DispositionUtility.HOOKTYPE.LINE
|
||||
Else
|
||||
nFixtHookType = DispositionUtility.HOOKTYPE.FREE
|
||||
' esco perchè non devo cercare alcun punto
|
||||
Return True
|
||||
End If
|
||||
Dim nFixtHookClass As Integer = 0
|
||||
EgtGetInfo(nFixtHookId, DispositionUtility.CLASS_, nFixtHookClass)
|
||||
' cerco id tavola
|
||||
' Recupero Id tavola corrente
|
||||
Dim sTableName As String = ""
|
||||
EgtGetTableName(sTableName)
|
||||
Dim nTableId As Integer = EgtGetTableId(sTableName)
|
||||
' cerco hook su tavola macchina
|
||||
' *** Cerco hook su tavola ***
|
||||
Dim nTableSolidId As Integer = EgtGetFirstNameInGroup(nTableId, SOLID)
|
||||
Dim nCurrHookId As Integer = EgtGetFirstNameInGroup(nTableSolidId, DispositionUtility.HOOK)
|
||||
' Punto di hook a cui spostare la ventosa
|
||||
@@ -294,33 +294,23 @@ Public Class FixtureParametersVM
|
||||
EgtMoveFixture(nFixtureId, ptCurrHook - ptFixtHook)
|
||||
' verifico se è in una posizione valida
|
||||
If DispositionUtility.VerifyFixturePosition(nFixtureId, New Vector3d) Then
|
||||
EgtSetInfo(nCurrHookId, USED, nFixtureId)
|
||||
If nFixtHookType = DispositionUtility.HOOKTYPE.POINT then
|
||||
DispositionUtility.SetHookUsed( nCurrHookId, nFixtureId)
|
||||
Else
|
||||
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
|
||||
End If
|
||||
EgtSetFixtureLink( nFixtureId, "")
|
||||
Return True
|
||||
Else
|
||||
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
|
||||
End If
|
||||
End If
|
||||
nCurrHookId = EgtGetNextName(nCurrHookId, DispositionUtility.HOOK)
|
||||
End While
|
||||
' cerco hook su barra fissa
|
||||
' *** Cerco hook su barre fisse ***
|
||||
Dim nTableFixedId As Integer = EgtGetFirstNameInGroup(nTableId, DispositionUtility.FIXED)
|
||||
nCurrHookId = EgtGetFirstNameInGroup(nTableFixedId, DispositionUtility.HOOK)
|
||||
While nCurrHookId <> GDB_ID.NULL
|
||||
' se punto di aggancio valido
|
||||
If HookAnalyzer(nCurrHookId, nFixtHookType, nFixtHookClass, ptFixtHook, ptCurrHook) Then
|
||||
' sposto la ventosa
|
||||
EgtMoveFixture(nFixtureId, ptCurrHook - ptFixtHook)
|
||||
' verifico se è in una posizione valida
|
||||
If DispositionUtility.VerifyFixturePosition(nFixtureId, New Vector3d) Then
|
||||
EgtSetInfo(nCurrHookId, USED, nFixtureId)
|
||||
Return True
|
||||
End If
|
||||
End If
|
||||
nCurrHookId = EgtGetNextName(nCurrHookId, DispositionUtility.HOOK)
|
||||
End While
|
||||
' cerco hook su barre mobili
|
||||
Dim nMobileInd As Integer = 1
|
||||
Dim nMobile As Integer = EgtGetFirstNameInGroup(nTableId, DispositionUtility.MOBILE & nMobileInd)
|
||||
While nMobile <> GDB_ID.NULL
|
||||
nCurrHookId = EgtGetFirstNameInGroup(nMobile, DispositionUtility.HOOK)
|
||||
While nTableFixedId <> GDB_ID.NULL
|
||||
nCurrHookId = EgtGetFirstNameInGroup(nTableFixedId, DispositionUtility.HOOK)
|
||||
While nCurrHookId <> GDB_ID.NULL
|
||||
' se punto di aggancio valido
|
||||
If HookAnalyzer(nCurrHookId, nFixtHookType, nFixtHookClass, ptFixtHook, ptCurrHook) Then
|
||||
@@ -328,46 +318,114 @@ Public Class FixtureParametersVM
|
||||
EgtMoveFixture(nFixtureId, ptCurrHook - ptFixtHook)
|
||||
' verifico se è in una posizione valida
|
||||
If DispositionUtility.VerifyFixturePosition(nFixtureId, New Vector3d) Then
|
||||
EgtSetInfo(nCurrHookId, USED, nFixtureId)
|
||||
If nFixtHookType = DispositionUtility.HOOKTYPE.POINT then
|
||||
DispositionUtility.SetHookUsed( nCurrHookId, nFixtureId)
|
||||
Else
|
||||
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
|
||||
End If
|
||||
EgtSetFixtureLink( nFixtureId, "")
|
||||
Return True
|
||||
Else
|
||||
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
|
||||
End If
|
||||
End If
|
||||
nCurrHookId = EgtGetNextName(nCurrHookId, DispositionUtility.HOOK)
|
||||
End While
|
||||
nMobileInd += 1
|
||||
nMobile = EgtGetFirstNameInGroup(nTableId, DispositionUtility.MOBILE & nMobileInd)
|
||||
nTableFixedId = EgtGetNextName( nTableFixedId, DispositionUtility.FIXED)
|
||||
End While
|
||||
' *** Cerco hook su barre mobili ***
|
||||
Dim nBarId As Integer = EgtGetFirstGroupInGroup(nTableId)
|
||||
While nBarId <> GDB_ID.NULL
|
||||
Dim sBarName As String = ""
|
||||
If EgtGetName( nBarId, sBarName) AndAlso EgtGetAxisId( sBarName) <> GDB_ID.NULL Then
|
||||
nCurrHookId = EgtGetFirstNameInGroup(nBarId, DispositionUtility.HOOK)
|
||||
While nCurrHookId <> GDB_ID.NULL
|
||||
' se punto di aggancio valido
|
||||
If HookAnalyzer(nCurrHookId, nFixtHookType, nFixtHookClass, ptFixtHook, ptCurrHook) Then
|
||||
' sposto la ventosa
|
||||
Dim vtMove As Vector3d = ptCurrHook - ptFixtHook
|
||||
EgtMoveFixture(nFixtureId, vtMove)
|
||||
' verifico se è in una posizione valida
|
||||
If DispositionUtility.VerifyFixturePosition(nFixtureId, New Vector3d) Then
|
||||
If nFixtHookType = DispositionUtility.HOOKTYPE.POINT then
|
||||
DispositionUtility.SetHookUsed( nCurrHookId, nFixtureId)
|
||||
Else
|
||||
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
|
||||
End If
|
||||
EgtSetFixtureLink( nFixtureId, sBarName)
|
||||
Return True
|
||||
Else
|
||||
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
|
||||
End If
|
||||
End If
|
||||
nCurrHookId = EgtGetNextName(nCurrHookId, DispositionUtility.HOOK)
|
||||
End While
|
||||
' Cerco su eventuali carrelli
|
||||
Dim nCharId As Integer = EgtGetFirstGroupInGroup(nBarId)
|
||||
While nCharId <> GDB_ID.NULL
|
||||
Dim sCharName As String = ""
|
||||
If EgtGetName( nCharId, sCharName) AndAlso EgtGetAxisId( sCharName) <> GDB_ID.NULL Then
|
||||
nCurrHookId = EgtGetFirstNameInGroup(nCharId, DispositionUtility.HOOK)
|
||||
While nCurrHookId <> GDB_ID.NULL
|
||||
' se punto di aggancio valido
|
||||
If HookAnalyzer(nCurrHookId, nFixtHookType, nFixtHookClass, ptFixtHook, ptCurrHook) Then
|
||||
' sposto la ventosa
|
||||
EgtMoveFixture(nFixtureId, ptCurrHook - ptFixtHook)
|
||||
' verifico se è in una posizione valida
|
||||
If DispositionUtility.VerifyFixturePosition(nFixtureId, New Vector3d) Then
|
||||
If nFixtHookType = DispositionUtility.HOOKTYPE.POINT then
|
||||
DispositionUtility.SetHookUsed( nCurrHookId, nFixtureId)
|
||||
Else
|
||||
DispositionUtility.AddHookUsed( nCurrHookId, nFixtureId)
|
||||
End If
|
||||
EgtSetFixtureLink( nFixtureId, sCharName)
|
||||
Return True
|
||||
Else
|
||||
EgtStartPoint(nFixtHookId, GDB_ID.ROOT, ptFixtHook)
|
||||
End If
|
||||
End If
|
||||
nCurrHookId = EgtGetNextName(nCurrHookId, DispositionUtility.HOOK)
|
||||
End While
|
||||
End If
|
||||
nCharId = EgtGetNextGroup(nCharId)
|
||||
End While
|
||||
End If
|
||||
nBarId = EgtGetNextGroup(nBarId)
|
||||
End While
|
||||
Return False
|
||||
End Function
|
||||
|
||||
' Funzione che analizza l'hook e se valido ne prestituisce lo posizione(punto)
|
||||
Private Shared Function HookAnalyzer(nCurrHookId As Integer, nFixtHookType As Integer, nFixtHookClass As Integer, ptFixtHook As Point3d, ByRef ptCurrHook As Point3d) As Boolean
|
||||
' verifico se del tipo giusto
|
||||
' Funzione che analizza l'hook e se valido ne restituisce la posizione (punto)
|
||||
Private Shared Function HookAnalyzer(nCurrHookId As Integer, nFixtHookType As Integer, nFixtHookClass As Integer,
|
||||
ptFixtHook As Point3d, ByRef ptCurrHook As Point3d) As Boolean
|
||||
' Verifico se del tipo giusto
|
||||
Dim nTableHookType As GDB_TY = EgtGetType(nCurrHookId)
|
||||
If (nTableHookType = GDB_TY.GEO_POINT And nFixtHookType = DispositionUtility.HOOKTYPE.POINT) OrElse (nTableHookType = GDB_TY.CRV_LINE And nFixtHookType = DispositionUtility.HOOKTYPE.LINE) Then
|
||||
' verifico se della stessa classe
|
||||
Dim nTableHookClass As Integer = 0
|
||||
EgtGetInfo(nCurrHookId, DispositionUtility.CLASS_, nTableHookClass)
|
||||
If nTableHookClass = nFixtHookClass Then
|
||||
Dim dDist As Double = 0
|
||||
' punto a distanza minima sull'hook
|
||||
If nTableHookType = GDB_TY.GEO_POINT Then
|
||||
' verifico se utilizzato
|
||||
Dim nTableHookUsed As Boolean = False
|
||||
If Not EgtGetInfo(nCurrHookId, DispositionUtility.USED, nTableHookUsed) Then
|
||||
' calcolo distanza punto hook tavola dal punto hook della ventosa
|
||||
EgtStartPoint(nCurrHookId, GDB_ID.ROOT, ptCurrHook)
|
||||
Return True
|
||||
End If
|
||||
ElseIf nTableHookType = GDB_TY.CRV_LINE Then
|
||||
' calcolo distanza linea hook tavola dal punto hook della ventosa
|
||||
Dim nRefId As Integer = 0
|
||||
Dim dU As Double = 0
|
||||
EgtPointCurveDist(ptFixtHook, nCurrHookId, nRefId, dDist, dU)
|
||||
EgtAtParamPoint(nCurrHookId, dU, GDB_ID.ROOT, ptCurrHook)
|
||||
Return True
|
||||
End If
|
||||
If Not (nTableHookType = GDB_TY.GEO_POINT And nFixtHookType = DispositionUtility.HOOKTYPE.POINT) AndAlso
|
||||
Not (nTableHookType = GDB_TY.CRV_LINE And nFixtHookType = DispositionUtility.HOOKTYPE.LINE) Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
' Verifico se della stessa classe
|
||||
Dim nTableHookClass As Integer = DispositionUtility.GetHookClass( nCurrHookId)
|
||||
If nTableHookClass <> nFixtHookClass Then
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim dDist As Double = 0
|
||||
' punto a distanza minima sull'hook
|
||||
If nTableHookType = GDB_TY.GEO_POINT Then
|
||||
' verifico se utilizzato
|
||||
If Not DispositionUtility.GetIsHookUsed( nCurrHookId) Then
|
||||
' calcolo distanza punto hook tavola dal punto hook della ventosa
|
||||
EgtStartPoint(nCurrHookId, GDB_ID.ROOT, ptCurrHook)
|
||||
Return True
|
||||
End If
|
||||
ElseIf nTableHookType = GDB_TY.CRV_LINE Then
|
||||
' calcolo distanza linea hook tavola dal punto hook della ventosa
|
||||
Dim ptL1 As Point3d : EgtStartPoint( nCurrHookId, GDB_ID.ROOT, ptL1)
|
||||
Dim ptL2 As Point3d : EgtEndPoint( nCurrHookId, GDB_ID.ROOT, ptL2)
|
||||
ptCurrHook = DispositionUtility.DistPointSegment( ptFixtHook, ptL1, ptL2)
|
||||
Return True
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
@@ -397,6 +455,7 @@ Public Class FixtureParametersVM
|
||||
Dim NextSelectedId As Integer = EgtGetNextSelectedObj()
|
||||
If EgtVerifyFixture(SelectedFixtureId) Then
|
||||
EgtRemoveFixture(SelectedFixtureId)
|
||||
DispositionUtility.RemoveFixtureFromHook( SelectedFixtureId)
|
||||
For Index = 0 To FixtureTypeList.Count - 1
|
||||
Dim SelFixtureName As String = String.Empty
|
||||
EgtGetName(SelectedFixtureId, SelFixtureName)
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<CheckBox Content="Move with Fixture" IsChecked="{Binding MoveWithFixture, Mode=TwoWay}"/>
|
||||
<UniformGrid Columns="2" Margin="0,5,0,0">
|
||||
<Button Content="New" Command="{Binding NewRawPartCommand}"/>
|
||||
<Button Content="Remove"/> <!--Command="{Binding RemoveRawPartCommand}"-->
|
||||
<Button Content="Remove" Command="{Binding RemoveRawPartCommand}"/>
|
||||
</UniformGrid>
|
||||
<Grid Visibility="{Binding RawPartParamVisibility, Mode=OneWay}">
|
||||
<Grid.RowDefinitions>
|
||||
|
||||
+31
-1
@@ -116,7 +116,7 @@ Public Class RawPartOptionVM
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the Point. This method is invoked by the DoneCommand.
|
||||
''' Execute NewRawPart. This method is invoked by the DoneCommand.
|
||||
''' </summary>
|
||||
Public Sub NewRawPart()
|
||||
DispositionUtility.ShowParts()
|
||||
@@ -126,6 +126,36 @@ Public Class RawPartOptionVM
|
||||
|
||||
#End Region ' NewRawPartCommand
|
||||
|
||||
#Region "RemoveRawPartCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do Done.
|
||||
''' </summary>
|
||||
Public ReadOnly Property RemoveRawPartCommand As ICommand
|
||||
Get
|
||||
If m_cmdRemoveRawPart Is Nothing Then
|
||||
m_cmdRemoveRawPart = New RelayCommand(AddressOf RemoveRawPart)
|
||||
End If
|
||||
Return m_cmdRemoveRawPart
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute RemoveRawPart. This method is invoked by the DoneCommand.
|
||||
''' </summary>
|
||||
Public Sub RemoveRawPart()
|
||||
' ciclo sui grezzi selezionati
|
||||
Dim nSelRawPartId As Integer = EgtGetFirstSelectedObj()
|
||||
While nSelRawPartId <> GDB_ID.NULL
|
||||
' rimuovo il grezzo dalla disposizione
|
||||
EgtRemoveRawPart(nSelRawPartId)
|
||||
nSelRawPartId = EgtGetNextSelectedObj()
|
||||
End While
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
#End Region ' RemoveRawPartCommand
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
End Class
|
||||
+7
-1
@@ -125,7 +125,13 @@ Public Class MachiningParameterExpanderVM
|
||||
NotifyPropertyChanged(NameOf(SliderValue))
|
||||
End Sub
|
||||
Friend Sub SetSliderValue(value As Integer)
|
||||
m_SliderValue += value
|
||||
Dim nOldSliderValue As Integer = m_SliderValue
|
||||
m_SliderValue = Math.Min( Math.Max( m_SliderValue + value, 1), m_SliderScale)
|
||||
Dim nStep As Integer = m_SliderValue - nOldSliderValue
|
||||
If nStep = 0 Then Return
|
||||
Dim nId As Integer = EgtPreviewMachiningTool(m_nPtEntId, nStep)
|
||||
If nId <> GDB_ID.NULL Then m_nPtEntId = nId
|
||||
EgtDraw()
|
||||
NotifyPropertyChanged(NameOf(SliderValue))
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -321,10 +321,11 @@ Public Class OperationsListExpanderVM
|
||||
' Aggiungo la nuova fase
|
||||
Dim nPhase As Integer = EgtAddPhase()
|
||||
Dim nDispId As Integer = EgtGetPhaseDisposition(nPhase)
|
||||
' Confermo grezzi e bloccaggi sopra salvati
|
||||
' Confermo grezzi, movimenti assi di disposizione e bloccaggi sopra salvati
|
||||
For Each nId As Integer In vRawId
|
||||
EgtKeepRawPart(nId, nLastPhase)
|
||||
Next
|
||||
EgtKeepAllDispAxes( nLastPhase)
|
||||
For Each nId As Integer In vFxtId
|
||||
EgtKeepFixture(nId, nLastPhase)
|
||||
Next
|
||||
@@ -423,8 +424,10 @@ Public Class OperationsListExpanderVM
|
||||
|
||||
If EgtGetOperationMode(selOperation.Id) Then
|
||||
Map.refOperationParametersExpanderVM.ParametersIsExpanded = True
|
||||
Map.refMachiningParameterExpanderVM.SetSliderScale( EgtGetPreviewMachiningToolStepCount())
|
||||
Map.refMachiningParameterExpanderVM.ResetSliderValue()
|
||||
If EgtGetOperationType(selOperation.Id) <> MCH_OY.DISP Then
|
||||
Map.refMachiningParameterExpanderVM.SetSliderScale( EgtGetPreviewMachiningToolStepCount())
|
||||
Map.refMachiningParameterExpanderVM.ResetSliderValue()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -100,10 +100,11 @@ Public Class SimulationExpanderVM
|
||||
If Not GetCncFileName(True, sCncFile, sInfo) Then Return
|
||||
' Eseguo
|
||||
If Not EgtGenerate(sCncFile, sInfo) Then
|
||||
Dim nErr = EgtGetLastMachMgrErrorId()
|
||||
Dim nErr As Integer = EgtGetLastMachMgrErrorId()
|
||||
If nErr = 1000 Then
|
||||
'MessageBox.Show(EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information) ' La licenza non permette la Generazione CN INFORMAZIONE
|
||||
MessageBox.Show(EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr = 1001 Then
|
||||
MessageBox.Show(EgtMsg(5334), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr <> 0 Then
|
||||
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
||||
'MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
@@ -229,13 +230,16 @@ Public Class SimulationExpanderVM
|
||||
UpdateUI()
|
||||
' Messaggio in caso di errore
|
||||
If Not bOk Then
|
||||
If EgtGetLastMachMgrErrorId() <> 0 Then
|
||||
Dim nErr As Integer = EgtGetLastMachMgrErrorId()
|
||||
If nErr = 1000 Then
|
||||
MessageBox.Show(EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr = 1001 Then
|
||||
MessageBox.Show(EgtMsg(5334), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr <> 0 Then
|
||||
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
||||
'MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' .... - ERRORE
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' .... - ERRORE
|
||||
MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) '.... - ERRORE
|
||||
Else
|
||||
'MessageBox.Show(EgtMsg(MSG_MESSAGEBOX + 10), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore sconosciuto - ERRORE
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(15010), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore sconosciuto - ERRORE
|
||||
MessageBox.Show(EgtMsg(15010), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) 'Errore sconosciuto - ERRORE
|
||||
End If
|
||||
End If
|
||||
' Imposto stato corrente
|
||||
@@ -273,13 +277,16 @@ Public Class SimulationExpanderVM
|
||||
Map.refEstimationsExpanderVM.NotifyPropertyChanged(NameOf(Map.refEstimationsExpanderVM.Estimation_IsEnabled))
|
||||
m_bStopOnNextCollision = True
|
||||
If Not EgtSimStart(False) Then
|
||||
If EgtGetLastMachMgrErrorId() <> 0 Then
|
||||
Dim nErr As Integer = EgtGetLastMachMgrErrorId()
|
||||
If nErr = 1000 Then
|
||||
MessageBox.Show(EgtMsg(5333), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr = 1001 Then
|
||||
MessageBox.Show(EgtMsg(5334), EgtMsg(5320), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||
ElseIf nErr <> 0 Then
|
||||
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
||||
'MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' .... - ERRORE
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) ' .... - ERRORE
|
||||
MessageBox.Show(sErr, EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Exclamation) '.... - ERRORE
|
||||
Else
|
||||
'MessageBox.Show(EgtMsg(MSG_MESSAGEBOX + 10), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore sconosciuto - ERRORE
|
||||
EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(15010), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) ' Errore sconosciuto - ERRORE
|
||||
MessageBox.Show(EgtMsg(15010), EgtMsg(5305), MessageBoxButton.OK, MessageBoxImage.Error) 'Errore sconosciuto - ERRORE
|
||||
End If
|
||||
SetSimulationStatus(MCH_SIM_ST.UI_STOP)
|
||||
End If
|
||||
@@ -349,8 +356,10 @@ Public Class SimulationExpanderVM
|
||||
End If
|
||||
' Aggiorno stato visualizzazione macchina (dipende anche da utensile)
|
||||
UpdateMachView()
|
||||
' Aggiorno visualizzazione
|
||||
EgtDraw()
|
||||
' Aggiorno visualizzazione (solo se interfaccia non minimizzata, per aumentare velocità)
|
||||
If Application.Current.MainWindow.WindowState <> WindowState.Minimized Then
|
||||
EgtDraw()
|
||||
End If
|
||||
' Aggiorno dati CNC
|
||||
If nShowDataCounter = 5 Or GetSimulationStatus() = MCH_SIM_ST.UI_PAUSE Or GetSimulationStatus() = MCH_SIM_ST.UI_STOP Then
|
||||
ShowCncData()
|
||||
|
||||
Reference in New Issue
Block a user