Compare commits
222 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 148d11419e | |||
| 8c55f56d84 | |||
| 94c11d1ace | |||
| 70bd114e32 | |||
| 4201c606ae | |||
| f4d00d6ecb | |||
| 3b00162276 | |||
| 7e323827de | |||
| ee57c64e91 | |||
| 391fa8dbb5 | |||
| 0bcd67a402 | |||
| 1ca8c76bbf | |||
| 58576517f0 | |||
| 9365ce47d8 | |||
| 8e947039d6 | |||
| 60114f5654 | |||
| 368a44f7e0 | |||
| b4f53198cd | |||
| d2e260a91a | |||
| bbd06bb345 | |||
| 42d1ecfa80 | |||
| 1a00df7849 | |||
| d02d021e33 | |||
| 20e33435cd | |||
| 9ad947761e | |||
| 3761ca827e | |||
| 1b41f01612 | |||
| ab8e296b15 | |||
| 3c11425370 | |||
| 539d0c6443 | |||
| acee8d5b7d | |||
| 347c3ab23c | |||
| 5be900b925 | |||
| 7f57ee8f58 | |||
| fe2155bbe6 | |||
| 21cf1802b8 | |||
| bbcd12669e | |||
| 3dc21c390a | |||
| f752dc46c3 | |||
| ee69bda3a5 | |||
| e479d861f6 | |||
| 69c27fc6b8 | |||
| dd939a7fb6 | |||
| 351fec507c | |||
| 755413c69a | |||
| e01ee20b48 | |||
| c21c2723f7 | |||
| 022c73e16d | |||
| 9aa245a029 | |||
| d60b377098 | |||
| d91d526c1d | |||
| 9a74fa0be5 | |||
| c36d4677b7 | |||
| c727ef5d88 | |||
| 0770d280c6 | |||
| 0c5b7c17a9 | |||
| 56f417adbf | |||
| 4c9869a49b | |||
| 2e08452644 | |||
| eda6fbc1b3 | |||
| ace652933b | |||
| 5652301a92 | |||
| a9888bb1b1 | |||
| b1e7bc6a3f | |||
| 490f78c4fa | |||
| 61d124aff6 | |||
| bdb0fb9de5 | |||
| b904d142e3 | |||
| b666f2d38f | |||
| 65820fab0a | |||
| 18c81e6fb4 | |||
| 6fee3f3242 | |||
| 35a4088ad9 | |||
| 0257ac21da | |||
| 2f2ec3c307 | |||
| 04cd660411 | |||
| cd7e441980 | |||
| aeeaf624ee | |||
| d01225cd6e | |||
| 5792664da8 | |||
| caff5e5507 | |||
| 6224b1e40b | |||
| aca43262cf | |||
| 6f526dca45 | |||
| b3a359e257 | |||
| dc787f2596 | |||
| d0cb48b31d | |||
| c9b4d679bd | |||
| e726416853 | |||
| 9be2a9d1c3 | |||
| aed8483ede | |||
| 349a1429c1 | |||
| 29c528fa0e | |||
| 0fa0d4e612 | |||
| 600da701b1 | |||
| c534b459ae | |||
| 86e6a21d63 | |||
| d7522c4eb8 | |||
| 1f7a918ac2 | |||
| e4a87dc475 | |||
| 7a26984f95 | |||
| 3a76d6c91a | |||
| 4d691cee62 | |||
| ce3ff4e3d6 | |||
| 3d1d62398a | |||
| 91f86f8682 | |||
| 394322237c | |||
| 1a3b7b6b1f | |||
| c2671d5fc7 | |||
| 61d997a785 | |||
| d61c1b1375 | |||
| 2d5ffda589 | |||
| 97b1c3d48f | |||
| 60fab0ef18 | |||
| 35e33faaf7 | |||
| 4caa772e0f | |||
| 29f92f07db | |||
| 7b04ea7606 | |||
| cdf2ae682b | |||
| 9987f3a723 | |||
| a3475d7b64 | |||
| fb8be27836 | |||
| c7969e8c99 | |||
| 63a56af98c | |||
| 56220080fe | |||
| fa8a68afd7 | |||
| 5f105ef28d | |||
| e8e1a17892 | |||
| 3c65017639 | |||
| 605a877e5f | |||
| 0319a3f15a | |||
| 9a71913b3e | |||
| 07ef7e61ed | |||
| 96dd9bfa17 | |||
| 550955c8b6 | |||
| fcb754d4ef | |||
| d27c645ad6 | |||
| 9a330df724 | |||
| 6b2cf9346d | |||
| c38e88a729 | |||
| ec7abae0ee | |||
| 36c4c56bd1 | |||
| f36888b7ad | |||
| 78e46c5fcf | |||
| 9cbf8ed37b | |||
| 88000451e7 | |||
| 810e312edd | |||
| 7c3a82dc94 | |||
| c0dd6313ae | |||
| a3db3dded0 | |||
| 2cb8e0fc6e | |||
| 39ae2c5d5b | |||
| 8615cebfae | |||
| 344103329a | |||
| df48b9ec51 | |||
| 3c1c763235 | |||
| 1153473478 | |||
| bb6be4df18 | |||
| 95b9043610 | |||
| 01b9708030 | |||
| 02075e7f1f | |||
| d31805571f | |||
| 800b071c47 | |||
| 06248bee99 | |||
| 46d2869dbc | |||
| a80cdca1ae | |||
| 8dd2e496d3 | |||
| f0136590e5 | |||
| 97a6ba6ba9 | |||
| 809ac5f44f | |||
| fba6ff3b0a | |||
| 7ca1d96be9 | |||
| 23bb701c4d | |||
| b928234c54 | |||
| e20f5d436b | |||
| a77eb82602 | |||
| 4dc4fdc03b | |||
| 8b8b977249 | |||
| 58fa9c3fd0 | |||
| 7f3d43d1f3 | |||
| 7717f20a90 | |||
| 51ac26321e | |||
| b27b35562b | |||
| 4b877300c4 | |||
| ec31948608 | |||
| 1acf2ae4ca | |||
| 4f8daff0ce | |||
| 0f1c20ec54 | |||
| e327f28626 | |||
| afd63363c5 | |||
| 7309fc9959 | |||
| 7d457be9c5 | |||
| 3e097b81a6 | |||
| ef5578a3ba | |||
| b45bda985e | |||
| a84b27ca8c | |||
| 155d9615b0 | |||
| 2864f6fd16 | |||
| 19eb5b2110 | |||
| b171f05956 | |||
| 14bf3ae7e2 | |||
| 8df9640d96 | |||
| 9f7b62502c | |||
| 8e9a3cdb73 | |||
| f47c365db2 | |||
| ccdb690225 | |||
| 7ac6fb42c6 | |||
| 1ddb8a27fb | |||
| 41ca5127c6 | |||
| 860823c929 | |||
| 9cd0b4aefa | |||
| 6fc916051c | |||
| 8df36d2768 | |||
| 997ca13934 | |||
| 9b6761af37 | |||
| 732c05fd9c | |||
| 71372bf51a | |||
| a63089a0c8 | |||
| 5d6c666128 | |||
| 30cc0e29e4 | |||
| 882f7ba82f | |||
| fd6da1f694 |
@@ -3,60 +3,60 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
DockPanel.Dock="Bottom">
|
||||
|
||||
<Grid Visibility="{Binding Top_Visibility}"
|
||||
|
||||
<Grid Visibility="{Binding Top_Visibility}"
|
||||
Margin="0,0,0,5">
|
||||
|
||||
<TextBlock Text="{Binding TopMsg}"/>
|
||||
<CheckBox IsChecked="{Binding TopIsChecked}"
|
||||
<TextBlock Text="{Binding TopMsg}" Foreground="{DynamicResource Omag_White}"/>
|
||||
<CheckBox IsChecked="{Binding TopIsChecked}"
|
||||
HorizontalAlignment="Right" Margin="6,0,6,0"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Button Content="{Binding TrfDataMsg}"
|
||||
<Button Content="{Binding TrfDataMsg}"
|
||||
Command="{Binding TrfData_Command}"
|
||||
Visibility="{Binding TrfData_Visibility}"
|
||||
Margin="0,0,0,5"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
|
||||
<Button Content="{Binding CsvDataMsg}"
|
||||
<Button Content="{Binding CsvDataMsg}"
|
||||
Command="{Binding CsvData_Command}"
|
||||
Visibility="{Binding CsvData_Visibility}"
|
||||
Margin="0,0,0,5"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
|
||||
<Grid Visibility="{Binding PartName_Visibility}"
|
||||
<Grid Visibility="{Binding PartName_Visibility}"
|
||||
Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock Text="{Binding PartNameMsg}" Grid.Column="0"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding PartName}" Grid.Column="1" Width="130"/>
|
||||
<TextBlock Text="{Binding PartNameMsg}" Grid.Column="0" Foreground="{DynamicResource Omag_White}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding PartName}" Grid.Column="1" Width="130"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid Visibility="{Binding PartNum_Visibility}"
|
||||
<Grid Visibility="{Binding PartNum_Visibility}"
|
||||
Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock Text="{Binding PartNumMsg}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding PartNum}" Grid.Column="1" Width="60"/>
|
||||
<TextBlock Text="{Binding PartNumMsg}" Foreground="{DynamicResource Omag_White}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding PartNum}" Grid.Column="1" Width="60"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<UniformGrid Columns="2"
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5"
|
||||
Visibility="{Binding OkExit_Visibility}">
|
||||
<Button Content="{Binding OkMsg}"
|
||||
<Button Content="{Binding OkMsg}"
|
||||
Command="{Binding OkCommand}"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
<Button Content="{Binding ExitMsg}" IsCancel="True"
|
||||
<Button Content="{Binding ExitMsg}" IsCancel="True"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
</UniformGrid>
|
||||
</UniformGrid>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
@@ -295,6 +295,8 @@ Public Class CompoManagerVM
|
||||
If Not CompoWindowMap.refCompoWindowVM.m_bDrawOk Then
|
||||
Return
|
||||
End If
|
||||
' per il CABINET ridisegno le figure piane e non creo i solidi
|
||||
CompoWindowMap.refCompoWindowVM.UpdateViewForCabinet()
|
||||
' Leggo numero di pezzi da inserire
|
||||
Dim InsNbr As Integer
|
||||
StringToInt(m_PartNum, InsNbr)
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
|
||||
|
||||
<DockPanel>
|
||||
<DockPanel>
|
||||
|
||||
<UniformGrid Columns="3"
|
||||
DockPanel.Dock="Top"
|
||||
Visibility="{Binding SideEntity_Visibility}"
|
||||
Margin="0,0,0,0">
|
||||
|
||||
|
||||
<!--Inclina lati-->
|
||||
<ToggleButton
|
||||
IsChecked="{Binding SideAngle_IsChecked}"
|
||||
@@ -21,7 +21,7 @@
|
||||
<AccessText TextWrapping="Wrap" Text="{Binding SideAngleMsg}"/>
|
||||
</ToggleButton.Content>
|
||||
</ToggleButton>
|
||||
|
||||
|
||||
<!--FiloTop-->
|
||||
<!--<ToggleButton Padding="0"
|
||||
IsChecked="{Binding FiloTop_IsChecked}"
|
||||
@@ -32,7 +32,7 @@
|
||||
<AccessText TextWrapping="Wrap" Text="{Binding FiloTopMsg}"/>
|
||||
</ToggleButton.Content>
|
||||
</ToggleButton>-->
|
||||
|
||||
|
||||
<!--Incidi-->
|
||||
<ToggleButton Padding="0"
|
||||
IsChecked="{Binding Engrave_IsChecked}"
|
||||
@@ -50,100 +50,100 @@
|
||||
Margin="1.75,0,0,0"
|
||||
IsEnabled="{Binding Drip_IsEnabled}">
|
||||
<ToggleButton.Content>
|
||||
<AccessText TextWrapping="Wrap" Text="{Binding DripMsg}" />
|
||||
<AccessText TextWrapping="Wrap" Text="{Binding DripMsg}" />
|
||||
</ToggleButton.Content>
|
||||
</ToggleButton>
|
||||
|
||||
|
||||
</UniformGrid>
|
||||
|
||||
<StackPanel DockPanel.Dock="Bottom">
|
||||
|
||||
<ContentControl Content="{Binding CompoManagerControl,
|
||||
<StackPanel DockPanel.Dock="Bottom">
|
||||
|
||||
<ContentControl Content="{Binding CompoManagerControl,
|
||||
UpdateSourceTrigger=PropertyChanged}"
|
||||
Visibility="{Binding CompoManagerControl_Visibility}"/>
|
||||
|
||||
<Button Command="{Binding BackCommand}"
|
||||
|
||||
<Button Command="{Binding BackCommand}"
|
||||
Visibility="{Binding Back_Visibility}"
|
||||
Style="{StaticResource CompoWindow_Button}"
|
||||
Focusable="False"
|
||||
Margin="0,0,0,5">
|
||||
<Image Source="/Resources/MachiningTab/BackArrow.png"/>
|
||||
</Button>
|
||||
|
||||
</StackPanel>
|
||||
<Image Source="/Resources/MachiningTab/BackArrow.png"/>
|
||||
</Button>
|
||||
|
||||
<Grid>
|
||||
|
||||
<ContentControl VerticalAlignment="Center"
|
||||
</StackPanel>
|
||||
|
||||
<Grid>
|
||||
|
||||
<ContentControl VerticalAlignment="Center"
|
||||
Content="{Binding SideEntityControl}"/>
|
||||
|
||||
<StackPanel VerticalAlignment="Center"
|
||||
|
||||
<StackPanel VerticalAlignment="Center"
|
||||
Visibility="{Binding Measure_Visibility}">
|
||||
<ItemsControl ItemsSource="{Binding CompoParamList}">
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:TextParamItem}">
|
||||
<Grid Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name}" VerticalAlignment="Center"/>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||
<ItemsControl ItemsSource="{Binding CompoParamList}">
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:TextParamItem}">
|
||||
<Grid Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" Foreground="{DynamicResource Omag_White}"/>
|
||||
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||
Text="{Binding Value}" IsEnabled="{Binding IsEnable}"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:CheckParamItem}">
|
||||
<Grid Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:CheckParamItem}">
|
||||
<Grid Margin="0,0,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Name}" Foreground="{DynamicResource Omag_White}"/>
|
||||
<CheckBox Grid.Column="1"
|
||||
IsChecked="{Binding Value}" IsEnabled="{Binding IsEnable}"
|
||||
HorizontalAlignment="Center"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
|
||||
</ItemsControl>
|
||||
</ItemsControl>
|
||||
|
||||
<TextBlock Text="{Binding OutputMessage}"
|
||||
<TextBlock Text="{Binding OutputMessage}"
|
||||
Foreground="{Binding MsgColor}"
|
||||
TextWrapping="Wrap"
|
||||
TextAlignment="Justify"
|
||||
Margin="0,0,0,5"/>
|
||||
|
||||
<Button Content="{Binding InternalMsg}"
|
||||
|
||||
<Button Content="{Binding InternalMsg}"
|
||||
Command="{Binding InternalCommand}"
|
||||
Visibility="{Binding Internal_Visibility}"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
|
||||
<Button Content="{Binding AlzAndFrontMsg}"
|
||||
|
||||
<Button Content="{Binding AlzAndFrontMsg}"
|
||||
Command="{Binding AlzAndFrontCommand}"
|
||||
Visibility="{Binding AlzAndFront_Visibility}"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
|
||||
<UniformGrid Columns="2"
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5"
|
||||
Visibility="{Binding AddRemove_Visibility}">
|
||||
<Button Content="{Binding AddMsg}"
|
||||
<Button Content="{Binding AddMsg}"
|
||||
Command="{Binding AddCommand}"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
<Button Content="{Binding CancelMsg}"
|
||||
<Button Content="{Binding CancelMsg}"
|
||||
Command="{Binding CancelCommand}"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
</UniformGrid>
|
||||
</UniformGrid>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
||||
</DockPanel>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
||||
</DockPanel>
|
||||
|
||||
</UserControl>
|
||||
|
||||
@@ -144,7 +144,8 @@ Public Class CompoWindowVM
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Function MakePreview(ByRef sMsg As String) As Boolean
|
||||
Friend Function MakePreview(ByRef sMsg As String, Optional bDrawSolid As Boolean = True) As Boolean
|
||||
EgtLuaSetGlobBoolVar("CMP.DrawSolid", bDrawSolid)
|
||||
If Not EgtLuaExecLine(LUA_CMP_DRAW & "(true)") Then
|
||||
sMsg = "Error in component execution"
|
||||
m_bDrawOk = False
|
||||
@@ -170,20 +171,32 @@ Public Class CompoWindowVM
|
||||
Return EgtLuaExecFile(sPath)
|
||||
End Function
|
||||
|
||||
Friend Sub UpdateView()
|
||||
Friend Sub UpdateView(Optional bDrawSolid As Boolean = True)
|
||||
' verifico ci sia un componente corrente
|
||||
If IsNothing(m_SelCompo) Then
|
||||
Return
|
||||
End If
|
||||
' aggiorno le variabili dalla griglia
|
||||
CompoWindowMap.refCompoParamPageVM.UpdateVariables()
|
||||
Dim bResetView As Boolean = True
|
||||
EgtLuaGetGlobBoolVar("CMP.ResetView", bResetView)
|
||||
' ricalcolo il disegno
|
||||
Dim sMsg As String = String.Empty
|
||||
MakePreview(sMsg)
|
||||
MakePreview(sMsg, bDrawSolid)
|
||||
CompoWindowMap.refCompoParamPageVM.SetOutputMessage(sMsg, If(m_bDrawOk, MSG_TYPE.INFO, MSG_TYPE.ERROR_))
|
||||
' aggiorno visualizzazione
|
||||
EgtSetView(VT.TOP, False)
|
||||
EgtZoom(ZM.ALL)
|
||||
If bResetView Then
|
||||
EgtSetView(VT.TOP, False)
|
||||
EgtZoom(ZM.ALL)
|
||||
Else
|
||||
EgtDraw()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub UpdateViewForCabinet(Optional bDrawSolid As Boolean = True)
|
||||
Dim bIsCabinet As Boolean = False
|
||||
EgtLuaGetGlobBoolVar("CMP.IsCabinet", bIsCabinet)
|
||||
If bIsCabinet Then UpdateView(False)
|
||||
End Sub
|
||||
|
||||
Friend Function MakeInsert(ByVal nNbr As Integer, sName As String) As Boolean
|
||||
@@ -366,7 +379,8 @@ Public Class CompoWindowVM
|
||||
|
||||
' identificativo univoico del gruppo di pezzi, se più di un pezzo
|
||||
Dim sGUICode As String = String.Empty
|
||||
|
||||
' cancello eventuale layer delle etichette e dimensioni
|
||||
EgtErase(EgtGetFirstNameInGroup(GDB_ID.ROOT, "Dimensions"))
|
||||
While Pz <> -1
|
||||
' imposto il contesto corrente
|
||||
EgtSetCurrentContext(CompoWindowMap.refCompoSceneHostV.CompoScene.GetCtx())
|
||||
@@ -380,6 +394,10 @@ Public Class CompoWindowVM
|
||||
EgtErase(EgtGetFirstNameInGroup(Pz, "Etichette"))
|
||||
EgtErase(EgtGetFirstNameInGroup(Pz, "Quotature"))
|
||||
EgtErase(EgtGetFirstNameInGroup(Pz, "Box"))
|
||||
' elimino il solido corrispondente
|
||||
Dim nChild As Integer = GDB_ID.NULL
|
||||
EgtGetInfo(Pz, "Child", nChild)
|
||||
EgtErase(nChild)
|
||||
|
||||
' Cancello layer etichette dei componenti interni (buchi)
|
||||
Dim nHLId As Integer = EgtGetFirstNameInGroup(Pz, "HoleLabels")
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -47,6 +48,10 @@ Module ConstGen
|
||||
ENABLE_POLISHING = CUInt(2 ^ 18) ' 262144
|
||||
OFFICE_TYPE = CUInt(2 ^ 19) ' 524288 - Solo per OmagCUT
|
||||
REGISTRATION = CUInt(2 ^ 20) ' 1048576 - Solo per OmagCUT
|
||||
' ---
|
||||
' ---
|
||||
' ---
|
||||
VEIN_MATCH_3D = CInt(2 ^ 24) ' 16777216 - Solo per OmagOFFICE
|
||||
End Enum
|
||||
|
||||
' File di log generale
|
||||
|
||||
@@ -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"
|
||||
@@ -114,6 +115,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"
|
||||
|
||||
|
After Width: | Height: | Size: 857 B |
@@ -13,101 +13,112 @@
|
||||
MaxWidth="500"
|
||||
ResizeMode="NoResize">
|
||||
|
||||
<DockPanel Margin="5,5,5,0">
|
||||
<DockPanel Margin="5,5,5,0" Background="{StaticResource Omag_DarkGray}">
|
||||
|
||||
<TextBlock Text="{Binding CsvPath}"
|
||||
DockPanel.Dock="Top"
|
||||
Margin="0,0,0,5"/>
|
||||
|
||||
<UniformGrid Columns="2"
|
||||
DockPanel.Dock="Bottom"
|
||||
|
||||
<UniformGrid Columns="15"
|
||||
DockPanel.Dock="Top"
|
||||
Margin="0,0,0,5">
|
||||
<Button Content="{Binding InsertMsg}"
|
||||
<Button Command="{Binding NewCommand}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style = "{DynamicResource CSV_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding OpenCommand}"
|
||||
Margin="2.5,0,2.5,0"
|
||||
Style = "{DynamicResource CSV_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<ToggleButton IsChecked="{Binding Plus_IsChecked}"
|
||||
Style="{DynamicResource CSV_ToggleButton}"
|
||||
Margin="2.5,0,2.5,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvPlus - Color.png"/>
|
||||
</ToggleButton>
|
||||
<ToggleButton IsChecked="{Binding Minus_IsChecked}"
|
||||
Style="{DynamicResource CSV_ToggleButton}"
|
||||
Margin="2.5,0,0,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvMinus - Color.png"/>
|
||||
</ToggleButton>
|
||||
|
||||
<Button ToolTip="{Binding InsertMsg}"
|
||||
Command="{Binding InsertCommand}"
|
||||
Margin="0,0,2.5,0"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
<Button Content="{Binding RemoveMsg}"
|
||||
Style = "{DynamicResource CSV_Button}">
|
||||
<Image Source="/Resources/CsvWindow/Inserisci-pezzo CSV.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding RemoveMsg}"
|
||||
Command="{Binding RemoveCommand}"
|
||||
Margin="2.5,0,0,0"
|
||||
Style="{StaticResource CompoWindow_Button}"/>
|
||||
</UniformGrid>
|
||||
Style = "{DynamicResource CSV_Button}">
|
||||
<Image Source="/Resources/CsvWindow/Parcheggia-pezzo CSV.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Columns="4"
|
||||
DockPanel.Dock="Bottom"
|
||||
Margin="0,0,0,5">
|
||||
<Button Command="{Binding NewCommand}"
|
||||
Margin="0,0,2.5,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvNew.png"/>
|
||||
</Button>
|
||||
<Button Command="{Binding OpenCommand}"
|
||||
Margin="2.5,0,2.5,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvOpen.png"/>
|
||||
</Button>
|
||||
<ToggleButton IsChecked="{Binding Plus_IsChecked}"
|
||||
Margin="2.5,0,2.5,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvPlus.png"/>
|
||||
</ToggleButton>
|
||||
<ToggleButton IsChecked="{Binding Minus_IsChecked}"
|
||||
Margin="2.5,0,0,0">
|
||||
<Image Source="/Resources/CsvWindow/CsvMinus.png"/>
|
||||
</ToggleButton>
|
||||
</UniformGrid>
|
||||
|
||||
<TreeView ItemsSource="{Binding CsvTypeList}"
|
||||
<TextBlock Text="{Binding CsvPath}"
|
||||
DockPanel.Dock="Top"
|
||||
Foreground="{StaticResource Omag_White}"
|
||||
Margin="0,0,0,5"/>
|
||||
|
||||
<TreeView ItemsSource="{Binding CsvTypeList}"
|
||||
Background="Transparent"
|
||||
BorderThickness="0"
|
||||
Margin="0,0,0,5" >
|
||||
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
<EventSetter Event="MouseUp" Handler="PartTypeClick"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
||||
<EventSetter Event="MouseUp" Handler="PartTypeClick"/>
|
||||
</Style>
|
||||
</TreeView.ItemContainerStyle>
|
||||
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type OmagOFFICE:CsvPartType}"
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type OmagOFFICE:CsvPartType}"
|
||||
ItemsSource="{Binding CsvPartList}">
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" />
|
||||
<Image Grid.Column="0" Source="{Binding PictureString}" Height="32" Width="32" Margin="0,8,6,4" />
|
||||
<TextBlock Grid.Column="1" Text="{Binding Name}" FontSize="15" Margin="10" Foreground="{StaticResource Omag_White}"/>
|
||||
|
||||
</Grid>
|
||||
<HierarchicalDataTemplate.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<EventSetter Event="MouseUp" Handler="PartItemClick"/>
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding bIsActive}" Value="False">
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_Gray}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</HierarchicalDataTemplate.ItemContainerStyle>
|
||||
</Grid>
|
||||
<HierarchicalDataTemplate.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<EventSetter Event="MouseUp" Handler="PartItemClick"/>
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding bIsActive}" Value="true">
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
|
||||
</DataTrigger>
|
||||
<DataTrigger Binding="{Binding bIsActive}" Value="False">
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_Gray}"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</HierarchicalDataTemplate.ItemContainerStyle>
|
||||
|
||||
</HierarchicalDataTemplate>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:CsvPartItem}">
|
||||
<Grid Width="246" Margin="0,5,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<DataTemplate DataType="{x:Type OmagOFFICE:CsvPartItem}">
|
||||
<Grid Width="246" Margin="0,5,0,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="60"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<TextBlock Grid.Column="0" Text="{Binding Name}" Height="18" FontSize="14" HorizontalAlignment="Right"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding sText1}" Height="18" FontSize="14" HorizontalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding sText2}" Height="18" FontSize="14" HorizontalAlignment="Left"/>
|
||||
<TextBlock Grid.Column="0" Text="{Binding Name}" Height="18" FontSize="14" HorizontalAlignment="Right"/>
|
||||
<TextBlock Grid.Column="1" Text="{Binding sText1}" Height="18" FontSize="14" HorizontalAlignment="Center"/>
|
||||
<TextBlock Grid.Column="2" Text="{Binding sText2}" Height="18" FontSize="14" HorizontalAlignment="Left"/>
|
||||
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
|
||||
</TreeView>
|
||||
</TreeView>
|
||||
|
||||
</DockPanel>
|
||||
</DockPanel>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
|
||||
@@ -456,28 +456,28 @@ Public Class CurrMachWindowVM
|
||||
' --- DRILL ---
|
||||
CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrDrillingList.Count = 0 Then
|
||||
If m_CurrDrillingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrDrilling = String.Empty
|
||||
End If
|
||||
|
||||
' --- MILL ---
|
||||
CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrMillingList.Count = 0 Then
|
||||
If m_CurrMillingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrMilling = String.Empty
|
||||
End If
|
||||
|
||||
' --- SCASSO ---
|
||||
CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrPocketingList.Count = 0 Then
|
||||
If m_CurrPocketingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrPocketing = String.Empty
|
||||
End If
|
||||
|
||||
' --- WATERJET ---
|
||||
CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrWaterjettingList.Count = 0 Then
|
||||
If m_CurrWaterjettingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrWaterJetting = String.Empty
|
||||
End If
|
||||
m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities)
|
||||
@@ -487,28 +487,28 @@ Public Class CurrMachWindowVM
|
||||
' --- DRILL ---
|
||||
CreateMachiningList(MCH_MY.DRILLING, m_AvailableDrillList, m_CurrDrillingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrDrillingList.Count = 0 Then
|
||||
If m_CurrDrillingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrDrilling = String.Empty
|
||||
End If
|
||||
|
||||
' --- MILL ---
|
||||
CreateMachiningList(MCH_MY.MILLING, m_AvailableMillList, m_CurrMillingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrMillingList.Count = 0 Then
|
||||
If m_CurrMillingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrMilling = String.Empty
|
||||
End If
|
||||
|
||||
' --- SCASSO ---
|
||||
CreateMachiningList(MCH_MY.POCKETING, m_AvailableMillList, m_CurrPocketingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrPocketingList.Count = 0 Then
|
||||
If m_CurrPocketingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrPocketing = String.Empty
|
||||
End If
|
||||
|
||||
' --- WATERJET ---
|
||||
CreateMachiningList(MCH_MY.WATERJETTING, m_AvailableWaterjetList, m_CurrWaterjettingList)
|
||||
' Se la lista è vuota cancello la lavorazione corrente di questo tipo
|
||||
If m_CurrWaterjettingList.Count = 0 Then
|
||||
If m_CurrWaterjettingList.Count <= 1 Then
|
||||
CurrentMachine.sCurrWaterJetting = String.Empty
|
||||
End If
|
||||
m_CurrWaterjettingQualityList = New List(Of String)(CurrentMachine.Qualities)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -15,6 +15,9 @@ Public Class DxfImportWindowVM
|
||||
Private m_nFileType As Integer = FT.NULL
|
||||
Private m_bEnableTrf As Boolean = False
|
||||
|
||||
' in "LoadCurrFile" imposto il valore del parametro per import nge
|
||||
Private bImportSTD As Boolean = True
|
||||
|
||||
Private m_sCad2dName As String
|
||||
Private m_sCad2dPath As String
|
||||
|
||||
@@ -142,7 +145,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 +193,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 +236,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 +334,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 +544,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)
|
||||
@@ -646,16 +703,30 @@ Public Class DxfImportWindowVM
|
||||
Case FT.DXF
|
||||
' recupero unità di misura del file
|
||||
Dim dScale As Double = If(m_MmIsChecked, ONEMM, ONEINCH)
|
||||
' Importo file DXF
|
||||
If Not EgtImportDxf(m_sFilePath, dScale) Then Return False
|
||||
Case FT.NGE
|
||||
' Carico Nge
|
||||
If Not EgtOpenFile(m_sFilePath) Then Return False
|
||||
' Filtro Nge
|
||||
EstProject.FilterNge()
|
||||
Case FT_TRF
|
||||
' Carico Trf
|
||||
If Not ImportTrf(m_sFilePath) Then Return False
|
||||
' Importo file DXF
|
||||
If Not EgtImportDxf(m_sFilePath, dScale) Then Return False
|
||||
' Riporto al piano tutte le superifici
|
||||
EgtSelectAll()
|
||||
EgtScale(GDB_ID.SEL, Frame3d.GLOB, 1, 1, 0)
|
||||
EgtDeselectAll()
|
||||
Case FT.NGE
|
||||
' Carico Nge
|
||||
If Not EgtOpenFile(m_sFilePath) Then Return False
|
||||
bImportSTD = True
|
||||
' Leggo nel file se il progetto arriva dal programma EgtSTONE3D -> bImportSTD = False
|
||||
Dim idGroupStone As Integer = GDB_ID.NULL
|
||||
idGroupStone = EgtGetFirstNameInGroup(GDB_ID.ROOT, "EgtStone3D")
|
||||
If idGroupStone <> GDB_ID.NULL Then
|
||||
bImportSTD = False
|
||||
EgtErase(idGroupStone)
|
||||
End If
|
||||
' Filtro Nge SOLO se importazione STANDARD
|
||||
If bImportSTD Then
|
||||
EstProject.FilterNge()
|
||||
End If
|
||||
Case FT_TRF
|
||||
' Carico Trf
|
||||
If Not ImportTrf(m_sFilePath) Then Return False
|
||||
Case Else
|
||||
Return False
|
||||
End Select
|
||||
@@ -840,7 +911,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
|
||||
@@ -1017,18 +1088,20 @@ Public Class DxfImportWindowVM
|
||||
|
||||
Public Sub UseRegion(ByVal param As Object)
|
||||
' Creo i pezzi
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
|
||||
Dim dToler As Double = GetPrivateProfileDouble(S_FLATPARTS, K_FLPTOLERANCE, 0.1, IniFile.m_sIniFile)
|
||||
EgtCreateAdjustFlatParts(nType, dToler)
|
||||
' Se prevista gestione colore->angolo di fianco
|
||||
If GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
|
||||
SideEntityControlVM.ColorToSideAngle(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
If bImportSTD Then
|
||||
Dim nType As Integer = If(m_nFileType = FT.NGE, FPC_TYPE.NGE, FPC_TYPE.REGION)
|
||||
Dim dToler As Double = GetPrivateProfileDouble(S_FLATPARTS, K_FLPTOLERANCE, 0.1, IniFile.m_sIniFile)
|
||||
EgtCreateAdjustFlatParts(nType, dToler)
|
||||
' Se prevista gestione colore->angolo di fianco
|
||||
If GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
|
||||
SideEntityControlVM.ColorToSideAngle(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
End If
|
||||
' Se prevista gestione colore->incisioni
|
||||
If GetPrivateProfileInt(S_COLORTOENGRAVE, K_CTE_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
|
||||
SideEntityControlVM.ColorToEngrave(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
End If
|
||||
ColorRegion(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
End If
|
||||
' Se prevista gestione colore->incisioni
|
||||
If GetPrivateProfileInt(S_COLORTOENGRAVE, K_CTE_ENABLE, 0, IniFile.m_sIniFile) <> 0 Then
|
||||
SideEntityControlVM.ColorToEngrave(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
End If
|
||||
ColorRegion(DxfImportWindowMap.refDxfImportSceneHostV.ImportDxfScene.GetCtx())
|
||||
' Eseguo zoom
|
||||
EgtZoom(ZM.ALL)
|
||||
' disabilito bottoni UseLayer e UseRegion, abilito bottoni Reset e Insert
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Imports EgtUILib
|
||||
Imports System.Security.Cryptography
|
||||
Imports EgtUILib
|
||||
|
||||
Friend Module CamAuto
|
||||
|
||||
@@ -32,7 +33,7 @@ Friend Module CamAuto
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Function AddWaterJetMachining( nOperId As Integer, ByRef nWarn As Integer) As Boolean
|
||||
Friend Function AddWaterJetMachining(nOperId As Integer, ByRef nWarn As Integer) As Boolean
|
||||
EgtLuaCreateGlobTable("CAM")
|
||||
SetLuaStandardCamParams()
|
||||
EgtLuaSetGlobIntVar("CAM.OPERID", nOperId)
|
||||
@@ -49,6 +50,26 @@ Friend Module CamAuto
|
||||
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())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Function EraseMachinings(nPartId As Integer) As Boolean
|
||||
EgtLuaCreateGlobTable("CAM")
|
||||
EgtLuaSetGlobIntVar("CAM.PARTID", nPartId)
|
||||
@@ -157,6 +178,69 @@ Friend Module CamAuto
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Function ResetAllSplitCut() As Boolean
|
||||
Dim PartList As New List(Of Integer)
|
||||
' Ricerca nei grezzi dei pezzi (devono essere ricercati tra quelli presenti nei grezzi)
|
||||
Dim bOk As Boolean = True
|
||||
' Recupero il numero di fasi presenti nel progetto
|
||||
Dim nPhaseCount As Integer = EgtGetPhaseCount()
|
||||
For nPhase As Integer = 1 To nPhaseCount
|
||||
EgtSetCurrPhase(nPhase)
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
Dim nParId As Integer = EgtGetFirstPartInRawPart(nRawId)
|
||||
If EgtVerifyRawPartPhase(nRawId, nPhase) Then
|
||||
While nParId <> GDB_ID.NULL
|
||||
Dim nNextParId As Integer = EgtGetNextPartInRawPart(nParId)
|
||||
' verifico se il pezzo passato è un taglio di sepatazione (il nome deve contenere "SpliCut")
|
||||
Dim sName As String = String.Empty
|
||||
If EgtGetName(nParId, sName) AndAlso sName.Contains(SPLIT_CUT) Then
|
||||
' Rimuovo il pezzo dal grezzo
|
||||
If EgtRemovePartFromRawPart(nParId) Then
|
||||
' Salvo l'indice del pezzo se non è stato già inserito
|
||||
Dim nIndex As Integer = PartList.FirstOrDefault(Function(nId) nId = nParId)
|
||||
If nIndex = 0 Then PartList.Add(nParId)
|
||||
End If
|
||||
End If
|
||||
nParId = nNextParId
|
||||
End While
|
||||
End If
|
||||
nRawId = EgtGetNextRawPart(nRawId)
|
||||
End While
|
||||
Next
|
||||
' Reimposto la prima fase del progetto
|
||||
EgtSetCurrPhase(1)
|
||||
' Procedo ad eliminare il pezzo
|
||||
For Each Item As Integer In PartList
|
||||
bOk = bOk And EgtErase(Item)
|
||||
Next
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Function RemoveCurrentSplitCut(nIdSplitCut As Integer) As Boolean
|
||||
Dim bOk As Boolean = False
|
||||
Dim nCurrPhase As Integer = EgtGetCurrPhase()
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
Dim nParId As Integer = EgtGetFirstPartInRawPart(nRawId)
|
||||
If EgtVerifyRawPartPhase(nRawId, nCurrPhase) Then
|
||||
While nParId <> GDB_ID.NULL
|
||||
If nParId = nIdSplitCut Then
|
||||
' Rimuovo il pezzo dal grezzo
|
||||
bOk = EgtRemovePartFromRawPart(nParId)
|
||||
Exit While
|
||||
End If
|
||||
nParId = EgtGetNextPartInRawPart(nParId)
|
||||
End While
|
||||
End If
|
||||
If bOk Then Exit While
|
||||
nRawId = EgtGetNextRawPart(nRawId)
|
||||
End While
|
||||
' Elimino il pezzo
|
||||
bOk = bOk And EgtErase(nIdSplitCut)
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
' verifico che il contorno passato non sia stato separato
|
||||
Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer) As Boolean
|
||||
Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop)
|
||||
@@ -260,7 +344,7 @@ Friend Module CamAuto
|
||||
EgtGetGroupObjs(EgtGetFirstNameInGroup(nPartId, NAME_UNDERDRILL)) = 0 Then
|
||||
Return True
|
||||
End If
|
||||
' Se tutti i pezzi
|
||||
' Se tutti i pezzi
|
||||
Else
|
||||
' Salvo fase attualmente corrente
|
||||
Dim nOriPhase As Integer = EgtGetCurrPhase()
|
||||
@@ -401,9 +485,9 @@ Friend Module CamAuto
|
||||
Dim sTool2 As String = String.Empty
|
||||
EgtGetMachiningParam(MCH_MP.TUUID, sTuuid)
|
||||
EgtTdbGetToolFromUUID(sTuuid, sTool)
|
||||
If String.IsNullOrWhiteSpace( sTool) Then
|
||||
If String.IsNullOrWhiteSpace(sTool) Then
|
||||
Dim sMchTool As String = ""
|
||||
EgtGetMachiningParam( MCH_MP.TOOL, sMchTool)
|
||||
EgtGetMachiningParam(MCH_MP.TOOL, sMchTool)
|
||||
bOk = False
|
||||
If sMissingTools.IndexOf(sMchTool) = -1 Then
|
||||
sMissingTools = sMissingTools & sMchTool & ", "
|
||||
@@ -417,7 +501,7 @@ Friend Module CamAuto
|
||||
sTool2 = sTool & "-2"
|
||||
End If
|
||||
If String.Compare(sTool, CurrentMachine.sCurrSaw) <> 0 AndAlso
|
||||
( String.IsNullOrWhiteSpace( sTool2) OrElse String.Compare(sTool2, CurrentMachine.sCurrSaw) <> 0) AndAlso
|
||||
(String.IsNullOrWhiteSpace(sTool2) OrElse String.Compare(sTool2, CurrentMachine.sCurrSaw) <> 0) AndAlso
|
||||
String.Compare(sTool, CurrentMachine.sCurrDripSaw) <> 0 Then
|
||||
bOk = False
|
||||
If sMissingTools.IndexOf(sTool) = -1 Then
|
||||
@@ -481,9 +565,10 @@ 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
|
||||
If IsValidMachining(nOperId) And EgtGetOperationType(nOperId) = MCH_OY.SAWING Then
|
||||
' verifica interferenza
|
||||
Dim nFlag As Integer = FMI_TYPE.NONE
|
||||
If Not VerifyComposedMachining(nOperId, nFlag) Then
|
||||
@@ -495,12 +580,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
|
||||
|
||||
@@ -604,8 +691,8 @@ Friend Module CamAuto
|
||||
If nOriLeadIn <> MCH_SAW_LI.STRICT Then
|
||||
EgtSetMachiningParam(MCH_MP.LEADINTYPE, MCH_SAW_LI.STRICT)
|
||||
Dim dUserAddLen As Double = 0
|
||||
EgtGetInfo( nMchId, INFO_MCH_USER_SAL, dUserAddLen)
|
||||
EgtRemoveInfo( nMchId, INFO_MCH_USER_SAL)
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_SAL, dUserAddLen)
|
||||
EgtRemoveInfo(nMchId, INFO_MCH_USER_SAL)
|
||||
Dim dAddLen As Double = 0
|
||||
EgtGetMachiningParam(MCH_MP.STARTADDLEN, dAddLen)
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, dAddLen - dUserAddLen - dSafeLen)
|
||||
@@ -624,8 +711,8 @@ Friend Module CamAuto
|
||||
If nOriLeadOut <> MCH_SAW_LO.STRICT Then
|
||||
EgtSetMachiningParam(MCH_MP.LEADOUTTYPE, MCH_SAW_LO.STRICT)
|
||||
Dim dUserAddLen As Double = 0
|
||||
EgtGetInfo( nMchId, INFO_MCH_USER_EAL, dUserAddLen)
|
||||
EgtRemoveInfo( nMchId, INFO_MCH_USER_EAL)
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_EAL, dUserAddLen)
|
||||
EgtRemoveInfo(nMchId, INFO_MCH_USER_EAL)
|
||||
Dim dAddLen As Double = 0
|
||||
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, dAddLen - dUserAddLen - dSafeLen)
|
||||
@@ -888,6 +975,27 @@ Friend Module CamAuto
|
||||
End If
|
||||
End Function
|
||||
|
||||
Friend Function GetRawHeightFromPart(CurrIdPart As Integer, VeinCtx As Integer, MachCtx As Integer) As Double
|
||||
Dim H As Double = 5
|
||||
EgtSetCurrentContext(MachCtx)
|
||||
Dim IdRaw As Integer = EgtGetFirstRawPart()
|
||||
While IdRaw <> GDB_ID.NULL
|
||||
Dim IdPart As Integer = EgtGetFirstPartInRawPart(IdRaw)
|
||||
While IdPart <> GDB_ID.NULL
|
||||
If IdPart = CurrIdPart Then
|
||||
Dim ptRawMin, ptRawMax As Point3d
|
||||
EgtGetRawPartBBox(GetCurrentRaw(), ptRawMin, ptRawMax)
|
||||
EgtSetCurrentContext(VeinCtx)
|
||||
Return ptRawMax.z - ptRawMin.z
|
||||
End If
|
||||
IdPart = EgtGetNextPartInRawPart(IdPart)
|
||||
End While
|
||||
IdRaw = EgtGetNextRawPart(IdRaw)
|
||||
End While
|
||||
EgtSetCurrentContext(VeinCtx)
|
||||
Return H
|
||||
End Function
|
||||
|
||||
Friend Function UpdateAllRawsZ(dDeltaZ As Double) As Boolean
|
||||
For i As Integer = 1 To EgtGetPhaseCount()
|
||||
EgtSetCurrPhase(i)
|
||||
@@ -956,13 +1064,13 @@ Friend Module CamAuto
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
If nRawId = GDB_ID.NULL Then Return False
|
||||
' Se non ci sono pezzi, esco
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId)
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
|
||||
If nPart1Id = GDB_ID.NULL Then Return True
|
||||
' Verifico se cornice curva
|
||||
Dim nDir As Integer = 0
|
||||
EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
|
||||
Dim bSwap As Boolean = ( nDir = 0)
|
||||
Dim bCurved As Boolean = ( nDir >= 2)
|
||||
Dim bSwap As Boolean = (nDir = 0)
|
||||
Dim bCurved As Boolean = (nDir >= 2)
|
||||
' Recupero la lavorazione corrente di sgrossatura con lama
|
||||
Dim sCurrSawRou As String = CurrentMachine.sCurrSawRoughing
|
||||
If String.IsNullOrEmpty(sCurrSawRou) Then Return True
|
||||
@@ -989,8 +1097,8 @@ Friend Module CamAuto
|
||||
' Imposto la geometria
|
||||
EgtSetMachiningGeometry(vId)
|
||||
' Imposto trim iniziale e finale
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd))
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
|
||||
' Se cornice curva, imposto SCC
|
||||
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
|
||||
' Applico la lavorazione
|
||||
@@ -1005,13 +1113,13 @@ Friend Module CamAuto
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
If nRawId = GDB_ID.NULL Then Return False
|
||||
' Se non ci sono pezzi, esco
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId)
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
|
||||
If nPart1Id = GDB_ID.NULL Then Return True
|
||||
' Verifico se cornice curva
|
||||
Dim nDir As Integer = 0
|
||||
EgtGetInfo( nPart1Id, INFO_FRAME_DIR, nDir)
|
||||
Dim bSwap As Boolean = ( nDir = 0)
|
||||
Dim bCurved As Boolean = ( nDir >= 2)
|
||||
EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
|
||||
Dim bSwap As Boolean = (nDir = 0)
|
||||
Dim bCurved As Boolean = (nDir >= 2)
|
||||
' Recupero la lavorazione corrente di finitura con lama
|
||||
Dim sCurrSawFin As String = CurrentMachine.sCurrSawFinishing
|
||||
If String.IsNullOrEmpty(sCurrSawFin) Then Return True
|
||||
@@ -1048,8 +1156,8 @@ Friend Module CamAuto
|
||||
' Imposto la geometria
|
||||
EgtSetMachiningGeometry(vId)
|
||||
' Imposto trim iniziale e finale
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd))
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
|
||||
' Se cornice curva, imposto SCC
|
||||
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
|
||||
' Applico la lavorazione
|
||||
@@ -1064,13 +1172,13 @@ Friend Module CamAuto
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
If nRawId = GDB_ID.NULL Then Return False
|
||||
' Se non ci sono pezzi, esco
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart( nRawId)
|
||||
Dim nPart1Id As Integer = EgtGetFirstPartInRawPart(nRawId)
|
||||
If nPart1Id = GDB_ID.NULL Then Return True
|
||||
' Verifico se cornice curva
|
||||
Dim nDir As Integer = 0
|
||||
EgtGetInfo(nPart1Id, INFO_FRAME_DIR, nDir)
|
||||
Dim bSwap As Boolean = ( nDir = 0)
|
||||
Dim bCurved As Boolean = ( nDir >= 2)
|
||||
Dim bSwap As Boolean = (nDir = 0)
|
||||
Dim bCurved As Boolean = (nDir >= 2)
|
||||
' Recupero la lavorazione corrente di spatolatura con lama
|
||||
Dim sCurrSawSideFin As String = CurrentMachine.sCurrSawSideFinishing
|
||||
If String.IsNullOrEmpty(sCurrSawSideFin) Then Return True
|
||||
@@ -1091,8 +1199,8 @@ Friend Module CamAuto
|
||||
' Imposto la geometria
|
||||
EgtSetMachiningGeometry(vId)
|
||||
' Imposto trim iniziale e finale
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If( bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If( bSwap, -dTrimStart, -dTrimEnd))
|
||||
EgtSetMachiningParam(MCH_MP.STARTADDLEN, If(bSwap, -dTrimEnd, -dTrimStart))
|
||||
EgtSetMachiningParam(MCH_MP.ENDADDLEN, If(bSwap, -dTrimStart, -dTrimEnd))
|
||||
' Se cornice curva, imposto SCC
|
||||
If bCurved Then EgtSetMachiningParam(MCH_MP.SOLCHOICETYPE, MCH_SCC.ADIR_NEAR)
|
||||
' Applico la lavorazione
|
||||
@@ -1231,14 +1339,14 @@ Friend Module CamAuto
|
||||
dStartDist = dEndDist
|
||||
dEndDist = dTemp
|
||||
End If
|
||||
' altrimenti
|
||||
' altrimenti
|
||||
Else
|
||||
Dim vtSide As Vector3d
|
||||
' Se faccia non limitata da altre o sopra la limitante
|
||||
If bFree Then
|
||||
EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_DOWN)
|
||||
vtSide = Vector3d.Z_AX()
|
||||
' altrimenti è stata trovata una faccia adiacente limitante
|
||||
' altrimenti è stata trovata una faccia adiacente limitante
|
||||
Else
|
||||
If vtAdjN.x > 10 * EPS_SMALL Then
|
||||
EgtSetMachiningParam(MCH_MP.FACEUSE, MCH_MIL_FU.ORTUP_LEFT)
|
||||
|
||||
@@ -260,6 +260,8 @@ Module ConstMach
|
||||
Public Const INFO_AUX_SPLIT_WJ As String = "AUX_SPLIT_WJ"
|
||||
' Info in OutLoop per punto inzio lavorazione WaterJet
|
||||
Public Const INFO_START As String = "Start"
|
||||
' Nome dei tagli diretti inseriti in fase di Splitting
|
||||
Public Const SPLIT_CUT As String = "SplitCut"
|
||||
|
||||
' Nome di pezzo che è una cornice
|
||||
Public Const NAME_FRAME As String = "Frame"
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
<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">
|
||||
|
||||
<Grid Name="VeinMatchingGrid" Background="{StaticResource Omag_Gray}">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="91"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
|
||||
<StackPanel Orientation="Vertical">
|
||||
<ToggleButton Name="ShowTextBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="ShowText"/>
|
||||
<ToggleButton Name="EditBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Edit"/>
|
||||
<ToggleButton Name="VerifyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Verify"/>
|
||||
<ToggleButton Name="MagneticBtn" Height="40" Width="80"
|
||||
Visibility="Collapsed"
|
||||
Margin="0,5,0,0"
|
||||
Content="Magnetic"/>
|
||||
<Button Name="ExportBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Export"/>
|
||||
<Button Name="AssemblyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="3D"/>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
|
||||
</Window>
|
||||
@@ -9,17 +9,19 @@
|
||||
Height="20" Width="150"/>-->
|
||||
|
||||
<Button Command="{Binding ToolDbCommand}" ToolTip="{Binding ToolDBToolTip}" Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/NewIcons/DB-utensili.png" Stretch="Uniform"/>
|
||||
<Image Source="/Resources/NewIcons/DB-lavorazioni.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding MachDbCommand}" ToolTip="{Binding MachiningDbToolTip}" Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/NewIcons/DB-lavorazioni.png" Stretch="UniformToFill"/>
|
||||
<Image Source="/Resources/NewIcons/DB-utensili.png" Stretch="UniformToFill"/>
|
||||
</Button>
|
||||
<Button Command="{Binding SetUpCommand}" ToolTip="{Binding SetUpToolTip}" Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/NewIcons/ToolChangerPos.png" Stretch="Uniform" />
|
||||
</Button>
|
||||
<Button Command="{Binding WaterjetDbCommand}" ToolTip="{Binding WaterjetDbToolTip}"
|
||||
Style="{StaticResource ToolBar_Button}" Visibility="{Binding WjDb_Visibility}">
|
||||
<Image Source="/Resources/NewIcons/DB-WJ.png" Stretch="UniformToFill"/>
|
||||
</Button>
|
||||
<Button Command="{Binding MachOptionsCommand}" ToolTip="{Binding OptionsToolTip}" Style="{StaticResource ToolBar_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Options.png" Stretch="Uniform" />
|
||||
</Button>
|
||||
<Button Command="{Binding SetUpCommand}" ToolTip="{Binding SetUpToolTip}"
|
||||
Style="{StaticResource ToolBar_TextButton}" Width="70" Content="{Binding SetUpMsg}"
|
||||
Background="{Binding SetUp_Background}"/>
|
||||
<Button Command="{Binding WaterjetDbCommand}" ToolTip="{Binding WaterjetDbToolTip}"
|
||||
Style="{StaticResource ToolBar_TextButton}" Width="70" Content="{Binding WaterjetDbMsg}" Visibility="{Binding WjDb_Visibility}"/>
|
||||
</DockPanel>
|
||||
|
||||
@@ -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>
|
||||
@@ -148,8 +148,10 @@ Public Class MyMachinePanelVM
|
||||
|
||||
' Definisco lo stile della ComboBox
|
||||
ToolDbWindowVM.BackgroundCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
ToolDbWindowVM.BackgroundListCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
ToolDbWindowVM.ForegroundCmBxTxBl = Brushes.White
|
||||
ToolDbWindowVM.BorderThicknessCmBxTxBl = 1.0
|
||||
ToolDbWindowVM.BorderBrushCmBxTxBl = Brushes.Black
|
||||
ToolDbWindowVM.BorderThicknessCmBxTxBl = New Thickness(1)
|
||||
ToolDbWindowVM.VerticalContentAlignmentCmBxTxBl = "Center"
|
||||
ToolDbWindowVM.HeightCmBxTxBl = "25"
|
||||
ToolDbWindowVM.WidthCmBxTxBl = "Auto"
|
||||
@@ -159,7 +161,7 @@ Public Class MyMachinePanelVM
|
||||
ToolDbWindowVM.BackgroundButton = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
ToolDbWindowVM.ForegroundButton = Brushes.White
|
||||
ToolDbWindowVM.BorderBrushButton = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
ToolDbWindowVM.BorderThicknessButton = 1.0
|
||||
ToolDbWindowVM.BorderThicknessButton = New Thickness(1)
|
||||
|
||||
''Definisco lo stile della DataGrid
|
||||
'ToolDbWindowVM.HeaderVisibility = DataGridHeadersVisibility.Column
|
||||
@@ -210,9 +212,15 @@ Public Class MyMachinePanelVM
|
||||
MessageBox.Show(EgtMsg(MSG_MACHININGDBERRORS + 8), EgtMsg(MSG_MESSAGEBOX + 1), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Return
|
||||
End If
|
||||
|
||||
EgtOutLog("Call function: Creazione oggetto MachDbWindowVM")
|
||||
TimeSpanInit()
|
||||
Dim MachDbWindowVM As New EgtWPFLib5.MachiningDbWindowVM(CurrentMachine.sMachIniFile, OmagOFFICEMap.refSceneHostVM.MainScene.GetCtx(), "Stone", OmagOFFICEMap.refMainWindowVM.MainWindowM.nUserLevel > 5)
|
||||
' Dim MachDbWindowV As New EgtWPFLib5.MachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
|
||||
EgtOutLog(TimeSpanEnd())
|
||||
|
||||
EgtOutLog("Call function: Aggiorna oggetto MachDbWindowVM")
|
||||
TimeSpanInit()
|
||||
MachDbWindowVM.bPersonalInterface = True
|
||||
|
||||
' Collegata allo stile della GroupBox
|
||||
@@ -230,11 +238,14 @@ Public Class MyMachinePanelVM
|
||||
MachDbWindowVM.ForegroundTxBlDisable = Brushes.White
|
||||
MachDbWindowVM.GeneralForeground = Brushes.White
|
||||
MachDbWindowVM.GeneralBackground = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.MyForegroundChColor = Brushes.White
|
||||
|
||||
' Definisco lo stile della ComboBox
|
||||
MachDbWindowVM.BackgroundCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.BackgroundListCmBxTxBl = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.ForegroundCmBxTxBl = Brushes.White
|
||||
MachDbWindowVM.BorderThicknessCmBxTxBl = 1.0
|
||||
MachDbWindowVM.BorderBrushCmBxTxBl = Brushes.Black
|
||||
MachDbWindowVM.BorderThicknessCmBxTxBl = New Thickness(1)
|
||||
MachDbWindowVM.VerticalContentAlignmentCmBxTxBl = "Center"
|
||||
MachDbWindowVM.HeightCmBxTxBl = "25"
|
||||
MachDbWindowVM.WidthCmBxTxBl = "Auto"
|
||||
@@ -244,35 +255,44 @@ Public Class MyMachinePanelVM
|
||||
MachDbWindowVM.BackgroundIsChecked = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.ForegroundIsChecked = Brushes.White
|
||||
MachDbWindowVM.BorderBrushIsChecked = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.BorderThicknessIsChecked = 1.0
|
||||
MachDbWindowVM.BorderThicknessIsChecked = New Thickness(1)
|
||||
MachDbWindowVM.OpacityIsChecked = 0.25
|
||||
|
||||
'Definisco lo stile della DataGrid
|
||||
'MachDbWindowVM.HeaderVisibility = DataGridHeadersVisibility.Column
|
||||
'MachDbWindowVM.BackgroundDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
|
||||
'MachDbWindowVM.BackGroundHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
|
||||
'MachDbWindowVM.ForegroundHeader = Brushes.White
|
||||
'MachDbWindowVM.BorderBrushHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
'MachDbWindowVM.BorderThicknessHeader = 0.0
|
||||
'MachDbWindowVM.FontWeightHeader = FontWeights.Bold
|
||||
'MachDbWindowVM.BorderBrushDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
'MachDbWindowVM.BackgroundDataGridRow = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
'MachDbWindowVM.ForegroundDataGridRow = Brushes.White
|
||||
'MachDbWindowVM.BorderBrushDataGridRow = Brushes.DarkGray
|
||||
'MachDbWindowVM.BorderThicknessDataGridRow = "0 0 0 1"
|
||||
'MachDbWindowVM.BorderBrushDataGridCell = Brushes.DarkGray
|
||||
'MachDbWindowVM.BorderThicknessDataGridCell = "0 0 1 0"
|
||||
MachDbWindowVM.HeaderVisibility = DataGridHeadersVisibility.Column
|
||||
MachDbWindowVM.BackgroundDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
|
||||
MachDbWindowVM.BackGroundHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#484D55"), Brush)
|
||||
MachDbWindowVM.ForegroundHeader = Brushes.White
|
||||
MachDbWindowVM.BorderBrushHeader = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.BorderThicknessHeader = New Thickness(0)
|
||||
MachDbWindowVM.FontWeightHeader = FontWeights.Bold
|
||||
MachDbWindowVM.BorderBrushDataGrid = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.BackgroundDataGridRow = DirectCast(New System.Windows.Media.BrushConverter().ConvertFromString("#1C1D22"), Brush)
|
||||
MachDbWindowVM.ForegroundDataGridRow = Brushes.White
|
||||
MachDbWindowVM.BorderBrushDataGridRow = Brushes.DarkGray
|
||||
MachDbWindowVM.BorderThicknessDataGridRow = New Thickness(0, 0, 0, 1)
|
||||
MachDbWindowVM.BorderBrushDataGridCell = Brushes.DarkGray
|
||||
MachDbWindowVM.BorderThicknessDataGridCell = New Thickness(0, 0, 1, 0)
|
||||
|
||||
EgtOutLog(TimeSpanEnd())
|
||||
|
||||
EgtOutLog("Call function: Creazione oggetto MachDbWindowV")
|
||||
TimeSpanInit()
|
||||
Dim MachDbWindowV As New MyMachiningDbWindowV(Application.Current.MainWindow, MachDbWindowVM)
|
||||
|
||||
|
||||
If EgtWPFLib5.MachiningTreeViewItem.m_MatType <> 0 Then
|
||||
EgtOutLog("Call function: Visualizzazione oggetto MachDbWindowV")
|
||||
TimeSpanInit()
|
||||
MachDbWindowV.Height = 768
|
||||
MachDbWindowV.Width = 1024
|
||||
MachDbWindowV.ShowDialog()
|
||||
EgtOutLog(TimeSpanEnd())
|
||||
Else
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
|
||||
' Verifico che gli utensili delle lavorazioni correnti siano attrezzati (necessario perchè potrei aver cambiato gli utensili delle lavorazioni)
|
||||
' e che le lavorazioni correnti siano compatibili con materiale e spessore
|
||||
' Lama
|
||||
|
||||
@@ -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, 2509, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2509, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2612, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2612, 1, m_nKeyOptions)
|
||||
' Verifico abilitazione prodotto
|
||||
Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
@@ -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)
|
||||
@@ -375,6 +381,7 @@ Public Class MainWindowM
|
||||
End Sub
|
||||
|
||||
Friend Function GetKeyOption(nKeyOpt As KEY_OPT) As Boolean
|
||||
Dim int As UInteger = m_nKeyOptions And nKeyOpt
|
||||
Return ((m_nKeyOptions And nKeyOpt) <> 0)
|
||||
End Function
|
||||
|
||||
|
||||
@@ -14,6 +14,10 @@
|
||||
<OmagOFFICE:TopCommandBarV DataContext="{StaticResource TopCommandBarVM}"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding EscapeCommand}"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<!--Pannello principale -->
|
||||
<DockPanel>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ Public Class MainWindowVM
|
||||
' definizione comandi
|
||||
Private m_cmdAboutBox As ICommand
|
||||
Private m_cmdCloseApplication As ICommand
|
||||
Private m_cmdEscape As ICommand
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
@@ -136,6 +137,27 @@ Public Class MainWindowVM
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Escape"
|
||||
|
||||
Public ReadOnly Property EscapeCommand() As ICommand
|
||||
Get
|
||||
If m_cmdEscape Is Nothing Then
|
||||
m_cmdEscape = New Command(AddressOf Escape)
|
||||
End If
|
||||
Return m_cmdEscape
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Escape()
|
||||
If Not IsNothing(OmagOFFICEMap.refSplitModeVM) Then
|
||||
OmagOFFICEMap.refSplitModeVM.DeactiveSplitCut()
|
||||
OmagOFFICEMap.refSplitModeVM.DeselectWJBridgesPart()
|
||||
OmagOFFICEMap.refSplitModeVM.ResetAllMark()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "AboutBoxCommand"
|
||||
|
||||
' Returns a command that manage the MainWindow_Unloaded command
|
||||
|
||||
@@ -69,6 +69,6 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.5.9.5")>
|
||||
<Assembly: AssemblyFileVersion("2.5.9.5")>
|
||||
<Assembly: AssemblyVersion("2.6.12.1")>
|
||||
<Assembly: AssemblyFileVersion("2.6.12.1")>
|
||||
|
||||
|
||||
@@ -12,199 +12,199 @@
|
||||
CloseCommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
Height="900">
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding ReloadMachiningCommand}"
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding ReloadMachiningCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem,ElementName=MachiningsTreeView}"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>
|
||||
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Invert">0</sys:Int32>
|
||||
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
|
||||
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
|
||||
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
|
||||
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
|
||||
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
|
||||
<sys:Int32 x:Key="StepType">8</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
|
||||
<sys:Int32 x:Key="Speed">10</sys:Int32>
|
||||
<sys:Int32 x:Key="Feed">11</sys:Int32>
|
||||
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
|
||||
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
|
||||
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
|
||||
<sys:Int32 x:Key="OffSr">15</sys:Int32>
|
||||
<sys:Int32 x:Key="OffSl">16</sys:Int32>
|
||||
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
|
||||
<sys:Int32 x:Key="Approx">18</sys:Int32>
|
||||
<sys:Int32 x:Key="StartPos">19</sys:Int32>
|
||||
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
|
||||
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
|
||||
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
|
||||
<sys:Int32 x:Key="StepPar">23</sys:Int32>
|
||||
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
|
||||
<sys:Int32 x:Key="TabLen">25</sys:Int32>
|
||||
<sys:Int32 x:Key="TabDist">26</sys:Int32>
|
||||
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
|
||||
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
|
||||
<sys:Int32 x:Key="LiTang">29</sys:Int32>
|
||||
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
|
||||
<sys:Int32 x:Key="LiElev">31</sys:Int32>
|
||||
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
|
||||
<sys:Int32 x:Key="LoTang">33</sys:Int32>
|
||||
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
|
||||
<sys:Int32 x:Key="LoElev">35</sys:Int32>
|
||||
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
|
||||
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
|
||||
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
|
||||
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
|
||||
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
|
||||
<sys:Int32 x:Key="SideStep">41</sys:Int32>
|
||||
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
|
||||
<sys:Int32 x:Key="NamePar">43</sys:Int32>
|
||||
<sys:Int32 x:Key="Tool">44</sys:Int32>
|
||||
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
|
||||
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
|
||||
<sys:Int32 x:Key="OverLap">47</sys:Int32>
|
||||
<sys:Int32 x:Key="SubType">49</sys:Int32>
|
||||
<sys:Int32 x:Key="SelectedSolChoiceType">50</sys:Int32>
|
||||
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
|
||||
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
|
||||
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
|
||||
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
|
||||
<sys:Int32 x:Key="StepBack">55</sys:Int32>
|
||||
<sys:Int32 x:Key="StepSideAngBack">56</sys:Int32>
|
||||
<sys:Int32 x:Key="BackFeed">57</sys:Int32>
|
||||
<sys:Int32 x:Key="StepSideAng">58</sys:Int32>
|
||||
<sys:Int32 x:Key="ForwardAngle">59</sys:Int32>
|
||||
<sys:Int32 x:Key="Probing">60</sys:Int32>
|
||||
<sys:Int32 x:Key="ProbingMinDist">61</sys:Int32>
|
||||
<sys:Int32 x:Key="ProbingMaxDist">62</sys:Int32>
|
||||
<sys:Int32 x:Key="ExtCornType">63</sys:Int32>
|
||||
<sys:Int32 x:Key="IntCornType">64</sys:Int32>
|
||||
<sys:Int32 x:Key="CornSlowLen">65</sys:Int32>
|
||||
<sys:Int32 x:Key="CornSlowPerc">66</sys:Int32>
|
||||
<sys:Int32 x:Key="LiHole">67</sys:Int32>
|
||||
<sys:Int32 x:Key="LiHoleRad">68</sys:Int32>
|
||||
<sys:Int32 x:Key="LpTurns">69</sys:Int32>
|
||||
<sys:Int32 x:Key="HpTurns">70</sys:Int32>
|
||||
<sys:Int32 x:Key="ThicknessFeed">71</sys:Int32>
|
||||
<SolidColorBrush x:Key="ListBorder" Color="#828790"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<!--<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Invert">0</sys:Int32>
|
||||
<sys:Int32 x:Key="LeaveTab">1</sys:Int32>
|
||||
<sys:Int32 x:Key="WorkSide">2</sys:Int32>
|
||||
<sys:Int32 x:Key="HeadSide">3</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadInType">4</sys:Int32>
|
||||
<sys:Int32 x:Key="ExtLinkType">5</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadOutType">6</sys:Int32>
|
||||
<sys:Int32 x:Key="CurveUse">7</sys:Int32>
|
||||
<sys:Int32 x:Key="StepType">8</sys:Int32>
|
||||
<sys:Int32 x:Key="LeadLinkType">9</sys:Int32>
|
||||
<sys:Int32 x:Key="Speed">10</sys:Int32>
|
||||
<sys:Int32 x:Key="Feed">11</sys:Int32>
|
||||
<sys:Int32 x:Key="StartFeed">12</sys:Int32>
|
||||
<sys:Int32 x:Key="EndFeed">13</sys:Int32>
|
||||
<sys:Int32 x:Key="TipFeed">14</sys:Int32>
|
||||
<sys:Int32 x:Key="OffSr">15</sys:Int32>
|
||||
<sys:Int32 x:Key="OffSl">16</sys:Int32>
|
||||
<sys:Int32 x:Key="SideAngle">17</sys:Int32>
|
||||
<sys:Int32 x:Key="Approx">18</sys:Int32>
|
||||
<sys:Int32 x:Key="StartPos">19</sys:Int32>
|
||||
<sys:Int32 x:Key="StartSlowLen">20</sys:Int32>
|
||||
<sys:Int32 x:Key="EndSlowLen">21</sys:Int32>
|
||||
<sys:Int32 x:Key="ThrouAddLen">22</sys:Int32>
|
||||
<sys:Int32 x:Key="StepPar">23</sys:Int32>
|
||||
<sys:Int32 x:Key="ReturnPos">24</sys:Int32>
|
||||
<sys:Int32 x:Key="TabLen">25</sys:Int32>
|
||||
<sys:Int32 x:Key="TabDist">26</sys:Int32>
|
||||
<sys:Int32 x:Key="TabHeight">27</sys:Int32>
|
||||
<sys:Int32 x:Key="TabAngle">28</sys:Int32>
|
||||
<sys:Int32 x:Key="LiTang">29</sys:Int32>
|
||||
<sys:Int32 x:Key="LiPerp">30</sys:Int32>
|
||||
<sys:Int32 x:Key="LiElev">31</sys:Int32>
|
||||
<sys:Int32 x:Key="LiCompLen">32</sys:Int32>
|
||||
<sys:Int32 x:Key="LoTang">33</sys:Int32>
|
||||
<sys:Int32 x:Key="LoPerp">34</sys:Int32>
|
||||
<sys:Int32 x:Key="LoElev">35</sys:Int32>
|
||||
<sys:Int32 x:Key="LoCompLen">36</sys:Int32>
|
||||
<sys:Int32 x:Key="StartAddLen">37</sys:Int32>
|
||||
<sys:Int32 x:Key="EndAddLen">38</sys:Int32>
|
||||
<sys:Int32 x:Key="StepExtArc">39</sys:Int32>
|
||||
<sys:Int32 x:Key="StepIntArc">40</sys:Int32>
|
||||
<sys:Int32 x:Key="SideStep">41</sys:Int32>
|
||||
<sys:Int32 x:Key="VertFeed">42</sys:Int32>
|
||||
<sys:Int32 x:Key="NamePar">43</sys:Int32>
|
||||
<sys:Int32 x:Key="Tool">44</sys:Int32>
|
||||
<sys:Int32 x:Key="DepthStr">45</sys:Int32>
|
||||
<sys:Int32 x:Key="UserNotes">46</sys:Int32>
|
||||
<sys:Int32 x:Key="OverLap">47</sys:Int32>
|
||||
<sys:Int32 x:Key="SubType">49</sys:Int32>
|
||||
<sys:Int32 x:Key="SelectedSolChoiceType">50</sys:Int32>
|
||||
<sys:Int32 x:Key="AxRotRef">51</sys:Int32>
|
||||
<sys:Int32 x:Key="BlockedAxesRef">52</sys:Int32>
|
||||
<sys:Int32 x:Key="FaceUseType">53</sys:Int32>
|
||||
<sys:Int32 x:Key="InvertToolDir">54</sys:Int32>
|
||||
<sys:Int32 x:Key="StepBack">55</sys:Int32>
|
||||
<sys:Int32 x:Key="StepSideAngBack">56</sys:Int32>
|
||||
<sys:Int32 x:Key="BackFeed">57</sys:Int32>
|
||||
<sys:Int32 x:Key="StepSideAng">58</sys:Int32>
|
||||
<sys:Int32 x:Key="ForwardAngle">59</sys:Int32>
|
||||
<sys:Int32 x:Key="Probing">60</sys:Int32>
|
||||
<sys:Int32 x:Key="ProbingMinDist">61</sys:Int32>
|
||||
<sys:Int32 x:Key="ProbingMaxDist">62</sys:Int32>
|
||||
<sys:Int32 x:Key="ExtCornType">63</sys:Int32>
|
||||
<sys:Int32 x:Key="IntCornType">64</sys:Int32>
|
||||
<sys:Int32 x:Key="CornSlowLen">65</sys:Int32>
|
||||
<sys:Int32 x:Key="CornSlowPerc">66</sys:Int32>
|
||||
<sys:Int32 x:Key="LiHole">67</sys:Int32>
|
||||
<sys:Int32 x:Key="LiHoleRad">68</sys:Int32>
|
||||
<sys:Int32 x:Key="LpTurns">69</sys:Int32>
|
||||
<sys:Int32 x:Key="HpTurns">70</sys:Int32>
|
||||
<sys:Int32 x:Key="ThicknessFeed">71</sys:Int32>
|
||||
<SolidColorBrush x:Key="ListBorder" Color="#828790"/>
|
||||
</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}"
|
||||
<UniformGrid Grid.Row="0" Columns="8">
|
||||
<Button ToolTip="New" Command="{Binding NewCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledNewBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Save" Command="{Binding SaveCommand}"
|
||||
<Image Source="/Resources/TopCommandBar/New.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Save" Command="{Binding SaveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledSaveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
|
||||
<Image Source="/Resources/TopCommandBar/Save.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Remove" Command="{Binding RemoveCommand}"
|
||||
CommandParameter="{Binding Path=SelectedItem, ElementName=MachiningsTreeView}"
|
||||
IsEnabled="{Binding IsEnabledRemoveBtn, Mode=OneWay}"
|
||||
Style = "{DynamicResource MachiningDB_Button}">
|
||||
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
|
||||
<Button ToolTip="Import" Command="{Binding ImportCommand}"
|
||||
<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}"
|
||||
<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 ReloadMachiningCommand}"
|
||||
<Image Source="/Resources/TopCommandBar/Export_1.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="Reset" Command="{Binding ReloadMachiningCommand}"
|
||||
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>
|
||||
<Image Source="/Resources/TopCommandBar/Reset.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
|
||||
<TreeView Name="MachiningsTreeView" Grid.Row="1"
|
||||
<TreeView Name="MachiningsTreeView" Grid.Row="1"
|
||||
Background="Transparent" BorderThickness="0"
|
||||
ItemsSource="{Binding Path=MachiningsList}">
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type 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>
|
||||
<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>
|
||||
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" ItemsSource="{Binding Items}">
|
||||
<TreeView.Resources>
|
||||
<HierarchicalDataTemplate DataType="{x:Type EgtWPFLib5:FamilyMachiningTreeViewItem}" 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>
|
||||
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}">
|
||||
<Grid Background="Transparent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
</HierarchicalDataTemplate>
|
||||
|
||||
<!--<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"
|
||||
<DataTemplate DataType="{x:Type EgtWPFLib5:MachiningTreeViewItem}">
|
||||
<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}" />
|
||||
<Ellipse Grid.Column="2" Height="10" Width="10" Fill="{Binding ToolColor}" />
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
|
||||
</TreeView>
|
||||
|
||||
</DataTemplate>
|
||||
</TreeView.Resources>
|
||||
|
||||
</Grid>
|
||||
</TreeView>
|
||||
|
||||
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<ContentControl Content="{Binding ParamPageV}" Grid.Column="1" Grid.ColumnSpan="2"/>
|
||||
|
||||
</Grid>
|
||||
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>
|
||||
<!--<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Corr">0</sys:Int32>
|
||||
@@ -105,7 +105,7 @@
|
||||
Background="Transparent" BorderThickness="0"
|
||||
ItemsSource="{Binding ToolsList}">
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}">
|
||||
<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}" />
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
<Window x:Class="PairInputDataVeinMatch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:OmagOFFICE"
|
||||
mc:Ignorable="d"
|
||||
ShowInTaskbar="False"
|
||||
WindowStyle="None"
|
||||
Title="PairInputDataVeinMatch" Height="auto" Width="300"
|
||||
Background="{StaticResource Omag_DarkGray}">
|
||||
<StackPanel Name ="WinPair" Orientation="Vertical" VerticalAlignment="Center">
|
||||
<TextBlock Name="TopBar"
|
||||
Text="Seleziona dal primo Part il lato che vuoi accoppiare" HorizontalAlignment="Center"
|
||||
Width="Auto"
|
||||
TextWrapping="Wrap"
|
||||
Margin="0,0,0,10"
|
||||
FontSize="20"/>
|
||||
<ComboBox Name="PairOption"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"
|
||||
IsEnabled="True"
|
||||
Visibility="Collapsed"/>
|
||||
<!--<CheckBox Name="InvertOption" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="True"
|
||||
Visibility="Collapsed">Invert</CheckBox>-->
|
||||
<CheckBox Name="FlipOption1" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="True"
|
||||
Visibility="Collapsed">Flip ∥</CheckBox>
|
||||
<CheckBox Name="FlipOption2" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="True"
|
||||
Visibility="Collapsed">Flip ⟂</CheckBox>
|
||||
|
||||
<!--<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Name="Testo" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Text="Angolo"
|
||||
TextAlignment="Center"
|
||||
Grid.Column="0"
|
||||
IsEnabled="True"/>
|
||||
<TextBox Name="RotInputData" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Grid.Column="1"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"
|
||||
IsEnabled="False"/>
|
||||
</Grid>-->
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Name="Conferma"
|
||||
Grid.Column="0"
|
||||
Content="Conferma"/>
|
||||
<Button Name="Annulla"
|
||||
Grid.Column="1"
|
||||
Content="Annulla"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
@@ -0,0 +1,62 @@
|
||||
Imports EgtUILib.EgtInterface
|
||||
|
||||
Public Class PairInputDataVeinMatch
|
||||
Private Ref As VeinMatchingWindow
|
||||
Public Sub New(ByVal MVD As Window)
|
||||
Owner = MVD
|
||||
Ref = DirectCast(MVD, VeinMatchingWindow)
|
||||
|
||||
' La chiamata è richiesta dalla finestra di progettazione.
|
||||
InitializeComponent()
|
||||
|
||||
PairOption.ItemsSource = New List(Of String)({"Start-Start", "Start-End", "End-Start", "End-End", "Middle-Middle"})
|
||||
PairOption.SelectedIndex = 1
|
||||
End Sub
|
||||
Public Sub ConfirmBtn_click() Handles Conferma.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
|
||||
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Pair.IsChecked = False
|
||||
Me.Close()
|
||||
End Sub
|
||||
Public Sub CancelBtn_click() Handles Annulla.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
|
||||
OmagOFFICEMap.refVeinMatchingWindow.ResetPairing()
|
||||
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Pair.IsChecked = False
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub PairOption_Changed() Handles PairOption.SelectionChanged
|
||||
OmagOFFICEMap.refVeinMatchingWindow.PairOption_Changed()
|
||||
End Sub
|
||||
|
||||
'Private Sub InvertOption_Changed() Handles InvertOption.Click
|
||||
' OmagOFFICEMap.refVeinMatchingWindow.InvertOption_Changed()
|
||||
'End Sub
|
||||
|
||||
Private Sub FlipParallel_Changed() Handles FlipOption1.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.InvertOption_Changed()
|
||||
End Sub
|
||||
|
||||
Private Sub FlipPerpendicular_Changed() Handles FlipOption2.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.FlipPerpendicular_Changed()
|
||||
End Sub
|
||||
|
||||
Private m_MouseLeftPressed As Boolean = False
|
||||
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
|
||||
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
|
||||
m_MouseLeftPressed = True
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
|
||||
m_MouseLeftPressed = False
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
|
||||
If m_MouseLeftPressed Then
|
||||
Try
|
||||
Me.DragMove()
|
||||
Catch e As Exception
|
||||
End Try
|
||||
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,57 @@
|
||||
<Window x:Class="RotationInputDataVeinMatch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:OmagOFFICE"
|
||||
mc:Ignorable="d"
|
||||
ShowInTaskbar="False"
|
||||
WindowStyle="None"
|
||||
Title="InputDataVeinMatch" Height="100" Width="200"
|
||||
Background="{StaticResource Omag_DarkGray}">
|
||||
|
||||
<!--<local:RotateUC></local:RotateUC>-->
|
||||
<!--<UserControl Name="MyUserControl" Content="{Binding ControlUC}"></UserControl>-->
|
||||
<StackPanel Name ="WinRotate" Orientation="Vertical" VerticalAlignment="Center">
|
||||
<Label Name="TopBar"
|
||||
Content="Seleziona l'asse di rotazione" HorizontalAlignment="Center"
|
||||
Width="Auto"/>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Name="Testo" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Text="Angolo"
|
||||
TextAlignment="Center"
|
||||
Grid.Column="0"
|
||||
IsEnabled="True"/>
|
||||
<TextBox Name="RotInputData" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Grid.Column="1"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"
|
||||
IsEnabled="False"/>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Name="Conferma"
|
||||
Grid.Column="0"
|
||||
Content="Conferma"/>
|
||||
<Button Name="Annulla"
|
||||
Grid.Column="1"
|
||||
Content="Annulla"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
|
||||
</Window>
|
||||
@@ -0,0 +1,73 @@
|
||||
Imports System.IO
|
||||
Imports System.Windows.Interop
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Windows.Forms
|
||||
Imports OmagOFFICE.VeinMatchingWindow
|
||||
Imports MS.Internal
|
||||
|
||||
Public Class RotationInputDataVeinMatch
|
||||
Private Ref As VeinMatchingWindow
|
||||
Public Sub New(ByVal MVD As Window)
|
||||
Owner = MVD
|
||||
Ref = DirectCast(MVD, VeinMatchingWindow)
|
||||
|
||||
' La chiamata è richiesta dalla finestra di progettazione.
|
||||
InitializeComponent()
|
||||
|
||||
'' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
||||
'AddHandler Ref.eAxisSelected, AddressOf MainWindow_MyVariableChanged
|
||||
End Sub
|
||||
|
||||
'' Subscribe to the event
|
||||
'Private Sub MainWindow_MyVariableChanged(sender As Object, e As EventHandler(Of AxisSelectedEventArgs))
|
||||
' ' Call a method in the user control
|
||||
' MyUserControl.HandleMyVariableChanged(e.newValue)
|
||||
'End Sub
|
||||
|
||||
'Public Sub Key_Press(sender As Object, e As System.Windows.Forms.KeyPressEventHandler) Handles Me.KeyDown
|
||||
|
||||
' 'If e.KeyChar = ChrW(System.Windows.Forms.Keys.Escape) Then
|
||||
' ' Dim a As Integer = 10
|
||||
' 'End If
|
||||
'End Sub
|
||||
|
||||
Public Sub TextValueChanged() Handles RotInputData.TextChanged
|
||||
OmagOFFICEMap.refVeinMatchingWindow.sInputAng = RotInputData.Text
|
||||
OmagOFFICEMap.refVeinMatchingWindow.AngText_Changed()
|
||||
End Sub
|
||||
|
||||
Public Sub ConfirmBtn_click() Handles Conferma.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
|
||||
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Rotation.IsChecked = False
|
||||
Me.Close()
|
||||
End Sub
|
||||
Public Sub CancelBtn_click() Handles Annulla.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.sInputAng = ""
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
|
||||
OmagOFFICEMap.refVeinMatchingWindow.ResetRotation(True, True)
|
||||
OmagOFFICEMap.refVeinMatchingWindow.TgBtn_Rotation.IsChecked = False
|
||||
OmagOFFICEMap.refVeinMatchingWindow.MyMsgTxBl.Text = ""
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private m_MouseLeftPressed As Boolean = False
|
||||
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
|
||||
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
|
||||
m_MouseLeftPressed = True
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
|
||||
m_MouseLeftPressed = False
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
|
||||
If m_MouseLeftPressed Then
|
||||
Try
|
||||
Me.DragMove()
|
||||
Catch e As Exception
|
||||
End Try
|
||||
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,14 @@
|
||||
Public Class RotationInputDataVeinMatchVM
|
||||
'Private m_ControlUC As Control
|
||||
'Public Property ControlUC As Control
|
||||
' Get
|
||||
' Return m_ControlUC
|
||||
' End Get
|
||||
' Set(value As Control)
|
||||
' m_ControlUC = value
|
||||
' End Set
|
||||
'End Property
|
||||
'Sub New(CurrentUC As Control)
|
||||
' m_ControlUC = CurrentUC
|
||||
'End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,52 @@
|
||||
<Window x:Class="SolidInputDataVeinMatch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:OmagOFFICE"
|
||||
mc:Ignorable="d"
|
||||
ShowInTaskbar="False"
|
||||
WindowStyle="None"
|
||||
Title="InputDataVeinMatch" Height="100" Width="200"
|
||||
Background="{StaticResource Omag_DarkGray}">
|
||||
<StackPanel>
|
||||
<Label Name="TopBar"
|
||||
Content="Inserisci lo spessore dei solidi" HorizontalAlignment="Center"
|
||||
Width="Auto"/>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Name="Testo" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Text="Spessore"
|
||||
Grid.Column="0"
|
||||
IsEnabled="True"/>
|
||||
<TextBox Name="InputData" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Grid.Column="1"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"
|
||||
IsEnabled="True"/>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Name="Conferma"
|
||||
Grid.Column="0"
|
||||
Content="Conferma"/>
|
||||
<Button Name="Annulla"
|
||||
Grid.Column="1"
|
||||
Content="Annulla"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Window>
|
||||
@@ -0,0 +1,41 @@
|
||||
Public Class SolidInputDataVeinMatch
|
||||
Private m_Ref As Window
|
||||
Sub New(RefWindow As Window)
|
||||
m_Ref = RefWindow
|
||||
' La chiamata è richiesta dalla finestra di progettazione.
|
||||
InitializeComponent()
|
||||
|
||||
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
Public Sub ConfirmBtn_click() Handles Conferma.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.sInputThick = InputData.Text
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = True
|
||||
Me.Close()
|
||||
End Sub
|
||||
Public Sub CancelBtn_click() Handles Annulla.Click
|
||||
OmagOFFICEMap.refVeinMatchingWindow.sInputThick = ""
|
||||
OmagOFFICEMap.refVeinMatchingWindow.bInputDone = False
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private m_MouseLeftPressed As Boolean = False
|
||||
' qui dovrebbe funzionare quando entrambe le condizioni sono attive, non solo
|
||||
Private Sub TopCommandBar_pressed() Handles TopBar.MouseLeftButtonDown
|
||||
m_MouseLeftPressed = True
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_released() Handles TopBar.MouseLeftButtonUp
|
||||
m_MouseLeftPressed = False
|
||||
End Sub
|
||||
|
||||
Private Sub TopCommandBar_Drag() Handles TopBar.MouseMove
|
||||
If m_MouseLeftPressed Then
|
||||
Try
|
||||
Me.DragMove()
|
||||
Catch e As Exception
|
||||
End Try
|
||||
m_MouseLeftPressed = False ' non si sa perché, ma è l'UNICO modo con cui funziona
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,11 @@
|
||||
<DockPanel x:Class="TopBarVeinMatch"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
|
||||
<Button Name="Riduci"
|
||||
DockPanel.Dock="Right"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="0,0,0,0"
|
||||
ToolTip="Crea solido del part selezionato">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</DockPanel>
|
||||
@@ -0,0 +1,12 @@
|
||||
Public Class TopBarVeinMatch
|
||||
Public Sub RiduciBtn_click() Handles Riduci.Click
|
||||
OmagOFFICEMap.refVeinMatchPanelVM.SetVeinMatchIsChecked(False)
|
||||
' chiudo anche i popup del TreeView
|
||||
'ClosePopUps()
|
||||
End Sub
|
||||
|
||||
'Public Sub ClosePopUps()
|
||||
' Popup_LeftPanel.IsOpen = False
|
||||
' TreeViewWnd.RiduciInfo()
|
||||
'End Sub
|
||||
End Class
|
||||
@@ -0,0 +1,54 @@
|
||||
<UserControl x:Class="VeinMatchingInfo"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:OmagOFFICE"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<!--<Grid>
|
||||
<TextBlock x:Name="InfoPart" Text="La mia prima volta"/>
|
||||
</Grid>-->
|
||||
|
||||
<Grid>
|
||||
<DataGrid x:Name ="InfoGrid"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Foreground="{DynamicResource Omag_Black}" ColumnWidth="*" HeadersVisibility = "Column"
|
||||
HorizontalScrollBarVisibility="Hidden"
|
||||
BorderThickness="0">
|
||||
<DataGrid.Resources>
|
||||
<Style TargetType="{x:Type DataGridColumnHeader}" BasedOn="{StaticResource {x:Type DataGridColumnHeader}}">
|
||||
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="0.75"/>
|
||||
<Setter Property="FontWeight" Value="Bold"/>
|
||||
<Setter Property="Margin" Value="0"/>
|
||||
<Setter Property="Opacity" Value="1"/>
|
||||
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
<Setter Property="FontSize" Value="15"/>
|
||||
</Style>
|
||||
<Style TargetType="{x:Type DataGridRow}">
|
||||
<Setter Property="Background" Value="{StaticResource Omag_Black}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="0.75"/>
|
||||
</Style>
|
||||
<Style TargetType="{x:Type DataGridCell}">
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Omag_Yellow}"/>
|
||||
<Setter Property="BorderThickness" Value="0"/>
|
||||
<Setter Property="HorizontalAlignment" Value="Center"/>
|
||||
<Style.Triggers>
|
||||
<Trigger Property="IsSelected" Value="True">
|
||||
<Setter Property="Background" Value="{StaticResource Omag_DarkGray}"/>
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Omag_DarkGray}"/>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</DataGrid.Resources>
|
||||
</DataGrid>
|
||||
</Grid>
|
||||
|
||||
</UserControl>
|
||||
@@ -0,0 +1,79 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class VeinMatchingInfo
|
||||
|
||||
Sub New()
|
||||
|
||||
' La chiamata è richiesta dalla finestra di progettazione.
|
||||
InitializeComponent()
|
||||
|
||||
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
|
||||
Private m_RefVeinMatchingWindow As VeinMatchingWindow
|
||||
Sub LoadRef(vmw As VeinMatchingWindow)
|
||||
m_RefVeinMatchingWindow = vmw
|
||||
End Sub
|
||||
|
||||
Sub UpdateText(nIdPart As Integer)
|
||||
'InfoPart.Text = sText
|
||||
Dim EdgesList As New ObservableCollection(Of Edge)
|
||||
EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx())
|
||||
Dim nEdge As Integer = EgtGetFirstInGroup(EgtGetFirstNameInGroup(nIdPart, "OutLoop"))
|
||||
Dim nSideAngVal As Integer = 0
|
||||
Dim nHeelVal As Integer = 0
|
||||
Dim sName As String = String.Empty
|
||||
While nEdge <> GDB_ID.NULL
|
||||
nSideAngVal = 0
|
||||
nHeelVal = 0
|
||||
EgtGetName(nEdge, sName)
|
||||
EgtGetInfo(nEdge, "SideAng", nSideAngVal)
|
||||
EgtGetInfo(nEdge, "Heel", nHeelVal)
|
||||
Dim EdgeTemp As New Edge(sName, nSideAngVal, nHeelVal)
|
||||
EdgesList.Add(EdgeTemp)
|
||||
nEdge = EgtGetNext(nEdge)
|
||||
End While
|
||||
InfoGrid.ItemsSource = EdgesList
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class Edge
|
||||
Private m_EdgeNum As String = String.Empty
|
||||
|
||||
Public Property Edge As String
|
||||
Get
|
||||
Return m_EdgeNum
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_EdgeNum = value
|
||||
End Set
|
||||
End Property
|
||||
Private m_SideAng As Integer = 0
|
||||
Public Property Ang As Integer
|
||||
Get
|
||||
Return m_SideAng
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_SideAng = value
|
||||
End Set
|
||||
End Property
|
||||
Private m_Heel As Integer = 0
|
||||
Public Property Heel As Integer
|
||||
Get
|
||||
Return m_Heel
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_Heel = value
|
||||
End Set
|
||||
End Property
|
||||
Sub New(sName As String, nAng As Integer, nHeel As Integer)
|
||||
m_EdgeNum = sName
|
||||
m_SideAng = nAng
|
||||
m_Heel = nHeel
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<UserControl x:Class="VeinMatchingTree"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
|
||||
mc:Ignorable="d"
|
||||
Background="Transparent"
|
||||
d:DesignHeight="450" d:DesignWidth="800">
|
||||
<StackPanel Orientation="Vertical" Background="Transparent">
|
||||
<TreeView x:Name="PartInScene"
|
||||
BorderThickness="0"
|
||||
Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Margin="10"
|
||||
SelectedItemChanged="OnTVSelectedItemChanged"
|
||||
Focusable="False">
|
||||
<TreeView.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource TreeViewItem_Part3D}">
|
||||
<Setter Property="FontSize" Value="18" />
|
||||
<Setter Property="Foreground" Value="{StaticResource Omag_White}" />
|
||||
<Setter Property="Background" Value="Transparent"/>
|
||||
<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>
|
||||
<Popup x:Name="Popup_CurrPart" PlacementTarget="{Binding ElementName=TreeViewItem_CurrPart}" Placement="Right" AllowsTransparency="True">
|
||||
<!--<TextBlock x:Name="Popup_Text" Text="Placement=Left" FontSize="14" Background="LightGreen"></TextBlock>-->
|
||||
<OmagOFFICE:VeinMatchingInfo x:Name="Info2PartWnd"/>
|
||||
</Popup>
|
||||
|
||||
<TextBlock Name="Info" Text="" FontSize="18" HorizontalAlignment="Right"
|
||||
Margin="0,0,10,0"
|
||||
Background="Transparent"
|
||||
Foreground="{StaticResource Omag_Yellow}"/>
|
||||
</StackPanel>
|
||||
</UserControl>
|
||||
@@ -0,0 +1,121 @@
|
||||
Imports System.IO.Ports
|
||||
Imports System.Windows.Forms
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class VeinMatchingTree
|
||||
|
||||
Private m_RefVeinMatchingInfo As VeinMatchingInfo
|
||||
Private m_RefVeinMatchingWindow As VeinMatchingWindow
|
||||
Sub New()
|
||||
|
||||
' La chiamata è richiesta dalla finestra di progettazione.
|
||||
InitializeComponent()
|
||||
|
||||
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub LoadRef(vmiRef As VeinMatchingInfo)
|
||||
m_RefVeinMatchingInfo = vmiRef
|
||||
End Sub
|
||||
|
||||
Sub LoadRef(vmwRef As VeinMatchingWindow)
|
||||
m_RefVeinMatchingWindow = vmwRef
|
||||
End Sub
|
||||
|
||||
Public Sub RiduciInfo()
|
||||
Popup_CurrPart.IsOpen = False
|
||||
End Sub
|
||||
|
||||
Public Sub AdjustInfoPosition()
|
||||
' spostando l'offset e rimettendolo al valore originale il pop up viene riposizionato correttamente rispetto relativamente
|
||||
' alla finestra che l'ha creato
|
||||
Dim offset As Double = Popup_CurrPart.HorizontalOffset
|
||||
Popup_CurrPart.HorizontalOffset = offset + 1
|
||||
Popup_CurrPart.HorizontalOffset = offset
|
||||
End Sub
|
||||
|
||||
Private Sub SetStackPanelTextFromTreeView(tItem As TreeViewItem, ByRef PartId As Integer, ByRef sNamePart As String)
|
||||
If IsNothing(tItem) Then Return
|
||||
Dim Pan As StackPanel = DirectCast(tItem.Header, StackPanel)
|
||||
sNamePart = String.Empty
|
||||
For Each PanItem In Pan.Children
|
||||
If TypeOf (PanItem) Is TextBlock Then
|
||||
sNamePart = DirectCast(PanItem, TextBlock).Text
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
PartId = CInt(Val(New Text.StringBuilder((From ch In sNamePart.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
|
||||
End Sub
|
||||
|
||||
Private Sub SelectItem_Click() Handles PartInScene.SelectedItemChanged
|
||||
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
|
||||
If IsNothing(tItem) Then Return
|
||||
'Dim Pan As StackPanel = DirectCast(tItem.Header, StackPanel)
|
||||
'Dim sNamepart As String = String.Empty
|
||||
'For Each PanItem In Pan.Children
|
||||
' If TypeOf (PanItem) Is TextBlock Then
|
||||
' sNamepart = DirectCast(PanItem, TextBlock).Text
|
||||
' Exit For
|
||||
' End If
|
||||
'Next
|
||||
'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In sNamepart.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
|
||||
Dim nPartId As Integer = -1
|
||||
Dim sNamePart As String = String.Empty
|
||||
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
|
||||
Info.Text = sNamePart.ToString
|
||||
m_RefVeinMatchingInfo.UpdateText(nPartId)
|
||||
End Sub
|
||||
|
||||
Private m_InfoPart As VeinMatchingInfo
|
||||
Private Sub FaiQualcosa() Handles PartInScene.MouseRightButtonUp
|
||||
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
|
||||
If IsNothing(tItem) Then Return
|
||||
Dim nPartId As Integer = -1
|
||||
Dim sNamePart As String = String.Empty
|
||||
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
|
||||
Popup_CurrPart.IsOpen = Not Popup_CurrPart.IsOpen
|
||||
Popup_CurrPart.PlacementTarget = tItem
|
||||
Popup_CurrPart.MaxWidth = 175
|
||||
m_InfoPart = Info2PartWnd
|
||||
|
||||
m_InfoPart.LoadRef(m_RefVeinMatchingWindow)
|
||||
m_InfoPart.UpdateText(nPartId)
|
||||
'Popup_Text.Text = sNamePart
|
||||
End Sub
|
||||
|
||||
Private Sub OnTVSelectedItemChanged(sender As Object, e As RoutedPropertyChangedEventArgs(Of Object))
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then
|
||||
'C#
|
||||
'MyTextBlock.Text = ( (TreeViewItem) ( (TreeView) sender ).SelectedItem ).Header.ToString()
|
||||
SelectInVeinMatchScene()
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Sub HighlightItem() Handles PartInScene.MouseDoubleClick
|
||||
SelectInVeinMatchScene()
|
||||
End Sub
|
||||
|
||||
Private Sub SelectInVeinMatchScene()
|
||||
' prima deseleziono tutto
|
||||
m_RefVeinMatchingWindow.DeselectAll()
|
||||
|
||||
'Dim nPartId As Integer = CInt(Val(New Text.StringBuilder((From ch In tItem.Header.ToString.ToCharArray Where IsNumeric(ch)).ToArray).ToString))
|
||||
|
||||
Dim tItem As TreeViewItem = CType(PartInScene.SelectedItem, TreeViewItem)
|
||||
If IsNothing(tItem) Then Return
|
||||
Dim nPartId As Integer = -1
|
||||
Dim sNamePart As String = String.Empty
|
||||
SetStackPanelTextFromTreeView(tItem, nPartId, sNamePart)
|
||||
|
||||
EgtSetCurrentContext(m_RefVeinMatchingWindow.VeinMatchingScene.GetCtx())
|
||||
For Each PartSolidSel In m_RefVeinMatchingWindow.m_PartSolidList
|
||||
If PartSolidSel.PartId = nPartId Then
|
||||
PartSolidSel.SelectPart()
|
||||
End If
|
||||
Next
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,573 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="VeinMatchingWindow"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Background="{StaticResource Omag_DarkGray}"
|
||||
Height="800" Width="500" ShowInTaskbar="False"
|
||||
Initialized="Window_Initialized"
|
||||
MinWidth="300" MinHeight="300"
|
||||
Title="VeinMatching"
|
||||
WindowStyle="None"
|
||||
IsClosable="False"
|
||||
IsMinimizable="False"
|
||||
IsResizable="True"
|
||||
Style="{DynamicResource VeinMatchStyle}">
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.TitlePanel>
|
||||
<OmagOFFICE:TopBarVeinMatch HorizontalAlignment="Right"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.TitlePanel>
|
||||
|
||||
<!--<Window.Resources>
|
||||
<Style TargetType="{x:Type Window}">
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="{x:Type Window}">
|
||||
<ContentPresenter/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
<Setter Property="Background" Value="Transparent"></Setter>
|
||||
</Style>
|
||||
</Window.Resources>-->
|
||||
|
||||
<!--<Window.CommandBindings>
|
||||
<CommandBinding Command="OmagOFFICE:MoveItCommand.MoveIt"
|
||||
Executed="CommandBinding_Executed"
|
||||
CanExecute="CommandBinding_CanExecute"/>
|
||||
</Window.CommandBindings>-->
|
||||
|
||||
<DockPanel x:Name="DockPanelVeinMatching" Background="Transparent" VirtualizingStackPanel.IsVirtualizing="True">
|
||||
<StackPanel Name="TopCommandBar1"
|
||||
DockPanel.Dock="Top" HorizontalAlignment="Right" Orientation="Horizontal"
|
||||
Background="Transparent">
|
||||
<!--<Label Name ="TopCommandBar" Content="" Width="{Binding ActualWidth, ElementName=DockPanelVeinMatching}"/>-->
|
||||
<!--<Button Name="Riduci"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="0,0,0,0"
|
||||
ToolTip="Crea solido del part selezionato">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
|
||||
</Button>-->
|
||||
</StackPanel>
|
||||
<TabControl DockPanel.Dock="Left"
|
||||
x:Name="MyTabCtrl"
|
||||
Background="Transparent"
|
||||
Margin="2,0,0,0"
|
||||
BorderThickness="0"
|
||||
Width="125">
|
||||
<TabItem Name="TabItem2"
|
||||
Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_Yellow}"
|
||||
HorizontalContentAlignment="Center"
|
||||
Style="{StaticResource TabItemVeinMatch}"
|
||||
Padding="0"
|
||||
Margin="0,0,0,0">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="🌐"
|
||||
FontSize="18"/>
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<StackPanel Orientation="Vertical">
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="Options"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False">
|
||||
<StackPanel>
|
||||
<ComboBox Name="OptionColor"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"/>
|
||||
<ComboBox Name="SelType"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"/>
|
||||
<ComboBox Name="RefType"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"/>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="RESET"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False">
|
||||
<UniformGrid Columns="3" Margin="2">
|
||||
<Button Name="Btn01"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
Content="🚀"
|
||||
ToolTip="Crea Part Solid"/>
|
||||
<Button Name="Btn02"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
Content="👾"
|
||||
ToolTip="Resetta Part Solid"/>
|
||||
</UniformGrid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="SOLID"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="True">
|
||||
<StackPanel>
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Button Name="CreateCurrSolidBtn" Grid.Row="0" Grid.Column="0"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Crea solido del part selezionato">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/cube.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="CreateAllSolidsBtn" Grid.Row="0" Grid.Column="1"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Crea tutti i solidi">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/cubes.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="ResetAllSolidsBtn" Grid.Row="0" Grid.Column="2"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Resetta i solidi">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/reset cubes.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="ExplodeBtn" Grid.Row="1" Grid.Column="0"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Esplodi assemblato"
|
||||
IsEnabled="True">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/explode.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="CollapseBtn" Grid.Row="1" Grid.Column="1"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Ricomponi assemblato"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/collapse.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="ExplodeNormalsBtn" Grid.Row="1" Grid.Column="2"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="0,5,1,0"
|
||||
ToolTip="Esplodi assemblato lungo le normali"
|
||||
HorizontalAlignment="Right" Width="35"
|
||||
IsEnabled="True">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/explode_normals.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
<!--<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="1.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<UniformGrid>
|
||||
<TextBlock Name="Spessore" Height="20"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="Transparent"
|
||||
Margin="1,5,1,0"
|
||||
Text="Thick"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="1" Grid.Column="1">
|
||||
<TextBox Name="TB_Thick" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"
|
||||
IsEnabled="True"/>
|
||||
</UniformGrid>
|
||||
</Grid>-->
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="ROTATE"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="True">
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="3">
|
||||
<ToggleButton Name="TgBtn_Rotation"
|
||||
Style="{StaticResource VeinMatchWindow_ToggleButton}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Attiva/Conferma Rotazione"
|
||||
IsEnabled="True">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/rotate.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
<Button Name="ResetRotationBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Resetta Rotazione"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/reset rotation.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
<!--<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="1.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<UniformGrid>
|
||||
<TextBlock Name="Angolo" Height="20"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="Transparent"
|
||||
Margin="1,5,1,0"
|
||||
Text="Ang"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="1" Grid.Column="1">
|
||||
<TextBox Name="AngText" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,5,1,0"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"
|
||||
IsEnabled="False"/>
|
||||
</UniformGrid>
|
||||
</Grid>-->
|
||||
|
||||
<!--<CheckBox Name="AllOption_Rotate" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="False">All Selected</CheckBox>-->
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="PAIR"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="True">
|
||||
<StackPanel>
|
||||
<UniformGrid Columns="3">
|
||||
<ToggleButton Name="TgBtn_Pair"
|
||||
Style="{StaticResource VeinMatchWindow_ToggleButton}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Attiva/Conferma Accoppiamento">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/pair.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
<Button Name="ResetPairBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Resetta Accoppiamento"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/reset pair.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="PairAllBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Accoppiamento automatico"
|
||||
IsEnabled="True">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/autopair.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
<ComboBox Name="PairOption"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"
|
||||
|
||||
IsEnabled="False"
|
||||
Visibility="Collapsed"/>
|
||||
<CheckBox Name="InvertOption" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="False"
|
||||
Visibility="Collapsed">Invert</CheckBox>
|
||||
<CheckBox Name="FlipOption1" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="False"
|
||||
Visibility="Collapsed">Flip ∥</CheckBox>
|
||||
<CheckBox Name="FlipOption2" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
IsEnabled="False"
|
||||
Visibility="Collapsed">Flip ⟂</CheckBox>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="MISURA"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<ToggleButton Name="TgBtn_Measure"
|
||||
Style="{StaticResource VeinMatchWindow_ToggleButton}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Attiva misura">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/ruler.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
<ComboBox Grid.Column="2"
|
||||
Name="MeasureOption"
|
||||
Style="{StaticResource Raw_ComboBox}"
|
||||
Margin="1,5,1,0"
|
||||
IsEnabled="False"/>
|
||||
</Grid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
Header="IMPORT"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Button Name="ImportBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Importa oggetto 3D">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/import.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<UniformGrid Columns="3">
|
||||
<ToggleButton Name="TgBtn_Inters"
|
||||
Style="{StaticResource VeinMatchWindow_ToggleButton}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Impedisci intersezioni">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/avoid intersection.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
<Button Name="ResetIntersBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Spegni intersezioni"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/hide intersections.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="UnpairBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Disaccoppia"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/unpair.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="3">
|
||||
<Button Name="UndoBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Annulla ultima operazione"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/undo.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="RedoBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Ripeti ultima operazione annullata"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/redo.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
Header="MOVE"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False"
|
||||
Name="MoveExpander"
|
||||
IsEnabled="False">
|
||||
<StackPanel>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.5*"/>
|
||||
<ColumnDefinition Width="1.5*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<UniformGrid Columns="1" Grid.Column="0" Margin="0,0,0,0">
|
||||
<TextBlock Name="TextBlX" Height="20"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="Transparent"
|
||||
Margin="1,0,1,0"
|
||||
Text="X"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Name="TextBlY" Height="20"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="Transparent"
|
||||
Margin="1,0,1,0"
|
||||
Text="Y"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
<TextBlock Name="TextBlZ" Height="20"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="Transparent"
|
||||
Margin="1,0,1,0"
|
||||
Text="Z"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
<UniformGrid Columns="1" Grid.Column="1">
|
||||
<TextBox Name="TextX" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,0,1,0"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"/>
|
||||
<TextBox Name="TextY" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,0,1,0"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"/>
|
||||
<TextBox Name="TextZ" Height="26"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
Background="{DynamicResource Omag_Black}"
|
||||
Margin="1,0,1,0"
|
||||
Text="0"
|
||||
HorizontalContentAlignment="Right"
|
||||
VerticalContentAlignment="Center"/>
|
||||
</UniformGrid>
|
||||
</Grid>
|
||||
<UniformGrid Columns="3">
|
||||
<Button Name="MovePreviewBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Preview dello spostamento">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/move.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="ConfirmMoveBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Conferma spostamento">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/confirm move.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="ResetMoveBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Resetta spostamento"
|
||||
IsEnabled="False">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/reset move.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
<CheckBox Name="AllOption_Move" Margin="1,5,1,0"
|
||||
Foreground="{DynamicResource Omag_White}">All Selected</CheckBox>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="SELECTION"
|
||||
ExpandDirection="Down"
|
||||
IsExpanded="False"
|
||||
Name="SelectExpander"
|
||||
IsEnabled="True">
|
||||
<UniformGrid Columns="3">
|
||||
<Button Name="SelectAllBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Seleziona tutti i pezzi">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/select all.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Name="DeselectAllBtn"
|
||||
Style="{StaticResource VeinMatchWindow_Button}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Deseleziona tutti i pezzi">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/deselect all.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<ToggleButton Name="TgBtn_MultiSel"
|
||||
Style="{StaticResource VeinMatchWindow_ToggleButton}"
|
||||
Margin="1,5,1,0"
|
||||
ToolTip="Attiva selezione multipla">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/multi sel.png" Stretch="Uniform"/>
|
||||
</ToggleButton>
|
||||
</UniformGrid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
|
||||
<TabItem Name="TabItem1"
|
||||
Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_Yellow}"
|
||||
Style="{StaticResource TabItemVeinMatch}"
|
||||
HorizontalContentAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<TextBlock Text="🗺" FontSize="18"/>
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<StackPanel Orientation="Vertical" Grid.Row="0">
|
||||
<ToggleButton Name="ShowTextBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="ShowText"/>
|
||||
<ToggleButton Name="EditBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Edit"/>
|
||||
<ToggleButton Name="VerifyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Verify"/>
|
||||
<ToggleButton Name="MagneticBtn" Height="40" Width="80"
|
||||
Visibility="Collapsed"
|
||||
Margin="0,5,0,0"
|
||||
Content="Magnetic"/>
|
||||
<Button Name="ExportBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="Export"/>
|
||||
<Button Name="AssemblyBtn" Height="40" Width="80"
|
||||
Margin="0,5,0,0"
|
||||
Content="3D"/>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
<StackPanel DockPanel.Dock="Right"
|
||||
Margin="0,1,0,5"
|
||||
Width="15">
|
||||
<Button x:Name="ShowTreeView"
|
||||
Height="15">
|
||||
<Image Source="/Resources/VeinMatchNewIcon/feature-tree.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<!--<OmagOFFICE:VeinMatchingTree x:Name="TreeViewWnd" Visibility="Hidden"/>-->
|
||||
<OmagOFFICE:VeinMatchingInfo x:Name="InfoPartWnd" Visibility="Hidden"/>
|
||||
<Popup x:Name="Popup_LeftPanel" PlacementTarget="{Binding ElementName=ShowTreeView}"
|
||||
Placement="Left" AllowsTransparency="True" Focusable="False">
|
||||
<OmagOFFICE:VeinMatchingTree x:Name="TreeViewWnd"/>
|
||||
</Popup>
|
||||
</StackPanel>
|
||||
|
||||
<TextBlock DockPanel.Dock="Bottom"
|
||||
TextWrapping="WrapWithOverflow"
|
||||
Margin="5,2,5,2"
|
||||
Name="MyMsgTxBl"
|
||||
Text="DEMO by Egalware ( N. and D. ) "
|
||||
Foreground="{DynamicResource Omag_Yellow}"
|
||||
FontSize="20"
|
||||
Height="auto"/>
|
||||
</DockPanel>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -128,8 +128,8 @@
|
||||
<ApplicationManifest>My Project\app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="DotNetZip, Version=1.16.0.0, Culture=neutral, PublicKeyToken=6583c7c814667745, processorArchitecture=MSIL">
|
||||
<HintPath>packages\DotNetZip.1.16.0\lib\net40\DotNetZip.dll</HintPath>
|
||||
<Reference Include="DotNetZip">
|
||||
<HintPath>..\..\EgtProg\OmagOFFICE\DotNetZip.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtPHOTOLib, Version=2.3.1.1, Culture=neutral, processorArchitecture=x86">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
@@ -229,7 +229,26 @@
|
||||
<Compile Include="EgtStoneLib\GeomCalc.vb" />
|
||||
<Compile Include="EgtStoneLib\SplitAuto.vb" />
|
||||
<Compile Include="EgtStoneLib\VacuumCups.vb" />
|
||||
<Compile Include="EgtStoneLib\VeinMatchingWindow.xaml.vb">
|
||||
<Compile Include="MyVeinMatch\PairInputDataVeinMatch.xaml.vb">
|
||||
<DependentUpon>PairInputDataVeinMatch.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\RotationInputDataVeinMatch.xaml.vb">
|
||||
<DependentUpon>RotationInputDataVeinMatch.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\RotationInputDataVeinMatchVM.vb" />
|
||||
<Compile Include="MyVeinMatch\SolidInputDataVeinMatch.xaml.vb">
|
||||
<DependentUpon>SolidInputDataVeinMatch.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\TopBarVeinMatch.xaml.vb">
|
||||
<DependentUpon>TopBarVeinMatch.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\VeinMatchingInfo.xaml.vb">
|
||||
<DependentUpon>VeinMatchingInfo.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\VeinMatchingTree.xaml.vb">
|
||||
<DependentUpon>VeinMatchingTree.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MyVeinMatch\VeinMatchingWindow.xaml.vb">
|
||||
<DependentUpon>VeinMatchingWindow.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="InstrumentPanel\PrintPanelV.xaml.vb">
|
||||
@@ -421,7 +440,31 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="EgtStoneLib\VeinMatchingWindow.xaml">
|
||||
<Page Include="MyVeinMatch\PairInputDataVeinMatch.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\RotationInputDataVeinMatch.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\SolidInputDataVeinMatch.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\TopBarVeinMatch.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\VeinMatchingInfo.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\VeinMatchingTree.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="MyVeinMatch\VeinMatchingWindow.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
@@ -924,6 +967,139 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TopCommandBar\Modify.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Crea-taglio.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Attrezzaggio.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Rimuovi-taglio.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Modifica-taglio.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Crea-taglio-parallelo.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\CsvWindow\CsvMinus - Color.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\CsvWindow\CsvPlus - Color.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\CsvWindow\Inserisci-pezzo CSV.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\CsvWindow\Parcheggia-pezzo CSV.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Linea-Elimina.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Linea-Muovi.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\Linea-Copia.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TreeView\Import.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\TreeView\PartSolid.png" />
|
||||
<Resource Include="Resources\NewIcons\DB-WJ.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\cube.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\cubes.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\reset cubes.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\explode.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\collapse.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\explode_normals.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\rotate.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\reset rotation.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\import.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\pair.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\unpair.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\feature-tree.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\ruler.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\avoid intersection.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\hide intersections.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\undo.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\redo.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\move.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\confirm move.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\reset move.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\reset pair.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\select all.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\deselect all.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\multi sel.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\reset.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\Photo.png" />
|
||||
<Resource Include="Resources\DetailPage\Print.png" />
|
||||
<Resource Include="Resources\DetailPage\Save.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\VeinMatchNewIcon\autopair.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\LightArrowOff.png" />
|
||||
<Resource Include="Resources\NewIcons\LightArrowOn.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
|
||||
|
||||
@@ -3,16 +3,33 @@
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
Background="Transparent">
|
||||
|
||||
<UserControl.InputBindings>
|
||||
<KeyBinding Key="Escape" Command="{Binding SplitCutCommand}" />
|
||||
</UserControl.InputBindings>
|
||||
|
||||
<StackPanel IsEnabled="{Binding SplitModeIsEnabled}">
|
||||
|
||||
<Border Margin="0,0,0,5" Style="{StaticResource BorderSplit}" Padding="0">
|
||||
<ListBox ItemsSource="{Binding ItemList}"
|
||||
Background="{StaticResource Omag_Gray}"
|
||||
DisplayMemberPath="Name"
|
||||
Background="{StaticResource Omag_Gray}"
|
||||
SelectionMode="Extended"
|
||||
BorderThickness="0"
|
||||
Height="200" Margin="0,0,0,0">
|
||||
<ListBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
||||
<Image Margin="1" Height="20" Width="20"
|
||||
Source="{Binding SourceImg}">
|
||||
</Image>
|
||||
<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>
|
||||
<ListBox.ItemContainerStyle>
|
||||
<Style TargetType="ListBoxItem">
|
||||
<Style.Triggers>
|
||||
@@ -27,425 +44,585 @@
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
</Border>
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
<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">
|
||||
<Expander Name="myExpander1" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding EnableCutMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bOnOffCut_IsExpanded}">
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="2,2.5,2,0">
|
||||
|
||||
|
||||
<GroupBox Header="Attiva tagli" Style="{StaticResource GroupBoxSplit}">
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="2,2.5,2,0">
|
||||
|
||||
<!--<Button Content="{Binding OnOffMsg}"
|
||||
<!--<Button Content="{Binding OnOffMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding OnOffCommand}"
|
||||
Margin="0,0,2.5,0"/>-->
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding OnOffMsg}"
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding OnOffMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding OnOffCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/ON_OFF-singolo-taglio.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/ON_OFF-singolo-taglio.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<!--<Button Content="{Binding AllOnMsg}"
|
||||
<!--<Button Content="{Binding AllOnMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding AllOnCommand}"
|
||||
Margin="2.5,0,2.5,0"/>-->
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOnMsg}"
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOnMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllOnCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-ON.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-ON.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<!--<Button Content="{Binding AllOffMsg}"
|
||||
<!--<Button Content="{Binding AllOffMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding AllOffCommand}"
|
||||
Margin="2.5,0,0,0"/>-->
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOffMsg}"
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOffMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllOffCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-OFF.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-OFF.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
</GroupBox>
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Name="myExpander2" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding SplitCutMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bSpLitCut_IsExpanded}">
|
||||
|
||||
<GroupBox Header="Tagli di separazione" Style="{StaticResource GroupBoxSplit}">
|
||||
<StackPanel Margin="0,0,0,-2.5">
|
||||
|
||||
<StackPanel>
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
|
||||
<Grid>
|
||||
<!--<Button Content="{Binding CutMsg}"
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
|
||||
<Grid>
|
||||
<!--<Button Content="{Binding CutMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding CutCommand}"
|
||||
Visibility="{Binding CutBtnVisibility}"
|
||||
Margin="0,0,2.5,0"/>-->
|
||||
<StackPanel Visibility="{Binding CutBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutMsg}"
|
||||
<StackPanel Visibility="{Binding CutBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding CutCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Allunga-o-accorcia.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Allunga-o-accorcia.png"
|
||||
Height="40" Margin="0,2,0,0"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<!--<ToggleButton Grid.Row="0"
|
||||
<!--<ToggleButton Grid.Row="0"
|
||||
Content="{Binding BridgeMsg}"
|
||||
Style="{StaticResource OptionPanel_ToggleWrapButton}"
|
||||
IsChecked="{Binding BridgeBtn_IsChecked}"
|
||||
Visibility="{Binding BridgeBtnVisibility}"
|
||||
Margin="0,0,2.5,0" Padding="0"/>-->
|
||||
<StackPanel Visibility="{Binding BridgeBtnVisibility}" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding BridgeMsg}"
|
||||
<StackPanel Visibility="{Binding BridgeBtnVisibility}" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding BridgeMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding BridgeBtn_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Ponticelli.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Ponticelli.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid>
|
||||
<!--<Button Content="{Binding CutStartMsg}"
|
||||
<Grid>
|
||||
<!--<Button Content="{Binding CutStartMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding CutStartCommand}"
|
||||
Visibility="{Binding CutStartBtnVisibility}"
|
||||
Margin="2.5,0,2.5,0"/>-->
|
||||
<StackPanel Visibility="{Binding CutStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutStartMsg}"
|
||||
<StackPanel Visibility="{Binding CutStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutStartMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding CutStartCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-allunga-o-accorcia.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-allunga-o-accorcia.png"
|
||||
Height="40" Margin="0,2,0,0"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<!--<Button Content="{Binding QualityMsg}"
|
||||
<!--<Button Content="{Binding QualityMsg}"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding QualityCommand}"
|
||||
Visibility="{Binding QualityBtnVisibility}"
|
||||
Margin="2.5,0,2.5,0"/>!-->
|
||||
<StackPanel Visibility="{Binding QualityBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding QualityMsg}"
|
||||
<StackPanel Visibility="{Binding QualityBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding QualityMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding QualityCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Quality.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Quality.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
</Grid>
|
||||
|
||||
<Grid>
|
||||
<StackPanel Visibility="{Binding CutEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutEndMsg}"
|
||||
<Grid>
|
||||
<StackPanel Visibility="{Binding CutEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding CutEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding CutEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-allunga-o-accorcia.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-allunga-o-accorcia.png"
|
||||
Height="40" Margin="0,2,0,0"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding BridgeDeleteBtnVisibility}" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding BridgeDeleteMsg}"
|
||||
<StackPanel Visibility="{Binding BridgeDeleteBtnVisibility}" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding BridgeDeleteMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding BridgeDeleteBtn_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Ponticelli_delete.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Ponticelli_delete.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
|
||||
<UniformGrid Columns="4" Margin="0,0,0,-2.5">
|
||||
|
||||
<!--Bottone invisibile per permetter il corretto allineamento-->
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
|
||||
|
||||
<!--Bottone invisibile per permetter il corretto allineamento-->
|
||||
<!--
|
||||
<Button Content="{Binding }" Grid.Column="0"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding }"
|
||||
Visibility="Hidden"
|
||||
Margin="0,0,1,0"/>
|
||||
Margin="0,0,1,0"/>-->
|
||||
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllExtendMsg}"
|
||||
|
||||
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="2" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllExtendMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllExtendCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-allunga.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-allunga.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllReduceBtnVisibility}" Grid.Column="2" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllReduceMsg}"
|
||||
<StackPanel Visibility="{Binding AllReduceBtnVisibility}" Grid.Column="2" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllReduceMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllReduceCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-accorcia.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Tutti-accorcia.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
<!--<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding AllExtendMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding CreateCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="1,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Crea-taglio.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</StackPanel>
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding AllExtendMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding RemoveCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Rimuovi-taglio.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</GroupBox>
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding AllExtendMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding CreateParallelCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="1,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Crea-taglio-parallelo.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
<StackPanel Visibility="{Binding AllExtendBtnVisibility}" Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding AllExtendMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding CreateParallelCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="1,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Modifica-taglio.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>-->
|
||||
|
||||
<GroupBox Header="Modifica attacchi tagli" Style="{StaticResource GroupBoxSplit}">
|
||||
<StackPanel Margin="0,0,0,-2.5">
|
||||
<UniformGrid Columns="4" Margin="0,2.5,0,1">
|
||||
<StackPanel Visibility="{Binding OutCenStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding OutCenStartMsg}"
|
||||
</StackPanel>
|
||||
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Name="myExpander3" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding DirectSplitCutMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bDirectSpLitCut_IsExpanded}">
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,2.5,0,1">
|
||||
<StackPanel Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="Crea"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding CreateCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Linea.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="Elimina"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding RemoveCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Linea-Elimina.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="Copia"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding CreateParallelCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Linea-Copia.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
<StackPanel Grid.Column="1" Margin="1,0,0,0">
|
||||
<ToggleButton ToolTip="Muovi"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding ModifyCut_IsChecked}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Width="40" Height="40"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Linea-Muovi.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,0">
|
||||
<Expander Name="myExpander4" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding ManageStartEndCutMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bModifyCut_IsExpanded}">
|
||||
|
||||
<StackPanel Margin="0,0,0,-2.5">
|
||||
<UniformGrid Columns="4" Margin="0,2.5,0,1">
|
||||
<StackPanel Visibility="{Binding OutCenStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding OutCenStartMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding OutCenStartCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-centro-fuori.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-centro-fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllOutStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOutStartMsg}"
|
||||
<StackPanel Visibility="{Binding AllOutStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOutStartMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllOutStartCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-tutti-fuori.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-tutti-fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllCenStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllCenStartMsg}"
|
||||
<StackPanel Visibility="{Binding AllCenStartBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllCenStartMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllCenStartCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-tutti-centro.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inizio-tutti-centro.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding OutCenEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding OutCenEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding OutCenEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-Centro-Fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Columns="4" Margin="0,0,0,1">
|
||||
|
||||
<StackPanel Visibility="{Binding AllOutEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOutEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllOutEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-tutti-fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllCenEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllCenEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllCenEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-tutti-centro.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifStartMsg}"
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifStartMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding ModifStartCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Modifica-Inizio.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Modifica-Inizio.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifEndMsg}"
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Columns="4" Margin="0,0,0,1">
|
||||
<StackPanel Margin="1,0,0,0" Visibility="{Binding OutCenEndBtnVisibility}">
|
||||
<Button ToolTip="{Binding OutCenEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding OutCenEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-Centro-Fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllOutEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllOutEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllOutEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-tutti-fuori.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding AllCenEndBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding AllCenEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding AllCenEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Fine-tutti-centro.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding ModifEndCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Modifica-Fine.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Modifica-Fine.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Columns="4" Margin="0,0,0,1">
|
||||
<UniformGrid Columns="4" Margin="0,0,0,1">
|
||||
|
||||
<!--Bottone invisibile per permetter il corretto allineamento-->
|
||||
<Button Content="{Binding }" Grid.Column="0"
|
||||
<!--Bottone invisibile per permetter il corretto allineamento-->
|
||||
<Button Content="{Binding }" Grid.Column="0"
|
||||
Style="{StaticResource OptionPanel_TextWrapButton}"
|
||||
Command="{Binding }"
|
||||
Visibility="Hidden"
|
||||
Margin="0,0,1,0"/>
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding PauseMsg}"
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding PauseMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding PauseCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Pausa-ON_OFF.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Pausa-ON_OFF.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel Visibility="{Binding InvertBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding InvertMsg}"
|
||||
<StackPanel Visibility="{Binding InvertBtnVisibility}" Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding InvertMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
Command="{Binding InvertCommand}"
|
||||
HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inverti.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inverti.png"
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
</UniformGrid>
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</GroupBox>
|
||||
</StackPanel>
|
||||
|
||||
</Expander>
|
||||
</Border>
|
||||
</StackPanel>
|
||||
|
||||
</UserControl>
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.Drawing
|
||||
Imports System.Reflection
|
||||
Imports System.Security.Cryptography
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
Imports EgtWPFLib5.EgtCustomWindow
|
||||
|
||||
Public Class SplitModeVM
|
||||
Inherits VMBase
|
||||
@@ -39,6 +43,17 @@ Public Class SplitModeVM
|
||||
Private m_ptSrtBridge As New Point3d
|
||||
Private m_ptEndBridge As New Point3d
|
||||
|
||||
' Punti per creazione tagli odi separazione
|
||||
Private m_ptStartPoint As Point3d
|
||||
Private m_bGetStartPoint As Boolean = False
|
||||
Private m_ptEndPoint As Point3d
|
||||
Private m_bGetEndPoint As Boolean = False
|
||||
Private m_IdSplitLine As Integer = GDB_ID.NULL
|
||||
Private m_IdSplitGroup As Integer = GDB_ID.NULL
|
||||
Private m_IdSplitGroupLayer As Integer = GDB_ID.NULL
|
||||
Private m_IdCurrRawSolid As Integer = GDB_ID.NULL
|
||||
Private m_IdSplitLineRemove As Integer = GDB_ID.NULL
|
||||
|
||||
' Flag di pagina attiva
|
||||
Private m_bActive As Boolean = False
|
||||
' Drag
|
||||
@@ -268,6 +283,54 @@ Public Class SplitModeVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bOnOffCut_IsExpanded As Boolean = True
|
||||
Public Property bOnOffCut_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bOnOffCut_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bOnOffCut_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bOnOffCut_IsExpanded))
|
||||
WriteMainPrivateProfileString("Split", "OnOffCut", If(m_bOnOffCut_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bSpLitCut_IsExpanded As Boolean = True
|
||||
Public Property bSpLitCut_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bSpLitCut_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bSpLitCut_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bSpLitCut_IsExpanded))
|
||||
WriteMainPrivateProfileString("Split", "SplitCut", If(m_bSpLitCut_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bDirectSpLitCut_IsExpanded As Boolean = True
|
||||
Public Property bDirectSpLitCut_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bDirectSpLitCut_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bDirectSpLitCut_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bDirectSpLitCut_IsExpanded))
|
||||
WriteMainPrivateProfileString("Split", "DirectSplitCut", If(m_bDirectSpLitCut_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bModifyCut_IsExpanded As Boolean = True
|
||||
Public Property bModifyCut_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bModifyCut_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bModifyCut_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bModifyCut_IsExpanded))
|
||||
WriteMainPrivateProfileString("Split", "ModifyCut", If(m_bModifyCut_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_BridgeBtn_IsChecked As Boolean = False
|
||||
Public Property BridgeBtn_IsChecked As Boolean
|
||||
Get
|
||||
@@ -292,6 +355,109 @@ 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 = "Hide"
|
||||
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOn.png"
|
||||
Else
|
||||
StatusOffNumbArrow(GDB_ST.OFF)
|
||||
m_LayNbArrTgBtnMsg = "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
|
||||
Public Property CreateCut_IsChecked As Boolean
|
||||
Get
|
||||
Return m_CreateCut_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_CreateCut_IsChecked = value
|
||||
m_RemoveCut_IsChecked = False
|
||||
m_CreateParallelCut_IsChecked = False
|
||||
m_ModifyCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
CreateCutIsChecked()
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_RemoveCut_IsChecked As Boolean
|
||||
Public Property RemoveCut_IsChecked As Boolean
|
||||
Get
|
||||
Return m_RemoveCut_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_RemoveCut_IsChecked = value
|
||||
m_CreateCut_IsChecked = False
|
||||
m_CreateParallelCut_IsChecked = False
|
||||
m_ModifyCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
RemoveCutIsChecked()
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_CreateParallelCut_IsChecked As Boolean
|
||||
Public Property CreateParallelCut_IsChecked As Boolean
|
||||
Get
|
||||
Return m_CreateParallelCut_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_CreateParallelCut_IsChecked = value
|
||||
m_CreateCut_IsChecked = False
|
||||
m_RemoveCut_IsChecked = False
|
||||
m_ModifyCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
CreateParellelCutIsChecked()
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ModifyCut_IsChecked As Boolean
|
||||
Public Property ModifyCut_IsChecked As Boolean
|
||||
Get
|
||||
Return m_ModifyCut_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_ModifyCut_IsChecked = value
|
||||
m_CreateCut_IsChecked = False
|
||||
m_RemoveCut_IsChecked = False
|
||||
m_CreateParallelCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
ModifyCutIsChecked()
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Split Cut
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
Public ReadOnly Property OnOffMsg As String
|
||||
@@ -380,13 +546,13 @@ Public Class SplitModeVM
|
||||
|
||||
Public ReadOnly Property ModifStartMsg As String
|
||||
Get
|
||||
Return EgtMsg( 90373) ' Inizio Modif.
|
||||
Return EgtMsg(90373) ' Inizio Modif.
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ModifEndMsg As String
|
||||
Get
|
||||
Return EgtMsg( 90374) ' Fine Modif.
|
||||
Return EgtMsg(90374) ' Fine Modif.
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -404,19 +570,57 @@ Public Class SplitModeVM
|
||||
|
||||
Public ReadOnly Property BridgeMsg As String
|
||||
Get
|
||||
Return "Bridge"
|
||||
Return EgtMsg(91671)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property BridgeDeleteMsg As String
|
||||
Get
|
||||
Return "Delete Bridge"
|
||||
Return EgtMsg(91672)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property QualityMsg As String
|
||||
Get
|
||||
Return "Quality"
|
||||
Return EgtMsg(91673)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EnableCutMsg As String
|
||||
Get
|
||||
Return EgtMsg(91663)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SplitCutMsg As String
|
||||
Get
|
||||
Return EgtMsg(91664)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DirectSplitCutMsg As String
|
||||
Get
|
||||
Return EgtMsg(91665)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ManageStartEndCutMsg As String
|
||||
Get
|
||||
Return EgtMsg(91666)
|
||||
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
|
||||
|
||||
@@ -452,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
|
||||
@@ -460,6 +666,14 @@ Public Class SplitModeVM
|
||||
|
||||
Friend Function InitSplitRaw() As Boolean
|
||||
m_bActive = True
|
||||
m_bOnOffCut_IsExpanded = GetMainPrivateProfileInt("Split", "OnOffCut", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bOnOffCut_IsExpanded))
|
||||
m_bSpLitCut_IsExpanded = GetMainPrivateProfileInt("Split", "SplitCut", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bSpLitCut_IsExpanded))
|
||||
m_bDirectSpLitCut_IsExpanded = GetMainPrivateProfileInt("Split", "DirectSplitCut", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bDirectSpLitCut_IsExpanded))
|
||||
m_bModifyCut_IsExpanded = GetMainPrivateProfileInt("Split", "ModifyCut", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bModifyCut_IsExpanded))
|
||||
' aggiorno la visualizzazione dei comandi per generare i bridge
|
||||
m_BridgeBtn_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(BridgeBtn_IsChecked))
|
||||
@@ -536,6 +750,17 @@ Public Class SplitModeVM
|
||||
' eventualmente interrompo la creazione dei ponticelli
|
||||
DeselectWJBridgesPart()
|
||||
|
||||
' Interrompo la creazione di tagli di separazione
|
||||
ResetSplitCut()
|
||||
m_CreateCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
m_RemoveCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
m_CreateParallelCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
m_ModifyCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
|
||||
' Rimuovo evidenziazione e numeri
|
||||
RemoveMarkAndNumbers()
|
||||
' Ripristino colori lavorazioni
|
||||
@@ -671,7 +896,7 @@ Public Class SplitModeVM
|
||||
' Aggiorno le lavorazioni (eliminato sort per lasciare ordine immutato)
|
||||
If CurrentMachine.WaterJettingActive Then ResetAllMachinings()
|
||||
EstCalc.SetOrderMachiningFlag()
|
||||
If CurrentMachine.WaterJettingActive Then
|
||||
If CurrentMachine.WaterJettingActive Then
|
||||
Dim bModif As Boolean = TestAllMachiningsForStrict()
|
||||
If bModif Then OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(90321), 3, MSG_TYPE.WARNING) 'Ridotte alcune lavorazioni per evitare interferenze
|
||||
End If
|
||||
@@ -730,6 +955,30 @@ Public Class SplitModeVM
|
||||
EnableButtons()
|
||||
End Sub
|
||||
|
||||
' Aggiorno le lavorazioni
|
||||
Private Sub PreviewMachinigList()
|
||||
' Visualizzo solo anteprime di lavorazioni della fase
|
||||
ShowOnePhaseMachiningPreview(m_nCurrPhase)
|
||||
' Preparo la lista delle lavorazioni
|
||||
CalculateSplitMachList(m_nCurrPhase, m_MachiningList)
|
||||
' azzero i contatori delle lavorazioni
|
||||
m_nCountSawing = 0
|
||||
m_nCountWaterjetting = 0
|
||||
m_nCountOtherMachining = 0
|
||||
' Aggiorno visualizzazione delle lavorazioni
|
||||
EgtEmptyGroup(m_nNbrGrpId)
|
||||
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
||||
' sistemo colore
|
||||
ColorMachining(m_MachiningList(nI))
|
||||
' assegno numerazione
|
||||
NumberDirectionMachining(nI)
|
||||
' conto il numero di tipi di lavorazioni
|
||||
CountMachiningType(m_MachiningList(nI), m_nCountSawing, m_nCountWaterjetting, m_nCountOtherMachining)
|
||||
Next
|
||||
' Preparo la lista degli Item
|
||||
ShowMachiningList()
|
||||
End Sub
|
||||
|
||||
Private Sub ShowMachiningList()
|
||||
m_ItemList.Clear()
|
||||
For i As Integer = 1 To m_MachiningList.Count()
|
||||
@@ -743,15 +992,15 @@ Public Class SplitModeVM
|
||||
sText = EgtMsg(90791) & " " & i.ToString() & " " & DoubleToString(Mach.m_dSideAng, 2) & "°"
|
||||
End If
|
||||
If Mach.m_bPause Then AddPauseText(sText)
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.SAWING))
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.SAWING, "/Resources/NewIcons/Movimento-manuale.png"))
|
||||
ElseIf Mach.m_nType = MCH_OY.DRILLING Then ' Foratura
|
||||
Dim sText As String = EgtMsg(90792) & " " & i.ToString()
|
||||
If Mach.m_bPause Then AddPauseText(sText)
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.DRILLING))
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.DRILLING, "/Resources/NewIcons/Foro-singolo.png"))
|
||||
ElseIf Mach.m_nType = MCH_OY.MILLING Then ' Fresatura
|
||||
Dim sText As String = EgtMsg(90793) & " " & i.ToString()
|
||||
If Mach.m_sLay = NAME_ONPATH Then AddTopText(sText)
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.MILLING))
|
||||
m_ItemList.Add(New NameIdLsBxItem(sText, i - 1, Mach.m_bEnabled, MCH_OY.MILLING, "/Resources/NewIcons/Spianatura.png"))
|
||||
ElseIf Mach.m_nType = MCH_OY.POCKETING Then ' Svuotatura
|
||||
Dim sText As String = EgtMsg(90796) & " " & i.ToString()
|
||||
If Mach.m_bPause Then AddPauseText(sText)
|
||||
@@ -777,14 +1026,14 @@ Public Class SplitModeVM
|
||||
If OmagOFFICEMap.refMachiningTabVM.ByHand Then
|
||||
' Ci deve essere almeno 1 taglio disabilitato e 1 e 1 solo passante
|
||||
OmagOFFICEMap.refMachiningTabVM.NextIsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() = 1)
|
||||
' Altrimenti
|
||||
' Altrimenti
|
||||
Else
|
||||
' Ci deve essere almeno 1 taglio disabilitato e almeno 1 passante oppure fase successiva alla prima
|
||||
OmagOFFICEMap.refMachiningTabVM.NextIsEnabled = (GetDisabledCutsCount() > 0 And
|
||||
(GetSplitCutsCount() > 0 Or m_nCurrPhase > 1)) Or
|
||||
CurrentMachine.bRawFinalMove
|
||||
End If
|
||||
' altrimenti sto solo visualizzando
|
||||
' altrimenti sto solo visualizzando
|
||||
Else
|
||||
OmagOFFICEMap.refMachiningTabVM.NextIsEnabled = (m_nCurrPhase < EgtGetPhaseCount())
|
||||
End If
|
||||
@@ -957,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
|
||||
@@ -968,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
|
||||
@@ -1084,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)
|
||||
@@ -1200,6 +1466,85 @@ Public Class SplitModeVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CreateCutIsChecked()
|
||||
' attivo la scena per renderla attiva
|
||||
If m_CreateCut_IsChecked Then
|
||||
' OmagOFFICEMap.refSceneHostVM.MainScene.SetStatusSelPoint()
|
||||
OmagOFFICEMap.refSceneHostVM.MainScene.SetStatusNull()
|
||||
ResetSplitCut()
|
||||
Else
|
||||
' ????????
|
||||
ResetSplitCut()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub RemoveCutIsChecked()
|
||||
If m_RemoveCut_IsChecked Then
|
||||
OmagOFFICEMap.refSceneHostVM.MainScene.SetStatusNull()
|
||||
ResetSplitCut()
|
||||
Else
|
||||
' ????????
|
||||
ResetSplitCut()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CreateParellelCutIsChecked()
|
||||
If m_CreateParallelCut_IsChecked Then
|
||||
OmagOFFICEMap.refSceneHostVM.MainScene.SetStatusNull()
|
||||
ResetSplitCut()
|
||||
Else
|
||||
' ????????
|
||||
ResetSplitCut()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ModifyCutIsChecked()
|
||||
If m_CreateParallelCut_IsChecked Then
|
||||
OmagOFFICEMap.refSceneHostVM.MainScene.SetStatusNull()
|
||||
ResetSplitCut()
|
||||
Else
|
||||
' ????????
|
||||
ResetSplitCut()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Forzo la fine della creazione di un elemento SplitCut
|
||||
Private Sub ResetSplitCut()
|
||||
EgtResetMark(m_IdCurrRawSolid)
|
||||
ResetAllMark()
|
||||
If m_IdSplitGroup <> GDB_ID.NULL Then
|
||||
EgtErase(m_IdSplitGroup)
|
||||
End If
|
||||
m_bGetStartPoint = False
|
||||
m_bGetEndPoint = False
|
||||
m_IdSplitLine = GDB_ID.NULL
|
||||
m_IdSplitGroup = GDB_ID.NULL
|
||||
m_IdSplitGroupLayer = GDB_ID.NULL
|
||||
m_IdCurrRawSolid = GDB_ID.NULL
|
||||
m_IdSplitLineRemove = GDB_ID.NULL
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
' spegno il comando Split correntemente attivo
|
||||
Public Sub DeactiveSplitCut()
|
||||
ResetSplitCut()
|
||||
m_RemoveCut_IsChecked = False
|
||||
m_CreateCut_IsChecked = False
|
||||
m_CreateParallelCut_IsChecked = False
|
||||
m_ModifyCut_IsChecked = False
|
||||
NotifyPropertyChanged(NameOf(CreateCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(CreateParallelCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(RemoveCut_IsChecked))
|
||||
NotifyPropertyChanged(NameOf(ModifyCut_IsChecked))
|
||||
End Sub
|
||||
|
||||
Public Sub ResetAllMark()
|
||||
For Each Item As NameIdLsBxItem In m_ItemList
|
||||
Item.IsSelected = False
|
||||
MarkMachining(Item.Ind, False)
|
||||
Next
|
||||
End Sub
|
||||
|
||||
#End Region ' METHODS
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -2608,7 +2953,7 @@ Public Class SplitModeVM
|
||||
EgtDraw()
|
||||
End Sub
|
||||
|
||||
Private Sub DeselectWJBridgesPart()
|
||||
Public Sub DeselectWJBridgesPart()
|
||||
' se in fase di definzione di un ponticello lo elimino
|
||||
If m_nIdSelectedSideWJ_Srt <> GDB_ID.NULL And m_nIdSelectedSideWJ_End = GDB_ID.NULL And m_nIdBridge <> GDB_ID.NULL Then
|
||||
EgtErase(EgtGetParent(m_nIdBridge))
|
||||
@@ -2695,7 +3040,75 @@ Public Class SplitModeVM
|
||||
|
||||
#End Region ' Quality
|
||||
|
||||
' Genera la lavorazione associata al percoso indicato
|
||||
Private Function CreateSingleCut() As Boolean
|
||||
Dim bOk As Boolean = False
|
||||
' Verifico sia definito il punto iniziale e il grezzo
|
||||
If Not (m_bGetStartPoint And m_bGetEndPoint) AndAlso m_IdCurrRawSolid <> GDB_ID.NULL Then
|
||||
Return False
|
||||
End If
|
||||
' Spessore grezzo
|
||||
Dim ptRawMin, ptRawMax As Point3d
|
||||
If Not EgtGetRawPartBBox(m_IdCurrRawSolid, ptRawMin, ptRawMax) Then Return False
|
||||
Dim dRawHeight As Double = ptRawMax.z - ptRawMin.z
|
||||
' Recupero spessore lama corrente
|
||||
Dim sSaw As String = CurrentMachine.sCurrSaw
|
||||
Dim sSawing As String = CurrentMachine.sCurrSawing
|
||||
EgtTdbSetCurrTool(sSaw)
|
||||
Dim dThick As Double = 0
|
||||
' Se è impostata una lavorazione di lama
|
||||
If Not String.IsNullOrEmpty(sSawing) Then
|
||||
EgtTdbGetCurrToolParam(MCH_TP.THICK, dThick)
|
||||
End If
|
||||
' Recupero pezzo per il taglio diretto
|
||||
Dim nPartId = m_IdSplitGroup
|
||||
' Calcolo punto di inserimento nel grezzo
|
||||
Dim ptMin, ptMax As Point3d
|
||||
EgtGetBBoxGlob(nPartId, GDB_BB.STANDARD, ptMin, ptMax)
|
||||
Dim ptTabOri As Point3d
|
||||
EgtGetTableRef(1, ptTabOri)
|
||||
'Dim ptIns As Point3d = ptMin + (ptTabOri - ptRawMin)
|
||||
Dim ptOri As New Point3d
|
||||
Dim ptIns As Point3d = ptOri + (ptMin - ptRawMin)
|
||||
ptIns.z = dRawHeight
|
||||
' Imposto la fase corrente
|
||||
EgtSetCurrPhase(m_nCurrPhase)
|
||||
' Inserisco il taglio nel grezzo : CamAuto.GetCurrentRaw()
|
||||
EgtAddPartToRawPart(nPartId, ptIns, m_IdCurrRawSolid)
|
||||
' Inserisco la lavorazione
|
||||
bOk = AddMachinings(nPartId) AndAlso UpdateAllMachiningsToolpaths()
|
||||
'' Spengo la linea
|
||||
'If bOk Then
|
||||
' EgtSetStatus(m_IdSplitLine, GDB_ST.OFF)
|
||||
'End If
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Private Function RemoveCut(nId As Integer) As Boolean
|
||||
Dim bOk As Boolean = False
|
||||
Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
Dim ParentId As Integer = EgtGetParent(nId)
|
||||
While ParentId <> GDB_ID.NULL
|
||||
Dim sCutName As String = String.Empty
|
||||
EgtGetName(ParentId, sCutName)
|
||||
If sCutName.Contains(SPLIT_CUT & "_" & nIdCurrMachGroup.ToString) Then
|
||||
bOk = RemoveCurrentSplitCut(ParentId)
|
||||
Return bOk
|
||||
End If
|
||||
ParentId = EgtGetParent(ParentId)
|
||||
End While
|
||||
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
|
||||
' Verifico di essere il gestore attivo e non in modalità sola visualizzazione
|
||||
If Not m_bActive OrElse OmagOFFICEMap.refMachiningTabVM.IsShow Then Return
|
||||
' Si può selezionare solo con il tasto sinistro e se stato NULL
|
||||
@@ -2728,6 +3141,136 @@ Public Class SplitModeVM
|
||||
Return
|
||||
End If
|
||||
|
||||
' Recupero le coordinate del punto corrente (solo se esiste la selezione di un grezzo corrente -> vedi sotto)
|
||||
If m_CreateCut_IsChecked AndAlso m_IdCurrRawSolid <> GDB_ID.NULL Then
|
||||
Dim ptCurr As Point3d
|
||||
EgtUnProjectPoint(e.Location, ptCurr)
|
||||
If m_bGetStartPoint And Not m_bGetEndPoint Then
|
||||
m_ptEndPoint = ptCurr
|
||||
m_bGetEndPoint = True
|
||||
End If
|
||||
If Not m_bGetStartPoint Then
|
||||
m_ptStartPoint = ptCurr
|
||||
m_bGetStartPoint = True
|
||||
m_IdSplitGroup = EgtCreateGroup(GDB_ID.ROOT)
|
||||
Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
EgtSetName(m_IdSplitGroup, SPLIT_CUT & "_" & nIdCurrMachGroup.ToString & "." & EgtGetCurrPhase())
|
||||
m_IdSplitGroupLayer = EgtCreateGroup(m_IdSplitGroup)
|
||||
EgtSetName(m_IdSplitGroupLayer, NAME_OUTLOOP)
|
||||
End If
|
||||
If m_bGetStartPoint And m_bGetEndPoint Then
|
||||
' procedo a disegnare la linea tra i due punti indicati
|
||||
Dim ptRawMin, ptRawMax As Point3d
|
||||
If EgtGetRawPartBBox(m_IdCurrRawSolid, ptRawMin, ptRawMax) Then
|
||||
m_ptStartPoint.z = ptRawMax.z
|
||||
m_ptEndPoint.z = ptRawMax.z
|
||||
EgtModifyCurveEndPoint(m_IdSplitLine, m_ptEndPoint)
|
||||
CreateSingleCut()
|
||||
' Resetto tutte le variabili utilizzate
|
||||
EgtResetMark(m_IdCurrRawSolid)
|
||||
m_bGetStartPoint = False
|
||||
m_bGetEndPoint = False
|
||||
m_IdSplitLine = GDB_ID.NULL
|
||||
m_IdSplitGroup = GDB_ID.NULL
|
||||
m_IdSplitGroupLayer = GDB_ID.NULL
|
||||
m_IdCurrRawSolid = GDB_ID.NULL
|
||||
m_IdSplitLineRemove = GDB_ID.NULL
|
||||
' Aggiorno la visualizzazione
|
||||
PreviewMachinigList()
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
Return
|
||||
ElseIf m_CreateCut_IsChecked AndAlso m_IdCurrRawSolid = GDB_ID.NULL Then
|
||||
' Verifico se selezionato grezzo
|
||||
EgtSetObjFilterForSelWin(False, False, True, False, False)
|
||||
Dim nSelRaw As Integer
|
||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelRaw)
|
||||
Dim nIdRaw As Integer = EgtGetFirstObjInSelWin()
|
||||
While nIdRaw <> GDB_ID.NULL
|
||||
Dim sRawName As String = String.Empty
|
||||
If EgtGetName(nIdRaw, sRawName) AndAlso sRawName = NAME_RAW_SOLID Then
|
||||
m_IdCurrRawSolid = EgtGetParent(nIdRaw)
|
||||
EgtSetMark(m_IdCurrRawSolid)
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
nIdRaw = EgtGetNextObjInSelWin()
|
||||
End While
|
||||
Return
|
||||
End If
|
||||
|
||||
If m_CreateParallelCut_IsChecked AndAlso m_IdCurrRawSolid = GDB_ID.NULL Then
|
||||
' Verifico se selezionato grezzo
|
||||
EgtSetObjFilterForSelWin(False, False, True, False, False)
|
||||
Dim nSelRaw As Integer
|
||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelRaw)
|
||||
Dim nIdRaw As Integer = EgtGetFirstObjInSelWin()
|
||||
While nIdRaw <> GDB_ID.NULL
|
||||
Dim sRawName As String = String.Empty
|
||||
If EgtGetName(nIdRaw, sRawName) AndAlso sRawName = NAME_RAW_SOLID Then
|
||||
m_IdCurrRawSolid = EgtGetParent(nIdRaw)
|
||||
EgtSetMark(m_IdCurrRawSolid)
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
nIdRaw = EgtGetNextObjInSelWin()
|
||||
End While
|
||||
Return
|
||||
ElseIf m_CreateParallelCut_IsChecked AndAlso m_IdCurrRawSolid <> GDB_ID.NULL AndAlso m_bGetStartPoint AndAlso Not m_bGetEndPoint Then
|
||||
m_bGetEndPoint = True
|
||||
CreateSingleCut()
|
||||
' Resetto tutte le variabili utilizzate
|
||||
EgtResetMark(m_IdCurrRawSolid)
|
||||
m_bGetStartPoint = False
|
||||
m_bGetEndPoint = False
|
||||
m_IdSplitLine = GDB_ID.NULL
|
||||
m_IdSplitGroup = GDB_ID.NULL
|
||||
m_IdSplitGroupLayer = GDB_ID.NULL
|
||||
m_IdCurrRawSolid = GDB_ID.NULL
|
||||
m_IdSplitLineRemove = GDB_ID.NULL
|
||||
' Aggiorno la visualizzazione
|
||||
PreviewMachinigList()
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
|
||||
If m_ModifyCut_IsChecked AndAlso m_IdCurrRawSolid = GDB_ID.NULL Then
|
||||
' Verifico se selezionato grezzo
|
||||
EgtSetObjFilterForSelWin(False, False, True, False, False)
|
||||
Dim nSelRaw As Integer
|
||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelRaw)
|
||||
Dim nIdRaw As Integer = EgtGetFirstObjInSelWin()
|
||||
While nIdRaw <> GDB_ID.NULL
|
||||
Dim sRawName As String = String.Empty
|
||||
If EgtGetName(nIdRaw, sRawName) AndAlso sRawName = NAME_RAW_SOLID Then
|
||||
m_IdCurrRawSolid = EgtGetParent(nIdRaw)
|
||||
EgtSetMark(m_IdCurrRawSolid)
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
nIdRaw = EgtGetNextObjInSelWin()
|
||||
End While
|
||||
Return
|
||||
ElseIf m_ModifyCut_IsChecked AndAlso m_IdCurrRawSolid <> GDB_ID.NULL AndAlso m_bGetStartPoint AndAlso Not m_bGetEndPoint Then
|
||||
m_bGetEndPoint = True
|
||||
CreateSingleCut()
|
||||
RemoveCut(m_IdSplitLineRemove)
|
||||
' Resetto tutte le variabili utilizzate
|
||||
EgtResetMark(m_IdCurrRawSolid)
|
||||
m_bGetStartPoint = False
|
||||
m_bGetEndPoint = False
|
||||
m_IdSplitLine = GDB_ID.NULL
|
||||
m_IdSplitGroup = GDB_ID.NULL
|
||||
m_IdSplitGroupLayer = GDB_ID.NULL
|
||||
m_IdCurrRawSolid = GDB_ID.NULL
|
||||
m_IdSplitLineRemove = GDB_ID.NULL
|
||||
' Aggiorno la visualizzazione
|
||||
PreviewMachinigList()
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
|
||||
' Reset drag
|
||||
m_nDragInd = -1
|
||||
m_nDragType = 0
|
||||
@@ -2739,6 +3282,95 @@ Public Class SplitModeVM
|
||||
EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
|
||||
Dim nId As Integer = EgtGetFirstObjInSelWin()
|
||||
While nId <> GDB_ID.NULL
|
||||
' --------------------------------- SPLIT CUT ---------------------------------
|
||||
' Se attiva l'eliminazione di un taglio di separazione
|
||||
If m_RemoveCut_IsChecked Then
|
||||
RemoveCut(nId)
|
||||
' Aggiorno la visualizzazione
|
||||
PreviewMachinigList()
|
||||
EgtDraw()
|
||||
Return
|
||||
End If
|
||||
|
||||
' Recupero le info del pezzo selezionato per procedere a generare
|
||||
If m_CreateParallelCut_IsChecked AndAlso m_IdCurrRawSolid <> GDB_ID.NULL Then
|
||||
Dim sMyName As String = ""
|
||||
EgtGetName(nId, sMyName)
|
||||
If String.Compare(sMyName, NAME_PV_CUT) = 0 Then
|
||||
Dim nPvId As Integer = EgtGetParent(EgtGetParent(nId))
|
||||
Dim sPvid As String = String.Empty
|
||||
EgtGetName(nPvId, sPvid)
|
||||
If sPvid.StartsWith("Saw") Then
|
||||
sPvid = sPvid.Remove(0, 3)
|
||||
If IsNumeric(sPvid) Then
|
||||
Dim nIdLine As Integer = CInt(sPvid)
|
||||
m_IdSplitGroup = EgtCreateGroup(GDB_ID.ROOT)
|
||||
Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
EgtSetName(m_IdSplitGroup, SPLIT_CUT & "_" & nIdCurrMachGroup.ToString & "." & EgtGetCurrPhase())
|
||||
m_IdSplitGroupLayer = EgtCreateGroup(m_IdSplitGroup)
|
||||
EgtSetName(m_IdSplitGroupLayer, NAME_OUTLOOP)
|
||||
m_IdSplitLine = EgtCopyGlob(nIdLine, m_IdSplitGroupLayer)
|
||||
' Recupero la dimennsione del taglio (non basta copiare la geometria)
|
||||
Dim dUsal As Double = 0
|
||||
Dim dUeal As Double = 0
|
||||
Dim nMchId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo(nPvId, "MId", nMchId) Then
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_SAL, dUsal)
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_EAL, dUeal)
|
||||
End If
|
||||
' Aggiorno la dimensione della geometria
|
||||
EgtExtendCurveStartByLen(m_IdSplitLine, dUsal)
|
||||
EgtExtendCurveEndByLen(m_IdSplitLine, dUeal)
|
||||
EgtDeselectObj(nId)
|
||||
m_bGetStartPoint = True
|
||||
End If
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
|
||||
If m_ModifyCut_IsChecked AndAlso m_IdCurrRawSolid <> GDB_ID.NULL Then
|
||||
Dim sMyName As String = ""
|
||||
EgtGetName(nId, sMyName)
|
||||
If String.Compare(sMyName, NAME_PV_CUT) = 0 Then
|
||||
Dim nPvId As Integer = EgtGetParent(EgtGetParent(nId))
|
||||
Dim sPvId As String = String.Empty
|
||||
EgtGetName(nPvId, sPvId)
|
||||
If sPvId.StartsWith("Saw") Then
|
||||
sPvId = sPvId.Remove(0, 3)
|
||||
If IsNumeric(sPvId) Then
|
||||
Dim nIdLine As Integer = CInt(sPvId)
|
||||
m_IdSplitGroup = EgtCreateGroup(GDB_ID.ROOT)
|
||||
Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
|
||||
EgtSetName(m_IdSplitGroup, SPLIT_CUT & "_" & nIdCurrMachGroup.ToString & "." & EgtGetCurrPhase())
|
||||
m_IdSplitGroupLayer = EgtCreateGroup(m_IdSplitGroup)
|
||||
EgtSetName(m_IdSplitGroupLayer, NAME_OUTLOOP)
|
||||
m_IdSplitLine = EgtCopyGlob(nIdLine, m_IdSplitGroupLayer)
|
||||
' Recupero la dimennsione del taglio (non basta copiare la geometria)
|
||||
Dim dUsal As Double = 0
|
||||
Dim dUeal As Double = 0
|
||||
Dim nMchId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo(nPvId, "MId", nMchId) Then
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_SAL, dUsal)
|
||||
EgtGetInfo(nMchId, INFO_MCH_USER_EAL, dUeal)
|
||||
End If
|
||||
' Aggiorno la dimensione della geometria
|
||||
EgtExtendCurveStartByLen(m_IdSplitLine, dUsal)
|
||||
EgtExtendCurveEndByLen(m_IdSplitLine, dUeal)
|
||||
EgtDeselectObj(nId)
|
||||
' Salvo l'Id del tagli da eliminare
|
||||
m_IdSplitLineRemove = nId
|
||||
m_bGetStartPoint = True
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
|
||||
' --------------------------------- SPLIT CUT ---------------------------------
|
||||
' Verifico sia un attacco o uscita di taglio con lama
|
||||
Dim nType As Integer = 0
|
||||
Dim sName As String = ""
|
||||
@@ -2803,7 +3435,14 @@ Public Class SplitModeVM
|
||||
If m_nSelected >= 0 AndAlso EgtUnProjectPoint(e.Location, m_ptDragPrev) Then
|
||||
Dim nItemIndex = 0
|
||||
For Each Item In ItemList
|
||||
Item.IsSelected = (nItemIndex = m_nSelected)
|
||||
If Not bKeyCtrlPressed Then
|
||||
Item.IsSelected = (nItemIndex = m_nSelected)
|
||||
Else
|
||||
' procedo ad rendere attivo solo l'elemnento selezionato
|
||||
If nItemIndex = m_nSelected Then
|
||||
Item.IsSelected = True
|
||||
End If
|
||||
End If
|
||||
nItemIndex += 1
|
||||
Next
|
||||
Else
|
||||
@@ -2828,6 +3467,46 @@ Public Class SplitModeVM
|
||||
Return
|
||||
End If
|
||||
|
||||
' Recupero le coordinate del punto corrente
|
||||
If m_CreateCut_IsChecked Then
|
||||
If m_bGetStartPoint And Not m_bGetEndPoint Then
|
||||
m_ptEndPoint = ptCurr
|
||||
End If
|
||||
If m_bGetStartPoint And Not m_bGetEndPoint Then
|
||||
' procedo a disegnare la linea tra i due punti indicati
|
||||
Dim ptRawMin, ptRawMax As Point3d
|
||||
If EgtGetRawPartBBox(m_IdCurrRawSolid, ptRawMin, ptRawMax) Then
|
||||
m_ptStartPoint.z = ptRawMax.z
|
||||
m_ptEndPoint.z = ptRawMax.z
|
||||
If m_IdSplitLine = GDB_ID.NULL Then
|
||||
m_IdSplitLine = EgtCreateLine(m_IdSplitGroupLayer, m_ptStartPoint, m_ptEndPoint)
|
||||
Else
|
||||
EgtModifyCurveEndPoint(m_IdSplitLine, m_ptEndPoint)
|
||||
End If
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
Return
|
||||
End If
|
||||
|
||||
If m_CreateParallelCut_IsChecked AndAlso m_IdSplitLine <> GDB_ID.NULL Then
|
||||
Dim mPoint3d As Point3d
|
||||
EgtMidPoint(m_IdSplitLine, mPoint3d)
|
||||
mPoint3d.z = 0
|
||||
ptCurr.z = 0
|
||||
EgtMove(m_IdSplitLine, ptCurr - mPoint3d)
|
||||
EgtDraw()
|
||||
End If
|
||||
|
||||
If m_ModifyCut_IsChecked AndAlso m_IdSplitLine <> GDB_ID.NULL Then
|
||||
Dim mPoint3d As Point3d
|
||||
EgtMidPoint(m_IdSplitLine, mPoint3d)
|
||||
mPoint3d.z = 0
|
||||
ptCurr.z = 0
|
||||
EgtMove(m_IdSplitLine, ptCurr - mPoint3d)
|
||||
EgtDraw()
|
||||
End If
|
||||
|
||||
' Se drag non abilitato o in corso
|
||||
If m_nDragInd = -1L Or m_bDragging Then Return
|
||||
m_bDragging = True
|
||||
@@ -2878,19 +3557,19 @@ Public Class SplitModeVM
|
||||
dUeal = dOrigUeal + dDelta
|
||||
' Se c'è limite alla lunghezza libera
|
||||
If m_MachiningList(m_nDragInd).m_dEndFreeLen < FREELEN_INF Then
|
||||
' Recupero sicurezza in corner interno
|
||||
Dim dCornerSafety As Double = Math.Max(GetPrivateProfileDouble(S_MACH_NEST, K_MACH_SAFE_LEN_INTCORNER, 1, CurrentMachine.sMachIniFile), 10 * EPS_SMALL)
|
||||
' Recupero lunghezza baffo del taglio
|
||||
Dim nPvId As Integer = GDB_ID.NULL
|
||||
EgtGetInfo(EgtGetFirstNameInGroup(nOperId, NAME_PREVIEW), INFO_PV_ONPART_ID, nPvId)
|
||||
Dim dDT As Double = 0
|
||||
EgtGetInfo(EgtGetFirstGroupInGroup(nPvId), "DT", dDT)
|
||||
dUeal = Math.Min(dUeal, m_MachiningList(m_nDragInd).m_dEndFreeLen - dDT - dCornerSafety)
|
||||
End If
|
||||
' Modifica della lavorazione
|
||||
EgtSetCurrMachining(nOperId)
|
||||
Dim dAddLen As Double = 0
|
||||
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
|
||||
' Recupero sicurezza in corner interno
|
||||
Dim dCornerSafety As Double = Math.Max(GetPrivateProfileDouble(S_MACH_NEST, K_MACH_SAFE_LEN_INTCORNER, 1, CurrentMachine.sMachIniFile), 10 * EPS_SMALL)
|
||||
' Recupero lunghezza baffo del taglio
|
||||
Dim nPvId As Integer = GDB_ID.NULL
|
||||
EgtGetInfo(EgtGetFirstNameInGroup(nOperId, NAME_PREVIEW), INFO_PV_ONPART_ID, nPvId)
|
||||
Dim dDT As Double = 0
|
||||
EgtGetInfo(EgtGetFirstGroupInGroup(nPvId), "DT", dDT)
|
||||
dUeal = Math.Min(dUeal, m_MachiningList(m_nDragInd).m_dEndFreeLen - dDT - dCornerSafety)
|
||||
End If
|
||||
' Modifica della lavorazione
|
||||
EgtSetCurrMachining(nOperId)
|
||||
Dim dAddLen As Double = 0
|
||||
EgtGetMachiningParam(MCH_MP.ENDADDLEN, dAddLen)
|
||||
If dAddLen - dOrigUeal < -10 * EPS_SMALL Then
|
||||
m_bDragging = False
|
||||
Return
|
||||
@@ -2926,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
|
||||
|
||||
'-----------------------------------------------------------------------------------------------
|
||||
@@ -2934,6 +3627,7 @@ Public Class SplitModeVM
|
||||
|
||||
Private m_nInd As Integer
|
||||
Private m_sName As String
|
||||
Private m_sSourceImg As String
|
||||
Private m_bIsActive As Boolean
|
||||
Private m_nType As Integer
|
||||
|
||||
@@ -2951,10 +3645,20 @@ Public Class SplitModeVM
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
If value <> m_sName Then
|
||||
m_sName = value
|
||||
NotifyPropertyChanged("Name")
|
||||
End If
|
||||
If value <> m_sName Then
|
||||
m_sName = value
|
||||
NotifyPropertyChanged("Name")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SourceImg As String
|
||||
Get
|
||||
Return m_sSourceImg
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sSourceImg = value
|
||||
NotifyPropertyChanged("SourceImg")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -3083,6 +3787,14 @@ Public Class SplitModeVM
|
||||
Me.m_nType = nType
|
||||
End Sub
|
||||
|
||||
Sub New(Name As String, Ind As Integer, bIsActive As Boolean, nType As Integer, sImg As String)
|
||||
Me.m_sName = Name
|
||||
Me.m_nInd = Ind
|
||||
Me.m_bIsActive = bIsActive
|
||||
Me.m_nType = nType
|
||||
Me.m_sSourceImg = sImg
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
End Class
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
Margin="5,5,5,0">
|
||||
|
||||
|
||||
<GroupBox Header="Disegno parametrico" Style="{StaticResource GroupBoxSplit}">
|
||||
<GroupBox Header="{Binding DrawingMsg}" Style="{StaticResource GroupBoxSplit}">
|
||||
<Grid HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" Margin="0,2.5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
@@ -144,11 +144,15 @@
|
||||
|
||||
</Border>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Name="myExpander1" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding ManagePartsMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bManageParts_IsExpanded}">
|
||||
|
||||
<GroupBox Header="Gestione parcheggio" Style="{StaticResource GroupBoxSplit}">
|
||||
|
||||
<UniformGrid Grid.Column="0" Columns="3" Margin="0,2.5,0,0">
|
||||
<!--<Button Content="{Binding InsertPartMsg}"
|
||||
<UniformGrid Grid.Column="0" Columns="3" Margin="0,2.5,0,0">
|
||||
<!--<Button Content="{Binding InsertPartMsg}"
|
||||
Style="{StaticResource OptionPanel_TextButton}"
|
||||
Command="{Binding InsertPartCommand}"
|
||||
Margin="0,0,2.5,0"/>
|
||||
@@ -157,156 +161,168 @@
|
||||
Style="{StaticResource OptionPanel_TextButton}"
|
||||
Command="{Binding StorePartCommand}"
|
||||
Margin="2.5,0,0,0"/>-->
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding InsertPartMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding InsertPartMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_Button_Img}"
|
||||
Command="{Binding InsertPartCommand}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inserisci-pezzo.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Inserisci-pezzo.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding InsertPartMsg}"
|
||||
<!--<TextBlock Text="{Binding InsertPartMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding StorePartMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding StorePartMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_Button_Img}"
|
||||
Command="{Binding StorePartCommand}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Parcheggia-pezzo.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Parcheggia-pezzo.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding StorePartMsg}"
|
||||
<!--<TextBlock Text="{Binding StorePartMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding RemovePartMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding RemovePartMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_Button_Img}"
|
||||
Command="{Binding RemovePartCommand}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Elimina-pezzo.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Elimina-pezzo.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding RemovePartMsg}"
|
||||
<!--<TextBlock Text="{Binding RemovePartMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<!--<ToggleButton Content="{Binding StartCurvWJMsg}" Grid.Column="2"
|
||||
<!--<ToggleButton Content="{Binding StartCurvWJMsg}" Grid.Column="2"
|
||||
Visibility="{Binding StartCurvWJ_Visibility}"
|
||||
Style="{StaticResource OptionPanel_ToggleButton}"
|
||||
IsChecked="{Binding bStartCurvWJ}"
|
||||
Margin="2.5,0,2.5,0"/>-->
|
||||
</UniformGrid>
|
||||
</UniformGrid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
</GroupBox>
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
<Expander Name="myExpander2" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding SelectionPartMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bSelectionParts_IsExpanded}">
|
||||
|
||||
<GroupBox Header="Gestione selezione" Style="{StaticResource GroupBoxSplit}">
|
||||
<UniformGrid Grid.Column="0" Columns="{Binding CountColumn}" Margin="0,2.5,0,0">
|
||||
|
||||
<UniformGrid Grid.Column="0" Columns="{Binding CountColumn}" Margin="0,2.5,0,0">
|
||||
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding SelectAllMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding SelectAllMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_Button_Img}"
|
||||
Command="{Binding SelectAllCommand}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="2.5,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Seleziona-tutto.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Seleziona-tutto.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding SelectAllMsg}"
|
||||
<!--<TextBlock Text="{Binding SelectAllMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding DeselectAllMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<Button ToolTip="{Binding DeselectAllMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_Button_Img}"
|
||||
Command="{Binding DeselectAllCommand}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="2.5,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Deseleziona-tutto.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Deseleziona-tutto.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding DeselectAllMsg}"
|
||||
<!--<TextBlock Text="{Binding DeselectAllMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel>
|
||||
<ToggleButton ToolTip="{Binding DragRectangleMsg}" Grid.Column="1"
|
||||
<StackPanel>
|
||||
<ToggleButton ToolTip="{Binding DragRectangleMsg}" Grid.Column="1"
|
||||
Visibility="{Binding DragRectangle_Visibility}"
|
||||
Style="{StaticResource Nest_ToggleButton_Img}"
|
||||
IsChecked="{Binding bDragRectangle}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="2.5,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Drag_Rettangle.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/Drag_Rettangle.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding DragRectangleMsg}"
|
||||
<!--<TextBlock Text="{Binding DragRectangleMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
</UniformGrid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
<GroupBox Header="Gestione tgali WJ" Style="{StaticResource GroupBoxSplit}" Visibility="{Binding WJ_Cmd_Visibility}">
|
||||
<UniformGrid Grid.Column="0" Columns="2" Margin="2.5,0,0,0" Visibility="{Binding WJ_Cmd_Visibility}">
|
||||
|
||||
<StackPanel HorizontalAlignment="Right" Margin="0,0,3.75,0">
|
||||
<ToggleButton ToolTip="{Binding SplitCurvWJMsg}" Grid.Column="1"
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5" Visibility="{Binding WJ_Cmd_Visibility}">
|
||||
<Expander Name="myExpander3" Background="Transparent"
|
||||
Foreground="{DynamicResource Omag_White}"
|
||||
HorizontalAlignment="Stretch"
|
||||
Header="{Binding ManageWJMsg}"
|
||||
ExpandDirection="Down" IsExpanded="{Binding bManageWJ_IsExpanded}">
|
||||
<UniformGrid Grid.Column="0" Columns="2" Margin="2.5,0,0,0" Visibility="{Binding WJ_Cmd_Visibility}">
|
||||
<StackPanel HorizontalAlignment="Right" Margin="0,0,3.75,0">
|
||||
<ToggleButton ToolTip="{Binding SplitCurvWJMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_ToggleButton_Img}"
|
||||
IsChecked="{Binding bSplitCurvWJ}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/SPLIT-WJ.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/SPLIT-WJ.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding SplitCurvWJMsg}"
|
||||
<!--<TextBlock Text="{Binding SplitCurvWJMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<StackPanel HorizontalAlignment="Left" Margin="3.75,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding StartCurvWJMsg}" Grid.Column="1"
|
||||
<StackPanel HorizontalAlignment="Left" Margin="3.75,0,0,0">
|
||||
<ToggleButton ToolTip="{Binding StartCurvWJMsg}" Grid.Column="1"
|
||||
Style="{StaticResource Nest_ToggleButton_Img}"
|
||||
IsChecked="{Binding bStartCurvWJ}"
|
||||
HorizontalContentAlignment="Stretch"
|
||||
Margin="0,0,0,0">
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/START-WJ.png"
|
||||
<StackPanel>
|
||||
<Image Source="/Resources/NewIcons/START-WJ.png"
|
||||
Width="40" Height="40" HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center" />
|
||||
<!--<TextBlock Text="{Binding StartCurvWJMsg}"
|
||||
<!--<TextBlock Text="{Binding StartCurvWJMsg}"
|
||||
HorizontalAlignment="Center"/>-->
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
</Expander>
|
||||
</Border>
|
||||
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
|
||||
<Button Content="{Binding ResetMsg}"
|
||||
Style="{StaticResource OptionPanel_TextButton}"
|
||||
|
||||
@@ -169,6 +169,42 @@ Public Class NestingTabVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_bManageParts_IsExpanded As Boolean = True
|
||||
Public Property bManageParts_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bManageParts_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bManageParts_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bManageParts_IsExpanded))
|
||||
WriteMainPrivateProfileString("Nest", "ManageParts", If(m_bManageParts_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bSelectionParts_IsExpanded As Boolean = True
|
||||
Public Property bSelectionParts_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bSelectionParts_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bSelectionParts_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bSelectionParts_IsExpanded))
|
||||
WriteMainPrivateProfileString("Nest", "SelectionParts", If(m_bSelectionParts_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_bManageWJ_IsExpanded As Boolean = True
|
||||
Public Property bManageWJ_IsExpanded As Boolean
|
||||
Get
|
||||
Return m_bManageWJ_IsExpanded
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bManageWJ_IsExpanded = value
|
||||
NotifyPropertyChanged(NameOf(bManageWJ_IsExpanded))
|
||||
WriteMainPrivateProfileString("Nest", "ManageWJ", If(m_bManageWJ_IsExpanded, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
Public ReadOnly Property InsertPartMsg As String
|
||||
@@ -191,7 +227,7 @@ Public Class NestingTabVM
|
||||
|
||||
Public ReadOnly Property DragRectangleMsg As String
|
||||
Get
|
||||
Return "Drag Rectangle"
|
||||
Return EgtMsg(91670)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -233,8 +269,54 @@ Public Class NestingTabVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DrawingMsg As String
|
||||
Get
|
||||
Return EgtMsg(91657)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ManagePartsMsg As String
|
||||
Get
|
||||
Return EgtMsg(91660)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SelectionPartMsg As String
|
||||
Get
|
||||
Return EgtMsg(91661)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ManageWJMsg As String
|
||||
Get
|
||||
Return EgtMsg(91662)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
|
||||
#Region "ToolTip"
|
||||
|
||||
Public ReadOnly Property ParametricToolTip As String
|
||||
Get
|
||||
Return EgtMsg(91657)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ImportDrawToolTip As String
|
||||
Get
|
||||
Return EgtMsg(91658)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ImportCSVToolTip As String
|
||||
Get
|
||||
Return EgtMsg(91659)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' ToolTip
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdDraw As ICommand
|
||||
Private m_cmdImportDxf As ICommand
|
||||
@@ -276,6 +358,12 @@ Public Class NestingTabVM
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Function InitNesting() As Boolean
|
||||
m_bManageParts_IsExpanded = GetMainPrivateProfileInt("Nest", "ManageParts", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bManageParts_IsExpanded))
|
||||
m_bSelectionParts_IsExpanded = GetMainPrivateProfileInt("Nest", "SelectionParts", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bSelectionParts_IsExpanded))
|
||||
m_bManageWJ_IsExpanded = GetMainPrivateProfileInt("Nest", "ManageWJ", 0) <> 0
|
||||
NotifyPropertyChanged(NameOf(bManageWJ_IsExpanded))
|
||||
' Se previsto, abilito bottone VeinMatching
|
||||
If Not IsNothing(OmagOFFICEMap.refMainWindowVM.VeinMatchingWnd) Then
|
||||
OmagOFFICEMap.refVeinMatchPanelVM.VeinMatchIsEnabled = True
|
||||
@@ -1994,6 +2082,8 @@ Public Class NestingTabVM
|
||||
ResetAllStartCurv()
|
||||
' cancello tutti i ponticelli disegnati
|
||||
ResetAllBridges()
|
||||
' cancello tutti i tagli di separazione disegnati
|
||||
ResetAllSplitCut()
|
||||
' Cancello tutte le lavorazioni
|
||||
CamAuto.EraseMachinings(GDB_ID.NULL)
|
||||
' Reinserisco tutte le lavorazioni piane
|
||||
@@ -2080,6 +2170,10 @@ Public Class NestingTabVM
|
||||
#Region "EVENTS"
|
||||
|
||||
Friend Sub OnMouseDownScene(sender As Object, e As Windows.Forms.MouseEventArgs)
|
||||
Dim nCtx As Integer = EgtGetCurrentContext()
|
||||
Dim x As Integer = EgtGetFirstInGroup(0)
|
||||
Dim y As Integer = EgtGetLastInGroup(0)
|
||||
Dim z As Integer = EgtGetFirstPart()
|
||||
' se in modalità DragRectangle (deformazione delle componenti rettangolari)
|
||||
If m_bDragRectangle Then
|
||||
OnMyMouseDownSceneSelSideRectangle(sender, e)
|
||||
|
||||
@@ -5,63 +5,74 @@
|
||||
xmlns:OmagOFFICE="clr-namespace:OmagOFFICE"
|
||||
Width="190">
|
||||
|
||||
<TabControl Name="Tabs" SelectedIndex="{Binding SelItem}" Background="Transparent"
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TabControl Name="Tabs" SelectedIndex="{Binding SelItem}" Background="Transparent"
|
||||
Padding="0,0,0,0"
|
||||
Margin="5,0.5,5,0"
|
||||
Style="{StaticResource TabControlOptinPanel}">
|
||||
<TabItem ToolTip="{Binding RawPartTabMsg}" IsEnabled="{Binding RawTabIsEnabled}"
|
||||
<TabItem IsEnabled="{Binding RawTabIsEnabled}"
|
||||
Margin="0,0,0,0"
|
||||
Style="{StaticResource TabItemOptinPanel}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image Source="/Resources/NewIcons/icone-tagli-5.png" Stretch="UniformToFill"/>
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image Source="/Resources/NewIcons/icone-tagli-5.png"
|
||||
Stretch="UniformToFill"
|
||||
ToolTip="{Binding RawPartTabMsg}"/>
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<TabItem.Content>
|
||||
<OmagOFFICE:RawPartTabV DataContext="{StaticResource RawPartTabVM}"/>
|
||||
<OmagOFFICE:RawPartTabV DataContext="{StaticResource RawPartTabVM}"/>
|
||||
</TabItem.Content>
|
||||
</TabItem>
|
||||
<TabItem ToolTip="{Binding NestingTabMsg}" IsEnabled="{Binding NestTabIsEnabled}"
|
||||
</TabItem>
|
||||
<TabItem IsEnabled="{Binding NestTabIsEnabled}"
|
||||
Margin="0,0,0,0"
|
||||
Style="{StaticResource TabItemOptinPanel}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image Source="/Resources/NewIcons/Nest.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image ToolTip="{Binding NestingTabMsg}" Source="/Resources/NewIcons/Nest.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<TabItem.Content>
|
||||
<OmagOFFICE:NestingTabV DataContext="{StaticResource NestingTabVM}"/>
|
||||
<OmagOFFICE:NestingTabV DataContext="{StaticResource NestingTabVM}"/>
|
||||
</TabItem.Content>
|
||||
<!--<TabItem.Style>
|
||||
<Style TargetType="{x:Type TabItem}" BasedOn="{StaticResource TabItemOptinPanel}">
|
||||
<EventSetter Event="PreviewMouseDown" Handler="NestingTab_Click"/>
|
||||
</Style>
|
||||
</TabItem.Style>-->
|
||||
</TabItem>
|
||||
<TabItem ToolTip="{Binding MachiningTabMsg}" IsEnabled="{Binding MachTabIsEnabled}"
|
||||
</TabItem>
|
||||
<TabItem IsEnabled="{Binding MachTabIsEnabled}"
|
||||
Margin="0,0,0,0"
|
||||
Style="{StaticResource TabItemOptinPanel}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image Source="/Resources/NewIcons/Split.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image ToolTip="{Binding MachiningTabMsg}" Source="/Resources/NewIcons/Split.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<TabItem.Content>
|
||||
<OmagOFFICE:MachiningTabV DataContext="{StaticResource MachiningTabVM}"/>
|
||||
<OmagOFFICE:MachiningTabV DataContext="{StaticResource MachiningTabVM}"/>
|
||||
</TabItem.Content>
|
||||
</TabItem>
|
||||
<TabItem ToolTip="{Binding SimulTabMsg}" IsEnabled="{Binding SimulTabIsEnabled}"
|
||||
</TabItem>
|
||||
<TabItem IsEnabled="{Binding SimulTabIsEnabled}"
|
||||
Margin="0,0,0,0"
|
||||
Style="{StaticResource TabItemOptinPanel}">
|
||||
<TabItem.Header>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image Source="/Resources/NewIcons/Simula.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
<StackPanel Orientation="Horizontal" Width="35" Height="35">
|
||||
<Image ToolTip="{Binding SimulTabMsg}" Source="/Resources/NewIcons/Simula.png" Stretch="Uniform" />
|
||||
</StackPanel>
|
||||
</TabItem.Header>
|
||||
<TabItem.Content>
|
||||
<OmagOFFICE:SimulTabV DataContext="{StaticResource SimulTabVM}"/>
|
||||
<OmagOFFICE:SimulTabV DataContext="{StaticResource SimulTabVM}"/>
|
||||
</TabItem.Content>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<!--Se click + Key Shift sopra Label apertura dellì file Log-->
|
||||
<Label Grid.Row="1"
|
||||
Background="Transparent"
|
||||
MouseLeftButtonDown="Label_MouseLeftButtonDown"/>
|
||||
</Grid>
|
||||
</UserControl>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
Public Class OptionPanelV
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class OptionPanelV
|
||||
|
||||
Private m_OptionPanelVM As OptionPanelVM
|
||||
|
||||
@@ -24,6 +27,35 @@
|
||||
If Not OmagOFFICEMap.refOptionPanelVM.NestTabIsEnabled Then e.Handled = True
|
||||
End Sub
|
||||
|
||||
Private Sub Label_MouseLeftButtonDown(sender As Object, e As MouseButtonEventArgs)
|
||||
If Not (Keyboard.Modifiers And ModifierKeys.Shift) > 0 Then Return
|
||||
Dim sTmpDir As String = String.Empty
|
||||
If Not EgtInterface.EgtGetTempDir(sTmpDir) Then Return
|
||||
' Genero file CNC (lancio anche se errore in precedenza)
|
||||
Dim sLog1 As String = sTmpDir & "\OmagOFFICELog1.txt"
|
||||
Dim sLog2 As String = sTmpDir & "\OmagOFFICELog2.txt"
|
||||
Dim sLog As String = ""
|
||||
|
||||
If File.Exists(sLog1) AndAlso File.Exists(sLog2) Then
|
||||
If File.GetLastAccessTimeUtc(sLog1) > File.GetLastAccessTimeUtc(sLog2) Then
|
||||
sLog = sLog1
|
||||
Else
|
||||
sLog = sLog2
|
||||
End If
|
||||
ElseIf File.Exists(sLog1) AndAlso Not File.Exists(sLog2) Then
|
||||
sLog = sLog1
|
||||
ElseIf File.Exists(sLog2) AndAlso Not File.Exists(sLog1) Then
|
||||
sLog = sLog2
|
||||
End If
|
||||
|
||||
Try
|
||||
Process.Start("Notepad.exe", sLog)
|
||||
Catch ex As Exception
|
||||
ex.ToString()
|
||||
End Try
|
||||
'End If
|
||||
End Sub
|
||||
|
||||
#End Region ' EVENTS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -25,14 +25,16 @@
|
||||
<Image Source="/Resources/RawPartTab/SlabId.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Style="{StaticResource OptionPanelRaw_Button}"
|
||||
Grid.Column="2" Grid.Row="0"
|
||||
Grid.Column="2" Grid.Row="0"
|
||||
Command="{Binding PhotoCommand}"
|
||||
ToolTip="{Binding PhotoToolTip }"
|
||||
Margin="0,0,0,0" >
|
||||
<Image Source="/Resources/RawPartTab/Photo.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<ToggleButton Style="{StaticResource OptionPanelRaw_ToggleButton}"
|
||||
Grid.Column="4" Grid.Row="0"
|
||||
IsChecked="{Binding PhotoWithMouse}"
|
||||
ToolTip="{Binding MovePhotoToolTip }"
|
||||
Margin="0,0,0,0" >
|
||||
<Image Source="/Resources/RawPartTab/MovePhoto.png" Stretch="Uniform" Width="40"/>
|
||||
</ToggleButton>
|
||||
@@ -215,12 +217,12 @@
|
||||
</StackPanel>
|
||||
</GroupBox>
|
||||
|
||||
<Button Content="{Binding ConfirmPhotoMsg}"
|
||||
<Button Content="{Binding ConfirmPhotoMsg}"
|
||||
Command="{Binding ConfirmPhotoCommand}"
|
||||
Visibility="{Binding ConfirmPhotoVisibility}"
|
||||
Style="{StaticResource OptionPanel_TextButton}"
|
||||
Margin="0,0,0,5"/>
|
||||
|
||||
<!--<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>-->
|
||||
<!--<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>-->
|
||||
|
||||
</StackPanel>
|
||||
|
||||
@@ -1025,7 +1025,7 @@ Public Class RawPartTabVM
|
||||
|
||||
Public ReadOnly Property ModMsg As String
|
||||
Get
|
||||
Return "Modifica"
|
||||
Return EgtMsg(91668)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -1055,7 +1055,7 @@ Public Class RawPartTabVM
|
||||
|
||||
Public ReadOnly Property PointsRegMsg As String
|
||||
Get
|
||||
Return "Registration"
|
||||
Return EgtMsg(91669)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
@@ -1069,6 +1069,12 @@ Public Class RawPartTabVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MovePhotoToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_RAWPARTTAB + 3)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' ToolTip
|
||||
|
||||
' Definizione comandi
|
||||
@@ -1085,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))
|
||||
@@ -2249,6 +2258,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
|
||||
@@ -2258,10 +2274,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)
|
||||
@@ -2299,6 +2314,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()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
Style="{StaticResource Simul_Button_Img}">
|
||||
<Image Source="/Resources/SimulTab/ToolMode.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding Simul_Button_Img}"
|
||||
<Button Command="{Binding HeadModeCommand}"
|
||||
Style="{StaticResource Simul_Button_Img}">
|
||||
<Image Source="/Resources/SimulTab/HeadMode.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
|
||||
@@ -17,7 +17,13 @@ Public Class SimulTabVM
|
||||
|
||||
Public ReadOnly Property MachViewMsg As String
|
||||
Get
|
||||
Return "Vista macchina"
|
||||
Return EgtMsg(91667)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EstimationMsg As String
|
||||
Get
|
||||
Return EgtMsg(91668)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
@@ -11,14 +11,40 @@
|
||||
</DockPanel>
|
||||
|
||||
<DockPanel x:Name="TOPTRAY" DockPanel.Dock="Top" Background="Transparent">
|
||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Width="{Binding}">
|
||||
<!--<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Width="{Binding}">-->
|
||||
<!--<DockPanel>
|
||||
<OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}" DockPanel.Dock="Left"/>
|
||||
<OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}" />
|
||||
<OmagOFFICE:PrintPanelV DataContext="{StaticResource PrintPanelVM}" />
|
||||
<OmagOFFICE:ShowPanelV DataContext="{StaticResource ShowPanelVM}" DockPanel.Dock="Right"/>
|
||||
<OmagOFFICE:ViewPanelV DataContext="{StaticResource ViewPanelVM}" DockPanel.Dock="Right"/>
|
||||
<OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}" DockPanel.Dock="Right"/>
|
||||
</DockPanel>-->
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="7*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="19.75*"/>
|
||||
<ColumnDefinition Width="7*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="0.25*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<OmagOFFICE:MachinePanelV Grid.Column="0" DataContext="{StaticResource MachinePanelVM}"/>
|
||||
<OmagOFFICE:VeinMatchPanelV Grid.Column="1" DataContext="{StaticResource VeinMatchPanelVM}"/>
|
||||
<OmagOFFICE:PrintPanelV Grid.Column="2" DataContext="{StaticResource PrintPanelVM}"/>
|
||||
<OmagOFFICE:ShowPanelV Grid.Column="5" DataContext="{StaticResource ShowPanelVM}"/>
|
||||
<OmagOFFICE:ViewPanelV Grid.Column="4" DataContext="{StaticResource ViewPanelVM}"/>
|
||||
<OmagOFFICE:InstrumentPanelV Grid.Column="6" DataContext="{StaticResource InstrumentPanelVM}"/>
|
||||
</Grid>
|
||||
<!--<OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}"/>
|
||||
<OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}"/>
|
||||
<OmagOFFICE:PrintPanelV DataContext="{StaticResource PrintPanelVM}"/>
|
||||
<OmagOFFICE:ShowPanelV DataContext="{StaticResource ShowPanelVM}"/>
|
||||
<OmagOFFICE:ViewPanelV DataContext="{StaticResource ViewPanelVM}"/>
|
||||
<OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}"/>
|
||||
<OmagOFFICE:PrintPanelV DataContext="{StaticResource PrintPanelVM}"/>
|
||||
<OmagOFFICE:VeinMatchPanelV DataContext="{StaticResource VeinMatchPanelVM}"/>
|
||||
<OmagOFFICE:MachinePanelV DataContext="{StaticResource MachinePanelVM}"/>
|
||||
</StackPanel>
|
||||
<OmagOFFICE:InstrumentPanelV DataContext="{StaticResource InstrumentPanelVM}"/>-->
|
||||
<!--</StackPanel>-->
|
||||
</DockPanel>
|
||||
|
||||
<DockPanel x:Name="BOTTOMTRAY" DockPanel.Dock="Bottom" Background="Transparent">
|
||||
@@ -36,5 +62,5 @@
|
||||
</DockPanel>
|
||||
|
||||
<OmagOFFICE:SceneHostV />
|
||||
|
||||
|
||||
</DockPanel>
|
||||
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
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.4 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 538 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 329 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 89 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 1.2 KiB |