Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| efd2d5d8c9 | |||
| da178396f5 | |||
| 5e824bf894 | |||
| 0b24324001 | |||
| c827a89d94 | |||
| 9518fe951b | |||
| 0d81ee5974 | |||
| dca88a1aae | |||
| c433e5b5bd | |||
| 07da0b55d4 | |||
| 5c1df0c8d2 | |||
| 7e323827de | |||
| ee57c64e91 | |||
| 391fa8dbb5 | |||
| 0bcd67a402 | |||
| 1ca8c76bbf | |||
| f752dc46c3 | |||
| ee69bda3a5 | |||
| dd939a7fb6 | |||
| e01ee20b48 | |||
| aeeaf624ee | |||
| d01225cd6e | |||
| 5792664da8 | |||
| caff5e5507 | |||
| 6224b1e40b | |||
| aca43262cf | |||
| 6f526dca45 | |||
| b3a359e257 | |||
| dc787f2596 | |||
| d0cb48b31d | |||
| c9b4d679bd | |||
| e726416853 | |||
| 9be2a9d1c3 | |||
| aed8483ede | |||
| 349a1429c1 | |||
| 29c528fa0e | |||
| 0fa0d4e612 | |||
| 600da701b1 | |||
| c534b459ae | |||
| 86e6a21d63 | |||
| 7a26984f95 |
@@ -146,7 +146,7 @@ Public Class CompoWindowVM
|
||||
|
||||
Friend Function MakePreview(ByRef sMsg As String) As Boolean
|
||||
If Not EgtLuaExecLine(LUA_CMP_DRAW & "(true)") Then
|
||||
sMsg = "Error in component execution"
|
||||
sMsg = EgtMsg(91689) ' Error in component execution
|
||||
m_bDrawOk = False
|
||||
Else
|
||||
EgtLuaGetGlobStringVar(LUA_CMP_VARS & ".MSG", sMsg)
|
||||
|
||||
@@ -21,6 +21,7 @@ Module ConstGen
|
||||
' File con dati di licenza
|
||||
Public Const LIC_FILE_NAME As String = "OmagOFFICE.lic"
|
||||
Public Const S_LICENCE As String = "Licence"
|
||||
Public Const K_LOCKID As String = "LockId"
|
||||
Public Const K_KEY As String = "Key"
|
||||
Public Const K_NESTKEY As String = "NestKey"
|
||||
|
||||
@@ -76,5 +77,7 @@ Module ConstGen
|
||||
Public Const SETUP_LUA As String = "SetUp.lua"
|
||||
' Sottodirettorio per BackUp
|
||||
Public Const BACKUP_DIR As String = "BackUp"
|
||||
' Info per rotazione in registrazione grezzo
|
||||
Public Const INFO_REGROT As String = "RegRot"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -37,6 +37,7 @@ Module ConstIni
|
||||
Public Const K_CONTOURFROMCAMERA As String = "ContourFromCamera"
|
||||
Public Const K_SUPPORT As String = "Support"
|
||||
Public Const K_PHOTODIR As String = "PhotoDir"
|
||||
Public Const K_SHOWNBARROW As String = "ShowNbArrow"
|
||||
|
||||
Public Const S_LANGUAGES As String = "Languages"
|
||||
Public Const K_LANGUAGE As String = "Language"
|
||||
@@ -96,6 +97,7 @@ Module ConstIni
|
||||
|
||||
Public Const S_SIDES As String = "Sides"
|
||||
Public Const K_MAXSIDEANGLE As String = "MaxSideAngle"
|
||||
Public Const K_SIZEALWAYSONTOP As String = "SizeAlwaysOnTop"
|
||||
Public Const K_PARSIDE_AS_TRF As String = "ParSideAsTrf"
|
||||
Public Const K_SIDEANGLE As String = "SideAngle"
|
||||
Public Const K_DELTA_ANG_TG As String = "DeltaAngTg"
|
||||
@@ -114,6 +116,7 @@ Module ConstIni
|
||||
Public Const K_FILOTOPOFFSET As String = "FiloTopOffset"
|
||||
Public Const K_FILOTOPDEPTH As String = "FiloTopDepth"
|
||||
Public Const K_FILOTOPROUNDOFF As String = "FiloTopRoundOff"
|
||||
Public Const K_TEXTCOLORENT As String = "TextColorEnt"
|
||||
|
||||
Public Const S_NEST As String = "Nest"
|
||||
Public Const K_DIRECT As String = "Direct"
|
||||
|
||||
@@ -112,7 +112,7 @@ Public Class DxfImportSceneHostV
|
||||
|
||||
Private Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ImportDxfScene.OnMouseDownScene
|
||||
' Solo se in modalità angoli o gocciolatoio su lati esterni
|
||||
If DxfImportWindowMap.refDxfImportWindowVM.SideAngle_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Drip_IsChecked Then
|
||||
If DxfImportWindowMap.refDxfImportWindowVM.SideAngle_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Drip_IsChecked Or DxfImportWindowMap.refDxfImportWindowVM.Engrave_IsChecked Then
|
||||
OnMouseDownSceneSideAngle(e)
|
||||
ElseIf DxfImportWindowMap.refDxfImportWindowVM.FiloTop_IsChecked Then
|
||||
OnMouseDownSceneFiloTop(e)
|
||||
|
||||
@@ -6,7 +6,193 @@
|
||||
Title="{Binding TitleMsg}"
|
||||
IsMinimizable="False"
|
||||
ShowInTaskbar="False"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" WindowStartupLocation="CenterOwner">
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}" WindowStartupLocation="CenterOwner"
|
||||
xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<!--gradiente colore-->
|
||||
|
||||
<!--<Style x:Key="ScrollBarButton" TargetType="{x:Type RepeatButton}">
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="Focusable" Value="false"/>
|
||||
<Setter Property="IsTabStop" Value="false"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type RepeatButton}">
|
||||
<theme:ScrollChrome x:Name="Chrome" RenderPressed="{TemplateBinding IsPressed}" RenderMouseOver="{TemplateBinding IsMouseOver}" SnapsToDevicePixels="true" theme:ScrollChrome.ScrollGlyph="{TemplateBinding theme:ScrollChrome.ScrollGlyph}"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>-->
|
||||
|
||||
<Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="IsTabStop" Value="false"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Thumb}">
|
||||
<Border x:Name="Background" CornerRadius="0" Background="Transparent" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}">
|
||||
<Grid Background="Transparent" Margin="1">
|
||||
<Border Opacity="0" x:Name="BackgroundAnimation" Background="Transparent" />
|
||||
<Rectangle x:Name="BackgroundGradient" RadiusX="8" RadiusY="8" Fill="#FF095CA8" Stroke="#1C1D22" StrokeThickness="0.5">
|
||||
<!--<Rectangle.Fill>
|
||||
<LinearGradientBrush StartPoint=".7,0" EndPoint=".7,1">
|
||||
<GradientStop Color="#1C1D22" Offset="0.375" />
|
||||
<GradientStop Color="#1C1D22" Offset="0.625" />
|
||||
</LinearGradientBrush>
|
||||
</Rectangle.Fill>-->
|
||||
</Rectangle>
|
||||
</Grid>
|
||||
</Border>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<!--<Style x:Key="HorizontalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Focusable" Value="false"/>
|
||||
<Setter Property="IsTabStop" Value="false"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type RepeatButton}">
|
||||
<Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>-->
|
||||
|
||||
<Style x:Key="VerticalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
|
||||
<Setter Property="OverridesDefaultStyle" Value="true"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Focusable" Value="false"/>
|
||||
<Setter Property="IsTabStop" Value="false"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type RepeatButton}">
|
||||
<Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ScrollBarStyle1" TargetType="{x:Type ScrollBar}">
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/>
|
||||
<Setter Property="Stylus.IsFlicksEnabled" Value="false"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
|
||||
<Setter Property="Width" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
|
||||
<Setter Property="MinWidth" Value="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
||||
<Grid x:Name="Bg" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition MaxHeight="1"/>
|
||||
<RowDefinition Height="0.00001*"/>
|
||||
<RowDefinition MaxHeight="1"/>
|
||||
</Grid.RowDefinitions>
|
||||
<!--<RepeatButton Command="{x:Static ScrollBar.LineUpCommand}" IsEnabled="{TemplateBinding IsMouseOver}" />-->
|
||||
<Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource VerticalScrollBarPageButton}"/>
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource VerticalScrollBarPageButton}"/>
|
||||
</Track.IncreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Style="{StaticResource ScrollBarThumb}"/>
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
<!--<RepeatButton Command="{x:Static ScrollBar.LineDownCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="2" theme:ScrollChrome.ScrollGlyph="DownArrow"/>-->
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Background" TargetName="Bg" Value="Transparent"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
|
||||
<!--<Style.Triggers>
|
||||
<Trigger Property="Orientation" Value="Horizontal">
|
||||
<Setter Property="Width" Value="Auto"/>
|
||||
<Setter Property="MinWidth" Value="0"/>
|
||||
<Setter Property="Height" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
|
||||
<Setter Property="MinHeight" Value="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarHeightKey}}"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
||||
<Grid x:Name="Bg" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
|
||||
<ColumnDefinition Width="0.00001*"/>
|
||||
<ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<RepeatButton Command="{x:Static ScrollBar.LineLeftCommand}" IsEnabled="{TemplateBinding IsMouseOver}" theme:ScrollChrome.ScrollGlyph="LeftArrow" Style="{StaticResource CustomScrollBarButton}"/>
|
||||
<Track x:Name="PART_Track" Grid.Column="1" IsEnabled="{TemplateBinding IsMouseOver}">
|
||||
<Track.DecreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource CustomScrollBarButton}"/>
|
||||
</Track.DecreaseRepeatButton>
|
||||
<Track.IncreaseRepeatButton>
|
||||
<RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource CustomScrollBarButton}"/>
|
||||
</Track.IncreaseRepeatButton>
|
||||
<Track.Thumb>
|
||||
<Thumb Style="{StaticResource ScrollBarThumb}"/>
|
||||
</Track.Thumb>
|
||||
</Track>
|
||||
<RepeatButton Command="{x:Static ScrollBar.LineRightCommand}" Grid.Column="2" IsEnabled="{TemplateBinding IsMouseOver}" theme:ScrollChrome.ScrollGlyph="RightArrow" Style="{StaticResource CustomScrollBarButton}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Background" TargetName="Bg" Value="Transparent"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
</Style.Triggers>-->
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ScrollViewerStyle1" TargetType="{x:Type ScrollViewer}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type ScrollViewer}">
|
||||
<Grid x:Name="Grid" Background="{TemplateBinding Background}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Rectangle x:Name="Corner" Grid.Column="1" Fill="{StaticResource Omag_Black}" Grid.Row="1"/>
|
||||
<ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanHorizontallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" CanVerticallyScroll="False" Grid.Column="0" Content="{TemplateBinding Content}" CanContentScroll="{TemplateBinding CanContentScroll}" Margin="{TemplateBinding Padding}" Grid.Row="0"/>
|
||||
<ScrollBar Style="{DynamicResource ScrollBarStyle1}" x:Name="PART_VerticalScrollBar"
|
||||
AutomationProperties.AutomationId="VerticalScrollBar" Cursor="Arrow" Grid.Column="1"
|
||||
Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Grid.Row="0"
|
||||
Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
||||
Margin="2,0,0,0"/>
|
||||
<ScrollBar Style="{DynamicResource ScrollBarStyle1}" x:Name="PART_HorizontalScrollBar"
|
||||
AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0"
|
||||
Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1"
|
||||
Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"/>
|
||||
</Grid>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsEnabled" Value="false">
|
||||
<Setter Property="Foreground" Value="{DynamicResource Omag_Blue}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
|
||||
<DockPanel>
|
||||
|
||||
@@ -84,7 +270,7 @@
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
|
||||
<UniformGrid Columns="4"
|
||||
<UniformGrid Columns="5"
|
||||
DockPanel.Dock="Top"
|
||||
IsEnabled="{Binding SideEntity_IsEnabled}"
|
||||
Margin="0,0,0,5">
|
||||
@@ -98,6 +284,10 @@
|
||||
IsChecked="{Binding FiloTop_IsChecked}"
|
||||
Style="{StaticResource CompoWindow_WrapToggleButton}"/>
|
||||
|
||||
<ToggleButton Content="{Binding EngraveMsg}"
|
||||
IsChecked="{Binding Engrave_IsChecked}"
|
||||
Style="{StaticResource CompoWindow_WrapToggleButton}"/>
|
||||
|
||||
<!--Incidi da sotto-->
|
||||
<ToggleButton Content="{Binding DripMsg}"
|
||||
IsChecked="{Binding Drip_IsChecked}"
|
||||
@@ -122,13 +312,12 @@
|
||||
Style="{StaticResource OptionPanel_TextButton}"/>
|
||||
</UniformGrid>
|
||||
|
||||
<GroupBox Header="Dati pezzo"
|
||||
|
||||
<GroupBox Header="Dati pezzo"
|
||||
BorderThickness="{StaticResource BorderGpBx_Thickness}"
|
||||
Foreground="{StaticResource Omag_White}"
|
||||
Margin="0">
|
||||
|
||||
<StackPanel>
|
||||
<ScrollViewer Style="{DynamicResource ScrollViewerStyle1}" VerticalScrollBarVisibility="Auto" Focusable="False">
|
||||
<StackPanel>
|
||||
<Grid Visibility="{Binding PartData_Visibility}"
|
||||
Margin="0,0,0,10">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -178,10 +367,12 @@
|
||||
TextWrapping="Wrap"
|
||||
TextAlignment="Center"
|
||||
Margin="0,0,0,20"/>
|
||||
|
||||
|
||||
<ContentControl VerticalAlignment="Center"
|
||||
Content="{Binding SideEntityControl}"/>
|
||||
Content="{Binding SideEntityControl}" ScrollViewer.VerticalScrollBarVisibility="Visible"/>
|
||||
|
||||
</StackPanel>
|
||||
</ScrollViewer>
|
||||
</GroupBox>
|
||||
|
||||
</DockPanel>
|
||||
|
||||
@@ -142,7 +142,7 @@ Public Class DxfImportWindowVM
|
||||
Return m_SideAngle_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Then Return
|
||||
If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
|
||||
m_SideAngle_IsChecked = value
|
||||
If value Then
|
||||
' Aggiungo regioni per percorsi interni
|
||||
@@ -190,7 +190,7 @@ Public Class DxfImportWindowVM
|
||||
Return m_FiloTop_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_UnderDrill_IsChecked Then Return
|
||||
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_Engrave_IsChecked Then Return
|
||||
m_FiloTop_IsChecked = value
|
||||
If value Then
|
||||
' Aggiungo regioni per percorsi interni
|
||||
@@ -233,13 +233,61 @@ Public Class DxfImportWindowVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Engrave_IsChecked As Boolean
|
||||
Public Property Engrave_IsChecked As Boolean
|
||||
Get
|
||||
Return m_Engrave_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If m_Drip_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_SideAngle_IsChecked Then Return
|
||||
m_Engrave_IsChecked = value
|
||||
If value Then
|
||||
' Aggiungo regioni per percorsi interni
|
||||
AdjustSelectRegions()
|
||||
' Messaggio di selezione contorno
|
||||
SetOutputMessage(EgtMsg(MSG_DRAWPAGEUC + 6), MSG_TYPE.INFO) ' Selezionare un contorno
|
||||
' Imposto modalità sideangle
|
||||
m_SideEntityControlVM = New SideEntityControlVM(SideEntityControlVM.CallingWindowOpt.DXFIMPORT,
|
||||
DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene,
|
||||
SideEntityControlVM.ModeOpt.ENGRAVE)
|
||||
SideEntityControl = New SideEntityControlV(m_SideEntityControlVM)
|
||||
Open_IsEnabled = False
|
||||
Type_IsEnabled = False
|
||||
Measure_IsEnabled = False
|
||||
PartData_Visibility = Visibility.Collapsed
|
||||
OrderList_Visibility = Visibility.Collapsed
|
||||
OkIsEnabled = False
|
||||
Else
|
||||
' Rimuovo regioni per percorsi interni
|
||||
RemoveSelectRegions()
|
||||
m_SideEntityControlVM.Close()
|
||||
Open_IsEnabled = True
|
||||
Type_IsEnabled = True
|
||||
Measure_IsEnabled = True
|
||||
PartData_Visibility = Visibility.Visible
|
||||
OrderList_Visibility = Visibility.Visible
|
||||
OkIsEnabled = True
|
||||
m_SideEntityControlVM = Nothing
|
||||
SideEntityControl = Nothing
|
||||
' Elimino scritte angoli per input e inserisco quelle definitive
|
||||
SideEntityControlVM.WriteSideAngleForNest(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
' Deseleziono tutto
|
||||
DxfImportWindowMap.refDxfImportSceneHostV.Deselect()
|
||||
' Pulisco area messaggi
|
||||
ClearOutputMessage()
|
||||
End If
|
||||
NotifyPropertyChanged("EngraveIsChecked")
|
||||
EgtZoom(ZM.ALL)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_Drip_IsChecked As Boolean
|
||||
Public Property Drip_IsChecked As Boolean
|
||||
Get
|
||||
Return m_Drip_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If m_SideAngle_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Then Return
|
||||
If m_SideAngle_IsChecked Or m_UnderDrill_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
|
||||
m_Drip_IsChecked = value
|
||||
If value Then
|
||||
' Messaggio di selezione contorno
|
||||
@@ -283,7 +331,7 @@ Public Class DxfImportWindowVM
|
||||
Return m_UnderDrill_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_FiloTop_IsChecked Then Return
|
||||
If m_SideAngle_IsChecked Or m_Drip_IsChecked Or m_FiloTop_IsChecked Or m_Engrave_IsChecked Then Return
|
||||
m_UnderDrill_IsChecked = value
|
||||
If value Then
|
||||
' Aggiungo regioni di selezione per percorsi interni
|
||||
@@ -493,6 +541,12 @@ Public Class DxfImportWindowVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EngraveMsg As String
|
||||
Get
|
||||
Return EgtMsg(90397)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DripMsg As String
|
||||
Get
|
||||
Return EgtMsg(MSG_IMPORTPAGEUC + 8)
|
||||
@@ -844,7 +898,7 @@ Public Class DxfImportWindowVM
|
||||
|
||||
Friend Sub SelectedPartChanged()
|
||||
' Se sono in modalità inclinazioni o gocciolatoio calcolo lati inclinabili e creo testi
|
||||
If SideAngle_IsChecked() Or Drip_IsChecked() Or FiloTop_IsChecked Then
|
||||
If SideAngle_IsChecked() Or Drip_IsChecked() Or FiloTop_IsChecked Or Engrave_IsChecked Then
|
||||
m_SideEntityControlVM.ReLoadSideAnglePage(SideEntityControlVM.CallingWindowOpt.DXFIMPORT)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.Security.Cryptography
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Friend Module CamAuto
|
||||
|
||||
@@ -25,9 +26,12 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Add")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91017), MSG_TYPE.WARNING)
|
||||
End If
|
||||
ResetOrderMachiningFlag()
|
||||
Return bOk
|
||||
@@ -43,9 +47,34 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJet")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
' versione CamAuto 2.6l1: gestione tagli con ridotto affondamento
|
||||
Friend Function AddWaterJetMachining(LocaList As List(Of Integer), ByRef nWarn As Integer) As Boolean
|
||||
EgtLuaCreateGlobTable("CAM")
|
||||
SetLuaStandardCamParams()
|
||||
For i As Integer = 0 To LocaList.Count - 1
|
||||
EgtLuaSetGlobIntVar("CAM.TAB_OPERID." & (i + 1).ToString, LocaList(i))
|
||||
Next
|
||||
Dim nErr As Integer = 999
|
||||
Dim bOk As Boolean = EgtLuaExecFile(m_sCamAutoDir & "\CamAuto.lua")
|
||||
bOk = bOk AndAlso EgtLuaGetGlobIntVar("CAM.ERR", nErr) AndAlso nErr = 0
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJets")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -59,9 +88,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Erase")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
ResetOrderMachiningFlag()
|
||||
Return bOk
|
||||
@@ -76,9 +107,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.InvertVerticalCut")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -89,6 +122,7 @@ Friend Module CamAuto
|
||||
End Function
|
||||
|
||||
Friend Function ResetAllMachinings(ByRef nWarn As Integer) As Boolean
|
||||
EgtOutLog(" ++ ReserAllMachining ++ ")
|
||||
' Cancello tutte le lavorazioni
|
||||
EraseMachinings(GDB_ID.NULL)
|
||||
' Reinserisco tutte le lavorazioni piane (non sono previste le lavorazioni delle cornici)
|
||||
@@ -273,9 +307,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.UpdateAllTp")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -289,9 +325,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Sort")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -306,9 +344,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.SpecApplyDisp")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
If ResetOrderMachiningFlag() Then
|
||||
ResetOrderMachiningFlag()
|
||||
@@ -451,6 +491,7 @@ Friend Module CamAuto
|
||||
Return EgtRemoveOperationHome(nId)
|
||||
End Function
|
||||
|
||||
' DA AGGIORNARE PER CAMBIO UTENSILE LAMA
|
||||
Friend Function VerifySetup(ByRef sMissingTools As String) As Boolean
|
||||
Dim bOk As Boolean = True
|
||||
Dim bIsMultiCut = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
||||
@@ -545,6 +586,7 @@ Friend Module CamAuto
|
||||
Dim dReducedDepth As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_REDUCEDDEPTH, 1, CurrentMachine.sMachIniFile)
|
||||
' Ciclo sulle lavorazioni
|
||||
Dim nOperId As Integer = EgtGetFirstOperation()
|
||||
Dim LocalListOperId As New List(Of Integer)
|
||||
While nOperId <> GDB_ID.NULL
|
||||
' verifico sia una lavorazione valida di taglio con lama
|
||||
If IsValidMachining(nOperId) And EgtGetOperationType(nOperId) = MCH_OY.SAWING Then
|
||||
@@ -559,12 +601,14 @@ Friend Module CamAuto
|
||||
' se abilitato e attivo waterjet, lo aggiungo per completare il taglio
|
||||
If CurrentMachine.WaterJettingActive Then
|
||||
Dim nWarn As Integer = 0
|
||||
AddWaterJetMachining(nOperId, nWarn)
|
||||
LocalListOperId.Add(nOperId)
|
||||
'AddWaterJetMachining(nOperId, nWarn)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
nOperId = EgtGetNextOperation(nOperId)
|
||||
End While
|
||||
If LocalListOperId.Count > 0 Then AddWaterJetMachining(LocalListOperId, 0)
|
||||
Return bModified
|
||||
End Function
|
||||
|
||||
@@ -859,6 +903,7 @@ Friend Module CamAuto
|
||||
Private Function SetLuaStandardCamParams(Optional bDripOk As Boolean = True) As Boolean
|
||||
Dim sMaterial As String = CurrentMachine.CurrMat.sName
|
||||
Dim sSawMch As String = CurrentMachine.sCurrSawing
|
||||
Dim sSawTiltedMch As String = CurrentMachine.sCurrSawingTilted
|
||||
Dim sMillMch As String = CurrentMachine.sCurrMilling
|
||||
Dim sDrillMch As String = CurrentMachine.sCurrDrilling
|
||||
Dim sWaterJetMch As String = CurrentMachine.sCurrWaterJetting
|
||||
@@ -876,6 +921,7 @@ Friend Module CamAuto
|
||||
Dim dMillingShort As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, CurrentMachine.sMachIniFile)
|
||||
EgtLuaSetGlobStringVar("CAM.MATERIAL", sMaterial)
|
||||
EgtLuaSetGlobStringVar("CAM.SAWMCH", sSawMch)
|
||||
EgtLuaSetGlobStringVar("CAM.SAWTILTEDMCH", sSawTiltedMch)
|
||||
EgtLuaSetGlobStringVar("CAM.MILLMCH", sMillMch)
|
||||
EgtLuaSetGlobStringVar("CAM.DRILLMCH", sDrillMch)
|
||||
EgtLuaSetGlobStringVar("CAM.WATERJETMCH", sWaterJetMch)
|
||||
@@ -896,24 +942,29 @@ Friend Module CamAuto
|
||||
Return True
|
||||
End Function
|
||||
|
||||
' ver. 2.7f1
|
||||
Friend Function GetTableCount() As Integer
|
||||
If EgtGetTableId(MAIN_TAB) = GDB_ID.NULL Then Return 0
|
||||
If EgtGetTableId(SECOND_TAB) = GDB_ID.NULL Then Return 1
|
||||
If EgtGetTableId(THIRD_TAB) = GDB_ID.NULL Then Return 2
|
||||
Return 3
|
||||
If EgtGetTableId(FORTH_TAB) = GDB_ID.NULL Then Return 3
|
||||
Return 4
|
||||
End Function
|
||||
|
||||
Friend Function GetTableName(nInd As Integer) As String
|
||||
If nInd = 1 Then Return MAIN_TAB
|
||||
If nInd = 2 Then Return SECOND_TAB
|
||||
If nInd = 3 Then Return THIRD_TAB
|
||||
If nInd = 4 Then Return FORTH_TAB
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Friend Function GetCurrentTable() As Integer
|
||||
Dim sTabName As String = MAIN_TAB
|
||||
EgtGetTableName(sTabName)
|
||||
If sTabName = THIRD_TAB Then
|
||||
If sTabName = FORTH_TAB Then
|
||||
Return 4
|
||||
ElseIf sTabName = THIRD_TAB Then
|
||||
Return 3
|
||||
ElseIf sTabName = SECOND_TAB Then
|
||||
Return 2
|
||||
@@ -1393,4 +1444,14 @@ Friend Module CamAuto
|
||||
Return EgtApplyMachining(False)
|
||||
End Function
|
||||
|
||||
Friend Function GetRegistrationRotation() As Double
|
||||
Dim dRegRot As Double = 0
|
||||
EgtGetInfo(GetCurrentRaw(), INFO_REGROT, dRegRot)
|
||||
Return dRegRot
|
||||
End Function
|
||||
|
||||
Friend Function SetRegistrationRotation(dRegRot As Double) As Boolean
|
||||
Return EgtSetInfo(GetCurrentRaw(), INFO_REGROT, dRegRot)
|
||||
End Function
|
||||
|
||||
End Module
|
||||
|
||||
@@ -48,6 +48,7 @@ Module ConstMach
|
||||
Public Const MAIN_TAB As String = "MainTab"
|
||||
Public Const SECOND_TAB As String = "2ndTab"
|
||||
Public Const THIRD_TAB As String = "3rdTab"
|
||||
Public Const FORTH_TAB As String = "4thTab"
|
||||
' Nome tavola ausiliaria per spostamento finale pezzi
|
||||
Public Const AUX_TAB As String = "AuxTab"
|
||||
|
||||
@@ -166,6 +167,7 @@ Module ConstMach
|
||||
' Info in entità da tagliare per affondamento
|
||||
Public Const INFO_DEPTH As String = "Depth"
|
||||
Public Const INFO_DEPTH2 As String = "Depth2"
|
||||
Public Const INFO_AGG2 As String = "Agg2"
|
||||
Public Const INFO_WIDTH As String = "Width"
|
||||
' Info in entità da tagliare per taglio ristretto
|
||||
Public Const INFO_STRICT As String = "Strict"
|
||||
|
||||
@@ -122,6 +122,7 @@
|
||||
Public Const K_TAB2_ADDITIONALTABLE As String = "Tab2AdditionalTable"
|
||||
Public Const K_TAB3_ADDITIONALTABLE As String = "Tab3AdditionalTable"
|
||||
Public Const K_CENTER_RAW_ONX As String = "CenterRawOnX"
|
||||
Public Const K_CHANGETABWD As String = "ChangeTabWD"
|
||||
|
||||
Public Const S_PHOTO As String = "Photo"
|
||||
Public Const K_PHOTO_OFFSETX As String = "OffsetX"
|
||||
@@ -240,6 +241,7 @@
|
||||
|
||||
Public Const S_MACH_MACH As String = "Mach"
|
||||
Public Const K_CURRSAW As String = "CurrSaw"
|
||||
Public Const K_CURRSAWTILTED As String = "CurrSawTilted"
|
||||
Public Const K_CURRDRILL As String = "CurrDrill"
|
||||
Public Const K_CURRMILL As String = "CurrMill"
|
||||
Public Const K_CURRMILLNOTIP As String = "CurrMillNoTip"
|
||||
@@ -247,6 +249,7 @@
|
||||
Public Const K_CURRDRIPDRILL As String = "CurrDripDrill"
|
||||
Public Const K_CURRWATERJET As String = "CurrWaterJet"
|
||||
Public Const K_CURRSAWING As String = "CurrSawing"
|
||||
Public Const K_CURRSAWINGTILTED As String = "CurrSawingTilted"
|
||||
Public Const K_CURRSAWING_OFFICE As String = "CurrOfficeSawing"
|
||||
Public Const K_CURRDRILLING As String = "CurrDrilling"
|
||||
Public Const K_CURRDRILLING_OFFICE As String = "CurrOfficeDrilling"
|
||||
|
||||
@@ -107,6 +107,7 @@ Public Module CurrentMachine
|
||||
|
||||
' Variabili che contengono il nome degli utensili disponibili per tipo
|
||||
Private m_sCurrSaw As String = String.Empty
|
||||
Private m_sCurrSawTilted As String = String.Empty
|
||||
Private m_sCurrDrill As String = String.Empty
|
||||
Private m_sCurrMill As String = String.Empty
|
||||
Private m_sCurrMillNoTip As String = String.Empty
|
||||
@@ -116,6 +117,7 @@ Public Module CurrentMachine
|
||||
|
||||
' Variabili che contengono le lavorazioni correntemente attive (utilizzate per definire lavorazioni nel programma)
|
||||
Private m_sCurrSawing As String = String.Empty
|
||||
Private m_sCurrSawingTilted As String = String.Empty
|
||||
Private m_sCurrDrilling As String = String.Empty
|
||||
Private m_sCurrMilling As String = String.Empty
|
||||
Private m_sCurrPocketing As String = String.Empty
|
||||
@@ -731,6 +733,18 @@ Friend Property sCurrMillNoTip As String
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Property sCurrSawingTilted As String
|
||||
Get
|
||||
Return m_sCurrSawingTilted
|
||||
End Get
|
||||
Set(value As String)
|
||||
If WritePrivateProfileString(S_MACH_MACH, K_CURRSAWINGTILTED, value, sMachIniFile) Then
|
||||
m_sCurrSawingTilted = value
|
||||
'm_MainWindow.m_CurrentProjectPageUC.MachiningTxBx.Text = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Property sCurrDrilling As String
|
||||
Get
|
||||
Return m_sCurrDrilling
|
||||
@@ -1270,6 +1284,13 @@ Friend Property sCurrMillNoTip As String
|
||||
' Leggo utensili correnti
|
||||
' lama
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRSAW, Nothing, m_sCurrSaw, sMachIniFile)
|
||||
' lama inclinata
|
||||
If m_nShowToolChanger = 4 Then
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRSAWTILTED, Nothing, m_sCurrSawTilted, sMachIniFile)
|
||||
Else
|
||||
' se non è configurato il cambio utensile e allora imposto l'unica lama disponibile per i tagli inclinati
|
||||
m_sCurrSawTilted = m_sCurrSaw
|
||||
End If
|
||||
' foretto
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRDRILL, Nothing, m_sCurrDrill, sMachIniFile)
|
||||
' fresa
|
||||
@@ -1286,6 +1307,8 @@ Friend Property sCurrMillNoTip As String
|
||||
' Leggo lavorazioni correnti
|
||||
' lama
|
||||
m_sCurrSawing = EstCalc.GetCurrSawing()
|
||||
' lama inlicnata
|
||||
m_sCurrSawingTilted = EstCalc.GetCurrSawingTilted()
|
||||
' foretto
|
||||
m_sCurrDrilling = EstCalc.GetCurrDrilling()
|
||||
' fresa
|
||||
|
||||
@@ -258,6 +258,14 @@ Module EstCalc
|
||||
Return sCurrSawing
|
||||
End Function
|
||||
|
||||
Friend Function GetCurrSawingTilted() As String
|
||||
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
|
||||
If nOperId = GDB_ID.NULL Then Return ""
|
||||
Dim sCurrSawing As String = String.Empty
|
||||
EgtGetInfo(nOperId, INFO_CURRSAWING, sCurrSawing)
|
||||
Return sCurrSawing
|
||||
End Function
|
||||
|
||||
Friend Function SetCurrMilling(sCurrMilling As String) As Boolean
|
||||
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
|
||||
If nOperId = GDB_ID.NULL Then Return False
|
||||
@@ -332,7 +340,7 @@ Module EstCalc
|
||||
Return (nFlag <> 0)
|
||||
End Function
|
||||
|
||||
Public Function AdjustAdditionalTable() As Boolean
|
||||
Public Function AdjustAdditionalTable(Optional bForced As Boolean = False) As Boolean
|
||||
' Recupero altezza sottotavola corrente
|
||||
Dim nFixtId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), MACH_FIXT_GROUP)
|
||||
Dim nAddTabId As Integer = EgtGetFirstNameInGroup(nFixtId, MACH_ADD_TABLE)
|
||||
@@ -343,18 +351,27 @@ Module EstCalc
|
||||
dCurrAddTab = b3AddTab.DimZ()
|
||||
End If
|
||||
' Se valore cambiato, aggiorno...
|
||||
Dim dDeltaZ As Double = dAdditionalTable - dCurrAddTab
|
||||
If Math.Abs(dDeltaZ) > EPS_SMALL Then
|
||||
Dim dDeltaZ As Double = CurrentMachine.dAdditionalTable - dCurrAddTab
|
||||
Dim bChanged As Boolean = (Math.Abs(dDeltaZ) > EPS_SMALL)
|
||||
If bChanged Or bForced Then
|
||||
Dim bOldEnMod As Boolean = EgtGetEnableModified()
|
||||
If Not bChanged AndAlso bOldEnMod Then EgtDisableModified()
|
||||
AddAdditionalTable()
|
||||
UpdateAllRawsZ(dDeltaZ)
|
||||
' !!! FOTO DA GESTIRE !!!
|
||||
'If GetPhoto() <> GDB_ID.NULL Then
|
||||
' UpdatePhoto()
|
||||
' UpdateContour()
|
||||
' If EgtGetRawPartCount() > 0 Then
|
||||
' ShowPhoto(False)
|
||||
' End If
|
||||
'End If
|
||||
If GetPhoto() <> GDB_ID.NULL Then
|
||||
UpdatePhoto()
|
||||
UpdateContour()
|
||||
If EgtGetRawPartCount() > 0 Then
|
||||
ShowPhoto(False)
|
||||
Dim nRawGrpId As Integer = EgtGetFirstRawPart()
|
||||
While nRawGrpId <> GDB_ID.NULL
|
||||
Dim nRawSolidId As Integer = EgtGetFirstNameInGroup(nRawGrpId, NAME_RAW_SOLID)
|
||||
If nRawSolidId <> GDB_ID.NULL Then EgtSetTextureName(nRawSolidId, PHOTO_NAME)
|
||||
nRawGrpId = EgtGetNextRawPart(nRawGrpId)
|
||||
End While
|
||||
End If
|
||||
End If
|
||||
If Not bChanged AndAlso bOldEnMod Then EgtEnableModified()
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
@@ -726,49 +743,65 @@ Module EstCalc
|
||||
nLayId = EgtGetNextName(nLayId, NAME_INLOOP)
|
||||
End While
|
||||
' Aggiorno le entità con tallone e quelle con angolo esterno
|
||||
Const AGG_DEPTH As Double = 2.0
|
||||
Const AGG_DEPTH As Double = 0.75
|
||||
Dim bSizeOnTop As Boolean = (GetMainPrivateProfileInt(S_SIDES, K_SIZEALWAYSONTOP, 0) <> 0)
|
||||
For Each nEnt As Integer In vEnt
|
||||
' Se aggiornamento vietato, vado oltre
|
||||
If EgtExistsInfo( nEnt, INFO_SIDE_FIXED) Then continue for
|
||||
If EgtExistsInfo(nEnt, INFO_SIDE_FIXED) Then Continue For
|
||||
' Recupero eventuali tallone ed angolo originale
|
||||
Dim dHeel As Double = 0
|
||||
Dim dSideAng As Double = 0
|
||||
EgtGetInfo(nEnt, INFO_HEEL, dHeel)
|
||||
EgtGetInfo(nEnt, INFO_ORIG_SIDE_ANGLE, dSideAng)
|
||||
' Se inclinazione con tallone
|
||||
If Math.Abs(dSideAng) > EPS_ANG_SMALL And dHeel > 10 * EPS_SMALL Then
|
||||
' Angolo esterno
|
||||
' Inclinazione esterna
|
||||
If dSideAng > 0 Then
|
||||
' Se tallone inferiore a spessore
|
||||
If dHeel < dTh - 10 * EPS_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, dSideAng)
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
If Not bSizeOnTop Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, 0)
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, (dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, 0)
|
||||
End If
|
||||
EgtSetInfo(nEnt, INFO_DEPTH2, (dTh - dHeel) + AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
|
||||
EgtRemoveInfo(nEnt, INFO_OFFSET2)
|
||||
EgtRemoveInfo(nEnt, INFO_DEPTH2)
|
||||
EgtRemoveInfo(nEnt, INFO_AGG2)
|
||||
End If
|
||||
' Angolo interno
|
||||
' Inclinazione interna
|
||||
Else
|
||||
' Se tallone inferiore a spessore
|
||||
If dHeel < dTh - 10 * EPS_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, dHeel * Math.Tan(-dSideAng * Math.PI / 180))
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_DEPTH2, dHeel + AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtRemoveInfo(nEnt, INFO_OFFSET)
|
||||
EgtRemoveInfo(nEnt, INFO_SIDE_ANGLE2)
|
||||
EgtRemoveInfo(nEnt, INFO_DEPTH2)
|
||||
EgtRemoveInfo(nEnt, INFO_AGG2)
|
||||
End If
|
||||
End If
|
||||
' Se altrimenti inclinazione esterna
|
||||
' Se altrimenti inclinazione esterna
|
||||
ElseIf dSideAng > EPS_ANG_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
|
||||
If Not bSizeOnTop Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, 0)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Return True
|
||||
@@ -990,8 +1023,22 @@ Module EstCalc
|
||||
Const STORE_DIST As Double = 200
|
||||
' 40 il Font usato per indicare il numero di pezzi in parcheggio "# N"
|
||||
Const STORE_OFFS As Double = 20 + 40 + 20
|
||||
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (STORE_LARGH - b3Tab.DimX())
|
||||
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + STORE_LARGH, b3Tab.Min().y - STORE_DIST, STORE_OFFS, False)
|
||||
Dim dStoreLarg As Double = GetPrivateProfileDouble("Store", "StoreLargh", STORE_LARGH, CurrentMachine.sMachIniFile)
|
||||
Dim dStoreDist As Double = GetPrivateProfileDouble("Store", "StoreDist", STORE_DIST, CurrentMachine.sMachIniFile)
|
||||
Dim dStoreOffs As Double = GetPrivateProfileDouble("Store", "StoreOffs", STORE_OFFS, CurrentMachine.sMachIniFile)
|
||||
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (dStoreLarg - b3Tab.DimX())
|
||||
|
||||
' Verifico che il pezzo ha una posizione salvata
|
||||
Dim ptCenter As Point3d
|
||||
If EgtGetInfo(nId, "PosInPark", ptCenter) Then
|
||||
Dim ptCurrPos As Point3d
|
||||
EgtCenterPoint(nId, GDB_ID.ROOT, ptCurrPos)
|
||||
Dim vt As New Vector3d(ptCenter - ptCurrPos)
|
||||
EgtMove(nId, vt, GDB_RT.GLOB)
|
||||
Return True
|
||||
End If
|
||||
|
||||
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + dStoreLarg, b3Tab.Min().y - dStoreDist, dStoreOffs, False)
|
||||
End Function
|
||||
|
||||
Friend Function VerifyPartsNesting(bReducedCut As Boolean) As Boolean
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Window x:Class="VeinMatchingWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Height="500" Width="500" ShowInTaskbar="False" Initialized="Window_Initialized" MinWidth="300" MinHeight="300">
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Height="500" Width="500" ShowInTaskbar="False" Initialized="Window_Initialized" MinWidth="300" MinHeight="300">
|
||||
|
||||
<Grid Name="VeinMatchingGrid" Background="{StaticResource Omag_Gray}">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -11,21 +11,16 @@
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<ToggleButton Name="ShowTextBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="ShowText"/>
|
||||
Margin="0,5,0,0"/>
|
||||
<ToggleButton Name="EditBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Edit"/>
|
||||
Margin="0,5,0,0"/>
|
||||
<ToggleButton Name="VerifyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Verify"/>
|
||||
Margin="0,5,0,0"/>
|
||||
<ToggleButton Name="MagneticBtn" Height="40" Width="80"
|
||||
Visibility="Collapsed"
|
||||
Margin="0,5,0,0"
|
||||
Content="Magnetic"/>
|
||||
Margin="0,5,0,0"/>
|
||||
<Button Name="ExportBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Export"/>
|
||||
Margin="0,5,0,0"/>
|
||||
<Button Name="AssemblyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="3D"/>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
Imports System.IO
|
||||
Imports System.Windows.Interop
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Runtime.InteropServices
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports OmagOFFICE.VeinMatchingWindow
|
||||
@@ -51,11 +50,11 @@ Public Class VeinMatchingWindow
|
||||
' Per non farla visualizzare alla creazione
|
||||
Me.Left = 32000
|
||||
' Assegno messaggi
|
||||
ExportBtn.Content = EgtMsg(MSG_VEINMATCHING + 1) ' Esporta
|
||||
ShowTextBtn.Content = EgtMsg(MSG_VEINMATCHING + 2) ' Mostra Info
|
||||
EditBtn.Content = EgtMsg(MSG_VEINMATCHING + 3) ' Modifica
|
||||
VerifyBtn.Content = EgtMsg(MSG_VEINMATCHING + 4) ' Verifica
|
||||
MagneticBtn.Content = EgtMsg(MSG_VEINMATCHING + 5) ' Magnetico
|
||||
ExportBtn.Content = EgtMsg(91601) ' Esporta
|
||||
ShowTextBtn.Content = EgtMsg(91609) ' Mostra Info
|
||||
EditBtn.Content = EgtMsg(91610) ' Modifica
|
||||
VerifyBtn.Content = EgtMsg(91611) ' Verifica
|
||||
MagneticBtn.Content = EgtMsg(91612) ' Magnetico
|
||||
End Sub
|
||||
|
||||
Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
|
||||
@@ -78,7 +78,7 @@ Public Class PrintPanelVM
|
||||
tmpImg.Stretch = Stretch.Uniform
|
||||
tmpImg.EndInit()
|
||||
' eseguo la stampa
|
||||
printDlg.PrintVisual(tmpImg, "Parts Layout")
|
||||
printDlg.PrintVisual(tmpImg, EgtMsg(91688)) ' Parts Layout
|
||||
Catch
|
||||
' Rrror in executing print
|
||||
EgtOutLog(EgtMsg(50182))
|
||||
|
||||
@@ -576,13 +576,13 @@ Public Class MachOptionWindowVM
|
||||
|
||||
Public ReadOnly Property OkMsg As String
|
||||
Get
|
||||
Return "Ok"
|
||||
Return EgtMsg(91651) ' Ok
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CancelMsg As String
|
||||
Get
|
||||
Return "Cancel"
|
||||
Return EgtMsg(91652) ' Cancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -105,7 +105,7 @@ Public Class MyMachinePanelVM
|
||||
' procedo ad inizializzare la classe → carico la lista "MachineList" che visualizzo per l'inserimento di nuovi MachGroup
|
||||
Machine.MachineListInit(sMchRoots, MachineList)
|
||||
' Inizializzo valori visibilità parametri Db utensili e lavorazioni
|
||||
OmagOFFICETMDbParamVisibility.Init()
|
||||
' OmagOFFICETMDbParamVisibility.Init()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
|
||||
@@ -219,12 +219,17 @@ Public Class MainWindowM
|
||||
EgtUILib.GetPrivateProfileString( S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
|
||||
EgtSetNestKey( sNestKey)
|
||||
Dim bNetHwKey As Boolean = ( GetMainPrivateProfileInt(S_GENERAL, K_NETKEY, 0) = 1)
|
||||
EgtSetNetHwKey( bNetHwKey)
|
||||
EgtSetNetHwKey(bNetHwKey)
|
||||
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
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace( sNestKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2602, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2602, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2707, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2707, 1, m_nKeyOptions)
|
||||
' Verifico abilitazione prodotto
|
||||
Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
@@ -286,7 +291,7 @@ Public Class MainWindowM
|
||||
' Leggo nome cartella delle foto
|
||||
GetMainPrivateProfileString(S_GENERAL, K_PHOTODIR, sDataRoot & "\Data", m_sPhotoDir)
|
||||
' Creo connessione al Db
|
||||
If m_SlabDB And Not ManageDb.ConnectToDb(m_sPhotoDir & "\" & DB_FILENAME) Then
|
||||
If m_SlabDB AndAlso Not ManageDb.ConnectToDb(m_sPhotoDir & "\" & DB_FILENAME) Then
|
||||
EgtOutLog("Error connecting to DB")
|
||||
MessageBox.Show(EgtMsg(92000 + 1), EgtMsg(MSG_EGTMSGBOX + 15), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
m_SlabDB = False
|
||||
@@ -294,6 +299,7 @@ Public Class MainWindowM
|
||||
' Info su opzioni chiave
|
||||
EgtOutLog("KeyOptions : " & bKey.ToString() & " " & m_nKeyOptions.ToString() & " " & bProd.ToString())
|
||||
EgtPHOTOLib.MainData.SetConfigDir(m_sConfigDir)
|
||||
EgtPHOTOLib.MainData.SetDebugLevel(m_nDebug)
|
||||
EgtPHOTOLib.MainData.SetKeyLevel(m_nKeyLevel)
|
||||
EgtPHOTOLib.MainData.SetKeyOptions(CInt(m_nKeyOptions))
|
||||
EgtPHOTOLib.MainData.SetPhotoDir(m_sPhotoDir)
|
||||
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("OmagOFFICE")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2017-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2017-2025 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
'In order to begin building localizable applications, set
|
||||
@@ -69,6 +69,6 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.2.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.2.1")>
|
||||
<Assembly: AssemblyVersion("2.7.7.1")>
|
||||
<Assembly: AssemblyFileVersion("2.7.7.1")>
|
||||
|
||||
|
||||
@@ -351,11 +351,11 @@ Public Class MyMachGroup
|
||||
If Not EgtGetInfo(Id, INFO_SLABHEIGHT, dSlabHeight) Then dSlabHeight = 0
|
||||
Dim sCurrSawing As String = String.Empty
|
||||
If Not EgtGetInfo(m_nOpersGroupId, INFO_CURRSAWING, sCurrSawing) Then sCurrSawing = "---"
|
||||
Return "Name: " & sSlabName & Environment.NewLine &
|
||||
"Material: " & sMaterial & Environment.NewLine &
|
||||
"Thickness: " & LenToString(dSlabHeight, 3) & Environment.NewLine &
|
||||
"Sawing: " & sCurrSawing & Environment.NewLine &
|
||||
"Machine: " & Machine
|
||||
Return EgtMsg(91683) & sSlabName & Environment.NewLine & ' Name:
|
||||
EgtMsg(91684) & sMaterial & Environment.NewLine & ' Material:
|
||||
EgtMsg(91685) & LenToString(dSlabHeight, 3) & Environment.NewLine & ' Thickness:
|
||||
EgtMsg(91686) & sCurrSawing & Environment.NewLine & ' Sawing:
|
||||
EgtMsg(91687) & Machine ' Machine:
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>
|
||||
<!--<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Invert">0</sys:Int32>
|
||||
|
||||
@@ -47,12 +47,27 @@ Public Class MySceneHostVM
|
||||
' Problemi
|
||||
' Se manca la chiave
|
||||
If OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -1 Or OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -2 Then
|
||||
EgtOutLog("Missing Dongle")
|
||||
' 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 sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||
If Not EgtGetNetHwKey() Then
|
||||
EgtOutLog("Missing Dongle")
|
||||
' Box di avviso chiave mancante : "Chiave non presente. \nInserirla e riavviare il programma." "Errore"
|
||||
Dim sText As String = EgtMsg(10102) & vbCrLf & EgtMsg(10103)
|
||||
Dim sTitle As String = EgtMsg(10101)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
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)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
' Se altrimenti manca il collegamento con la chiave di rete
|
||||
ElseIf OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -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)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' Altrimenti manca la licenza
|
||||
' Altrimenti manca la licenza
|
||||
Else
|
||||
EgtOutLog("Problems with Licence")
|
||||
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
|
||||
@@ -87,12 +102,14 @@ Public Class MySceneHostVM
|
||||
|
||||
Public Overrides Sub InitSceneEvents()
|
||||
AddHandler MainScene.OnMouseDownScene, AddressOf OnMouseDownScene
|
||||
'AddHandler OnMouseDownScene_DoubleClick_1, AddressOf OnMouseDownScene_DoubleClick
|
||||
AddHandler MainScene.OnMouseMoveScene, AddressOf OnMouseMoveScene
|
||||
AddHandler MainScene.OnMouseUpScene, AddressOf OnMouseUpScene
|
||||
AddHandler MainScene.KeyDown, AddressOf OnKeyDownScene
|
||||
AddHandler MainScene.OnCursorPos, AddressOf OnCursorPos
|
||||
AddHandler MainScene.OnShowDistance, AddressOf OnShowDistance
|
||||
AddHandler MainScene.OnChangedSnapPointType, AddressOf OnChangedSnapPointType
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PreInitializeScene()
|
||||
@@ -719,6 +736,8 @@ Public Class MySceneHostVM
|
||||
End Sub
|
||||
|
||||
Private Sub OnSavingProject(ByVal sender As Object, sFile As String)
|
||||
' Salvo le info del progetto
|
||||
TopCommandBarVM.SetInfoProj(sFile)
|
||||
' Recupero tutti i file di texture associabili ai gruppi di lavoro del progetto
|
||||
Dim sDirToSearch As String = Path.GetDirectoryName(sFile)
|
||||
Dim sFileToSearch As String = Path.GetFileNameWithoutExtension(sFile) & "." & PHOTO_NAME & "*"
|
||||
@@ -792,6 +811,13 @@ Public Class MySceneHostVM
|
||||
Private Sub OnMouseDownScene(sender As Object, e As Windows.Forms.MouseEventArgs)
|
||||
' Si può selezionare solo con il tasto sinistro e se stato NULL
|
||||
If e.Button <> Windows.Forms.MouseButtons.Left Or Not MainScene.IsStatusNull() Then Return
|
||||
If e.Clicks > 1 Then
|
||||
Select Case OmagOFFICEMap.refOptionPanelVM.SelItem
|
||||
Case OptionPanelVM.Tabs.MACHINING
|
||||
OmagOFFICEMap.refMachiningTabVM.OnMouseDownScene_DoubleClick(sender, e)
|
||||
Case OptionPanelVM.Tabs.SIMUL
|
||||
End Select
|
||||
End If
|
||||
' Chiamo l'opportuno gestore
|
||||
Select Case OmagOFFICEMap.refOptionPanelVM.SelItem
|
||||
Case OptionPanelVM.Tabs.RAWPART
|
||||
|
||||
@@ -1,165 +1,165 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="MyToolDbWindowV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding Title}"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||
CloseCommand="{Binding CloseToolsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
|
||||
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
Height="900">
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding ReloadToolCommand}"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="{Binding Title}"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||
CloseCommand="{Binding CloseToolsDbCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
|
||||
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
Height="900">
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding ReloadToolCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem,ElementName=ToolsTreeView}"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>
|
||||
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Corr">0</sys:Int32>
|
||||
<sys:Int32 x:Key="ExitPar">1</sys:Int32>
|
||||
<sys:Int32 x:Key="Coolant">2</sys:Int32>
|
||||
<sys:Int32 x:Key="CornRad">3</sys:Int32>
|
||||
<sys:Int32 x:Key="Diam">4</sys:Int32>
|
||||
<sys:Int32 x:Key="TotDiam">5</sys:Int32>
|
||||
<sys:Int32 x:Key="Feed">6</sys:Int32>
|
||||
<sys:Int32 x:Key="EndFeed">7</sys:Int32>
|
||||
<sys:Int32 x:Key="StartFeed">8</sys:Int32>
|
||||
<sys:Int32 x:Key="TipFeed">9</sys:Int32>
|
||||
<sys:Int32 x:Key="Len">10</sys:Int32>
|
||||
<sys:Int32 x:Key="TotLen">11</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxMat">12</sys:Int32>
|
||||
<sys:Int32 x:Key="LonOffset">13</sys:Int32>
|
||||
<sys:Int32 x:Key="RadOffset">14</sys:Int32>
|
||||
<sys:Int32 x:Key="Speed">15</sys:Int32>
|
||||
<sys:Int32 x:Key="SideAng">16</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxSpeed">17</sys:Int32>
|
||||
<sys:Int32 x:Key="Thick">18</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxAbsorption">19</sys:Int32>
|
||||
<sys:Int32 x:Key="MinFeed">20</sys:Int32>
|
||||
<sys:Int32 x:Key="Draw">21</sys:Int32>
|
||||
<sys:Int32 x:Key="Head">22</sys:Int32>
|
||||
<sys:Int32 x:Key="NamePar">23</sys:Int32>
|
||||
<sys:Int32 x:Key="UserNotes">24</sys:Int32>
|
||||
<sys:Int32 x:Key="TcPos">25</sys:Int32>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<!--<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Corr">0</sys:Int32>
|
||||
<sys:Int32 x:Key="ExitPar">1</sys:Int32>
|
||||
<sys:Int32 x:Key="Coolant">2</sys:Int32>
|
||||
<sys:Int32 x:Key="CornRad">3</sys:Int32>
|
||||
<sys:Int32 x:Key="Diam">4</sys:Int32>
|
||||
<sys:Int32 x:Key="TotDiam">5</sys:Int32>
|
||||
<sys:Int32 x:Key="Feed">6</sys:Int32>
|
||||
<sys:Int32 x:Key="EndFeed">7</sys:Int32>
|
||||
<sys:Int32 x:Key="StartFeed">8</sys:Int32>
|
||||
<sys:Int32 x:Key="TipFeed">9</sys:Int32>
|
||||
<sys:Int32 x:Key="Len">10</sys:Int32>
|
||||
<sys:Int32 x:Key="TotLen">11</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxMat">12</sys:Int32>
|
||||
<sys:Int32 x:Key="LonOffset">13</sys:Int32>
|
||||
<sys:Int32 x:Key="RadOffset">14</sys:Int32>
|
||||
<sys:Int32 x:Key="Speed">15</sys:Int32>
|
||||
<sys:Int32 x:Key="SideAng">16</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxSpeed">17</sys:Int32>
|
||||
<sys:Int32 x:Key="Thick">18</sys:Int32>
|
||||
<sys:Int32 x:Key="MaxAbsorption">19</sys:Int32>
|
||||
<sys:Int32 x:Key="MinFeed">20</sys:Int32>
|
||||
<sys:Int32 x:Key="Draw">21</sys:Int32>
|
||||
<sys:Int32 x:Key="Head">22</sys:Int32>
|
||||
<sys:Int32 x:Key="NamePar">23</sys:Int32>
|
||||
<sys:Int32 x:Key="UserNotes">24</sys:Int32>
|
||||
<sys:Int32 x:Key="TcPos">25</sys:Int32>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.95*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.95*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Grid Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.75*"/>
|
||||
<RowDefinition Height="12*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid Background="Transparent">
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.75*"/>
|
||||
<RowDefinition Height="12*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<UniformGrid Grid.Row="0" Columns="8">
|
||||
<Button ToolTip="New" Command="{Binding NewCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Save" Command="{Binding SaveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<UniformGrid Grid.Row="0" Columns="8">
|
||||
<Button ToolTip="New" Command="{Binding NewCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Save" Command="{Binding SaveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=ToolsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
|
||||
<Button ToolTip="Import" Command="{Binding ImportCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Export" Command="{Binding ExportCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Reset" Command="{Binding ReloadToolCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
<Button ToolTip="Import" Command="{Binding ImportCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Export" Command="{Binding ExportCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Reset" Command="{Binding ReloadToolCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
<!--Elenco degli utensili-->
|
||||
<TreeView Name="ToolsTreeView" Grid.Row="1"
|
||||
Background="Transparent" BorderThickness="0"
|
||||
ItemsSource="{Binding ToolsList}">
|
||||
<TreeView.ItemContainerStyle>
|
||||
<!--Elenco degli utensili-->
|
||||
<TreeView Name="ToolsTreeView" Grid.Row="1"
|
||||
Background="Transparent" BorderThickness="0"
|
||||
ItemsSource="{Binding ToolsList}">
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource Db_TreeViewItem}">
|
||||
<Setter Property="FontSize" Value="10" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
<Setter Property="FontSize" Value="10" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
<Setter Property="IsEnabled" Value="{Binding IsEnabled, Mode=TwoWay}" />
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyToolTreeViewItem}" ItemsSource="{Binding Items}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyToolTreeViewItem}" ItemsSource="{Binding Items}">
|
||||
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
|
||||
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" />
|
||||
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="5,0,10,0" VerticalAlignment="Center" HorizontalAlignment="left" />
|
||||
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding FamilyColor}" />
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
</HierarchicalDataTemplate>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:ToolTreeViewItem}">
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:ToolTreeViewItem}">
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
|
||||
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="21" FontSize="13" Margin="30,0,10,0"
|
||||
VerticalAlignment="Center" HorizontalAlignment="left"/>
|
||||
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
|
||||
<!--<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Margin="0,8,6,4" />-->
|
||||
<TextBlock Grid.Column="1" Text="{Binding NamePar}" Height="21" FontSize="13" Margin="30,0,10,0"
|
||||
VerticalAlignment="Center" HorizontalAlignment="left"/>
|
||||
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
</DataTemplate>
|
||||
</DataTemplate>
|
||||
|
||||
</TreeView.Resources>
|
||||
</TreeView.Resources>
|
||||
|
||||
</TreeView>
|
||||
</TreeView>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<ContentControl Content="{Binding Path=ParamPageV}" Grid.Column="1"/>
|
||||
<ContentControl Content="{Binding Path=ParamPageV}" Grid.Column="1"/>
|
||||
|
||||
<!--ContentControl che ospita la scena restituita sotto forma di WindowsFormsHost-->
|
||||
<ContentControl Content="{Binding ToolSceneHost}" Grid.Column="2"/>
|
||||
<!--ContentControl che ospita la scena restituita sotto forma di WindowsFormsHost-->
|
||||
<ContentControl Content="{Binding ToolSceneHost}" Grid.Column="2"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
|
||||
@@ -116,6 +116,15 @@
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn>
|
||||
<!--Flux-->
|
||||
<DataGridTextColumn Binding="{Binding Flux}"
|
||||
Width="*">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.Flux_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn>
|
||||
<!--Q1-->
|
||||
<DataGridTextColumn Binding="{Binding Q1}"
|
||||
Width="*">
|
||||
|
||||
@@ -135,11 +135,13 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtUILib">
|
||||
<HintPath>..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
|
||||
<Reference Include="EgtUILib, Version=2.7.5.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\OmagOFFICE\EgtUILib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtWPFLib5">
|
||||
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
|
||||
<Reference Include="EgtWPFLib5, Version=2.7.4.1, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\OmagOFFICE\EgtWPFLib5.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationFramework.Aero" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -291,6 +293,10 @@
|
||||
<DependentUpon>SplitModeV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionPanel\MachiningTab\SplitModeVM.vb" />
|
||||
<Compile Include="OptionPanel\NestingTab\ChangeTableV.xaml.vb">
|
||||
<DependentUpon>ChangeTableV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionPanel\NestingTab\ChangeTableVM.vb" />
|
||||
<Compile Include="OptionPanel\NestingTab\MultiSelectionV.xaml.vb">
|
||||
<DependentUpon>MultiSelectionV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -497,6 +503,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="OptionPanel\NestingTab\ChangeTableV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="OptionPanel\NestingTab\MultiSelectionV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -963,6 +973,29 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\DB-WJ.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DetailPage\Cancel.png" />
|
||||
<Resource Include="Resources\DetailPage\Confirm.png" />
|
||||
<Resource Include="Resources\DetailPage\Elimina.png" />
|
||||
<Resource Include="Resources\DetailPage\Pencil.png" />
|
||||
<Resource Include="Resources\DetailPage\Photo.png" />
|
||||
<Resource Include="Resources\DetailPage\Polygon.png" />
|
||||
<Resource Include="Resources\DetailPage\Print.png" />
|
||||
<Resource Include="Resources\DetailPage\Reset.png" />
|
||||
<Resource Include="Resources\DetailPage\Rubber.png" />
|
||||
<Resource Include="Resources\DetailPage\Save.png" />
|
||||
<Resource Include="Resources\DetailPage\ZoomAll.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\LightArrowOff.png" />
|
||||
<Resource Include="Resources\NewIcons\LightArrowOn.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\table.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\tableS.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagOFFICE\OmagOFFICER32.exe
|
||||
|
||||
@@ -334,6 +334,12 @@ Public Class MachiningTabVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub OnMouseDownScene_DoubleClick(sender As Object, e As Windows.Forms.MouseEventArgs)
|
||||
If m_MachiningMode = MachiningModeOpt.SPLIT Then
|
||||
OmagOFFICEMap.refSplitModeVM.OnMouseDownScene_DoubleClick(sender, e)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' EVENTS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -749,7 +749,7 @@ Public Class MoveRawModeVM
|
||||
If VerifyCollisionWithOtherRawPart(nId) Then
|
||||
' mantengo la selezione del pezzo
|
||||
EgtSetStatus(nId, GDB_ST.SEL)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
|
||||
Else
|
||||
' Se con ventose, le nascondo
|
||||
If Not OmagOFFICEMap.refMachiningTabVM.ByHand Then EgtSetStatus(GetVacuumId(), GDB_ST.OFF)
|
||||
@@ -761,7 +761,7 @@ Public Class MoveRawModeVM
|
||||
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
|
||||
' mantengo la selezione del pezzo
|
||||
EgtSetStatus(m_CurrRawOnVacuum, GDB_ST.SEL)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
|
||||
EgtDraw()
|
||||
' esco dal ciclo, prima devo depositare correttamente il pezzo
|
||||
Exit While
|
||||
@@ -819,7 +819,7 @@ Public Class MoveRawModeVM
|
||||
If VerifyCollisionWithOtherRawPart(m_CurrRawOnVacuum) Then
|
||||
' mantengo la selezione del pezzo
|
||||
EgtSetStatus(m_CurrRawOnVacuum, GDB_ST.SEL)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage("Collisione pezzi", 3, MSG_TYPE.ERROR_)
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91231), 3, MSG_TYPE.ERROR_) ' Collisione pezzi
|
||||
EgtDraw()
|
||||
End If
|
||||
|
||||
|
||||
@@ -21,8 +21,12 @@
|
||||
<Image Margin="1" Height="20" Width="20"
|
||||
Source="{Binding SourceImg}">
|
||||
</Image>
|
||||
<TextBlock Margin="1" Text="{Binding Name}">
|
||||
</TextBlock>
|
||||
<TextBlock Margin="1" Text="{Binding Name}"/>
|
||||
<StackPanel.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick"
|
||||
Command="{Binding Path=DataContext.OnOffCommand,
|
||||
RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor }}"/>
|
||||
</StackPanel.InputBindings>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
@@ -40,6 +44,7 @@
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
@@ -47,21 +52,27 @@
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,2.5">
|
||||
|
||||
<Button Grid.Column="1"
|
||||
<Button
|
||||
IsEnabled="{Binding bEnabledCommandMove}"
|
||||
Style="{StaticResource OptionPanel_Button}"
|
||||
Command="{Binding MoveUpCommand}"
|
||||
Margin="0,0,0.5,0">
|
||||
<Image Source="/Resources/NestingTab/UpArrow.png"/>
|
||||
</Button>
|
||||
<Button Grid.Column="2"
|
||||
<Button
|
||||
IsEnabled="{Binding bEnabledCommandMove}"
|
||||
Style="{StaticResource OptionPanel_Button}"
|
||||
Command="{Binding MoveDownCommand}"
|
||||
Margin="0.5,0,0,0">
|
||||
<Image Source="/Resources/NestingTab/DownArrow.png"/>
|
||||
</Button>
|
||||
|
||||
<ToggleButton ToolTip="{Binding LayNbArrTgBtnMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding LayNbArrTgBtn_IsChecked}"
|
||||
Height="20" Width="20"
|
||||
Margin="10,0,1,0">
|
||||
<Image Source="{Binding LayNbArrTgBtnImg}"/>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
@@ -504,7 +515,7 @@
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
@@ -552,7 +563,7 @@
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
|
||||
@@ -355,6 +355,33 @@ Public Class SplitModeVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_LayNbArrTgBtn_IsChecked As Boolean = False
|
||||
Public Property LayNbArrTgBtn_IsChecked As Boolean
|
||||
Get
|
||||
Return m_LayNbArrTgBtn_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' imposto il valore della bottone, dell'icona e del messaggio
|
||||
SetLayNbArrTgBtn_IsChecked(value)
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_SHOWNBARROW, If(m_LayNbArrTgBtn_IsChecked, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub SetLayNbArrTgBtn_IsChecked(value As Boolean)
|
||||
m_LayNbArrTgBtn_IsChecked = value
|
||||
If value Then
|
||||
StatusOffNumbArrow(GDB_ST.ON_)
|
||||
m_LayNbArrTgBtnMsg = EgtMsg(91218) ' Hide
|
||||
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOn.png"
|
||||
Else
|
||||
StatusOffNumbArrow(GDB_ST.OFF)
|
||||
m_LayNbArrTgBtnMsg = EgtMsg(91219) ' Show
|
||||
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOff.png"
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(LayNbArrTgBtnMsg))
|
||||
NotifyPropertyChanged(NameOf(LayNbArrTgBtnImg))
|
||||
End Sub
|
||||
|
||||
#Region "SPLIT CUT"
|
||||
|
||||
Private m_CreateCut_IsChecked As Boolean
|
||||
@@ -583,6 +610,20 @@ Public Class SplitModeVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Property m_LayNbArrTgBtnMsg As String = "Show"
|
||||
Public ReadOnly Property LayNbArrTgBtnMsg As String
|
||||
Get
|
||||
Return m_LayNbArrTgBtnMsg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Property m_LayNbArrTgBtnImg As String = "/Resources/NewIcons/LightArrowOn.png"
|
||||
Public ReadOnly Property LayNbArrTgBtnImg As String
|
||||
Get
|
||||
Return m_LayNbArrTgBtnImg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
|
||||
' Definizione comandi
|
||||
@@ -615,6 +656,8 @@ Public Class SplitModeVM
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in OmagOFFICEMap
|
||||
OmagOFFICEMap.SetRefSplitModeVM(Me)
|
||||
' leggo la configurazione
|
||||
SetLayNbArrTgBtn_IsChecked((GetMainPrivateProfileInt(S_GENERAL, K_SHOWNBARROW, 1) <> 0))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
@@ -776,7 +819,7 @@ Public Class SplitModeVM
|
||||
End Sub
|
||||
|
||||
Private Sub AddTopText(ByRef sName As String)
|
||||
sName &= " Top"
|
||||
sName &= EgtMsg(91217) ' Top
|
||||
End Sub
|
||||
|
||||
Private Sub RemovePauseText(ByRef sName As String)
|
||||
@@ -1163,6 +1206,11 @@ Public Class SplitModeVM
|
||||
' Aggiungo a numero info con identificativo della lavorazione e viceversa
|
||||
EgtSetInfo(nNbrId, "MId", m_MachiningList(nI).m_nId)
|
||||
EgtSetInfo(m_MachiningList(nI).m_nId, "NbrId", nNbrId)
|
||||
If Not m_LayNbArrTgBtn_IsChecked Then
|
||||
EgtSetStatus(nNbrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nNbrId, GDB_ST.ON_)
|
||||
End If
|
||||
End If
|
||||
' Se taglio con lama, metto la direzione accanto al numero
|
||||
If m_MachiningList(nI).m_nType = MCH_OY.SAWING Then
|
||||
@@ -1174,6 +1222,11 @@ Public Class SplitModeVM
|
||||
' Aggiungo a freccia info con identificativo della lavorazione e viceversa
|
||||
EgtSetInfo(nArrId, "MId", m_MachiningList(nI).m_nId)
|
||||
EgtSetInfo(m_MachiningList(nI).m_nId, "ArrId", nArrId)
|
||||
If Not m_LayNbArrTgBtn_IsChecked Then
|
||||
EgtSetStatus(nArrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nArrId, GDB_ST.ON_)
|
||||
End If
|
||||
Else
|
||||
m_MachiningList(nI).m_nArrId = GDB_ID.NULL
|
||||
End If
|
||||
@@ -1290,6 +1343,13 @@ Public Class SplitModeVM
|
||||
EgtResetMark(nNbrId)
|
||||
EgtResetMark(nArrId)
|
||||
End If
|
||||
If Not m_LayNbArrTgBtn_IsChecked And Not bMark Then
|
||||
EgtSetStatus(nNbrId, GDB_ST.OFF)
|
||||
EgtSetStatus(nArrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nNbrId, GDB_ST.ON_)
|
||||
EgtSetStatus(nArrId, GDB_ST.ON_)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ColorNumberArrow(nI As Integer)
|
||||
@@ -2265,7 +2325,7 @@ Public Class SplitModeVM
|
||||
If bFirstInd Then
|
||||
Dim ModifStartWindow As New ModifStartEndCutWindowV
|
||||
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
|
||||
ModifStartWindowVM.Title = "Sawing"
|
||||
ModifStartWindowVM.Title = EgtMsg(90791) ' Sawing
|
||||
ModifStartWindow.DataContext = ModifStartWindowVM
|
||||
ModifStartWindow.Owner = Application.Current.MainWindow
|
||||
ModifStartWindowVM.SetVal(dOrigUsal)
|
||||
@@ -2326,7 +2386,7 @@ Public Class SplitModeVM
|
||||
If bFirstMill Then
|
||||
Dim ModifStartWindow As New ModifStartEndCutWindowV
|
||||
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
|
||||
ModifStartWindowVM.Title = "Milling"
|
||||
ModifStartWindowVM.Title = EgtMsg(90793) ' Milling
|
||||
ModifStartWindow.DataContext = ModifStartWindowVM
|
||||
ModifStartWindow.Owner = Application.Current.MainWindow
|
||||
ModifStartWindowVM.SetVal(dOrigUsal)
|
||||
@@ -2363,7 +2423,7 @@ Public Class SplitModeVM
|
||||
' Dialogo richiesta valori
|
||||
Dim ModifStartWnd As New ModifStartEndWjWindowV
|
||||
Dim ModifStartWndVM As New ModifStartEndWjWindowVM
|
||||
ModifStartWndVM.Title = "Water jetting"
|
||||
ModifStartWndVM.Title = EgtMsg(90798) ' Water jetting
|
||||
ModifStartWnd.DataContext = ModifStartWndVM
|
||||
ModifStartWnd.Owner = Application.Current.MainWindow
|
||||
ModifStartWndVM.HoleVisibility = Visibility.Visible
|
||||
@@ -2449,7 +2509,7 @@ Public Class SplitModeVM
|
||||
If bFirstInd Then
|
||||
Dim ModifStartWindow As New ModifStartEndCutWindowV
|
||||
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
|
||||
ModifStartWindowVM.Title = "Sawing"
|
||||
ModifStartWindowVM.Title = EgtMsg(90791) ' Sawing
|
||||
ModifStartWindow.DataContext = ModifStartWindowVM
|
||||
ModifStartWindow.Owner = Application.Current.MainWindow
|
||||
ModifStartWindowVM.SetVal(dOrigUeal)
|
||||
@@ -2504,7 +2564,7 @@ Public Class SplitModeVM
|
||||
If bFirstMill Then
|
||||
Dim ModifStartWindow As New ModifStartEndCutWindowV
|
||||
Dim ModifStartWindowVM As New ModifStartEndCutWindowVM
|
||||
ModifStartWindowVM.Title = "Milling"
|
||||
ModifStartWindowVM.Title = EgtMsg(90793) ' Milling
|
||||
ModifStartWindow.DataContext = ModifStartWindowVM
|
||||
ModifStartWindow.Owner = Application.Current.MainWindow
|
||||
ModifStartWindowVM.SetVal(dOrigUeal)
|
||||
@@ -2539,7 +2599,7 @@ Public Class SplitModeVM
|
||||
' Dialogo richiesta valori
|
||||
Dim ModifStartWnd As New ModifStartEndWjWindowV()
|
||||
Dim ModifStartWndVM As New ModifStartEndWjWindowVM
|
||||
ModifStartWndVM.Title = "Water jetting"
|
||||
ModifStartWndVM.Title = EgtMsg(90798) ' Water jetting
|
||||
ModifStartWnd.DataContext = ModifStartWndVM
|
||||
ModifStartWnd.Owner = Application.Current.MainWindow
|
||||
ModifStartWndVM.HoleVisibility = Visibility.Collapsed
|
||||
@@ -2947,7 +3007,7 @@ Public Class SplitModeVM
|
||||
'(m_MainWindow, m_MainWindow.m_CurrentMachine.Qualities, "Quality")
|
||||
Dim ModifyQualityWnd As New ModifyQualityV
|
||||
Dim ModifyQuality As New ModifyQualityVM
|
||||
ModifyQuality.Title = "Quality"
|
||||
ModifyQuality.Title = EgtMsg(91673) ' Quality
|
||||
ModifyQuality.QualityList = CurrentMachine.Qualities
|
||||
ModifyQualityWnd.DataContext = ModifyQuality
|
||||
ModifyQualityWnd.Owner = Application.Current.MainWindow
|
||||
@@ -3040,6 +3100,12 @@ Public Class SplitModeVM
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Sub OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
OnMouseDownScene(sender, e)
|
||||
If m_nSelected = GDB_ID.NULL Then Return
|
||||
OnOff(Nothing)
|
||||
End Sub
|
||||
|
||||
Friend Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
' Se tasto premuoto allora attivo la selezione multipla da Scena
|
||||
Dim bKeyCtrlPressed = (Keyboard.Modifiers And ModifierKeys.Control) > 0
|
||||
@@ -3539,6 +3605,20 @@ Public Class SplitModeVM
|
||||
DeselectWJBridgesPart()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub StatusOffNumbArrow(Status As GDB_ST)
|
||||
For Each Item In m_MachiningList
|
||||
Dim nOperId As Integer = Item.m_nId
|
||||
Dim nNbrId As Integer = Item.m_nNbrId
|
||||
Dim nArrId As Integer = Item.m_nArrId
|
||||
Dim nInd As Integer = m_MachiningList.IndexOf(Item)
|
||||
If nInd >= 0 AndAlso nInd < m_ItemList.Count AndAlso Not m_ItemList(nInd).IsSelected Then
|
||||
EgtSetStatus(nNbrId, Status)
|
||||
EgtSetStatus(nArrId, Status)
|
||||
End If
|
||||
Next
|
||||
EgtDraw()
|
||||
End Sub
|
||||
#End Region ' EVENTS
|
||||
|
||||
'-----------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ChangeTableV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen"
|
||||
CloseCommand="{Binding CloseCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
|
||||
Title="{Binding sTitle}" Height="150" Width="320">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="2*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ItemsControl ItemsSource="{Binding CurrTableList}">
|
||||
<!--Definisco l'organizzazione dei comandi-->
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<!--Definisco il contenuto del comando-->
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<RadioButton GroupName="TabGrp"
|
||||
IsChecked="{Binding IsActive}"
|
||||
Width="60" Height="60"
|
||||
Style="{DynamicResource ChangeTable_ToggleButton}">
|
||||
<Grid>
|
||||
<!--Nome della tavole: Tab #-->
|
||||
<TextBlock Text="{Binding sName}"
|
||||
HorizontalAlignment="Center"
|
||||
Background="Transparent">
|
||||
<TextBlock.Style>
|
||||
<Style TargetType="{x:Type TextBlock}">
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_LightGray}"/>
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding IsChecked, RelativeSource={RelativeSource AncestorType=RadioButton}}" Value="True">
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</TextBlock.Style>
|
||||
</TextBlock>
|
||||
<!--Rappresentazione di una tavola di lavoro-->
|
||||
<Image Source="{Binding ImgTab}" Margin="0,20,0,0"/>
|
||||
</Grid>
|
||||
|
||||
</RadioButton>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<UniformGrid Grid.Row="1" Columns="2">
|
||||
<Button Content="Ok" Margin="5" Command="{Binding OkCommand}"
|
||||
Style="{StaticResource OptionPanel_TextButton}"/>
|
||||
<Button Content="Cancel" Margin="5" Command="{Binding CancelCommand}"
|
||||
Style="{StaticResource OptionPanel_TextButton}"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class ChangeTableV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,143 @@
|
||||
Public Class ChangeTableVM
|
||||
Inherits VMBase
|
||||
Private m_refChanTableV As ChangeTableV
|
||||
|
||||
Public Enum EnumDialogResult
|
||||
OK
|
||||
CANCEL
|
||||
End Enum
|
||||
|
||||
Private m_MyDialogResult As EnumDialogResult
|
||||
Public ReadOnly Property MyDialogResult As EnumDialogResult
|
||||
Get
|
||||
Return m_MyDialogResult
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sTitle As String = "Seleziona tavola di lavoro"
|
||||
Public ReadOnly Property sTitle As String
|
||||
Get
|
||||
Return m_sTitle
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_nSelectedTable As Integer = 0
|
||||
Public ReadOnly Property nSelectedTable As Integer
|
||||
Get
|
||||
Return m_nSelectedTable
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdCancel As ICommand
|
||||
|
||||
Sub New(refV As ChangeTableV)
|
||||
m_refChanTableV = refV
|
||||
' Procedo alla creazione della lista delle tavole disponibili
|
||||
Initialized()
|
||||
End Sub
|
||||
|
||||
Private m_CurrTableList As New List(Of TableToChange)
|
||||
Public ReadOnly Property CurrTableList As List(Of TableToChange)
|
||||
Get
|
||||
Return m_CurrTableList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Sub Initialized()
|
||||
' recuepero l'inidce della tavola corrente
|
||||
Dim nIndeXCurrTab As Integer = GetCurrentTable()
|
||||
' creo la lista delle tavole disponibili (attivo il bottone della tavola attualmente in uso)
|
||||
For nInd As Integer = 0 To GetTableCount() - 1
|
||||
m_CurrTableList.Add(New TableToChange("Tab", (nInd + 1), ((nInd + 1) = nIndeXCurrTab)))
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Public ReadOnly Property OkCommand() As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf Ok)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CancelCommand() As ICommand
|
||||
Get
|
||||
If m_cmdCancel Is Nothing Then
|
||||
m_cmdCancel = New Command(AddressOf Cancel)
|
||||
End If
|
||||
Return m_cmdCancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Sub Ok()
|
||||
' recupero l'indice della tavola impostata
|
||||
For Each ItemTab As TableToChange In CurrTableList
|
||||
If ItemTab.IsActive Then
|
||||
m_nSelectedTable = ItemTab.nIndex
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
m_MyDialogResult = EnumDialogResult.OK
|
||||
' procedo alla chiusura della finetra
|
||||
m_refChanTableV.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Cancel()
|
||||
m_MyDialogResult = EnumDialogResult.CANCEL
|
||||
' procedo alla chiusura della finetra
|
||||
m_refChanTableV.Close()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class TableToChange
|
||||
Inherits VMBase
|
||||
|
||||
Private Property m_sName As String = "Tab"
|
||||
Public ReadOnly Property sName As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_sImgTab As String = "\Resources\NewIcons\table.png"
|
||||
Public ReadOnly Property ImgTab As String
|
||||
Get
|
||||
Return If(m_bIsActive, "\Resources\NewIcons\table.png", "\Resources\NewIcons\tableS.png")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Property m_nIndex As Integer = 3
|
||||
Public ReadOnly Property nIndex As Integer
|
||||
Get
|
||||
Return m_nIndex
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bIsActive As Boolean = False
|
||||
Public Property IsActive As Boolean
|
||||
Get
|
||||
Return m_bIsActive
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsActive = value
|
||||
If m_bIsActive Then
|
||||
m_sImgTab = "\Resources\NewIcons\table.png"
|
||||
Else
|
||||
m_sImgTab = "\Resources\NewIcons\tableS.png"
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(IsActive))
|
||||
NotifyPropertyChanged(NameOf(ImgTab))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Sub New(Name As String, Ind As Integer, IsCurrent As Boolean)
|
||||
m_sName = Name & " " & Ind.ToString
|
||||
m_nIndex = Ind
|
||||
m_bIsActive = IsCurrent
|
||||
NotifyPropertyChanged("IsActive")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,5 +1,4 @@
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class MultiSelectionVM
|
||||
Inherits VMBase
|
||||
@@ -8,24 +7,24 @@ Public Class MultiSelectionVM
|
||||
|
||||
Public ReadOnly Property TitleMsg As String
|
||||
Get
|
||||
Return "Multiple selection"
|
||||
Return EgtMsg(91681) ' Multiple selection
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property SelectionMsg As String
|
||||
Get
|
||||
Return "Number of Parts"
|
||||
Return EgtMsg(91682) ' Number of Parts
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property OkMsg As String
|
||||
Get
|
||||
Return "Ok"
|
||||
Return EgtMsg(91651) ' Ok
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CancelMsg As String
|
||||
Get
|
||||
Return "Cancel"
|
||||
Return EgtMsg(91652) ' Cancel
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtUILib
|
||||
Imports OmagOFFICE.ChangeTableVM
|
||||
|
||||
Public Class NestingTabVM
|
||||
Inherits VMBase
|
||||
@@ -407,6 +408,8 @@ Public Class NestingTabVM
|
||||
m_CsvImportWindow = New CsvWindowV(Application.Current.MainWindow, New CsvWindowVM)
|
||||
m_CsvImportWindow.Show()
|
||||
End If
|
||||
' Per sicurezza spengo la visualizzazione di tutti i percorsi di lavorazione
|
||||
HideAllMachinings()
|
||||
EgtZoom(ZM.ALL)
|
||||
Return True
|
||||
End Function
|
||||
@@ -582,6 +585,208 @@ Public Class NestingTabVM
|
||||
m_bStartRot = False
|
||||
End Sub
|
||||
|
||||
Friend Function RotateAllRawParts(dAngDeg As Double, Optional bIsReg As Boolean = True) As Boolean
|
||||
' Recupero rotazione totale
|
||||
Dim dRegRot As Double = CamAuto.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
|
||||
CamAuto.SetRegistrationRotation(dRegRot + dAngDeg)
|
||||
Else
|
||||
CamAuto.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
|
||||
|
||||
' Ruoto solo gli elementi SpotReg creati nel programma OFFICE
|
||||
Private Sub RotateAllSpotRegistration(dAngRot As Double, ptCen As Point3d)
|
||||
Dim nId As Integer = EgtGetFirstInGroup(OmagOFFICEMap.refRawPartTabVM.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
|
||||
|
||||
Private Sub MoveAllRawParts(vtMove As Vector3d)
|
||||
' Provo il movimento
|
||||
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
|
||||
If Not EgtMoveRawPart(nRawId, vtMove) Then
|
||||
bMoveOk = False
|
||||
Exit While
|
||||
End If
|
||||
End If
|
||||
nRawId = EgtGetNextRawPart(nRawId)
|
||||
End While
|
||||
If Not bMoveOk Then Exit While
|
||||
nPhase += 1
|
||||
End While
|
||||
' Se movimento 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
|
||||
EgtMoveRawPart(nRevRawId, -vtMove)
|
||||
End If
|
||||
nRevRawId = EgtGetNextRawPart(nRevRawId)
|
||||
End While
|
||||
nRevPhase += 1
|
||||
End While
|
||||
End If
|
||||
' Muovo i punti SpotReg generati nel programma OFFICE
|
||||
If bMoveOk Then
|
||||
OmagOFFICEMap.refRawPartTabVM.MoveAllSpotRegistration(vtMove)
|
||||
End If
|
||||
' Ripristino lo stato iniziale
|
||||
EgtSetCurrPhase(1)
|
||||
HideAllMachinings()
|
||||
End Sub
|
||||
|
||||
' verifica che la rotazione sia ammessa
|
||||
Private Function RotatePartInsideBond(dAngRotDeg As Double, nIdMove As Integer) As Boolean
|
||||
' Verifico se ci sono dei pezzi bloccati in rotazione
|
||||
@@ -2202,6 +2407,8 @@ Public Class NestingTabVM
|
||||
While nId <> GDB_ID.NULL
|
||||
' Recupero l'identificativo del pezzo cui appartiene
|
||||
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
|
||||
Dim sNamePartId As String = String.Empty
|
||||
EgtGetName(nPartId, sNamePartId)
|
||||
Dim bPartInTable As Boolean = (EgtGetParent(nPartId) = GetRawId())
|
||||
If EgtIsPart(nPartId) Or bPartInTable Then
|
||||
Dim nStat As Integer = GDB_ST.ON_
|
||||
@@ -2239,6 +2446,102 @@ Public Class NestingTabVM
|
||||
' Drag possibile
|
||||
m_bDrag = True
|
||||
Exit While
|
||||
|
||||
Else
|
||||
' verifico se l'elemento selezionato è il nome della tavola
|
||||
If EgtGetType(nId) = GDB_TY.EXT_TEXT AndAlso (sNamePartId = MAIN_TAB Or
|
||||
sNamePartId = SECOND_TAB Or
|
||||
sNamePartId = THIRD_TAB Or
|
||||
sNamePartId = FORTH_TAB) Then
|
||||
|
||||
' Apro la finestra per la selezione della tavola da usare
|
||||
Dim ChgTbV As New ChangeTableV
|
||||
Dim ChgTbVM As New ChangeTableVM(ChgTbV)
|
||||
ChgTbV.DataContext = ChgTbVM
|
||||
ChgTbV.ShowDialog()
|
||||
|
||||
' se non è stata eseguita nessuna scelta esco dal ciclo
|
||||
If ChgTbVM.MyDialogResult = EnumDialogResult.CANCEL Or ChgTbVM.nSelectedTable = 0 Then Exit While
|
||||
|
||||
' recupero il nome della tavola corrente
|
||||
Dim sOtherTab As String = GetTableName(ChgTbVM.nSelectedTable)
|
||||
|
||||
EgtChangeTable(sOtherTab, True)
|
||||
EstCalc.AdjustAdditionalTable(True)
|
||||
EgtSetMachineLook(MCH_LOOK.TAB)
|
||||
' aggiorno le lavorazioni
|
||||
UpdateAllMachiningsToolpaths()
|
||||
' aggiorno i movimenti pezzi tra disposizioni
|
||||
For nI As Integer = 1 To EgtGetPhaseCount()
|
||||
EgtSetCurrPhase(nI)
|
||||
Dim nDispId As Integer = EgtGetPhaseDisposition(nI)
|
||||
SpecialApplyDisposition(nDispId, True)
|
||||
Next
|
||||
' aggiorno posizionamento ventose per lavorazioni da sotto
|
||||
UpdateVacuumsForDrip()
|
||||
' dichiaro tutto aggiornato
|
||||
EstCalc.SetOrderMachiningFlag()
|
||||
EgtSetCurrPhase(1)
|
||||
' aggiorno posizione pezzi in parcheggio
|
||||
Dim nPPId As Integer = EgtGetFirstPart()
|
||||
While nPPId <> GDB_ID.NULL
|
||||
PackPartInStore(nPPId)
|
||||
nPPId = EgtGetNextPart(nPPId)
|
||||
End While
|
||||
' se prevista rotazione
|
||||
If GetPrivateProfileInt(S_TABLE, K_CHANGETABWD, 0, CurrentMachine.sMachIniFile) = 2 Then
|
||||
' Dati tavola
|
||||
Dim b3Tab As New BBox3d
|
||||
EgtGetTableArea(1, b3Tab)
|
||||
' Box lastra
|
||||
Dim b3OrigRaw As New BBox3d
|
||||
GetRawBox(b3OrigRaw)
|
||||
' Allargo i limiti della tavola in tutte le fasi
|
||||
Const TAB_OFFS As Double = 3000
|
||||
For nI As Integer = 1 To EgtGetPhaseCount()
|
||||
EgtSetCurrPhase(nI)
|
||||
EgtSetTableAreaOffset(TAB_OFFS, TAB_OFFS, TAB_OFFS, TAB_OFFS)
|
||||
Next
|
||||
' aggiorno posizionamento ventose per lavorazioni da sotto
|
||||
UpdateVacuumsForDrip()
|
||||
' dichiaro tutto aggiornato
|
||||
EstCalc.SetOrderMachiningFlag()
|
||||
EgtSetCurrPhase(1)
|
||||
' Rotazione
|
||||
Dim dAngRot As Double = If(sOtherTab = SECOND_TAB, 180, -180)
|
||||
If Not RotateAllRawParts(dAngRot, False) Then
|
||||
'm_CurrProjPage.SetWarningMessage(EgtMsg(90339)) 'Rotazione impossibile
|
||||
End If
|
||||
' Traslazione per riportare la lastra nella stessa posizione rispetto all'angolo BL che diveta TR e viceversa
|
||||
Dim b3Raw As New BBox3d
|
||||
GetRawBox(b3Raw)
|
||||
Dim vtMove As Vector3d
|
||||
If sOtherTab = SECOND_TAB Then
|
||||
Dim vtDiffIni As Vector3d = b3OrigRaw.Min() - b3Tab.Min()
|
||||
Dim vtDiffFin As Vector3d = b3Tab.Max() - b3Raw.Max()
|
||||
vtMove = vtDiffFin - vtDiffIni
|
||||
Else
|
||||
Dim vtDiffIni As Vector3d = b3Tab.Max() - b3OrigRaw.Max()
|
||||
Dim vtDiffFin As Vector3d = b3Raw.Min() - b3Tab.Min()
|
||||
vtMove = -(vtDiffFin - vtDiffIni)
|
||||
End If
|
||||
vtMove.z = 0
|
||||
MoveAllRawParts(vtMove)
|
||||
' Ripristino i limiti della tavola in tutte le fasi
|
||||
For nI As Integer = 1 To EgtGetPhaseCount()
|
||||
EgtSetCurrPhase(nI)
|
||||
EgtSetTableAreaOffset(0, 0, 0, 0)
|
||||
Next
|
||||
EgtSetCurrPhase(1)
|
||||
HideAllMachinings()
|
||||
End If
|
||||
|
||||
' visualizzazione
|
||||
EgtZoom(ZM.ALL)
|
||||
' Elimino il datacontext della finsetra per la selezione della tavola
|
||||
ChgTbVM = Nothing
|
||||
Exit While
|
||||
End If
|
||||
End If
|
||||
nId = EgtGetNextObjInSelWin()
|
||||
End While
|
||||
|
||||
@@ -10,12 +10,10 @@
|
||||
d:DesignHeight="300" d:DesignWidth="300"
|
||||
Title="OmagPHOTO"
|
||||
ResizeMode="NoResize" ShowInTaskbar="False">
|
||||
<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>
|
||||
<!--<DockPanel>
|
||||
<Grid>
|
||||
<ContentControl Content="{Binding OmagPhotoContent}"/>
|
||||
|
||||
</Grid>
|
||||
</DockPanel>-->
|
||||
<DockPanel>
|
||||
|
||||
<!--Progetto corrente-->
|
||||
<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>
|
||||
|
||||
</DockPanel>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
|
||||
'Private m_OmagPhotoVM As OmagPhotoVM
|
||||
|
||||
'Sub New(Owner As Window, OmagPhotoVM As OmagPhotoVM)
|
||||
'Public Sub New(Owner As Window)
|
||||
' MyBase.New(Owner)
|
||||
' ' This call is required by the designer.
|
||||
' 'This call Is required by the designer.
|
||||
' InitializeComponent()
|
||||
' Me.DataContext = OmagPhotoVM
|
||||
' ' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
' m_OmagPhotoVM = OmagPhotoVM
|
||||
|
||||
'End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -43,7 +43,7 @@ Public Class RawPartTabVM
|
||||
Private m_nTempLay As Integer = GDB_ID.NULL
|
||||
|
||||
' Layer per crocette dei punti REG
|
||||
Private m_nRegGroupId As Integer = GDB_ID.NULL
|
||||
Friend m_nRegGroupId As Integer = GDB_ID.NULL
|
||||
' Numero di spot inseriti nel grezzo corrente
|
||||
Private m_nCountSpot As Integer = 0
|
||||
' Gruppo Spot attualmente selezionato
|
||||
@@ -1091,9 +1091,12 @@ Public Class RawPartTabVM
|
||||
' Creo riferimento a questa classe in OmagOFFICEMap
|
||||
OmagOFFICEMap.SetRefRawPartTabVM(Me)
|
||||
If OmagOFFICEMap.refMainWindowVM.MainWindowM.m_SlabDB Then
|
||||
'Me.OmagPhoto = New OmagPhotoV(Application.Current.MainWindow(), New OmagPhotoVM)
|
||||
' Me.OmagPhoto = New OmagPhotoV(Application.Current.MainWindow())
|
||||
Me.OmagPhoto = New OmagPhotoV
|
||||
If Not PhotoMap.ContinueApplication Then End
|
||||
If Not PhotoMap.ContinueApplication Then
|
||||
EgtOutLog("Key protection denied to acces to DB photo, set configuration to image directory")
|
||||
End
|
||||
End If
|
||||
End If
|
||||
' Aggiungo voci alla lista di tipi di definizione grezzo
|
||||
m_TypeList.Add(EgtMsg(MSG_RAWPARTPAGEUC + 1))
|
||||
@@ -1975,10 +1978,14 @@ Public Class RawPartTabVM
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Sub MoveAllSpotRegistration(vtMove As Vector3d)
|
||||
Dim nId As Integer = EgtGetFirstInGroup(m_nRegGroupId)
|
||||
Friend Sub MoveAllSpotRegistration(vtMove As Vector3d, Optional bOnlyOfficeSpot As Boolean = True)
|
||||
Dim nId As Integer = EgtGetFirstInGroup(OmagOFFICEMap.refRawPartTabVM.m_nRegGroupId)
|
||||
While nId <> GDB_ID.NULL
|
||||
EgtMove(nId, vtMove)
|
||||
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()
|
||||
@@ -2255,6 +2262,13 @@ Public Class RawPartTabVM
|
||||
PhotoMap.refSearchPanelVM.InitSearchPanel()
|
||||
' inizializzo la ricerca a tutti le lastre di tipo "AVAILABLE" (=1)
|
||||
PhotoMap.refSearchPanelVM.State = 1
|
||||
|
||||
' Resetto la data corrente per la prima ricerca
|
||||
PhotoMap.refSearchPanelVM.StartAddedDate = Nothing
|
||||
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("StartAddedDate")
|
||||
PhotoMap.refSearchPanelVM.EndAddedDate = Nothing
|
||||
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("EndAddedDate")
|
||||
|
||||
PhotoMap.refSearchPanelVM.Search()
|
||||
' inserisco in elenco solo i materiali della macchina corrente
|
||||
AddHandler PhotoMap.refOptionPanelVM.SlabIsSelectedOFFICE, AddressOf OmagOFFICEMap.refRawPartTabVM.ClosePhotoWnd
|
||||
@@ -2264,10 +2278,9 @@ Public Class RawPartTabVM
|
||||
m_RefreshTimer.Interval = TimeSpan.FromMilliseconds(2000)
|
||||
m_RefreshTimer.Start()
|
||||
|
||||
' apro la finestra per accedere al DB delle lastre
|
||||
' apro la finestra per accedere al DB delle lastre (Devo crea una nuova istanza perchè la chiusura elimina la stessa)
|
||||
Me.OmagPhoto = New OmagPhotoV
|
||||
OmagPhoto.ShowDialog()
|
||||
|
||||
Me.OmagPhoto.ShowDialog()
|
||||
m_RefreshTimer.Stop()
|
||||
|
||||
EgtSetCurrentContext(EgtPHOTOLib.MainData.PreviousContext)
|
||||
@@ -2305,6 +2318,17 @@ Public Class RawPartTabVM
|
||||
' aggiungo la nuova lastra
|
||||
OmagOFFICEMap.refMachGroupPanelVM.SlabNameListCurr.Add(sSlabNameDB)
|
||||
EgtPHOTOLib.PhotoMap.refOptionPanelVM.SetAssignedSlab(sSlabNameDB)
|
||||
|
||||
' Provo ad assegnare il nome della macchinata
|
||||
Dim sName As String = LocalSlab.Id
|
||||
EgtGetMachGroupNewName(sName)
|
||||
If sName <> LocalSlab.Id Then
|
||||
EgtOutLog("Nome lastra (Id lastra) già presente nell'elenco delle macchinate correnti!")
|
||||
Else
|
||||
OmagOFFICEMap.refMachGroupPanelVM.SelectedMachGroup.SetName(LocalSlab.Id)
|
||||
EgtChangeMachGroupName(EgtGetCurrMachGroup, LocalSlab.Id)
|
||||
End If
|
||||
|
||||
Else
|
||||
' Apro dialogo per scelta immagine
|
||||
Dim PhotoDlg As New Microsoft.Win32.OpenFileDialog()
|
||||
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 703 B |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 637 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 610 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
@@ -7,6 +7,8 @@ Public Class SideEntityControlVM
|
||||
|
||||
Private Const INFO_ALZFRONT As String = "AF"
|
||||
|
||||
Private ColorText As New Color3d(0, 0, 0)
|
||||
|
||||
Public Enum ModeOpt As Integer
|
||||
SIDEANGLE = 0 ' inclina lato
|
||||
DRIP = 1 ' incidi da sotto
|
||||
@@ -68,7 +70,7 @@ Public Class SideEntityControlVM
|
||||
sMsg = EgtMsg(91653)
|
||||
ElseIf m_Mode = SideEntityControlVM.ModeOpt.ALZANDFRONT Then
|
||||
' Alz
|
||||
sMsg = "Alz."
|
||||
sMsg = EgtMsg(91674)
|
||||
End If
|
||||
Return sMsg
|
||||
End Get
|
||||
@@ -85,7 +87,7 @@ Public Class SideEntityControlVM
|
||||
sMsg = EgtMsg(91654)
|
||||
ElseIf m_Mode = SideEntityControlVM.ModeOpt.ALZANDFRONT Then
|
||||
' Front
|
||||
sMsg = "Front."
|
||||
sMsg = EgtMsg(91675)
|
||||
End If
|
||||
Return sMsg
|
||||
End Get
|
||||
@@ -543,7 +545,7 @@ Public Class SideEntityControlVM
|
||||
NotifyPropertyChanged("SideEntityList")
|
||||
m_SideAngleCheck = If(GetMainPrivateProfileInt(S_COMPO, K_SIDEMODE, 0) = 0, True, False)
|
||||
SideAngleEntity.dMaxSideAng = GetMainPrivateProfileDouble(S_SIDES, K_MAXSIDEANGLE, SideAngleEntity.STD_MAXSIDEANG)
|
||||
|
||||
GetMainPrivateProfileColor(S_SIDES, K_TEXTCOLORENT, ColorText)
|
||||
'------------------ DEFINIZIONE LISTA LATI
|
||||
' creo la lista dei parametri
|
||||
If CallingWindow = CallingWindowOpt.COMPO Then
|
||||
@@ -615,7 +617,7 @@ Public Class SideEntityControlVM
|
||||
ElseIf m_Mode = ModeOpt.FILOTOP Then
|
||||
Parameter1Msg = EgtMsg(MSG_IMPORTPAGEUC + 10) ' Offset
|
||||
Parameter2Msg = EgtMsg(MSG_IMPORTPAGEUC + 11) ' Depth
|
||||
Parameter5Msg = "Round Off"
|
||||
Parameter5Msg = EgtMsg(91676) ' Round Off
|
||||
m_dOffsetFiloTop = GetMainPrivateProfileDouble(S_SIDES, K_FILOTOPOFFSET, 5)
|
||||
m_dDepthFiloTop = GetMainPrivateProfileDouble(S_SIDES, K_FILOTOPDEPTH, 5)
|
||||
m_bCornerRadius = GetMainPrivateProfileInt(S_SIDES, K_FILOTOPROUNDOFF, 0) <> 0
|
||||
@@ -644,9 +646,9 @@ Public Class SideEntityControlVM
|
||||
|
||||
ElseIf m_Mode = ModeOpt.ALZANDFRONT Then
|
||||
' definisco i nomi dei campi
|
||||
Parameter1Msg = "Spessore"
|
||||
Parameter2Msg = "Altezza"
|
||||
Parameter3Msg = "Delta Ang."
|
||||
Parameter1Msg = EgtMsg(91677) ' Spessore
|
||||
Parameter2Msg = EgtMsg(91678) ' Altezza
|
||||
Parameter3Msg = EgtMsg(91679) ' Delta Ang.
|
||||
' carico i valori letti da file ini
|
||||
m_HeightA = GetMainPrivateProfileDouble("Alz&Front", "A_Height", 0)
|
||||
m_HeightF = GetMainPrivateProfileDouble("Alz&Front", "F_Height", 0)
|
||||
@@ -704,7 +706,7 @@ Public Class SideEntityControlVM
|
||||
Else
|
||||
TextLayer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayer, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayer, New Color3d(0, 0, 0))
|
||||
EgtSetColor(TextLayer, ColorText)
|
||||
End If
|
||||
|
||||
' Se modalità angoli di inclinazione...
|
||||
@@ -773,7 +775,7 @@ Public Class SideEntityControlVM
|
||||
If TextLayer = GDB_ID.NULL Then
|
||||
TextLayer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayer, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayer, New Color3d(0, 0, 0))
|
||||
EgtSetColor(TextLayer, ColorText)
|
||||
End If
|
||||
|
||||
Dim PrevLine As Integer = EgtGetLastInGroup(LoopId)
|
||||
@@ -1515,20 +1517,22 @@ Public Class SideEntityControlVM
|
||||
End Sub
|
||||
|
||||
Shared Sub WriteSideAngleForNest(nCtx As Integer)
|
||||
Dim LocalColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileColor(S_SIDES, K_TEXTCOLORENT, LocalColor)
|
||||
' Imposto contesto corrente
|
||||
EgtSetCurrentContext(nCtx)
|
||||
Dim PartId As Integer = EgtGetFirstPart()
|
||||
While PartId <> GDB_ID.NULL
|
||||
' Se richiesti lati paralleli con misura sul top come in TRF, verifico e aggiusto
|
||||
If GetMainPrivateProfileInt( S_SIDES, K_PARSIDE_AS_TRF, 0) <> 0 Then
|
||||
AdjustAsTrfParSides( PartId)
|
||||
End If
|
||||
If GetMainPrivateProfileInt(S_SIDES, K_PARSIDE_AS_TRF, 0) <> 0 Then
|
||||
AdjustAsTrfParSides(PartId)
|
||||
End If
|
||||
' Elimino eventuale precedente layer per testi
|
||||
EgtErase(EgtGetFirstNameInGroup(PartId, SIDE_ANGLE_LAYER))
|
||||
' Creo layer per testi nesting
|
||||
Dim TextLayId As Integer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayId, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayId, New Color3d(0, 0, 128))
|
||||
EgtSetColor(TextLayId, LocalColor)
|
||||
' Opero su geometria esterna pezzo
|
||||
WriteSideAngleOnLoop(EgtGetFirstNameInGroup(PartId, NAME_OUTLOOP), TextLayId)
|
||||
' Ciclo su geometria interna pezzo
|
||||
@@ -1840,7 +1844,7 @@ Public Class SideEntityControlVM
|
||||
Dim sMsg As String = String.Empty
|
||||
' eseguo la funzione per il disegno della componente (CMP_Draw)
|
||||
If Not EgtLuaExecLine("CMP_Draw" & "(true)") Then
|
||||
sMsg = "Error in component execution"
|
||||
sMsg = EgtMsg(91680) ' Error in component execution
|
||||
'm_bDrawOk = False
|
||||
Else
|
||||
EgtLuaGetGlobStringVar("CMP" & ".MSG", sMsg)
|
||||
|
||||
@@ -74,12 +74,12 @@ Public Class TopCommandBarVM
|
||||
End Property
|
||||
Public ReadOnly Property ExportToolTip As String
|
||||
Get
|
||||
Return EgtMsg( 91505) 'Esporta in macchina
|
||||
Return EgtMsg(91505) 'Esporta in macchina
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property DxfOutToolTip As String
|
||||
Get
|
||||
Return EgtMsg( 91506) 'Esporta DXF
|
||||
Return EgtMsg(91506) 'Esporta DXF
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property OptionsToolTip As String
|
||||
@@ -226,6 +226,18 @@ Public Class TopCommandBarVM
|
||||
''' Execute the SaveAs. This method is invoked by the SaveAsCommand.
|
||||
''' </summary>
|
||||
Public Sub SaveAs(ByVal param As Object)
|
||||
'Dim SaveFileDialog As New System.Windows.Forms.SaveFileDialog()
|
||||
'SaveFileDialog.Filter = "(*.nge) |*.nge"
|
||||
'SaveFileDialog.FilterIndex = 2
|
||||
'' avvio la ricerca nell'ultimo direttorio aperto
|
||||
'Dim sFilePath As String = String.Empty
|
||||
'EgtGetCurrFilePath(sFilePath)
|
||||
'SaveFileDialog.InitialDirectory = Path.GetExtension(sFilePath)
|
||||
'SaveFileDialog.FileName = Path.GetFileName(sFilePath)
|
||||
'' apro la finestra di dialogo
|
||||
'Dim bChangeProject As Boolean = True
|
||||
'If SaveFileDialog.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
'Dim sNewFilePath As String = SaveFileDialog.FileName
|
||||
' non posso avere la stessa lastra in due progetti -> gestita da DataBase
|
||||
OmagOFFICEMap.refSceneHostVM.SaveAsProject()
|
||||
End Sub
|
||||
@@ -238,12 +250,12 @@ Public Class TopCommandBarVM
|
||||
''' Returns a command that do Export.
|
||||
''' </summary>
|
||||
Public ReadOnly Property ExportCommand As ICommand
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
@@ -436,4 +448,42 @@ Public Class TopCommandBarVM
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
Public Shared Sub SetInfoProj(Optional sFilePath As String = "")
|
||||
EgtOutLog(" *** SAVE PROJECT ***")
|
||||
' Recupero l'ID della macchinata corrente
|
||||
Dim CurrGrpId As Integer = EgtGetCurrMachGroup()
|
||||
' Path completa del progetto corrente
|
||||
If String.IsNullOrEmpty(sFilePath) Then EgtGetCurrFilePath(sFilePath)
|
||||
Dim nPartInRawsProj As Integer = 0
|
||||
Dim nGrpId = EgtGetFirstMachGroup()
|
||||
While nGrpId <> GDB_ID.NULL
|
||||
' Imposto la macchinata corrente
|
||||
EgtSetCurrMachGroup(nGrpId)
|
||||
' recupero il primo grezzo della macchinata corrente
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
nPartInRawsProj += EgtGetPartInRawPartCount(nRawId)
|
||||
nRawId = EgtGetNextRawPart(nRawId)
|
||||
End While
|
||||
nGrpId = EgtGetNextMachGroup(nGrpId)
|
||||
End While
|
||||
nGrpId = EgtGetFirstMachGroup()
|
||||
While nGrpId <> GDB_ID.NULL
|
||||
' percorso progetto
|
||||
EgtSetInfo(nGrpId, "ProjPath", sFilePath)
|
||||
' Anno/Mese/Giorno/Ora/min di salvataggio
|
||||
EgtSetInfo(nGrpId, "Released", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))
|
||||
' numero di pezzi presenti nel progetto
|
||||
EgtSetInfo(nGrpId, "NbrProjParts", nPartInRawsProj.ToString)
|
||||
nGrpId = EgtGetNextMachGroup(nGrpId)
|
||||
End While
|
||||
EgtOutLog(" ProjPath:" & sFilePath)
|
||||
EgtOutLog(" Released:" & DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))
|
||||
EgtOutLog(" NbrProjParts:" & nPartInRawsProj.ToString)
|
||||
' Reimposto la macchina corrente
|
||||
EgtSetCurrMachGroup(CurrGrpId)
|
||||
' Nascondo tutte le lavorazioni
|
||||
CamAuto.HideAllMachinings()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -595,6 +595,12 @@
|
||||
<Setter Property="Height" Value="40"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ChangeTable_ToggleButton" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
|
||||
<Setter Property="Height" Value="50"/>
|
||||
<Setter Property="Width" Value="50"/>
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="Option_ColorButton" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
|
||||
<Setter Property="Padding" Value="5"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
|
||||