Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 08ea864a5e | |||
| 7a25e8d634 | |||
| f4163dc818 | |||
| 7beff98f1c | |||
| 4a2928192d | |||
| 1d32d9b634 | |||
| 4a7f552db6 | |||
| f456fedda8 | |||
| 084c4e01ed | |||
| 8d20d1d071 | |||
| a3eae73a52 | |||
| a821341706 | |||
| 9946b15588 | |||
| 4d610cea8b | |||
| 2648b704cc | |||
| e59e8a051a | |||
| 9d8188521e | |||
| 18de1a1ab7 | |||
| 0a7f872912 | |||
| 84b2edd17a | |||
| 7a8c883259 | |||
| 4f06a19553 | |||
| 3a7152066b | |||
| 2ce61cd5ab | |||
| 50ad698187 | |||
| 85591b39a7 | |||
| 18be9679c5 | |||
| 2c9061619a | |||
| 575bcc02d0 | |||
| e965ceb26c | |||
| 0c18c822f1 | |||
| e6d85c573a | |||
| 592e7161ce | |||
| 08c4d9c7b9 | |||
| 4ae5efb94b | |||
| 69261c7c73 | |||
| 361dc20f9b | |||
| 95d1e4b5ac | |||
| 621a31931c | |||
| 4f7dd6ef17 | |||
| 722e0c243d | |||
| 921e681759 | |||
| d065c0beeb | |||
| f8ea19537a | |||
| 289a6b1608 | |||
| f6baeb6afc | |||
| 9fa231f68a | |||
| bba92a4980 | |||
| cfaf513a91 | |||
| 8d33111af2 | |||
| fd565e96cc | |||
| b7628fff66 | |||
| cd3c90764e | |||
| 0db2ce6b91 | |||
| 993e7e86a2 | |||
| e335308709 | |||
| 4c13cdb8f4 | |||
| 9b06802cf9 | |||
| caf4fbcff9 | |||
| 218eeaffe8 | |||
| 03509c7022 | |||
| 6a600e632d | |||
| b866cd273e | |||
| 7be4dd9c75 | |||
| 1d156eddc1 | |||
| 726afaa58d | |||
| d1592cce43 | |||
| f126f72c3b | |||
| a4b48377c7 |
@@ -30,7 +30,7 @@ Public Class AboutBoxWndV
|
||||
" Inst" & IniFile.m_nInstance.ToString() &
|
||||
" Ulv" & IniFile.m_nUserLevel.ToString() & " Dbg" & Map.refMainWindowVM.DebugLevel().ToString() & Environment.NewLine
|
||||
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
|
||||
sInfo &= "SupportPlane " & sAssStatus & Environment.NewLine
|
||||
sInfo &= "SupportPlan " & sAssStatus & Environment.NewLine
|
||||
sInfo &= "DataRoot " & IniFile.m_sDataRoot & Environment.NewLine
|
||||
If IniFile.m_ProjectMode <> ProjectModeOpt.ONLYDRAW Then
|
||||
sInfo &= "MachinesRoot " & IniFile.m_sMachinesRoot & Environment.NewLine
|
||||
@@ -70,6 +70,24 @@ Public Class AboutBoxWndV
|
||||
IniFile.GetSpecialLuaVersion( IniFile.m_sDoorsDirPath, sVersion)
|
||||
sInfo &= Environment.NewLine & "Doors ver. " & sVersion & " " & IniFile.m_sDoorsDirPath
|
||||
End If
|
||||
If IniFile.IsActiveWindow() Then
|
||||
bExtensions = True
|
||||
Dim sVersion As String = "---"
|
||||
IniFile.GetSpecialLuaVersion( IniFile.m_sWindowDirPath, sVersion)
|
||||
sInfo &= Environment.NewLine & "Window ver. " & sVersion & " " & IniFile.m_sWindowDirPath
|
||||
End If
|
||||
If IniFile.IsActiveTrimming() Then
|
||||
bExtensions = True
|
||||
Dim sVersion As String = "---"
|
||||
IniFile.GetSpecialLuaVersion( IniFile.m_sTrimmingDirPath, sVersion)
|
||||
sInfo &= Environment.NewLine & "Trimming ver. " & sVersion & " " & IniFile.m_sTrimmingDirPath
|
||||
End If
|
||||
If IniFile.IsActiveReversePost() Then
|
||||
bExtensions = True
|
||||
Dim sVersion As String = "---"
|
||||
IniFile.GetSpecialLuaVersion( IniFile.m_sReversePostDirPath, sVersion)
|
||||
sInfo &= Environment.NewLine & "ReversePost ver. " & sVersion & " " & IniFile.m_sReversePostDirPath
|
||||
End If
|
||||
If IniFile.IsActiveGunStock() Then
|
||||
bExtensions = True
|
||||
Dim sVersion As String = "---"
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports System.ComponentModel
|
||||
Imports EgtUILib
|
||||
Imports EgtUILib.EgtInterface
|
||||
|
||||
' Classe che definisce un elemento di base del TreeView
|
||||
Public Class TreeViewItemBase
|
||||
@@ -34,7 +32,7 @@ Public Class TreeViewItemBase
|
||||
End Property
|
||||
|
||||
Friend m_isExpanded As Boolean
|
||||
Public Property IsExpanded As Boolean
|
||||
Public Property IsExpanded As Boolean
|
||||
Get
|
||||
Return m_isExpanded
|
||||
End Get
|
||||
|
||||
@@ -13,7 +13,7 @@ Public Class BeamMachiningsWindowV
|
||||
m_BeamMachiningsWindowVM = BeamMachiningsWindowVM
|
||||
End Sub
|
||||
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BeamMachiningsWindowVM.m_CloseWindow
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BeamMachiningsWindowVM.OnCloseWindow
|
||||
Me.DialogResult = bDialogResult
|
||||
End Sub
|
||||
|
||||
|
||||
+19
-6
@@ -73,7 +73,7 @@ Module ConstIni
|
||||
Public Const K_SELSURF As String = "SelSurf"
|
||||
Public Const K_SHOWMODE As String = "ShowMode"
|
||||
Public Const K_CURVEDIR As String = "CurveDir"
|
||||
Public Const K_SHOWTRIAADV As String = "ShowTriaAdv"
|
||||
Public Const K_SHOWSURFQUALITY As String = "ShowSurfQuality"
|
||||
Public Const K_SHOWZMAP As String = "ShowZmap"
|
||||
Public Const K_TEXMAXLINPIX As String = "TextureMaxLinPixels"
|
||||
Public Const K_ZOOMWIN As String = "ZoomWin"
|
||||
@@ -144,10 +144,6 @@ Module ConstIni
|
||||
Public Const K_BEAMWALLBASEDIR As String = "BaseDir"
|
||||
Public Const K_BEAMWALLBUTTON As String = "Button"
|
||||
|
||||
Public Const S_PRINTING3D As String = "3dPrinting"
|
||||
Public Const K_ENABLE As String = "Enable"
|
||||
Public Const K_3PRNBASEDIR As String = "BaseDir"
|
||||
|
||||
Public Const S_DOORS As String = "Doors"
|
||||
Public Const K_DDFENABLE As String = "DdfEnable"
|
||||
Public Const K_BASEDIR As String = "BaseDir"
|
||||
@@ -161,6 +157,21 @@ Module ConstIni
|
||||
Public Const K_MTABLEWINPLACE As String = "MTableWinPlace"
|
||||
Public Const K_OPTIMIZEMACHFORLINE As String = "OptimizeMachForLine"
|
||||
|
||||
Public Const S_WINDOW As String = "Window"
|
||||
Public Const K_WINDOWENABLE As String = "JwdEnable"
|
||||
Public Const K_WINDOWBASEDIR As String = "BaseDir"
|
||||
Public Const K_WINDOWBUTTON As String = "Button"
|
||||
|
||||
Public Const S_TRIMMING As String = "Trimming"
|
||||
Public Const K_TRIMMINGENABLE As String = "TrimEnable"
|
||||
Public Const K_TRIMMINGBASEDIR As String = "BaseDir"
|
||||
Public Const K_TRIMMINGBUTTON As String = "Button"
|
||||
|
||||
Public Const S_REVERSEPOST As String = "ReversePost"
|
||||
Public Const K_REVERSEPOSTENABLE As String = "RevEnable"
|
||||
Public Const K_REVERSEPOSTBASEDIR As String = "BaseDir"
|
||||
Public Const K_REVERSEPOSTBUTTON As String = "Button"
|
||||
|
||||
Public Const S_GUNSTOCK As String = "GunStock"
|
||||
Public Const K_GUNSTOCKENABLE As String = "GsEnable"
|
||||
Public Const K_GUNSTOCKEXEC As String = "GsExec"
|
||||
@@ -189,7 +200,8 @@ Module ConstIni
|
||||
Public Const K_SELGEOMSURFFINISHING As String = "SelGeomSurfFinishing"
|
||||
Public Const K_SELGEOMSURFROUGHING As String = "SelGeomSurfRoughing"
|
||||
Public Const K_SELGEOMFIVEAXMILLING As String = "SelGeomFiveAxMilling"
|
||||
Public Const K_SELVMILLQUALITY As String = "VMillQuality"
|
||||
Public Const K_SELGEOMPROBING As String = "SelGeomProbing"
|
||||
Public Const K_VMILLQUALITY As String = "VMillQuality"
|
||||
Public Const K_MACHININGGROUP As String = "MachiningGroup"
|
||||
Public Const K_SHOWONLYTABLE As String = "ShowOnlyTable"
|
||||
Public Const K_MOVETHROUGHDISPS As String = "MoveThroughDisps"
|
||||
@@ -198,6 +210,7 @@ Module ConstIni
|
||||
Public Const S_SIMUL As String = "Simul"
|
||||
Public Const K_SLIDERX As String = "SliderX"
|
||||
Public Const K_SLIDERVAL As String = "SliderVal"
|
||||
Public Const K_TRACEENABLE As String = "TraceEnable"
|
||||
|
||||
Public Const S_OPTIONS As String = "Options"
|
||||
Public Const K_NEWMACHININGISLASTONE As String = "NewMachiningIsLastOne"
|
||||
|
||||
+19
-14
@@ -1,6 +1,13 @@
|
||||
Module ConstMachIni
|
||||
|
||||
Public Const S_MCH_GENERAL As String = "General"
|
||||
Public Const K_MATERIAL As String = "Material"
|
||||
|
||||
Public Const S_PARTPROGRAM As String = "PartProgram"
|
||||
Public Const K_EXTENSION As String = "Extension"
|
||||
|
||||
Public Const S_TOOLS As String = "Tools"
|
||||
Public Const K_PROBE As String = "Probe"
|
||||
Public Const K_DRILLBIT As String = "Drillbit"
|
||||
Public Const K_SAWBLADE As String = "Sawblade"
|
||||
Public Const K_MILL As String = "Mill"
|
||||
@@ -8,22 +15,17 @@
|
||||
Public Const K_CHISEL As String = "Chisel"
|
||||
Public Const K_WATERJET As String = "WaterJet"
|
||||
Public Const K_COMPO As String = "Compo"
|
||||
Public Const K_SHOWTOOLCHANGER As String = "ShowToolChanger"
|
||||
Public Const K_SHOWHEADEXIT As String = "ShowHeadExit"
|
||||
Public Const K_DRILLHOLDER As String = "DrillHolder"
|
||||
Public Const K_SAWBLADEHOLDER As String = "SawBladeHolder"
|
||||
Public Const K_MILLHOLDER As String = "MillHolder"
|
||||
Public Const K_DRILLMAKER As String = "DrillMaker"
|
||||
Public Const K_SAWBLADEMAKER As String = "SawbladeMaker"
|
||||
Public Const K_MILLMAKER As String = "MillMaker"
|
||||
Public Const K_MORTISEMAKER As String = "MortiseMaker"
|
||||
Public Const K_CHISELMAKER As String = "ChiselMaker"
|
||||
Public Const K_MOUNTEDTOOLCONFIG As String = "MountedToolConfig"
|
||||
Public Const K_ACTIVE As String = "Active"
|
||||
|
||||
Public Const S_TOOLHOLDER As String = "ToolHolder"
|
||||
|
||||
Public Const S_MACHININGS As String = "Machinings"
|
||||
Public Const K_PROBING As String = "Probing"
|
||||
Public Const K_SAWING As String = "Sawing"
|
||||
Public Const K_DRILLING As String = "Drilling"
|
||||
Public Const K_MILLING As String = "Milling"
|
||||
@@ -37,18 +39,12 @@
|
||||
Public Const K_SURFFINISHING As String = "SurfFinishing"
|
||||
Public Const K_5AXMILLING As String = "5AxMilling"
|
||||
Public Const K_WATERJETTING As String = "WaterJetting"
|
||||
Public Const K_SAWINGONARCS As String = "SawingOnArcs"
|
||||
|
||||
Public Const S_GENMACHINING As String = "GenMachining"
|
||||
Public Const K_GENSCRIPT As String = "GenScript"
|
||||
|
||||
Public Const S_TOOLCHANGER As String = "ToolChanger"
|
||||
Public Const K_NUMBER As String = "Number"
|
||||
Public Const K_POS As String = "Pos"
|
||||
Public Const K_NAME As String = "Name"
|
||||
Public Const K_MANUALNUMBER As String = "ManualNumber"
|
||||
Public Const K_MANUALPOS As String = "ManualPos"
|
||||
Public Const K_MANUALNAME As String = "ManualName"
|
||||
Public Const S_5AXMILLING As String = "5AxMilling"
|
||||
Public Const K_5AXSCRIPT As String = "5AxScript"
|
||||
|
||||
Public Const S_DISPOSITION As String = "Disposition"
|
||||
Public Const K_DISP_INITSCRIPT As String = "InitScript"
|
||||
@@ -68,7 +64,16 @@
|
||||
Public Const S_VMILL As String = "VMill"
|
||||
Public Const K_VM_ENABLE As String = "Enable"
|
||||
|
||||
Public Const S_TOOLTRACE As String = "ToolTrace"
|
||||
Public Const K_TT_ENABLE As String = "Enable"
|
||||
|
||||
Public Const S_ESTIMATIONS As String = "Estimations"
|
||||
Public Const K_EST_ENABLE As String = "Enable"
|
||||
|
||||
' Tipi di materiali previsti attualmente per le macchine
|
||||
Public Const MCH_MAT_STONE As String = "Stone"
|
||||
Public Const MCH_MAT_WOOD As String = "Wood"
|
||||
Public Const MCH_MAT_BEAM As String = "Beam"
|
||||
Public Const MCH_MAT_ADDITIVE As String = "Additive"
|
||||
|
||||
End Module
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
m_CurrSetUpVM = CurrSetUpVM
|
||||
End Sub
|
||||
|
||||
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpDbVM.m_CloseWindow
|
||||
'Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpDbVM.OnCloseWindow
|
||||
' Me.DialogResult = bDialogResult
|
||||
'End Sub
|
||||
|
||||
|
||||
@@ -34,6 +34,11 @@
|
||||
Command="{Binding ArcCSECommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/ArcCSE.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding Arc2PRToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding Arc2PRCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/Arc2PR.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding Arc3PToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding Arc3PCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
@@ -44,21 +49,28 @@
|
||||
Command="{Binding ArcPDPCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/ArcPDP.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding CirclePDToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
<Button ToolTip="{Binding BiArcToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding BiArcCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/BiArc.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Style="{StaticResource DrawPanelButton}"
|
||||
Visibility="Hidden"/>
|
||||
<Button ToolTip="{Binding CircleCPToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding CircleCPCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/CircleCP.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding Circle3PToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding Circle3PCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/Circle3P.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding CircleCDToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding CircleCDCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/CircleCD.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding Circle3PToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding Circle3PCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
<Image Source="/Resources/DrawPanel/Circle3P.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding Rectangle2PToolTip}" Style="{StaticResource DrawPanelButton}"
|
||||
ToolTipService.ShowOnDisabled="True"
|
||||
Command="{Binding Rectangle2PCommand}" IsEnabled="{Binding bLayerOk}">
|
||||
|
||||
@@ -50,7 +50,7 @@ Public Class DrawPanelVM
|
||||
Return EgtMsg(MSG_DRAWPANEL + 3)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property CirclePDToolTip As String
|
||||
Public ReadOnly Property CircleCPToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_DRAWPANEL + 4)
|
||||
End Get
|
||||
@@ -72,14 +72,25 @@ Public Class DrawPanelVM
|
||||
End Property
|
||||
Public ReadOnly Property Arc3PToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_DRAWPANEL + 7)
|
||||
Return EgtMsg(5207)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property Arc2PRToolTip As String
|
||||
Get
|
||||
Return EgtMsg(5169)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ArcPDPToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_DRAWPANEL + 8)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property BiArcToolTip As String
|
||||
Get
|
||||
Return EgtMsg(5170)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Rectangle2PToolTip As String
|
||||
Get
|
||||
Return EgtMsg(MSG_DRAWPANEL + 11)
|
||||
@@ -470,7 +481,9 @@ Public Class DrawPanelVM
|
||||
Private m_cmdCircle3P As ICommand
|
||||
Private m_cmdArcCSE As ICommand
|
||||
Private m_cmdArc3P As ICommand
|
||||
Private m_cmdArc2PR As ICommand
|
||||
Private m_cmdArcPDP As ICommand
|
||||
Private m_cmdBiArc As ICommand
|
||||
Private m_cmdRectangle2P As ICommand
|
||||
Private m_cmdPolygon As ICommand
|
||||
Private m_cmdPolygonSide As ICommand
|
||||
@@ -748,6 +761,29 @@ Public Class DrawPanelVM
|
||||
|
||||
#End Region ' Arc3PCommand
|
||||
|
||||
#Region "Arc2PRCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do Arc2PR.
|
||||
''' </summary>
|
||||
Public ReadOnly Property Arc2PRCommand As ICommand
|
||||
Get
|
||||
If m_cmdArc2PR Is Nothing Then
|
||||
m_cmdArc2PR = New RelayCommand(AddressOf Arc2PR)
|
||||
End If
|
||||
Return m_cmdArc2PR
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the Arc2PR. This method is invoked by the Arc2PRCommand.
|
||||
''' </summary>
|
||||
Public Sub Arc2PR(ByVal param As Object)
|
||||
Map.refProjectVM.GetController.ExecuteCommand(Controller.CMD.ARC2PR)
|
||||
End Sub
|
||||
|
||||
#End Region ' Arc2PRCommand
|
||||
|
||||
#Region "ArcPDPCommand"
|
||||
|
||||
''' <summary>
|
||||
@@ -778,6 +814,33 @@ Public Class DrawPanelVM
|
||||
|
||||
#End Region ' ArcPDPCommand
|
||||
|
||||
#Region "BiArcCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Returns a command that do BiArc.
|
||||
''' </summary>
|
||||
Public ReadOnly Property BiArcCommand As ICommand
|
||||
Get
|
||||
If m_cmdBiArc Is Nothing Then
|
||||
m_cmdBiArc = New RelayCommand(AddressOf BiArc)
|
||||
End If
|
||||
Return m_cmdBiArc
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Execute the BiArc. This method is invoked by the BiArcCommand.
|
||||
''' </summary>
|
||||
Public Sub BiArc(ByVal param As Object)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) <> ModifierKeys.Shift Then
|
||||
Map.refProjectVM.GetController.ExecuteCommand(Controller.CMD.BIARC)
|
||||
Else
|
||||
Map.refProjectVM.GetController.ExecuteCommand(Controller.CMD.CURVEBEZIER)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' BiArcCommand
|
||||
|
||||
#Region "Rectangle2PCommand"
|
||||
|
||||
''' <summary>
|
||||
@@ -2156,6 +2219,7 @@ Public Class DrawPanelVM
|
||||
If Not IniFile.m_ProjectSceneContext = 0 Then
|
||||
bSelOk = EgtGetFirstSelectedObj() <> GDB_ID.NULL
|
||||
bLayerOkAndSelOk = m_bLayerOk And m_bSelOk
|
||||
Map.refStatusBarVM.UpdateSelectedCount()
|
||||
End If
|
||||
|
||||
If Application.m_UpdateLayerTree Then
|
||||
|
||||
+49
-1
@@ -164,6 +164,10 @@
|
||||
<Compile Include="DataGridMultiselectManaging\IListItemConverter.vb" />
|
||||
<Compile Include="DataGridMultiselectManaging\MultiSelectorBehaviours.vb" />
|
||||
<Compile Include="DataGridMultiselectManaging\TwoListSynchronizer.vb" />
|
||||
<Compile Include="ExecuteWindow\ExecuteWindowV.xaml.vb">
|
||||
<DependentUpon>ExecuteWindowV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ExecuteWindow\ExecuteWindowVM.vb" />
|
||||
<Compile Include="LeftTray\LeftTrayV.xaml.vb">
|
||||
<DependentUpon>LeftTrayV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -173,6 +177,9 @@
|
||||
<DependentUpon>EstimationsExpanderV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionPanel\MachiningOptionPanel\EstimationsExpander\EstimationsExpander.vb" />
|
||||
<Compile Include="OptionPanel\MachiningOptionPanel\OperationExpander\MachiningParameterExpander\ProbingParameterExpanderV.xaml.vb">
|
||||
<DependentUpon>ProbingParameterExpanderV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="OptionPanel\MachiningOptionPanel\OperationExpander\MachiningParameterExpander\FiveAxisMachinigParameterExpanderV.xaml.vb">
|
||||
<DependentUpon>FiveAxisMachinigParameterExpanderV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -286,8 +293,20 @@
|
||||
<Compile Include="Special-BeamWall\WallPanelV.xaml.vb">
|
||||
<DependentUpon>WallPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Special-BeamWall\WallPanelVM.vb" />
|
||||
<Compile Include="Special-BeamWall\Wall.vb" />
|
||||
<Compile Include="Special-BeamWall\WallPanelVM.vb" />
|
||||
<Compile Include="Special-ReversePost\ReversePostPanelV.xaml.vb">
|
||||
<DependentUpon>ReversePostPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Special-ReversePost\ReversePostPanelVM.vb" />
|
||||
<Compile Include="Special-Trimming\TrimmingPanelV.xaml.vb">
|
||||
<DependentUpon>TrimmingPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Special-Trimming\TrimmingPanelVM.vb" />
|
||||
<Compile Include="Special-Window\WindowPanelV.xaml.vb">
|
||||
<DependentUpon>WindowPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Special-Window\WindowPanelVM.vb" />
|
||||
<Compile Include="SpecialPanel\SpecialPanelV.xaml.vb">
|
||||
<DependentUpon>SpecialPanelV.xaml</DependentUpon>
|
||||
</Compile>
|
||||
@@ -463,6 +482,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="ExecuteWindow\ExecuteWindowV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="LeftTray\LeftTrayV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -475,6 +498,10 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="OptionPanel\MachiningOptionPanel\OperationExpander\MachiningParameterExpander\ProbingParameterExpanderV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="OptionPanel\MachiningOptionPanel\OperationExpander\MachiningParameterExpander\FiveAxisMachinigParameterExpanderV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -627,6 +654,18 @@
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Special-ReversePost\ReversePostPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Special-Trimming\TrimmingPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="Special-Window\WindowPanelV.xaml">
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
<SubType>Designer</SubType>
|
||||
</Page>
|
||||
<Page Include="SpecialPanel\SpecialPanelV.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
@@ -1038,6 +1077,15 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DrawPanel\StmMoveVertex.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DrawPanel\Arc2PR.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DrawPanel\BiArc.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\ExecuteWindow\reload.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtCAM5\EgtCAM5R32.exe
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<Button Command="{Binding ExecCommand}" ToolTip="{Binding ExecToolTip}"
|
||||
Style="{StaticResource GridViewPanelButton}" ContextMenuService.Placement="Bottom">
|
||||
Style="{StaticResource GridViewPanelButton}" ContextMenuService.Placement="Bottom">
|
||||
<Button.ContextMenu>
|
||||
<ContextMenu ItemsSource="{Binding MruScriptNames}" ItemContainerStyle="{StaticResource MruScriptItem}">
|
||||
</ContextMenu>
|
||||
|
||||
@@ -65,8 +65,13 @@ Public Class ExecutePanelVM
|
||||
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||
''' </summary>
|
||||
Public Sub Exec(ByVal param As Object)
|
||||
Map.refProjectVM.PreExecScript(True)
|
||||
Map.refProjectVM.ExecScript(String.Empty)
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Dim ExecuteWindow As New ExecuteWindowV(Application.Current.MainWindow, New ExecuteWindowVM)
|
||||
ExecuteWindow.ShowDialog()
|
||||
Else
|
||||
Map.refProjectVM.PreExecScript(True)
|
||||
Map.refProjectVM.ExecScript(String.Empty)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' ExecCommand
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<EgtWPFLib5:EgtCustomWindow x:Class="ExecuteWindowV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||
Title="Execute Window"
|
||||
Height="500" Width="400"
|
||||
IsResizable="True"
|
||||
IsMinimizable="False"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
ShowInTaskbar="False"
|
||||
TitleBarHeight="32"
|
||||
PreviewKeyDown="EgtCustomWindow_PreviewKeyDown"
|
||||
CloseCommand="{Binding Close_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBox Text="{Binding sScriptText}"
|
||||
Style="{StaticResource ExecuteWindow_TextBox}"/>
|
||||
<Button Grid.Row="1"
|
||||
Grid.ColumnSpan="2"
|
||||
Content="{Binding OkMsg}"
|
||||
Command="{Binding Ok_Command}"
|
||||
Style="{StaticResource EgtCAM5_InputButton}"/>
|
||||
<Button Grid.Column="1"
|
||||
Command="{Binding Reload_Command}"
|
||||
IsEnabled="{Binding bReload_IsEnable}"
|
||||
Style="{StaticResource ExecuteWindow_Button}">
|
||||
<Image Source="/Resources/ExecuteWindow/reload.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
@@ -0,0 +1,32 @@
|
||||
Public Class ExecuteWindowV
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
Private WithEvents m_ExecuteWindowVM As ExecuteWindowVM
|
||||
|
||||
#End Region ' Fields & Properties
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New(Owner As Window, ExecuteWindowVM As ExecuteWindowVM)
|
||||
MyBase.New(Owner)
|
||||
' This call is required by the designer.
|
||||
InitializeComponent()
|
||||
Me.DataContext = ExecuteWindowVM
|
||||
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
m_ExecuteWindowVM = ExecuteWindowVM
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ExecuteWindowVM.OnCloseWindow
|
||||
Me.DialogResult = bDialogResult
|
||||
End Sub
|
||||
|
||||
Private Sub EgtCustomWindow_PreviewKeyDown(sender As Object, e As KeyEventArgs)
|
||||
If e.Key = Key.Escape Then
|
||||
Me.Close()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,130 @@
|
||||
Imports System.Text
|
||||
Imports EgtUILib
|
||||
Imports System.IO
|
||||
|
||||
Public Class ExecuteWindowVM
|
||||
Inherits VMBase
|
||||
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
' Evento per chiusura finestra
|
||||
Friend Event OnCloseWindow(bDialogResult As Boolean)
|
||||
|
||||
Private ReadOnly sScriptFilePath As String = Path.Combine(IniFile.m_sTempDir, "ImmExec" & IniFile.m_nInstance.ToString() & ".lua")
|
||||
|
||||
Private m_sScriptText As String
|
||||
Public Property sScriptText As String
|
||||
Get
|
||||
Return m_sScriptText
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sScriptText = value
|
||||
NotifyPropertyChanged(NameOf(sScriptText))
|
||||
End Set
|
||||
End Property
|
||||
Private Sub SetScriptFile(value As String)
|
||||
m_sScriptText = value
|
||||
NotifyPropertyChanged(NameOf(sScriptText))
|
||||
End Sub
|
||||
|
||||
Private m_bReload_IsEnable As Boolean = File.Exists(sScriptFilePath)
|
||||
Public ReadOnly Property bReload_IsEnable As Boolean
|
||||
Get
|
||||
Return m_bReload_IsEnable
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
Public ReadOnly Property OkMsg As String
|
||||
Get
|
||||
Return EgtMsg(20041)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SaveMsg As String
|
||||
Get
|
||||
Return EgtMsg(6453)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
|
||||
' Definizione Comandi
|
||||
Private m_cmdOk As ICommand
|
||||
Private m_cmdReload As ICommand
|
||||
|
||||
#End Region ' Fields & Properties
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
Sub New()
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
|
||||
#Region "METHODS"
|
||||
|
||||
Private Sub SaveScript(sPathFileScript As String, sScriptText As String)
|
||||
If String.IsNullOrWhiteSpace(sPathFileScript) OrElse String.IsNullOrWhiteSpace(sScriptText) Then Return
|
||||
File.WriteAllText(sPathFileScript, sScriptText, Encoding.UTF8)
|
||||
End Sub
|
||||
|
||||
Private Function ReadScript(sPathFileScript As String) As String
|
||||
If String.IsNullOrWhiteSpace(sPathFileScript) Then Return String.Empty
|
||||
Return File.ReadAllText(sPathFileScript)
|
||||
End Function
|
||||
|
||||
#End Region ' Methods
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "Ok_Command"
|
||||
|
||||
Public ReadOnly Property Ok_Command As ICommand
|
||||
Get
|
||||
If m_cmdOk Is Nothing Then
|
||||
m_cmdOk = New Command(AddressOf Ok)
|
||||
End If
|
||||
Return m_cmdOk
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Ok()
|
||||
' Verifico ci sia del testo
|
||||
If String.IsNullOrWhiteSpace(m_sScriptText) Then Return
|
||||
' Salva il file script
|
||||
SaveScript(sScriptFilePath, m_sScriptText)
|
||||
' Esegue il file script
|
||||
Map.refProjectVM.PreExecScript(False)
|
||||
Map.refProjectVM.ExecScript(sScriptFilePath)
|
||||
' Se non passato a lavorazione, aggiornamento visualizzazione
|
||||
If IniFile.m_ProjectMode <> ProjectModeOpt.MACHINING Then EgtDraw()
|
||||
' Chiudo finestra
|
||||
RaiseEvent OnCloseWindow(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Ok_Command
|
||||
|
||||
#Region "Reload_Command"
|
||||
|
||||
Public ReadOnly Property Reload_Command As ICommand
|
||||
Get
|
||||
If m_cmdReload Is Nothing Then
|
||||
m_cmdReload = New Command(AddressOf Reload)
|
||||
End If
|
||||
Return m_cmdReload
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Reload()
|
||||
If File.Exists(sScriptFilePath) Then
|
||||
SetScriptFile(ReadScript(sScriptFilePath))
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' Reload_Command
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
End Class
|
||||
@@ -311,19 +311,19 @@ Public Class MyMachGroupPanelVM
|
||||
End Sub
|
||||
|
||||
Private Sub LoadMaterialType()
|
||||
Dim sMatType As String = "Wood"
|
||||
Dim sMatType As String = MCH_MAT_WOOD
|
||||
' IniFile.m_sMachineName = Map.refStatusBarVM.SelectedMachine.Name
|
||||
' IniFile.m_sCurrMachIniFilePath = Map.refStatusBarVM.SelectedMachine.MachineDirPath & "\" & Map.refStatusBarVM.SelectedMachine.Name & ".ini"
|
||||
Dim sMachineIniPath = IniFile.m_sCurrMachIniFilePath
|
||||
EgtUILib.GetPrivateProfileString(S_GENERAL, EgtWPFLib5.EstConstMachIni.K_MATERIAL, sMatType, sMatType, sMachineIniPath)
|
||||
EgtUILib.GetPrivateProfileString(S_MCH_GENERAL, K_MATERIAL, sMatType, sMatType, sMachineIniPath)
|
||||
Select Case sMatType
|
||||
Case "Stone"
|
||||
EgtWPFLib5.MachiningTreeViewItem.m_MatType = MaterialType.STONE
|
||||
Case "Wood"
|
||||
Case MCH_MAT_STONE
|
||||
EgtWPFLib5.MachiningTreeViewItem.m_MatType = MaterialType.STONE5
|
||||
Case MCH_MAT_WOOD
|
||||
EgtWPFLib5.MachiningTreeViewItem.m_MatType = MaterialType.WOOD
|
||||
Case "Beam"
|
||||
Case MCH_MAT_BEAM
|
||||
EgtWPFLib5.MachiningTreeViewItem.m_MatType = MaterialType.BEAM
|
||||
Case "Additive"
|
||||
Case MCH_MAT_ADDITIVE
|
||||
EgtWPFLib5.MachiningTreeViewItem.m_MatType = MaterialType.WOOD
|
||||
Case Else
|
||||
' Se il materiale specificato nel file INI della macchina non corrisponde ai 4 sopracitati viene emesso un messaggio di errore
|
||||
|
||||
@@ -16,10 +16,8 @@
|
||||
|
||||
<Grid Margin="10">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="40*"/>
|
||||
<ColumnDefinition Width="20*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="Auto"/>
|
||||
@@ -28,6 +26,8 @@
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<UniformGrid Grid.Row="0" Columns="2" Margin="0,0,0,5">
|
||||
@@ -57,12 +57,24 @@
|
||||
</ComboBox>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Grid.Row="4" Columns="2" Margin="0,0,0,5">
|
||||
<UniformGrid Grid.Row="4" Columns="2" Margin="0,0,0,5"
|
||||
Visibility="{Binding StoneVisibility}">
|
||||
<TextBlock Text="{Binding ExtSawArcMinRadMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ExtSawArcMinRad}" Height="25" Margin="10,0,0,0"/>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Grid.Row="5" Columns="2" Margin="0,0,0,5"
|
||||
Visibility="{Binding StoneVisibility}">
|
||||
<TextBlock Text="{Binding IntSawArcMaxSideAngMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding IntSawArcMaxSideAng}" Height="25" Margin="10,0,0,0"/>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Grid.Row="6" Columns="2" Margin="0,0,0,5">
|
||||
<TextBlock Text="{Binding ApproxLinTolMsg}" VerticalAlignment="Center"/>
|
||||
<TextBox Text="{Binding ApproxLinTol}" Height="25" Margin="10,0,0,0"/>
|
||||
</UniformGrid>
|
||||
|
||||
<UniformGrid Grid.Row="5" Columns="2">
|
||||
<UniformGrid Grid.Row="7" Columns="2">
|
||||
<TextBlock Text="{Binding DefaultSetUpMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding ArchivedSetUpList}" Height="25" Margin="10,0,0,0"
|
||||
SelectedItem="{Binding SelectedDefaultSetUp}" IsEnabled="{Binding IsActiveDefaultSetUp}"/>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Public Class MachOptionVM
|
||||
|
||||
@@ -48,21 +49,6 @@ Public Class MachOptionVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sApproxLinTol As String
|
||||
Public Property ApproxLinTol As String
|
||||
Get
|
||||
Return m_sApproxLinTol
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dApproxLinTol As Double = 0
|
||||
If StringToLen(value, dApproxLinTol) Then
|
||||
EgtMdbSetGeneralParam(MCH_GP.APPROXLINTOL, dApproxLinTol)
|
||||
EgtMdbSave()
|
||||
m_sApproxLinTol = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_SplitArcsList As New List(Of MCH_SA)({MCH_SA.NEVER, MCH_SA.GEN_PLANE, MCH_SA.NO_XY_PLANE, MCH_SA.ALWAYS})
|
||||
Public ReadOnly Property SplitArcsList As List(Of MCH_SA)
|
||||
Get
|
||||
@@ -82,6 +68,51 @@ Public Class MachOptionVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sExtSawArcMinRad As String
|
||||
Public Property ExtSawArcMinRad As String
|
||||
Get
|
||||
Return m_sExtSawArcMinRad
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dExtSawArcMinRad As Double = 0
|
||||
If StringToLen(value, dExtSawArcMinRad) Then
|
||||
EgtMdbSetGeneralParam(MCH_GP.EXTSAWARCMINRAD, dExtSawArcMinRad)
|
||||
EgtMdbSave()
|
||||
m_sExtSawArcMinRad = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sIntSawArcMaxSideAng As String
|
||||
Public Property IntSawArcMaxSideAng As String
|
||||
Get
|
||||
Return m_sIntSawArcMaxSideAng
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dIntSawArcMaxSideAng As Double = 0
|
||||
If StringToLen(value, dIntSawArcMaxSideAng) Then
|
||||
EgtMdbSetGeneralParam(MCH_GP.INTSAWARCMAXSIDEANG, dIntSawArcMaxSideAng)
|
||||
EgtMdbSave()
|
||||
m_sIntSawArcMaxSideAng = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_sApproxLinTol As String
|
||||
Public Property ApproxLinTol As String
|
||||
Get
|
||||
Return m_sApproxLinTol
|
||||
End Get
|
||||
Set(value As String)
|
||||
Dim dApproxLinTol As Double = 0
|
||||
If StringToLen(value, dApproxLinTol) Then
|
||||
EgtMdbSetGeneralParam(MCH_GP.APPROXLINTOL, dApproxLinTol)
|
||||
EgtMdbSave()
|
||||
m_sApproxLinTol = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ArchivedSetUpList As New List(Of String)
|
||||
Public Property ArchivedSetUpList As List(Of String)
|
||||
Get
|
||||
@@ -121,11 +152,6 @@ Public Class MachOptionVM
|
||||
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 9)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ApproxLinTolMsg As String
|
||||
Get
|
||||
Return EgtMsg(6410) ' Tolleranza di approssimazione
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property SplitArcsMsg As String
|
||||
Get
|
||||
@@ -133,6 +159,24 @@ Public Class MachOptionVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ExtSawArcMinRadMsg As String
|
||||
Get
|
||||
Return EgtMsg(6411) ' Minimo raggio arco esterno con lama
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IntSawArcMaxSideAngMsg As String
|
||||
Get
|
||||
Return EgtMsg(6412) ' Massima inclinazione arco interno con lama
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ApproxLinTolMsg As String
|
||||
Get
|
||||
Return EgtMsg(6410) ' Tolleranza di approssimazione
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property DefaultSetUpMsg As String
|
||||
Get
|
||||
Return EgtMsg(MSG_MACHININGOPTIONPAGE + 7)
|
||||
@@ -161,6 +205,14 @@ Public Class MachOptionVM
|
||||
Dim nVal As Integer = 0
|
||||
EgtMdbGetGeneralParam(MCH_GP.SPLITARCS, nVal)
|
||||
m_SelectedSplitArcs = DirectCast(nVal, MCH_SA)
|
||||
' Leggo minimo raggio arco esterno lavorabile con lama
|
||||
dVal = 0
|
||||
EgtMdbGetGeneralParam(MCH_GP.EXTSAWARCMINRAD, dVal)
|
||||
m_sExtSawArcMinRad = LenToString(dVal, 4)
|
||||
' Leggo massima inclinazione lama per lavorare archi interni
|
||||
dVal = 0
|
||||
EgtMdbGetGeneralParam(MCH_GP.INTSAWARCMAXSIDEANG, dVal)
|
||||
m_sIntSawArcMaxSideAng = LenToString(dVal, 4)
|
||||
' Leggo tolleranza lineare di approssimazione
|
||||
dVal = 0
|
||||
EgtMdbGetGeneralParam(MCH_GP.APPROXLINTOL, dVal)
|
||||
@@ -185,6 +237,17 @@ Public Class MachOptionVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "Visibility"
|
||||
Public ReadOnly Property StoneVisibility As Visibility
|
||||
Get
|
||||
Dim sGenMat As String = ""
|
||||
EgtUILib.GetPrivateProfileString(S_MCH_GENERAL, K_MATERIAL, MCH_MAT_WOOD, sGenMat, IniFile.m_sCurrMachIniFilePath)
|
||||
Return If( sGenMat = MCH_MAT_STONE, Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "CloseMachOptionsCommand"
|
||||
|
||||
@@ -385,8 +385,8 @@ Public Class MainWindowVM
|
||||
EgtSetLockId(sLockId)
|
||||
End If
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2703, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2703, 1, IniFile.m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 3101, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 3101, 1, IniFile.m_nKeyOptions)
|
||||
' Leggo e imposto livello utilizzatore
|
||||
IniFile.m_nUserLevel = Math.Min(IniFile.m_nKeyLevel, GetPrivateProfileInt(S_GENERAL, K_USERLEVEL, 1))
|
||||
' Imposto abilitazione lavorazioni avanzate
|
||||
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtCAM5")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2016-2025 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2016-2026 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
@@ -70,6 +70,6 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.7.3.2")>
|
||||
<Assembly: AssemblyFileVersion("2.7.3.2")>
|
||||
<Assembly: AssemblyVersion("3.1.1.3")>
|
||||
<Assembly: AssemblyFileVersion("3.1.1.3")>
|
||||
|
||||
|
||||
Generated
+2
-2
@@ -1,7 +1,7 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.34209
|
||||
' Runtime Version:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
@@ -22,7 +22,7 @@ Namespace My.Resources
|
||||
'''<summary>
|
||||
''' A strongly-typed resource class, for looking up localized strings, etc.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
|
||||
Generated
+22
-20
@@ -1,7 +1,7 @@
|
||||
'------------------------------------------------------------------------------
|
||||
' <auto-generated>
|
||||
' This code was generated by a tool.
|
||||
' Runtime Version:4.0.30319.34209
|
||||
' Runtime Version:4.0.30319.42000
|
||||
'
|
||||
' Changes to this file may cause incorrect behavior and will be lost if
|
||||
' the code is regenerated.
|
||||
@@ -12,15 +12,16 @@ Option Strict On
|
||||
Option Explicit On
|
||||
|
||||
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
Namespace My
|
||||
|
||||
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0"), _
|
||||
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Partial Friend NotInheritable Class MySettings
|
||||
Inherits Global.System.Configuration.ApplicationSettingsBase
|
||||
|
||||
Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings)
|
||||
|
||||
#Region "My.Settings Auto-Save Functionality"
|
||||
#If _MyType = "WindowsForms" Then
|
||||
Private Shared addedHandler As Boolean
|
||||
@@ -28,17 +29,17 @@ Partial Friend NotInheritable Class MySettings
|
||||
Private Shared addedHandlerLockObject As New Object
|
||||
|
||||
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
|
||||
Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs)
|
||||
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
|
||||
If My.Application.SaveMySettingsOnExit Then
|
||||
My.Settings.Save()
|
||||
End If
|
||||
End Sub
|
||||
#End If
|
||||
#End Region
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
|
||||
Public Shared ReadOnly Property [Default]() As MySettings
|
||||
Get
|
||||
|
||||
#If _MyType = "WindowsForms" Then
|
||||
If Not addedHandler Then
|
||||
SyncLock addedHandlerLockObject
|
||||
@@ -49,10 +50,11 @@ Partial Friend NotInheritable Class MySettings
|
||||
End SyncLock
|
||||
End If
|
||||
#End If
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
Return defaultInstance
|
||||
End Get
|
||||
End Property
|
||||
End Class
|
||||
End Namespace
|
||||
|
||||
Namespace My
|
||||
|
||||
@@ -62,9 +64,9 @@ Namespace My
|
||||
Friend Module MySettingsProperty
|
||||
|
||||
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
|
||||
Friend ReadOnly Property Settings() As Global.EgtCAM5.MySettings
|
||||
Friend ReadOnly Property Settings() As Global.EgtCAM5.My.MySettings
|
||||
Get
|
||||
Return Global.EgtCAM5.MySettings.Default
|
||||
Return Global.EgtCAM5.My.MySettings.Default
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBox x:Name="Txt" Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
|
||||
PreviewKeyDown="TextBox_PreviewKeyDown" Height="Auto"
|
||||
Visibility="{Binding TextVisibility}" Margin="5,0,5,5" >
|
||||
<TextBox x:Name="Txt" Text="{Binding TextBox,UpdateSourceTrigger=PropertyChanged}"
|
||||
PreviewKeyDown="TextBox_PreviewKeyDown" IsVisibleChanged="Txt_IsVisibleChanged"
|
||||
Visibility="{Binding TextVisibility}" Height="Auto" Margin="5,0,5,5" >
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding DoneCommand}"/>
|
||||
<KeyBinding Key="S" Modifiers="Control" Command="{Binding ShowCommand}"/>
|
||||
@@ -34,50 +34,17 @@
|
||||
<Button Grid.Column="1"
|
||||
Content="+"
|
||||
Command="{Binding ShowInfoItemCommand}"
|
||||
Visibility="Collapsed"
|
||||
Visibility="{Binding ShowInfoItemVisibility}"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="5,-1,5,0"
|
||||
VerticalAlignment="Top"/>
|
||||
<!--Visibility="{Binding ShowInfoItemVisibility}"-->
|
||||
</Grid>
|
||||
<CheckBox Content="{Binding CheckBoxText}" IsChecked="{Binding IsChecked}"
|
||||
Visibility="{Binding CheckVisibility}" Margin="5,0,5,5"/>
|
||||
<ComboBox ItemsSource="{Binding ComboItemsList}" SelectedIndex="{Binding ComboSelectedIndex}"
|
||||
Visibility="{Binding ComboVisibility}" Margin="5,5,5,5"/>
|
||||
|
||||
<ItemsControl ItemsSource="{Binding InfoList}"
|
||||
Visibility="{Binding InfoVisibility}"
|
||||
Margin="5,5,0,10">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Key}"
|
||||
Width="70"
|
||||
Margin="0,6,-15,0"/>
|
||||
<TextBox Grid.Column="1"
|
||||
Text="{Binding Valour, UpdateSourceTrigger=PropertyChanged}"
|
||||
Margin="0,5,5,10">
|
||||
<TextBox.InputBindings>
|
||||
<KeyBinding Key="Enter" Command="{Binding DoneInfoCommand}"/>
|
||||
</TextBox.InputBindings>
|
||||
</TextBox>
|
||||
<Button Grid.Column="2"
|
||||
Content="-"
|
||||
Command="{Binding RemoveInfoItemCommand}"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="5,-2,5,5"/>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
|
||||
<Grid Margin="5,0,5,5">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
Public Class InputExpanderV
|
||||
|
||||
Private Sub TextBox_PreviewKeyDown(sender As Object, e As KeyEventArgs)
|
||||
If (e.Key = Key.Enter And (Keyboard.Modifiers And ModifierKeys.Shift)= ModifierKeys.Shift) Or
|
||||
(e.Key = Key.V And (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control) Then
|
||||
If (e.Key = Key.Enter And (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift) Or
|
||||
(e.Key = Key.V And (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control) Then
|
||||
Txt.AcceptsReturn = True
|
||||
Txt.TextWrapping = TextWrapping.Wrap
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Txt_IsVisibleChanged(sender As Object, e As DependencyPropertyChangedEventArgs)
|
||||
If Txt.IsVisible Then
|
||||
Txt.Focus()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -8,21 +8,10 @@ Public Class InputExpanderVM
|
||||
#Region "FIELDS & PROPERTIES"
|
||||
|
||||
' Variabile temporanea per salvare bShow
|
||||
Private m_tmpbShow As Boolean
|
||||
Private m_bTempShow As Boolean
|
||||
|
||||
Private m_tmpInfoList As New ObservableCollection(Of InfoItem)
|
||||
''' <summary>
|
||||
''' Lista temporanea delle info
|
||||
''' </summary>
|
||||
Private Property tmpInfoList As ObservableCollection(Of InfoItem)
|
||||
Get
|
||||
Return m_tmpInfoList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of InfoItem))
|
||||
m_tmpInfoList = value
|
||||
OnPropertyChanged("tmpInfoList")
|
||||
End Set
|
||||
End Property
|
||||
' Lista temporanea delle Info
|
||||
Private m_TempInfoList As New List(Of InfoItem)
|
||||
|
||||
' Expander fields
|
||||
Private m_IsExpanded As Boolean
|
||||
@@ -158,47 +147,32 @@ Public Class InputExpanderVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoList As New ObservableCollection(Of InfoItem)
|
||||
''' <summary>
|
||||
''' Lista delle info modificate
|
||||
''' </summary>
|
||||
Public Property InfoList As ObservableCollection(Of InfoItem)
|
||||
Get
|
||||
Return m_InfoList
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of InfoItem))
|
||||
m_InfoList = value
|
||||
OnPropertyChanged("InfoList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_ComboSelectedIndex As Integer
|
||||
Public Property ComboSelectedIndex As Integer
|
||||
Get
|
||||
Return m_ComboSelectedIndex
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
If m_tmpbShow Then Map.refProjectVM.SetLastInteger(value)
|
||||
If m_bTempShow Then Map.refProjectVM.SetLastInteger(value)
|
||||
m_ComboSelectedIndex = value
|
||||
' Assegno l'indice selezionato ad una variabile temporanea per utilizzarlo quando rimuovo l'info dalla lista
|
||||
Dim tmpComboSelectedIndex As Integer = ComboSelectedIndex
|
||||
' Controllo se l'indice è maggiore o uguale a zero e la lista tmp contiene valori
|
||||
If m_ComboSelectedIndex >= 0 AndAlso tmpInfoList.Count > 0 Then
|
||||
' Controllo se la info è contenuta nella lista ComboItemsList
|
||||
If ComboItemsList.Contains(tmpInfoList(m_ComboSelectedIndex).sKey) Then
|
||||
' Aggiungo la info alla lista per visualizzarla
|
||||
InfoList.Add(New InfoItem(tmpInfoList(m_ComboSelectedIndex).nId, tmpInfoList(m_ComboSelectedIndex).sKey, m_tmpInfoList(m_ComboSelectedIndex).sValour))
|
||||
' Nascondo la combobox
|
||||
ComboVisibility = Visibility.Collapsed
|
||||
' Rimuovo la info dalla ComboItemsList
|
||||
ComboItemsList.Remove(tmpInfoList(m_ComboSelectedIndex).sKey)
|
||||
' se la combo è di Info ed è valida, la aggiungo alla textbox
|
||||
If m_ComboSelectedIndex >= 0 AndAlso m_TempInfoList.Count() > 0 Then
|
||||
Dim CurrItem As InfoItem = m_TempInfoList(m_ComboSelectedIndex)
|
||||
If String.IsNullOrEmpty(m_TextBox) Then
|
||||
m_TextBox = CurrItem.sKey & "=" & CurrItem.sValue
|
||||
Else
|
||||
If Not m_TextBox.EndsWith(vbCrLf) Then m_TextBox &= vbCrLf
|
||||
m_TextBox &= CurrItem.sKey & "=" & CurrItem.sValue
|
||||
End If
|
||||
' Rimuovo la info dalla tmpInfoList
|
||||
tmpInfoList.Remove(tmpInfoList(tmpComboSelectedIndex))
|
||||
ComboVisibility = Visibility.Collapsed
|
||||
ComboItemsList.RemoveAt(m_ComboSelectedIndex)
|
||||
m_TempInfoList.RemoveAt(m_ComboSelectedIndex)
|
||||
m_ComboSelectedIndex = -1
|
||||
If ComboItemsList.Count <= 0 Then ShowInfoItemVisibility = Visibility.Collapsed
|
||||
End If
|
||||
OnPropertyChanged("ComboSelectedIndex")
|
||||
OnPropertyChanged("ComboItemsList")
|
||||
OnPropertyChanged("InfoList")
|
||||
OnPropertyChanged("TextBox")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -243,27 +217,10 @@ Public Class InputExpanderVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_InfoVisibility As Visibility
|
||||
''' <summary>
|
||||
''' Propietà visibilità lista info modificate
|
||||
''' </summary>
|
||||
Public Property InfoVisibility As Visibility
|
||||
Get
|
||||
Return m_InfoVisibility
|
||||
End Get
|
||||
Set(value As Visibility)
|
||||
If value <> m_InfoVisibility Then
|
||||
m_InfoVisibility = value
|
||||
OnPropertyChanged("InfoVisibility")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Commands definition
|
||||
Private m_cmdShow As ICommand
|
||||
Private m_cmdDone As ICommand
|
||||
Private m_cmdShowInfoItem As ICommand
|
||||
Private m_cmdRemoveInfoItem As ICommand
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
@@ -287,6 +244,7 @@ Public Class InputExpanderVM
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in EgtCAM5Map
|
||||
Map.SetRefInputExpanderVM(Me)
|
||||
ComboSelectedIndex = -1
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructor
|
||||
@@ -341,15 +299,6 @@ Public Class InputExpanderVM
|
||||
''' Execute the Point. This method is invoked by the PointCommand.
|
||||
''' </summary>
|
||||
Public Sub Done(ByVal param As Object)
|
||||
' Controllo se la lista contenente la info modificata sia presente
|
||||
If InfoList.Count > 0 Then
|
||||
' Ciclo sulla lista
|
||||
For Each Item As InfoItem In InfoList
|
||||
Map.refProjectVM.NotifyInputText((Item.Key & "=" & Item.Valour).Trim())
|
||||
' Assegno a m_TextBox la info modificata
|
||||
m_TextBox &= vbCrLf & (Item.Key & "=" & Item.Valour).Trim() & vbCrLf
|
||||
Next
|
||||
End If
|
||||
Map.refProjectVM.Done(m_TextBox)
|
||||
End Sub
|
||||
|
||||
@@ -381,6 +330,18 @@ Public Class InputExpanderVM
|
||||
''' </summary>
|
||||
''' <param name="param"></param>
|
||||
Public Sub ShowInfoItem(ByVal param As Object)
|
||||
' Se presente info inserita in textbox
|
||||
If Not String.IsNullOrWhiteSpace( m_TextBox) Then
|
||||
Dim vLines As String() = m_TextBox.Split( vbCrLf.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
|
||||
For Each sLine As String In vLines
|
||||
Dim vKeyVal As String() = sLine.Split("="c)
|
||||
Dim nInd As Integer = m_TempInfoList.FindIndex( Function(x) x.sKey = vKeyVal(0))
|
||||
If nInd <> -1 Then
|
||||
ComboItemsList.RemoveAt( nInd)
|
||||
m_TempInfoList.RemoveAt( nInd)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
ComboVisibility = Visibility.Visible
|
||||
End Sub
|
||||
|
||||
@@ -391,27 +352,18 @@ Public Class InputExpanderVM
|
||||
#Region "METHODS"
|
||||
|
||||
Friend Sub PrepareInputBox(PrepareInputBoxParam As PrepareInputBoxParam)
|
||||
Title = PrepareInputBoxParam.sTitle
|
||||
' Divido il titolo che può contenere comandi dopo il ';'
|
||||
Dim vsSplitTitle As String() = PrepareInputBoxParam.sTitle.Split(";"c)
|
||||
Title = vsSplitTitle(0)
|
||||
If PrepareInputBoxParam.sLabel <> "" Then
|
||||
TextBlock = PrepareInputBoxParam.sLabel
|
||||
TextBox = ""
|
||||
TextVisibility = Visibility.Visible
|
||||
' Controllo se il titolo è uguale a INFO se si
|
||||
If Title = EgtMsg(5359).ToUpper() Then
|
||||
' Metto tmpbShow a false
|
||||
m_tmpbShow = False
|
||||
' Rendo visibile il pulsante che mostra la lista delle info
|
||||
ShowInfoItemVisibility = Visibility.Visible
|
||||
' Rendo visibile la lista delle info selezionate
|
||||
InfoVisibility = Visibility.Visible
|
||||
' Pulisco la lista tmpInfoList
|
||||
tmpInfoList.Clear()
|
||||
' Pulisco la lista InfoList
|
||||
InfoList.Clear()
|
||||
' Pulisco la lista ComboItemsList
|
||||
ComboItemsList.Clear()
|
||||
' Popolo la lista ComboItemsList
|
||||
' Se presente il comando "Sic=1"
|
||||
If vsSplitTitle.Count() > 1 AndAlso vsSplitTitle(1) = "Sic=1" Then
|
||||
m_bTempShow = False
|
||||
ComboInfo()
|
||||
If ComboItemsList.Count > 0 Then ShowInfoItemVisibility = Visibility.Visible
|
||||
End If
|
||||
End If
|
||||
If PrepareInputBoxParam.sCheckLabel <> "" Then
|
||||
@@ -419,14 +371,9 @@ Public Class InputExpanderVM
|
||||
CheckVisibility = Visibility.Visible
|
||||
End If
|
||||
If PrepareInputBoxParam.bShowCombo Then
|
||||
' Assegno a tmpbShow PrepareInputBoxParam.bShowCombo
|
||||
m_tmpbShow = PrepareInputBoxParam.bShowCombo
|
||||
' Pulisco la lista ComboItemsList
|
||||
m_bTempShow = PrepareInputBoxParam.bShowCombo
|
||||
ComboItemsList.Clear()
|
||||
' Pulisco la lista tmpInfoList
|
||||
tmpInfoList.Clear()
|
||||
' Pulisco la lista InfoList
|
||||
InfoList.Clear()
|
||||
m_TempInfoList.Clear()
|
||||
ComboVisibility = Visibility.Visible
|
||||
End If
|
||||
If PrepareInputBoxParam.bShowBtn Then
|
||||
@@ -444,7 +391,6 @@ Public Class InputExpanderVM
|
||||
ComboVisibility = Visibility.Collapsed
|
||||
ShowBtnVisibility = Visibility.Collapsed
|
||||
ShowInfoItemVisibility = Visibility.Collapsed
|
||||
InfoVisibility = Visibility.Collapsed
|
||||
IsExpanded = False
|
||||
IsEnabled = False
|
||||
End Sub
|
||||
@@ -479,33 +425,22 @@ Public Class InputExpanderVM
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' Rimovi nota da info lista
|
||||
''' </summary>
|
||||
''' <param name="InfoItem">Informazione da eliminare</param>
|
||||
Friend Sub RemoveItemInfo(InfoItem As InfoItem)
|
||||
' Rimuovo info da lista modifica
|
||||
InfoList.Remove(InfoItem)
|
||||
' Riaggiungo la info eliminata
|
||||
ComboItemsList.Add(InfoItem.sKey)
|
||||
' Riaggiungo la info eliminata
|
||||
tmpInfoList.Add(InfoItem)
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' Funzione che popola la lista ComboItemsList
|
||||
''' </summary>
|
||||
Private Sub ComboInfo()
|
||||
'''''''''''''''''''''''''''''' Recuperare funzione egtgetallinfo quando sarà pronta
|
||||
Dim val As Integer
|
||||
If Not m_tmpbShow Then
|
||||
For Ind As Integer = 0 To 6
|
||||
val += Ind
|
||||
tmpInfoList.Add(New InfoItem(Ind, "A" & +Ind, val.ToString()))
|
||||
Next
|
||||
|
||||
For Each InfoItem As InfoItem In tmpInfoList
|
||||
ComboItemsList.Add(InfoItem.sKey)
|
||||
m_TempInfoList.Clear()
|
||||
ComboItemsList.Clear()
|
||||
|
||||
Dim vsInfo As String() = Nothing
|
||||
EgtGetAllInfo( Map.refManageLayerExpanderVM.RightClickedTreeItemId, vsInfo)
|
||||
|
||||
If Not m_bTempShow And Not IsNothing( vsInfo) Then
|
||||
For nInd As Integer = 0 To vsInfo.Count() - 1
|
||||
Dim vKeyVal As String() = vsInfo( nInd).Split("="c)
|
||||
m_TempInfoList.Add(New InfoItem( nInd, vKeyVal(0), vKeyVal(1)))
|
||||
ComboItemsList.Add( vsInfo( nInd))
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -19,11 +19,11 @@ Public Class LayerTreeViewItem
|
||||
''' </summary>
|
||||
Public Overrides Property IsSelected As Boolean
|
||||
Get
|
||||
Return m_IsSelected
|
||||
Return m_isSelected
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If (value <> m_IsSelected) Then
|
||||
m_IsSelected = value
|
||||
If (value <> m_isSelected) Then
|
||||
m_isSelected = value
|
||||
If value Then
|
||||
' recupero l'Id del nuovo oggetto selezionato
|
||||
Map.refManageLayerExpanderVM.IsRightClickedLayerTreeItem(False)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
Imports System.Collections.ObjectModel
|
||||
Imports EgtUILib
|
||||
Imports EgtCAM5.IniFile
|
||||
|
||||
Public Class ManageLayerExpanderVM
|
||||
Inherits ViewModelBase
|
||||
@@ -30,22 +29,6 @@ Public Class ManageLayerExpanderVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdNewPart As ICommand
|
||||
Private m_cmdNewLayer As ICommand
|
||||
Private m_cmdLayerColor As ICommand
|
||||
Private m_cmdTreeViewDoubleClick As ICommand
|
||||
Private m_cmdTreeViewMouseUp As ICommand
|
||||
Private m_cmdTreeViewMouseRightButton As ICommand
|
||||
Private m_cmdSelect As ICommand
|
||||
Private m_cmdDeselect As ICommand
|
||||
Private m_cmdName As ICommand
|
||||
Private m_cmdInfo As ICommand
|
||||
Private m_cmdRelocate As ICommand
|
||||
Private m_cmdCopy As ICommand
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdSave As ICommand
|
||||
|
||||
' Lista dei layer
|
||||
Private m_LayerList As New ObservableCollection(Of LayerTreeViewItem)
|
||||
Public Property LayerList As ObservableCollection(Of LayerTreeViewItem)
|
||||
@@ -54,6 +37,7 @@ Public Class ManageLayerExpanderVM
|
||||
End Get
|
||||
Set(value As ObservableCollection(Of LayerTreeViewItem))
|
||||
m_LayerList = value
|
||||
OnPropertyChanged("LayerList")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -131,6 +115,22 @@ Public Class ManageLayerExpanderVM
|
||||
|
||||
#End Region
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdNewPart As ICommand
|
||||
Private m_cmdNewLayer As ICommand
|
||||
Private m_cmdLayerColor As ICommand
|
||||
Private m_cmdTreeViewDoubleClick As ICommand
|
||||
Private m_cmdTreeViewMouseUp As ICommand
|
||||
Private m_cmdTreeViewMouseRightButton As ICommand
|
||||
Private m_cmdSelect As ICommand
|
||||
Private m_cmdDeselect As ICommand
|
||||
Private m_cmdName As ICommand
|
||||
Private m_cmdInfo As ICommand
|
||||
Private m_cmdRelocate As ICommand
|
||||
Private m_cmdCopy As ICommand
|
||||
Private m_cmdDelete As ICommand
|
||||
Private m_cmdSave As ICommand
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "CONSTRUCTOR"
|
||||
|
||||
@@ -152,6 +152,8 @@ Public Class MachiningTreeExpanderVM
|
||||
Return EgtMsg(MSG_MACHININGSDBPAGE + 12)
|
||||
Case MCH_MY.FIVEAXISMILLING
|
||||
Return EgtMsg(31213)
|
||||
Case MCH_MY.PROBING
|
||||
Return EgtMsg(31220)
|
||||
Case Else
|
||||
Return "Mach"
|
||||
End Select
|
||||
|
||||
+57
-4
@@ -1,4 +1,6 @@
|
||||
Imports EgtUILib
|
||||
Imports System.ComponentModel
|
||||
Imports System.Globalization
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class DispositionParameterExpanderVM
|
||||
Inherits ViewModelBase
|
||||
@@ -311,12 +313,16 @@ Public Class DispositionParameterExpanderVM
|
||||
' se movimento di traslazione
|
||||
If m_MoveIsChecked Then
|
||||
Dim InputPoint As New Point3d(0, 0, 0)
|
||||
Dim dSupp As Double = -1
|
||||
Dim Values() As String = m_InputValue.Split(","c)
|
||||
If Values.Count = 2 Then
|
||||
If Values.Count >= 2 Then
|
||||
StringToLen(Values(0), InputPoint.x)
|
||||
StringToLen(Values(1), InputPoint.y)
|
||||
If Values.Count >= 3 Then
|
||||
StringToLen(Values(2), dSupp)
|
||||
End If
|
||||
Else
|
||||
m_InputErrorMsg = "Il valore non è una cordinata XY"
|
||||
m_InputErrorMsg = "Il valore non è un punto X,Y"
|
||||
OnPropertyChanged("InputErrorMsg")
|
||||
Return
|
||||
End If
|
||||
@@ -329,13 +335,44 @@ Public Class DispositionParameterExpanderVM
|
||||
' imposto il riferimento della tavola
|
||||
Dim ptTableRef As Point3d
|
||||
EgtGetTableRef(1, ptTableRef)
|
||||
' calcolo il punto del grezzo da posizionar nelle coordinate di input
|
||||
' calcolo il punto del grezzo da posizionare nelle coordinate di input
|
||||
Dim ptRawRefPoint As Point3d = DispositionUtility.GetRawPartRefPoint(nFirstSelectedId, m_RawRefPosition)
|
||||
' creo un punto con le coordinate di input espresse rispetto alla tavola
|
||||
Dim TableRefInputPoint As New Point3d(InputPoint)
|
||||
TableRefInputPoint.LocToLoc(EgtGetGridFrame(), New Frame3d(ptTableRef))
|
||||
' calcolo il vettore di spostamento del grezzo
|
||||
vtMove = TableRefInputPoint - ptRawRefPoint
|
||||
vtMove.z = 0
|
||||
' verifico ed aggiusto eventuale supporto
|
||||
Dim dOldSupp As Double = 0
|
||||
Dim nOldSuppId As Integer = EgtGetFirstNameInGroup(nFirstSelectedId, SUPPORT)
|
||||
If nOldSuppId <> GDB_ID.NULL Then
|
||||
Dim bboxSupport As New BBox3d
|
||||
EgtGetBBoxGlob(nOldSuppId, GDB_BB.STANDARD, bboxSupport)
|
||||
dOldSupp = bboxSupport.DimZ()
|
||||
End If
|
||||
If dSupp > -EPS_SMALL AndAlso Math.Abs( dSupp - dOldSupp) > EPS_SMALL Then
|
||||
' da cancellare
|
||||
If dSupp < EPS_SMALL Then
|
||||
EgtErase( nOldSuppId)
|
||||
vtMove.z = dSupp - dOldSupp
|
||||
' da creare o modificare
|
||||
Else
|
||||
EgtErase( nOldSuppId)
|
||||
Dim nNewSuppId As Integer = GDB_ID.NULL
|
||||
Dim nRawOutLnId As Integer = EgtGetFirstNameInGroup(nFirstSelectedId, RAWOUTLINE)
|
||||
If nRawOutLnId <> GDB_ID.NULL Then
|
||||
Dim vtExtr As New Vector3d( 0, 0, -dSupp)
|
||||
nNewSuppId = EgtCreateSurfTmByRegionExtrusion( nFirstSelectedId, 1, {nRawOutLnId}, vtExtr, 0.05, GDB_RT.GLOB)
|
||||
End If
|
||||
If nNewSuppId <> GDB_ID.NULL Then
|
||||
EgtSetName( nNewSuppId, SUPPORT)
|
||||
EgtSetColor( nNewSuppId, New Color3d(150, 75, 0))
|
||||
If nOldSuppId <> GDB_ID.NULL Then EgtChangeId( nNewSuppId, nOldSuppId)
|
||||
vtMove.z = dSupp - dOldSupp
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
' se è una ventosa
|
||||
ElseIf EgtVerifyFixture(nFirstSelectedId) Then
|
||||
Dim SelObjFrame3d As New Frame3d(Frame3d.GLOB)
|
||||
@@ -434,8 +471,24 @@ Public Class DispositionParameterExpanderVM
|
||||
''' Execute the Point. This method is invoked by the DoneCommand.
|
||||
''' </summary>
|
||||
Public Sub CheckedRawRef(ByVal param As Object)
|
||||
' Assegno corner di riferimento
|
||||
Dim nRawRef As MCH_CR = DirectCast(param, MCH_CR)
|
||||
m_RawRefPosition = nRawRef
|
||||
' Se grezzo selezionato, visualizzo sua posizione
|
||||
Dim nFirstSelectedId As Integer = EgtGetFirstSelectedObj()
|
||||
If EgtVerifyRawPartCurrPhase(nFirstSelectedId) Then
|
||||
Dim ptR As Point3d = DispositionUtility.GetRawPartRefPoint(nFirstSelectedId, m_RawRefPosition)
|
||||
Dim sSupp As String = ""
|
||||
Dim nSuppId As Integer = EgtGetFirstNameInGroup(nFirstSelectedId, SUPPORT)
|
||||
If nSuppId <> GDB_ID.NULL Then
|
||||
Dim bboxSupport As New BBox3d
|
||||
EgtGetBBoxGlob(nSuppId, GDB_BB.STANDARD, bboxSupport)
|
||||
Dim dSupp As Double = bboxSupport.DimZ()
|
||||
sSupp = "," & LenToString( dSupp, 2)
|
||||
End If
|
||||
m_InputValue = LenToString( ptR.x, 2) & "," & LenToString( ptR.y, 2) & sSupp
|
||||
OnPropertyChanged( "InputValue")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' CheckedRawRefCommand
|
||||
|
||||
+33
-26
@@ -322,11 +322,11 @@ Public NotInheritable Class DispositionUtility
|
||||
Dim dFixtureHeight As Double = 0
|
||||
EgtGetInfo(nFixtureId, "H", dFixtureHeight)
|
||||
' recupero altezza grezzo riferita alla tavola
|
||||
Dim dRawPartMin As Point3d = bboxRawPart.Min
|
||||
dRawPartMin.ToLoc(TableFrame)
|
||||
Dim ptRawPartMin As Point3d = bboxRawPart.Min
|
||||
ptRawPartMin.ToLoc(TableFrame)
|
||||
' se l'altezza grezzo è minore di quella della ventosa, lo sposto alla stessa altezza
|
||||
If dRawPartMin.z < dFixtureHeight - EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dFixtureHeight - dRawPartMin.z)
|
||||
If ptRawPartMin.z < dFixtureHeight - EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dFixtureHeight - ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawPartId, vtMove)
|
||||
' ricalcolo il BBox del solido del grezzo per averlo aggiornato con la nuova Z
|
||||
EgtGetBBoxGlob(nRawSolidId, GDB_BB.ONLY_VISIBLE, bboxRawPart)
|
||||
@@ -358,19 +358,19 @@ Public NotInheritable Class DispositionUtility
|
||||
nOtherFixtureId = EgtGetNextFixture(nOtherFixtureId)
|
||||
End While
|
||||
' recupero altezza grezzo riferita alla tavola
|
||||
Dim dRawPartMin As Point3d = bboxRawPart.Min
|
||||
dRawPartMin.ToLoc(TableFrame)
|
||||
Dim ptRawPartMin As Point3d = bboxRawPart.Min
|
||||
ptRawPartMin.ToLoc(TableFrame)
|
||||
' se non ci sono ventose sotto il grezzo
|
||||
If Not bIsFixtureUnderRawPart Then
|
||||
' verifico che il grezzo sia ad altezza tavola
|
||||
If dRawPartMin.z <> 0 Then
|
||||
Dim vtMove As New Vector3d(0, 0, -dRawPartMin.z)
|
||||
If ptRawPartMin.z <> 0 Then
|
||||
Dim vtMove As New Vector3d(0, 0, -ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawPartId, vtMove)
|
||||
End If
|
||||
Else
|
||||
' se ci sono verifico che l'altezza del grezzo sia quella della ventosa più alta
|
||||
If Math.Abs(dRawPartMin.z - dMaxFixtureHeight) > EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dMaxFixtureHeight - dRawPartMin.z)
|
||||
If Math.Abs(ptRawPartMin.z - dMaxFixtureHeight) > EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dMaxFixtureHeight - ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawPartId, vtMove)
|
||||
End If
|
||||
End If
|
||||
@@ -472,23 +472,30 @@ Public NotInheritable Class DispositionUtility
|
||||
' Recupero il solido del grezzo
|
||||
Dim nMovedRawSolidId As Integer = EgtGetFirstNameInGroup(nRawId, RAWSOLID)
|
||||
' definisco il box del solido del grezzo
|
||||
Dim bboxRawPartId As New BBox3d
|
||||
EgtGetBBoxGlob(nMovedRawSolidId, GDB_BB.ONLY_VISIBLE, bboxRawPartId)
|
||||
Dim bboxRawPart As New BBox3d
|
||||
EgtGetBBoxGlob(nMovedRawSolidId, GDB_BB.STANDARD, bboxRawPart)
|
||||
' aggiungo il box dell'eventuale supporto o sottopezzo
|
||||
Dim nSupportId As Integer = EgtGetFirstNameInGroup(nRawId, SUPPORT)
|
||||
If nSupportId <> GDB_ID.NULL Then
|
||||
Dim bboxSupport As New BBox3d
|
||||
EgtGetBBoxGlob(nSupportId, GDB_BB.STANDARD, bboxSupport)
|
||||
bboxRawPart.Add( bboxSupport)
|
||||
End If
|
||||
' Variabile che dice se c'è almeno una ventosa sotto il grezzo
|
||||
Dim bIsFixtureUnderRawPart As Boolean = False
|
||||
Dim bboxFixture As New BBox3d
|
||||
' variabile che contiene la massima altezza delle ventose sottostanti
|
||||
Dim dMaxFixtureHeight As Double = 0
|
||||
' recupero altezza grezzo riferita alla tavola
|
||||
Dim dRawPartMin As Point3d = bboxRawPartId.Min
|
||||
dRawPartMin.ToLoc(TableFrame)
|
||||
Dim ptRawPartMin As Point3d = bboxRawPart.Min
|
||||
ptRawPartMin.ToLoc(TableFrame)
|
||||
' Ciclo sui sottopezzi presenti per verificare le collisioni con il grezzo
|
||||
Dim nFixtureId As Integer = EgtGetFirstFixture()
|
||||
While nFixtureId <> GDB_ID.NULL
|
||||
' calcolo il BBox del sottopezzo
|
||||
EgtGetBBoxGlob(nFixtureId, GDB_BB.ONLY_VISIBLE, bboxFixture)
|
||||
' verifico se c'è sovrapposizione
|
||||
If bboxRawPartId.OverlapsXY(bboxFixture) Then
|
||||
If bboxRawPart.OverlapsXY(bboxFixture) Then
|
||||
' recupero il tipo di fixture
|
||||
Dim nFxtType As FIX_TYPE = FixtureType(nFixtureId)
|
||||
' Se è ventosa o morsa
|
||||
@@ -501,22 +508,22 @@ Public NotInheritable Class DispositionUtility
|
||||
dMaxFixtureHeight = dFixtureHeight
|
||||
End If
|
||||
' se l'altezza grezzo è diversa da quella della ventosa, lo sposto alla stessa altezza
|
||||
If dRawPartMin.z < dFixtureHeight - EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dFixtureHeight - dRawPartMin.z)
|
||||
If ptRawPartMin.z < dFixtureHeight - EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dFixtureHeight - ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawId, vtMove)
|
||||
' recupero il solido del grezzo
|
||||
Dim nRawSolidId As Integer = EgtGetFirstNameInGroup(nRawId, RAWSOLID)
|
||||
' ricalcolo il BBox del solido del grezzo per averlo aggiornato con la nuova Z
|
||||
EgtGetBBoxGlob(nRawSolidId, GDB_BB.ONLY_VISIBLE, bboxRawPartId)
|
||||
dRawPartMin = bboxRawPartId.Min
|
||||
dRawPartMin.ToLoc(TableFrame)
|
||||
EgtGetBBoxGlob(nRawSolidId, GDB_BB.ONLY_VISIBLE, bboxRawPart)
|
||||
ptRawPartMin = bboxRawPart.Min
|
||||
ptRawPartMin.ToLoc(TableFrame)
|
||||
End If
|
||||
bIsFixtureUnderRawPart = True
|
||||
End If
|
||||
' Se è morsa
|
||||
If nFxtType = FIX_TYPE.VISE Then
|
||||
' regolo la posizione in Z della morsa
|
||||
EgtSetFixtureMobile( nFixtureId, bboxRawPartId.DimZ())
|
||||
EgtSetFixtureMobile( nFixtureId, bboxRawPart.DimZ())
|
||||
End If
|
||||
' Se è un riferimento o una morsa
|
||||
If nFxtType = FIX_TYPE.REFERENCE Or nFxtType = FIX_TYPE.VISE Then
|
||||
@@ -525,7 +532,7 @@ Public NotInheritable Class DispositionUtility
|
||||
' calcolo bbox dell'arco di riferimento
|
||||
Dim bboxArcRef As New BBox3d
|
||||
EgtGetBBoxGlob(arcRefId, GDB_BB.STANDARD, bboxArcRef)
|
||||
If bboxRawPartId.OverlapsXY(bboxArcRef) Then
|
||||
If bboxRawPart.OverlapsXY(bboxArcRef) Then
|
||||
' recupero contorno del grezzo
|
||||
Dim ccompoRawPartOutlineId As Integer = EgtGetFirstNameInGroup(nRawId, RAWOUTLINE)
|
||||
'recupero il raggio dell'arco di riferimento
|
||||
@@ -587,14 +594,14 @@ Public NotInheritable Class DispositionUtility
|
||||
' se non ci sono ventose sotto il grezzo
|
||||
If Not bIsFixtureUnderRawPart Then
|
||||
' verifico che il grezzo sia ad altezza tavola
|
||||
If dRawPartMin.z <> 0 Then
|
||||
Dim vtMove As New Vector3d(0, 0, -dRawPartMin.z)
|
||||
If ptRawPartMin.z <> 0 Then
|
||||
Dim vtMove As New Vector3d(0, 0, -ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawId, vtMove)
|
||||
End If
|
||||
Else
|
||||
' se ci sono verifico che l'altezza del grezzo sia quella della ventosa più alta
|
||||
If Math.Abs(dRawPartMin.z - dMaxFixtureHeight) > EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dMaxFixtureHeight - dRawPartMin.z)
|
||||
If Math.Abs(ptRawPartMin.z - dMaxFixtureHeight) > EPS_SMALL Then
|
||||
Dim vtMove As New Vector3d(0, 0, dMaxFixtureHeight - ptRawPartMin.z)
|
||||
EgtMoveRawPart(nRawId, vtMove)
|
||||
End If
|
||||
End If
|
||||
|
||||
+5
@@ -238,6 +238,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -226,6 +226,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+6
-1
@@ -1,4 +1,4 @@
|
||||
<UserControl x:Class="FiveAxisMachinigParameterExpanderV"
|
||||
<UserControl x:Class="FiveAxisMachiningParameterExpanderV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
@@ -216,6 +216,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
Imports EgtWPFLib5.EgtFloating
|
||||
|
||||
Public Class FiveAxisMachinigParameterExpanderV
|
||||
Public Class FiveAxisMachiningParameterExpanderV
|
||||
|
||||
Private m_RightTrayV As RightTrayV
|
||||
Private EgtFloatingPanel As EgtFloatingPanel
|
||||
|
||||
+5
@@ -216,6 +216,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+27
-60
@@ -152,8 +152,9 @@ Public Class MachiningParameterExpanderVM
|
||||
Dim StoneDrillParamExpanderV As StoneDrillingParameterExpanderV
|
||||
Dim SurfFinishParamExpanderV As SurfFinishingParameterExpanderV
|
||||
Dim WjParamExpanderV As WaterjettingParameterExpanderV
|
||||
Dim FiveAxExpanderV As FiveAxisMachinigParameterExpanderV
|
||||
Dim FiveAxExpanderV As FiveAxisMachiningParameterExpanderV
|
||||
Dim SurfRoughExpanderV As SurfRoughingParameterExpanderV
|
||||
Dim ProbExpanderV As ProbingParameterExpanderV
|
||||
|
||||
Private Sub Dummy()
|
||||
|
||||
@@ -192,7 +193,7 @@ Public Class MachiningParameterExpanderVM
|
||||
|
||||
Select Case nType
|
||||
Case MCH_OY.DRILLING
|
||||
If MatType = MaterialType.STONE Then
|
||||
If MatType = MaterialType.STONE5 Then
|
||||
If IsNothing(StoneDrillParamExpanderV) Then StoneDrillParamExpanderV = New StoneDrillingParameterExpanderV
|
||||
StoneDrillParamExpanderV.DataContext = m_CurrOperation
|
||||
Return StoneDrillParamExpanderV
|
||||
@@ -202,7 +203,7 @@ Public Class MachiningParameterExpanderVM
|
||||
Return WoodDrillParamExpanderV
|
||||
End If
|
||||
Case MCH_OY.SAWING
|
||||
If MatType = MaterialType.STONE Then
|
||||
If MatType = MaterialType.STONE5 Then
|
||||
If IsNothing(StoneSawParamExpanderV) Then StoneSawParamExpanderV = New StoneSawingParameterExpanderV
|
||||
StoneSawParamExpanderV.DataContext = m_CurrOperation
|
||||
Return StoneSawParamExpanderV
|
||||
@@ -216,7 +217,7 @@ Public Class MachiningParameterExpanderVM
|
||||
If IsNothing(BeamMillParamExpanderV) Then BeamMillParamExpanderV = New BeamMillingParameterExpanderV
|
||||
BeamMillParamExpanderV.DataContext = m_CurrOperation
|
||||
Return BeamMillParamExpanderV
|
||||
ElseIf MatType = MaterialType.STONE Then
|
||||
ElseIf MatType = MaterialType.STONE5 Then
|
||||
If IsNothing(StoneMillParamExpanderV) Then StoneMillParamExpanderV = New StoneMillingParameterExpanderV
|
||||
StoneMillParamExpanderV.DataContext = m_CurrOperation
|
||||
Return StoneMillParamExpanderV
|
||||
@@ -234,7 +235,7 @@ Public Class MachiningParameterExpanderVM
|
||||
StoneSawFinishParamExpanderV.DataContext = m_CurrOperation
|
||||
Return StoneSawFinishParamExpanderV
|
||||
Case MCH_OY.POCKETING
|
||||
If MatType = MaterialType.STONE Or MatType = MaterialType.STONE5 Then
|
||||
If MatType = MaterialType.STONE5 Then
|
||||
' se macchina di tipo STONE ricavo il tipo di utensile
|
||||
Dim sMachiningToolName = String.Empty
|
||||
EgtMdbSetCurrMachining(sName)
|
||||
@@ -270,13 +271,17 @@ Public Class MachiningParameterExpanderVM
|
||||
WjParamExpanderV.DataContext = m_CurrOperation
|
||||
Return WjParamExpanderV
|
||||
Case MCH_OY.FIVEAXISMILLING
|
||||
If IsNothing(FiveAxExpanderV) Then FiveAxExpanderV = New FiveAxisMachinigParameterExpanderV
|
||||
If IsNothing(FiveAxExpanderV) Then FiveAxExpanderV = New FiveAxisMachiningParameterExpanderV
|
||||
FiveAxExpanderV.DataContext = m_CurrOperation
|
||||
Return FiveAxExpanderV
|
||||
Case MCH_OY.SURFROUGHING
|
||||
If IsNothing(SurfRoughExpanderV) Then SurfRoughExpanderV = New SurfRoughingParameterExpanderV
|
||||
SurfRoughExpanderV.DataContext = m_CurrOperation
|
||||
Return SurfRoughExpanderV
|
||||
Case MCH_OY.PROBING
|
||||
If IsNothing(ProbExpanderV) Then ProbExpanderV = New ProbingParameterExpanderV
|
||||
ProbExpanderV.DataContext = m_CurrOperation
|
||||
Return ProbExpanderV
|
||||
End Select
|
||||
|
||||
'MachiningParameterExpanderItem.ReadOperationParam()
|
||||
@@ -371,21 +376,12 @@ Public Class MachiningParameterExpanderVM
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim bRecalc As Boolean = False
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
bRecalc = True
|
||||
Else
|
||||
' Controllo se il tipo e' dr o sr o lr bRecalc e' true come quando viene selezionato Shift
|
||||
For Each ItemNote As NoteListBoxItem In m_CurrOperation.NotesList
|
||||
bRecalc = ItemNote.Type.Equals("dr") OrElse ItemNote.Type.Equals("lr") OrElse ItemNote.Type.Equals("sr") OrElse ItemNote.Type.Equals("br")
|
||||
If bRecalc Then Exit For
|
||||
Next
|
||||
End If
|
||||
' Verifico se forzato ricalcolo da interfaccia
|
||||
Dim bRecalc As Boolean = ((Keyboard.Modifiers And ModifierKeys.Shift) <> 0)
|
||||
|
||||
' La modifica di alcuni parametri forza il ricalcolo della geometria
|
||||
Dim ModifiedGeometry As Boolean = m_CurrOperation.m_IsModifiedSelectedFaceUseType
|
||||
' aggiorno valori modificati
|
||||
' Aggiorno parametri di lavorazione
|
||||
m_CurrOperation.WriteOperationParam()
|
||||
|
||||
' Carico tutta la geometria selezionata in una lista
|
||||
Dim SelectedGeometry As New List(Of Integer)
|
||||
Dim EntityIndex As Integer = EgtGetFirstSelectedObj()
|
||||
@@ -398,49 +394,19 @@ Public Class MachiningParameterExpanderVM
|
||||
(EgtGetType(SelectedGeometry(0)) = GDB_TY.SRF_MESH Or EgtGetType(SelectedGeometry(0)) = GDB_TY.SRF_FRGN) Then
|
||||
' Aggiorno lista speciale con facce
|
||||
SelData.VerifyIdSub()
|
||||
' Verifico se geometria cambiata, confrontando selezione attuale con facet con geometria di lavorazione
|
||||
Dim nInd As Integer = 0
|
||||
Dim nMchId, nMchSub As Integer
|
||||
EgtGetMachiningGeometry(nInd, nMchId, nMchSub)
|
||||
Dim nSelId, nSelSub As Integer
|
||||
SelData.GetIdSub(nInd, nSelId, nSelSub)
|
||||
While Not ModifiedGeometry And (nMchId <> GDB_ID.NULL Or nSelId <> GDB_ID.NULL)
|
||||
' Controllo uguaglianza
|
||||
If nMchId <> nSelId Or nMchSub <> nSelSub Then ModifiedGeometry = True
|
||||
' Passo al successivo
|
||||
nInd += 1
|
||||
EgtGetMachiningGeometry(nInd, nMchId, nMchSub)
|
||||
SelData.GetIdSub(nInd, nSelId, nSelSub)
|
||||
End While
|
||||
If ModifiedGeometry Then
|
||||
Dim vId() As Integer = Nothing
|
||||
Dim vSub() As Integer = Nothing
|
||||
SelData.GetAllIdSub(vId, vSub)
|
||||
EgtSetMachiningGeometry(vId, vSub)
|
||||
End If
|
||||
' Gestione standard per altre entità (curve, testi, ...)
|
||||
' Imposto geometria
|
||||
Dim vId() As Integer = Nothing
|
||||
Dim vSub() As Integer = Nothing
|
||||
SelData.GetAllIdSub(vId, vSub)
|
||||
EgtSetMachiningGeometry(vId, vSub)
|
||||
' Gestione standard per altre entità (curve, testi, ...)
|
||||
Else
|
||||
' Verifico se geometria cambiata, confrontando selezione attuale con geometria di lavorazione
|
||||
Dim nInd As Integer = 0
|
||||
Dim nMchId, nMchSub As Integer
|
||||
EgtGetMachiningGeometry(nInd, nMchId, nMchSub)
|
||||
Dim nSelId As Integer
|
||||
nSelId = If(nInd < SelectedGeometry.Count(), SelectedGeometry(nInd), GDB_ID.NULL)
|
||||
While Not ModifiedGeometry And (nMchId <> GDB_ID.NULL Or nSelId <> GDB_ID.NULL)
|
||||
' Controllo uguaglianza
|
||||
If nMchId <> nSelId Then ModifiedGeometry = True
|
||||
' Passo al successivo
|
||||
nInd += 1
|
||||
EgtGetMachiningGeometry(nInd, nMchId, nMchSub)
|
||||
nSelId = If(nInd < SelectedGeometry.Count(), SelectedGeometry(nInd), GDB_ID.NULL)
|
||||
End While
|
||||
' Imposto geometria selezionata come geometria di lavorazione
|
||||
If ModifiedGeometry Then
|
||||
EgtSetMachiningGeometry(SelectedGeometry.ToArray)
|
||||
End If
|
||||
' Imposto geometria
|
||||
EgtSetMachiningGeometry(SelectedGeometry.ToArray)
|
||||
End If
|
||||
' Ricalcolo la lavorazione
|
||||
If Not EgtApplyMachining(bRecalc Or ModifiedGeometry) Then
|
||||
|
||||
' Rigenero la lavorazione
|
||||
If Not EgtApplyMachining(bRecalc) Then
|
||||
If EgtGetLastMachMgrErrorId() <> 0 Then
|
||||
Dim sErr As String = EgtGetLastMachMgrErrorString()
|
||||
Dim sInfo As String = String.Empty
|
||||
@@ -459,6 +425,7 @@ Public Class MachiningParameterExpanderVM
|
||||
Map.refStatusBarVM.NotifyStatusOutput("")
|
||||
End If
|
||||
End If
|
||||
|
||||
' Restart visualizzazione utensile
|
||||
SetSliderScale( EgtGetPreviewMachiningToolStepCount())
|
||||
SetViewTool(True)
|
||||
|
||||
+5
@@ -234,6 +234,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -243,6 +243,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+275
@@ -0,0 +1,275 @@
|
||||
<UserControl x:Class="ProbingParameterExpanderV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
||||
xmlns:Interactivity="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
|
||||
xmlns:EgtCAM5="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
|
||||
|
||||
<UserControl.Resources>
|
||||
<EgtCAM5:OperationParamVisibilityConverter x:Key="OperationParamVisibilityConverter"/>
|
||||
<EgtCAM5:DepthUnitConverter x:Key="DepthUnitConverter"/>
|
||||
<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="OverLapStr">47</sys:Int32>
|
||||
<sys:Int32 x:Key="OffsetStr">48</sys:Int32>
|
||||
<sys:Int32 x:Key="SubType">49</sys:Int32>
|
||||
<sys:Int32 x:Key="SolChoiceType">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="ExpanderLeadIn">55</sys:Int32>
|
||||
<sys:Int32 x:Key="ExpanderLeadOut">56</sys:Int32>
|
||||
<sys:Int32 x:Key="ApproxGen">57</sys:Int32>
|
||||
<sys:Int32 x:Key="OscEnable">58</sys:Int32>
|
||||
<sys:Int32 x:Key="OscHeight">59</sys:Int32>
|
||||
<sys:Int32 x:Key="OscRampLen">60</sys:Int32>
|
||||
<sys:Int32 x:Key="OscFlatLen">61</sys:Int32>
|
||||
</UserControl.Resources>
|
||||
|
||||
<StackPanel Name="OperationParametersStackPanel">
|
||||
<StackPanel Name="OperationFirstParametersStackPanel">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding DepthStrTxBl}" Style="{DynamicResource MPExpander_DepthTxBlMargin}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding DepthStr, UpdateSourceTrigger=PropertyChanged,
|
||||
Converter={StaticResource DepthUnitConverter}}"
|
||||
Style="{DynamicResource MPExpander_DepthTxBxMargin}"/>
|
||||
</UniformGrid>
|
||||
<EgtWPFLib5:CheckParamV ParamTxBl="{Binding InvertTxBl}"
|
||||
ParamChBx="{Binding Path=Invert,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource CheckParamV_Margin}"/>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding UserNotesTxBl}"
|
||||
Style="{DynamicResource MPExpander_UserNotesTxBlMargin}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding UserNotes, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{DynamicResource MPExpander_UserNotesTxBxMargin}">
|
||||
<EgtWPFLib5:EgtTextBox.ToolTip>
|
||||
<TextBlock Text="{Binding UserNotesTooltip}"/>
|
||||
</EgtWPFLib5:EgtTextBox.ToolTip>
|
||||
</EgtWPFLib5:EgtTextBox>
|
||||
<TextBlock Text="{Binding SystemNotesTxBl}"
|
||||
Style="{DynamicResource MPExpander_UserNotesTxBlMargin}"
|
||||
Visibility="{Binding SysNotes_Visibility}"/>
|
||||
<EgtWPFLib5:EgtTextBox Text="{Binding SystemNotes, UpdateSourceTrigger=PropertyChanged}"
|
||||
Style="{DynamicResource MPExpander_UserNotesTxBxMargin}"
|
||||
Visibility="{Binding SysNotes_Visibility}"
|
||||
IsReadOnly="True"/>
|
||||
</UniformGrid>
|
||||
</StackPanel>
|
||||
<StackPanel Name="AutomaticCloseExpanderStackPanel">
|
||||
<Expander Header="{Binding GenericExpanderHeader}" Name="GenericExpander"
|
||||
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
|
||||
<StackPanel>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding StartPosTxBl}"
|
||||
ParamTxBx="{Binding Path=StartPos,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding SubTypeTxBl}"
|
||||
ParamCmBxList="{Binding Path=SubTypeList,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
ParamCmBxSelIndex="{Binding Path=SelectedSubType}"
|
||||
Style="{DynamicResource ComboParamV_Margin}"/>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
|
||||
<Expander Name="AdvancedParam" IsExpanded="{Binding AdvancedParamIsExpander}"
|
||||
Style="{StaticResource ExpanderStyle}" Margin="0,1,0,1">
|
||||
<Expander.Header>
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding AdvancedParamMsg}"
|
||||
Margin="2.5"/>
|
||||
<Button Command="{Binding ShowNoteListComboCommand}"
|
||||
ToolTip="{Binding ShowNoteToolTip}"
|
||||
IsEnabled="{Binding ShowNoteListCombo_IsEnable}"
|
||||
Visibility="{Binding ShowNoteListCombo_Visibility}"
|
||||
Grid.Column="1"
|
||||
HorizontalAlignment="Right"
|
||||
Margin="2.5,2.5,7,2.5"
|
||||
Width="20">
|
||||
<Image Source="/Resources/Note/+.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</UniformGrid>
|
||||
</Expander.Header>
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<StackPanel>
|
||||
<EgtWPFLib5:CheckParamV ParamTxBl="{Binding InvertToolDirTxBl}"
|
||||
ParamChBx="{Binding Path=InvertToolDir,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource CheckParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding InitAngsTxBl}"
|
||||
ParamTxBx="{Binding Path=InitAngs,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding BlockedAxisTxBl}"
|
||||
ParamTxBx="{Binding Path=BlockedAxis,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding SolChoiceTypeTxBl}"
|
||||
ParamCmBxList="{Binding Path=SolChoiceTypeList,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True,
|
||||
Mode=OneWay}"
|
||||
ParamCmBxSelIndex="{Binding Path=SelectedSolChoiceType}"
|
||||
Style="{DynamicResource ComboParamV_Margin}"/>
|
||||
</StackPanel>
|
||||
<Grid Grid.Row="1" Margin="0,5,0,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="Auto"/>
|
||||
</Grid.RowDefinitions>
|
||||
<ItemsControl ItemsSource="{Binding NotesList}">
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="Auto"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<TextBlock Text="{Binding Description}"
|
||||
Margin="0,5.5,29,0"
|
||||
Width="82"
|
||||
Style="{DynamicResource MPExpander_UserNotesTxBlMargin}"/>
|
||||
<TabControl SelectedIndex="{Binding SelTypeValue}"
|
||||
Grid.Column="1"
|
||||
Background="Transparent"
|
||||
BorderBrush="Transparent">
|
||||
<TabControl.ItemContainerStyle>
|
||||
<Style TargetType="{x:Type TabItem}">
|
||||
<Setter Property="Visibility" Value="Collapsed"/>
|
||||
</Style>
|
||||
</TabControl.ItemContainerStyle>
|
||||
<TabItem Header="TEXT">
|
||||
<TextBox Text="{Binding Value, UpdateSourceTrigger=PropertyChanged}"
|
||||
IsReadOnly="False"/>
|
||||
</TabItem>
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
Width="20"
|
||||
Height="20"
|
||||
Margin="5,0,0,0">
|
||||
<Image Source="/Resources/Note/-.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</Grid>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
</ItemsControl>
|
||||
<ComboBox ItemsSource="{Binding NotesListCombo}"
|
||||
SelectedItem="{Binding SelNoteItemCombo}"
|
||||
Grid.Row="1"
|
||||
Grid.ColumnSpan="1"
|
||||
Visibility="{Binding ComboAddVisibility}">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Description}"
|
||||
Margin="2.5"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Expander>
|
||||
|
||||
<Expander Style="{StaticResource ExpanderStyle}">
|
||||
<Expander.Header>
|
||||
<TextBlock Text="{Binding ToolExpanderHeader}"/>
|
||||
</Expander.Header>
|
||||
<StackPanel>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding FeedTxBl}"
|
||||
ParamTxBx="{Binding Path=Feed,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding TipFeedTxBl}"
|
||||
ParamTxBx="{Binding Path=TipFeed,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding StartFeedTxBl}"
|
||||
ParamTxBx="{Binding Path=StartFeed,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:StringParamV ParamTxBl="{Binding EndFeedTxBl}"
|
||||
ParamTxBx="{Binding Path=EndFeed,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
<Interactivity:Interaction.Behaviors>
|
||||
<EgtCAM5:AutomaticCloseExpander/>
|
||||
</Interactivity:Interaction.Behaviors>
|
||||
</StackPanel>
|
||||
</StackPanel>
|
||||
|
||||
</UserControl>
|
||||
+83
@@ -0,0 +1,83 @@
|
||||
Imports EgtWPFLib5.EgtFloating
|
||||
|
||||
Public Class ProbingParameterExpanderV
|
||||
|
||||
Private m_RightTrayV As RightTrayV
|
||||
Private EgtFloatingPanel As EgtFloatingPanel
|
||||
|
||||
Private m_bFirst As Boolean = True
|
||||
|
||||
Private Sub OperationExpanderView_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
|
||||
If m_bFirst Then
|
||||
m_RightTrayV = FindAncestor(Of RightTrayV)(Me)
|
||||
EgtFloatingPanel = FindAncestor(Of EgtFloatingPanel)(Me)
|
||||
AddHandler m_RightTrayV.SizeChanged, AddressOf RightTrayV_SizeChanged
|
||||
PanelHeight = EgtFloatingPanel.DesiredSize.Height
|
||||
Me.AutomaticCloseExpanderStackPanelHeight = AutomaticCloseExpanderStackPanel.ActualHeight
|
||||
m_bFirst = False
|
||||
End If
|
||||
CalculateOperationParametersStackPanelMaxHeight()
|
||||
End Sub
|
||||
|
||||
Dim m_bSizeChanging As Boolean = False
|
||||
|
||||
Private Sub RightTrayV_SizeChanged(sender As Object, e As System.Windows.SizeChangedEventArgs)
|
||||
If m_bSizeChanging Then Return
|
||||
m_bSizeChanging = True
|
||||
CalculateOperationParametersStackPanelMaxHeight()
|
||||
m_bSizeChanging = False
|
||||
End Sub
|
||||
|
||||
Dim PanelHeight As Double = 0
|
||||
Dim AutomaticCloseExpanderStackPanelHeight As Double = 0
|
||||
|
||||
' ricalcola spazio utilizzabile quando modificata dimensione finestra e quindi dimensione della tray
|
||||
Private Sub CalculateOperationParametersStackPanelMaxHeight()
|
||||
Dim AutomaticCloseExpanderStackPanelHeight As Double = 0
|
||||
Dim OpenedExpanderList As New List(Of Boolean)
|
||||
For Index = 0 To AutomaticCloseExpanderStackPanel.Children.Count - 1
|
||||
If TypeOf AutomaticCloseExpanderStackPanel.Children(Index) Is Expander Then
|
||||
Dim IndexedExpander As Expander = DirectCast(AutomaticCloseExpanderStackPanel.Children(Index), Expander)
|
||||
If IndexedExpander.IsExpanded Then
|
||||
OpenedExpanderList.Add(True)
|
||||
IndexedExpander.IsExpanded = False
|
||||
Dim CurrExpanderContent As FrameworkElement = DirectCast(IndexedExpander.Content, FrameworkElement)
|
||||
CurrExpanderContent.Measure(New Size(Double.PositiveInfinity, Double.PositiveInfinity))
|
||||
AutomaticCloseExpanderStackPanelHeight -= CurrExpanderContent.DesiredSize.Height
|
||||
' Sottraggo anche i padding
|
||||
AutomaticCloseExpanderStackPanelHeight -= (IndexedExpander.Padding.Top + IndexedExpander.Padding.Bottom)
|
||||
Else
|
||||
OpenedExpanderList.Add(False)
|
||||
End If
|
||||
Else
|
||||
OpenedExpanderList.Add(False)
|
||||
End If
|
||||
Next
|
||||
Dim RemainingHeight As Double = m_RightTrayV.ActualHeight - PanelHeight
|
||||
AutomaticCloseExpanderStackPanel.MaxHeight = Me.AutomaticCloseExpanderStackPanelHeight + RemainingHeight
|
||||
For Index = AutomaticCloseExpanderStackPanel.Children.Count - 1 To 0 Step -1
|
||||
If TypeOf AutomaticCloseExpanderStackPanel.Children(Index) Is Expander Then
|
||||
Dim IndexedExpander As Expander = DirectCast(AutomaticCloseExpanderStackPanel.Children(Index), Expander)
|
||||
If OpenedExpanderList(Index) Then
|
||||
IndexedExpander.IsExpanded = True
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
' Funzione che permette di trovare il primo contenitore di tipo T di un elemento grafico dependencyObject
|
||||
Public Function FindAncestor(Of T As Class)(dependencyObject As DependencyObject) As T
|
||||
Dim target As DependencyObject = dependencyObject
|
||||
Do
|
||||
target = LogicalTreeHelper.GetParent(target)
|
||||
Loop While target IsNot Nothing AndAlso Not (TypeOf target Is T)
|
||||
If IsNothing(target) Then
|
||||
target = dependencyObject
|
||||
Do
|
||||
target = VisualTreeHelper.GetParent(target)
|
||||
Loop While target IsNot Nothing AndAlso Not (TypeOf target Is T)
|
||||
End If
|
||||
Return TryCast(target, T)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
+5
@@ -215,6 +215,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -219,6 +219,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -213,6 +213,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+7
-2
@@ -124,10 +124,10 @@
|
||||
ValidatesOnDataErrors=True}"
|
||||
Style="{DynamicResource StringParamV_Margin}"/>
|
||||
<EgtWPFLib5:ComboParamV ParamTxBl="{Binding ExtLinkTypeTxBl}"
|
||||
ParamCmBxList="{Binding Path=ExtLinkTypeList,
|
||||
ParamCmBxList="{Binding Path=LeadLinkTypeList,
|
||||
UpdateSourceTrigger=PropertyChanged,
|
||||
ValidatesOnDataErrors=True}"
|
||||
ParamCmBxSelIndex="{Binding Path=SelectedExtLinkType}"
|
||||
ParamCmBxSelIndex="{Binding Path=SelectedLeadLinkType}"
|
||||
Style="{DynamicResource ComboParamV_Margin}"/>
|
||||
</StackPanel>
|
||||
</Expander>
|
||||
@@ -211,6 +211,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -219,6 +219,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -226,6 +226,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -236,6 +236,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -201,6 +201,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -220,6 +220,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -238,6 +238,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+5
@@ -228,6 +228,11 @@
|
||||
<TabItem Header="CHECKBOX">
|
||||
<CheckBox IsChecked="{Binding Value, UpdateSourceTrigger=PropertyChanged}"/>
|
||||
</TabItem>
|
||||
<TabItem Header="COMBOBOX">
|
||||
<ComboBox ItemsSource="{Binding ListKeyValue}"
|
||||
SelectedItem="{Binding SelKeyValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
DisplayMemberPath="KeyValue"/>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
<Button Command="{Binding RemoveItemNoteCommand}"
|
||||
Grid.Column="2"
|
||||
|
||||
+2
@@ -177,6 +177,8 @@ Public Class OperationParametersExpanderVM
|
||||
Map.refProjectVM.SceneSelMode = OptionModule.m_SelGeomWaterJetting
|
||||
Case MCH_OY.FIVEAXISMILLING
|
||||
Map.refProjectVM.SceneSelMode = OptionModule.m_SelGeomFiveAxMilling
|
||||
Case MCH_OY.PROBING
|
||||
Map.refProjectVM.SceneSelMode = OptionModule.m_SelGeomProbing
|
||||
End Select
|
||||
' Imposto visualizzazione utensile
|
||||
Map.refMachiningParameterExpanderVM.SetViewTool( True)
|
||||
|
||||
@@ -671,7 +671,8 @@ Public Class OperationsListExpanderVM
|
||||
If Not String.IsNullOrEmpty(sErr) Then
|
||||
MessageBox.Show(sErr, EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Exclamation)
|
||||
Else
|
||||
MessageBox.Show(EgtMsg(MSG_SIMULATION + 6), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' Errore nell'aggiornamento delle lavorazioni!
|
||||
MessageBox.Show(EgtMsg(5346), EgtMsg(MSG_SIMULATION + 5), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
Else
|
||||
Map.refStatusBarVM.NotifyStatusOutput(EgtMsg(MSG_OPERATION + 11))
|
||||
|
||||
@@ -51,7 +51,14 @@
|
||||
<TextBlock Text="{Binding VMillMsg}" Margin="5,0,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<Grid>
|
||||
<StackPanel Orientation="Horizontal" Visibility="{Binding Trace_Visibility}"
|
||||
IsEnabled="{Binding Trace_IsEnabled}" Margin="10,5,10,0">
|
||||
<CheckBox HorizontalAlignment="Left" VerticalAlignment="Center"
|
||||
IsChecked="{Binding TraceActive}"/>
|
||||
<TextBlock Text="{Binding TraceMsg}" Margin="5,0,0,0"/>
|
||||
</StackPanel>
|
||||
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
|
||||
@@ -248,7 +248,8 @@ Public Class SimulationExpanderVM
|
||||
Dim SliderVal As Double = GetPrivateProfileDouble(S_SIMUL, K_SLIDERVAL, 10)
|
||||
SliderValue = SliderVal
|
||||
' Gestione check VMill
|
||||
If IsKeyEnabledVirtualMilling() And EgtUILib.GetPrivateProfileInt(S_VMILL, K_VM_ENABLE, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
If IsKeyEnabledVirtualMilling() And
|
||||
EgtUILib.GetPrivateProfileInt(S_VMILL, K_VM_ENABLE, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
VMill_Visibility = Visibility.Visible
|
||||
VMill_IsEnabled = True
|
||||
Dim bVal As Boolean
|
||||
@@ -261,6 +262,16 @@ Public Class SimulationExpanderVM
|
||||
VMillActive = False
|
||||
EgtEnableModified()
|
||||
End If
|
||||
' Gestione check Trace
|
||||
If IniFile.GetPrivateProfileInt(S_SIMUL, K_TRACEENABLE, 0) <> 0 And
|
||||
EgtUILib.GetPrivateProfileInt(S_TOOLTRACE, K_TT_ENABLE, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
Trace_Visibility = Visibility.Visible
|
||||
Trace_IsEnabled = True
|
||||
If TraceActive Then TraceActive = True
|
||||
Else
|
||||
Trace_Visibility = Visibility.Collapsed
|
||||
Trace_IsEnabled = False
|
||||
End If
|
||||
' Aggiorno visualizzazione dati macchina
|
||||
ShowCncData()
|
||||
StatusMsg = EgtMsg(MSG_SIMULATION + 14) ' HOME
|
||||
@@ -365,7 +376,7 @@ Public Class SimulationExpanderVM
|
||||
End If
|
||||
Else
|
||||
' Per evitare di ciclare rapidissimamente e consumare inutilmente CPU
|
||||
System.Threading.Thread.Sleep(4)
|
||||
System.Threading.Thread.Sleep(5)
|
||||
End If
|
||||
' Costringo ad aggiornare UI
|
||||
UpdateUI()
|
||||
@@ -397,6 +408,7 @@ Public Class SimulationExpanderVM
|
||||
MachineAxisList(Index).IsReadOnlyAxesValue = True
|
||||
Next
|
||||
End If
|
||||
Trace_IsEnabled = (value = MCH_SIM_ST.UI_PAUSE OrElse value = MCH_SIM_ST.UI_STOP)
|
||||
EgtSimSetUiStatus(GetStatus())
|
||||
End Sub
|
||||
|
||||
@@ -442,12 +454,13 @@ Public Class SimulationExpanderVM
|
||||
If IniFile.m_bMachiningGroup Then
|
||||
Dim sMGrpName As String = String.Empty
|
||||
If EgtGetMachGroupName(EgtGetCurrMachGroup(), sMGrpName) Then
|
||||
sCncFile &= "_" & sMGrpName & ".cnc"
|
||||
sCncFile &= "_" & sMGrpName
|
||||
sInfo &= "-" & sMGrpName
|
||||
End If
|
||||
Else
|
||||
sCncFile &= ".cnc"
|
||||
End If
|
||||
Dim sExt As String = ".cnc"
|
||||
EgtUILib.GetPrivateProfileString(S_PARTPROGRAM, K_EXTENSION, sExt, sExt, IniFile.m_sCurrMachIniFilePath)
|
||||
sCncFile = Path.ChangeExtension(sCncFile, sExt)
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
@@ -455,16 +468,16 @@ Public Class SimulationExpanderVM
|
||||
Friend Sub SimulationExpander_Update_CncData( nFlag As Integer)
|
||||
If Simulation_IsExpanded Then
|
||||
ShowCncData()
|
||||
' Se fermo per Collisione rilevata da script Lua
|
||||
If nFlag = 11 Then
|
||||
' Se fermo per Collisione rilevata da script Lua o per altra richiesta
|
||||
If nFlag = 11 Or nFlag = 12 Then
|
||||
' Imposto stato Pausa
|
||||
SetSimulationStatus(MCH_SIM_ST.UI_PAUSE)
|
||||
StatusMsg = EgtMsg(MSG_SIMULATION + 11) ' PAUSA
|
||||
' Aggiornamenti per bottone Play/Pause
|
||||
SetShowPlay(True)
|
||||
NotifyPropertyChanged("PlayPauseImage")
|
||||
' Dichiaro di non arrestarsi alla successiva notifica di collisione
|
||||
m_bStopOnNextCollision = False
|
||||
' Se fermo per Collisione, dichiaro di non arrestarsi alla successiva notifica di collisione
|
||||
If nFlag = 11 Then m_bStopOnNextCollision = False
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -12,8 +12,10 @@ Friend Module OptionModule
|
||||
Friend m_GridColor As Color3d
|
||||
' Flag per visualizzazione spessa delle linee
|
||||
Friend m_bThickLine As Boolean
|
||||
' Flag per visualizzazione smussata delle superfici
|
||||
Friend m_bSmoothTriMesh As Boolean
|
||||
' Qualità di visualizzazione delle superfici
|
||||
Friend m_ShowSurfQuality As SceneSurfQualityOpt
|
||||
' Tipo di visualizzazione delle Zmap
|
||||
Friend m_nShowZmapType As Integer
|
||||
|
||||
' Colore di default in disegno
|
||||
Friend m_DefMaterialColor As Color3d
|
||||
@@ -59,7 +61,9 @@ Friend Module OptionModule
|
||||
Friend m_SelGeomSurfRoughing As SceneSelModeOpt
|
||||
Friend m_SelGeomWaterJetting As SceneSelModeOpt
|
||||
Friend m_SelGeomFiveAxMilling As SceneSelModeOpt
|
||||
Friend m_SelVMillQuality As VMillSelTypeOpt
|
||||
Friend m_SelGeomProbing As SceneSelModeOpt
|
||||
' Qualità di calcolo del virtual milling
|
||||
Friend m_VMillQuality As VMillSelTypeOpt
|
||||
' Flag per aggiungere una nuova lavorazione alla fine della fase o subito dopo la lavorazione selezionata
|
||||
Friend m_bNewMachiningIsLastOne As Boolean
|
||||
' Variabile che indica se usare lo script per calcolare automaticamente la disposizione quando si passa in lavorazione
|
||||
@@ -70,6 +74,9 @@ Friend Module OptionModule
|
||||
Friend m_bBeamOn As Boolean
|
||||
Friend m_bWallOn As Boolean
|
||||
Friend m_bDoorsOn As Boolean
|
||||
Friend m_bWindowOn As Boolean
|
||||
Friend m_bTrimmingOn As Boolean
|
||||
Friend m_bReversePostOn As Boolean
|
||||
Friend m_bGunstockOn As Boolean
|
||||
|
||||
' inizializzazione lettura variabili ad inizio programma
|
||||
@@ -110,13 +117,24 @@ Friend Module OptionModule
|
||||
' Inizializzo flag linee ingrossate
|
||||
m_bThickLine = (GetPrivateProfileInt(S_SCENE, K_LINEWIDTH, 1) <> 1)
|
||||
' Inizializzo flag visualizzazione smussata delle superfici
|
||||
m_bSmoothTriMesh = (GetPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0)
|
||||
Dim nSSQ As Integer = GetPrivateProfileInt(S_SCENE, K_SHOWSURFQUALITY, 0)
|
||||
m_ShowSurfQuality = DirectCast( Math.Min( Math.Max( nSSQ, -2), 2), SceneSurfQualityOpt)
|
||||
' Inizializzo tipo di visualizzazione Zmap
|
||||
m_nShowZmapType = GetPrivateProfileInt(S_SCENE, K_SHOWZMAP, 9)
|
||||
' Inizio colore di default in disegno
|
||||
Dim DefColor As New Color3d(0, 0, 0)
|
||||
GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
|
||||
m_DefMaterialColor = DefColor
|
||||
' Inizializzo tolleranza geometrica
|
||||
m_dGeometryTolerance = GetPrivateProfileDouble(S_GEOMDB, K_SURFTMTOLER, 0.05)
|
||||
' Inizializzo stile corrente delle quotature
|
||||
m_dExtLineLen = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_EXTLINELEN, 5)
|
||||
m_dArrowLen = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_ARROWLEN, 5)
|
||||
m_dTextDist = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_TEXTDIST, 2)
|
||||
m_nLenIsMM = GetPrivateProfileInt(S_DIMENSIONSTYLE, K_LENISMM, 2)
|
||||
m_nDecDigit = GetPrivateProfileInt(S_DIMENSIONSTYLE, K_DECDIGIT, -2)
|
||||
m_sFont = "" : GetPrivateProfileStringUtf8(S_DIMENSIONSTYLE, K_DIMFONT, "ModernPropS.Nfe", m_sFont)
|
||||
m_dTextHeight = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_TEXTHEIGHT, 2)
|
||||
' Inizializzo variabili per import
|
||||
m_dDxfScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_DXFSCALE, 1)
|
||||
m_dStlScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_STLSCALE, 1)
|
||||
@@ -154,9 +172,12 @@ Friend Module OptionModule
|
||||
m_SelGeomSurfRoughing = If(Temp < 0 Or Temp > 3, SceneSelModeOpt.PARTCURVESANDSURFACES, DirectCast(Temp, SceneSelModeOpt))
|
||||
Temp = GetPrivateProfileInt(S_MACH, K_SELGEOMFIVEAXMILLING, -1)
|
||||
m_SelGeomFiveAxMilling = If(Temp < 0 Or Temp > 3, SceneSelModeOpt.PARTCURVESANDSURFACES, DirectCast(Temp, SceneSelModeOpt))
|
||||
Temp = GetPrivateProfileInt(S_MACH, K_SELVMILLQUALITY, 0)
|
||||
m_SelVMillQuality = If(Temp < -2 Or Temp > 2, VMillSelTypeOpt.HIGHER, DirectCast(Temp, VMillSelTypeOpt))
|
||||
Temp = GetPrivateProfileInt(S_MACH, K_SELGEOMPROBING, -1)
|
||||
m_SelGeomProbing = If(Temp < 0 Or Temp > 3, SceneSelModeOpt.PARTCURVESANDSURFACES, DirectCast(Temp, SceneSelModeOpt))
|
||||
m_SelGeomWaterJetting = SceneSelModeOpt.PARTCURVES
|
||||
' Inizializzo qualità di virtual milling
|
||||
Temp = GetPrivateProfileInt(S_MACH, K_VMILLQUALITY, 0)
|
||||
m_VMillQuality = DirectCast(Math.Min( Math.Max( Temp, -2), 2), VMillSelTypeOpt)
|
||||
' Inizializzo variabile che indica posizione nuova operazione di lavorazione
|
||||
m_bNewMachiningIsLastOne = (GetPrivateProfileInt(S_OPTIONS, K_NEWMACHININGISLASTONE, 0) <> 0)
|
||||
' Inizializzo variabile che indica se usare script di disposizione
|
||||
@@ -166,9 +187,42 @@ Friend Module OptionModule
|
||||
m_bBeamOn = (GetPrivateProfileInt(S_BEAM, K_BEAMENABLE, 0) <> 0)
|
||||
m_bWallOn = (GetPrivateProfileInt(S_WALL, K_WALLENABLE, 0) <> 0)
|
||||
m_bDoorsOn = (GetPrivateProfileInt(S_DOORS, K_DDFENABLE, 0) <> 0)
|
||||
m_bWindowOn = (GetPrivateProfileInt(S_WINDOW, K_WINDOWENABLE, 0) <> 0)
|
||||
m_bTrimmingOn = (GetPrivateProfileInt(S_TRIMMING, K_TRIMMINGENABLE, 0) <> 0)
|
||||
m_bReversePostOn = (GetPrivateProfileInt(S_REVERSEPOST, K_REVERSEPOSTENABLE, 0) <> 0)
|
||||
m_bGunstockOn = (GetPrivateProfileInt(S_GUNSTOCK, K_GUNSTOCKENABLE, 0) <> 0)
|
||||
End Sub
|
||||
|
||||
' restituisco spessore linee
|
||||
Friend Function GetLineWidth() As Integer
|
||||
Return If( m_bThickLine, 2, 1)
|
||||
End Function
|
||||
|
||||
' imposto stato visualizzazione superfici
|
||||
Friend Sub SetShowSurfQuality( bRedraw As Boolean)
|
||||
Dim bSmoothTriMesh As Boolean = True
|
||||
Dim dSrfBezShowTol As Double = 0.2
|
||||
Select m_ShowSurfQuality
|
||||
Case SceneSurfQualityOpt.LOWER
|
||||
bSmoothTriMesh = False
|
||||
dSrfBezShowTol = 4
|
||||
Case SceneSurfQualityOpt.LOW
|
||||
bSmoothTriMesh = False
|
||||
dSrfBezShowTol = 1
|
||||
Case SceneSurfQualityOpt.STANDARD
|
||||
bSmoothTriMesh = True
|
||||
dSrfBezShowTol = 0.2
|
||||
Case SceneSurfQualityOpt.HIGH
|
||||
bSmoothTriMesh = True
|
||||
dSrfBezShowTol = 0.05
|
||||
Case SceneSurfQualityOpt.HIGHER
|
||||
bSmoothTriMesh = True
|
||||
dSrfBezShowTol = 0.01
|
||||
End Select
|
||||
EgtSetShowTriaAdv(bSmoothTriMesh, false)
|
||||
EgtSetShowSurfBezierTol(dSrfBezShowTol, bRedraw)
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
|
||||
' Classe che identifica una lingua del programma con nome e path del file dei messaggi
|
||||
|
||||
@@ -9,11 +9,12 @@
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
|
||||
MinWidth="400" MinHeight="382"
|
||||
Width="400" Height="575"
|
||||
Width="400" Height="600"
|
||||
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<local:GeomTypeConverter x:Key="GeomTypeConverter"/>
|
||||
<local:SceneSurfQualityOptConverter x:Key="SceneSurfQualityOptConverter"/>
|
||||
<local:VMillTypeConverter x:Key="VMillTypeConverter"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
|
||||
@@ -65,10 +66,17 @@
|
||||
Grid.Row="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding ThickLine}"
|
||||
Grid.Column="1" Grid.Row="0" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding SmoothTriMeshMsg}" VerticalAlignment="Center"
|
||||
<TextBlock Text="{Binding SceneSurfQualityMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="1" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding SmoothTriMesh}"
|
||||
Grid.Column="1" Grid.Row="1" Margin="22,5,0,5" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding SceneSurfQualityOptList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedSceneSurfQualityOpt}"
|
||||
Grid.Column="1" Grid.Row="1" Height="25" Margin="0,5,0,5">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource SceneSurfQualityOptConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
</Grid>
|
||||
<UniformGrid Columns="2"
|
||||
Margin="0,0,0,5">
|
||||
@@ -77,7 +85,31 @@
|
||||
SelectedItem="{Binding SelectedTextFont}" Height="25"
|
||||
Margin="10,5,0,0"/>
|
||||
</UniformGrid>
|
||||
<Grid Margin="5,5,5,5">
|
||||
<GroupBox Header="ShowZmap"
|
||||
Visibility="{Binding ShowZmapVisibility}"
|
||||
Margin="0,0,0,5">
|
||||
<Grid>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<CheckBox IsChecked="{Binding ShowZmapSurf}"
|
||||
Content="Surfaces" FlowDirection="RightToLeft"
|
||||
Grid.Row="0" Grid.Column="0" Margin="5,5,10,5" VerticalAlignment="Center"/>
|
||||
<CheckBox IsChecked="{Binding ShowZmapLines}"
|
||||
Content="Lines" FlowDirection="RightToLeft"
|
||||
Grid.Row="0" Grid.Column="1" Margin="5,5,10,5" VerticalAlignment="Center"/>
|
||||
<CheckBox IsChecked="{Binding ShowZmapNormals}"
|
||||
Content="Normals" FlowDirection="RightToLeft"
|
||||
Grid.Row="0" Grid.Column="2" Margin="5,5,10,5" VerticalAlignment="Center"/>
|
||||
<CheckBox IsChecked="{Binding ShowZmapBiColor}"
|
||||
Content="BiColor" FlowDirection="RightToLeft"
|
||||
Grid.Row="0" Grid.Column="3" Margin="5,5,10,5" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
<Grid Margin="5,100,5,5">
|
||||
<Button Content="{Binding UpdateLicenceMsg}" Command="{Binding UpdateLicence_Command}" Height="26" Margin="100,1"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
@@ -249,6 +281,15 @@
|
||||
Header="{Binding MachiningSelGeomMsg}"
|
||||
Margin="5,5,5,0">
|
||||
<UniformGrid Columns="2">
|
||||
<TextBlock Text="{Binding GeomTypeProbingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedProbingGeomType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource GeomTypeConverter}}"/>
|
||||
</DataTemplate>
|
||||
</ComboBox.ItemTemplate>
|
||||
</ComboBox>
|
||||
<TextBlock Text="{Binding GeomTypeDrillingMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding GeomTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedDrillingGeomType}" Height="25">
|
||||
@@ -365,7 +406,7 @@
|
||||
<UniformGrid Columns="2" Grid.ColumnSpan="2" Margin="0,5,0,0">
|
||||
<TextBlock Text="{Binding VMillQualityMsg}" VerticalAlignment="Center"/>
|
||||
<ComboBox ItemsSource="{Binding VMillTypeList, Mode=OneWay}"
|
||||
SelectedItem="{Binding SelectedVMillTypeType}" Height="25">
|
||||
SelectedItem="{Binding SelectedVMillQualityType}" Height="25">
|
||||
<ComboBox.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding Converter={StaticResource VMillTypeConverter}}"/>
|
||||
@@ -394,9 +435,9 @@
|
||||
<StackPanel>
|
||||
<Grid Margin="5,20,5,0">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
<ColumnDefinition Width="2*"/>
|
||||
<ColumnDefinition Width="3*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="1*"/>
|
||||
@@ -404,33 +445,51 @@
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding SpecialMsg}"
|
||||
Grid.Row="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding SpecialOn}"
|
||||
Grid.Row="0" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding BeamMsg}"
|
||||
Grid.Row="1" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
Grid.Row="0" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding BeamOn}" IsEnabled="{Binding BeamEnabled}"
|
||||
Grid.Row="1" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
Grid.Row="0" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<Button Content="{Binding UpdateMsg}" IsEnabled="{Binding BeamActive}"
|
||||
Command="{Binding UpdateBeam_Command}"
|
||||
Grid.Row="1" Grid.Column="2" Height="26"/>
|
||||
Grid.Row="0" Grid.Column="2" Height="26"/>
|
||||
<TextBlock Text="{Binding WallMsg}"
|
||||
Grid.Row="2" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
Grid.Row="1" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding WallOn}" IsEnabled="{Binding WallEnabled}"
|
||||
Grid.Row="2" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
Grid.Row="1" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<Button Content="{Binding UpdateMsg}" IsEnabled="{Binding WallActive}"
|
||||
Command="{Binding UpdateWall_Command}"
|
||||
Grid.Row="2" Grid.Column="2" Height="26"/>
|
||||
Grid.Row="1" Grid.Column="2" Height="26"/>
|
||||
<TextBlock Text="{Binding DoorsMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="3" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
Grid.Row="2" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding DoorsOn}" IsEnabled="{Binding DoorsEnabled}"
|
||||
Grid.Row="2" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<Button Content="{Binding UpdateMsg}" IsEnabled="{Binding DoorsActive}"
|
||||
Command="{Binding UpdateDoors_Command}"
|
||||
Grid.Row="2" Grid.Column="2" Height="26"/>
|
||||
<TextBlock Text="{Binding WindowMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="3" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding WindowOn}" IsEnabled="{Binding WindowEnabled}"
|
||||
Grid.Row="3" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding GunstockMsg}" VerticalAlignment="Center"
|
||||
<TextBlock Text="{Binding TrimmingMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="4" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding GunstockOn}" IsEnabled="{Binding GunstockEnabled}"
|
||||
<CheckBox IsChecked="{Binding TrimmingOn}" IsEnabled="{Binding TrimmingEnabled}"
|
||||
Grid.Row="4" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding ReversePostMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="5" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding ReversePostOn}" IsEnabled="{Binding ReversePostEnabled}"
|
||||
Grid.Row="5" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding GunstockMsg}" VerticalAlignment="Center"
|
||||
Grid.Row="6" Grid.Column="0" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding GunstockOn}" IsEnabled="{Binding GunstockEnabled}"
|
||||
Grid.Row="6" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
<TextBlock Text="{Binding SpecialMsg}"
|
||||
Grid.Row="7" Margin="0,5,0,5"/>
|
||||
<CheckBox IsChecked="{Binding SpecialOn}"
|
||||
Grid.Row="7" Grid.Column="1" Margin="4,5,0,5" VerticalAlignment="Center"/>
|
||||
</Grid>
|
||||
</StackPanel>
|
||||
</TabItem>
|
||||
|
||||
+343
-46
@@ -34,6 +34,13 @@ Public Class OptionWindowVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SceneSurfQualityOptList As ObservableCollection(Of SceneSurfQualityOpt) = New ObservableCollection(Of SceneSurfQualityOpt)({SceneSurfQualityOpt.LOWER, SceneSurfQualityOpt.LOW, SceneSurfQualityOpt.STANDARD, SceneSurfQualityOpt.HIGH, SceneSurfQualityOpt.HIGHER})
|
||||
Public ReadOnly Property SceneSurfQualityOptList As ObservableCollection(Of SceneSurfQualityOpt)
|
||||
Get
|
||||
Return m_SceneSurfQualityOptList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_FontList As New ObservableCollection(Of String)
|
||||
Public ReadOnly Property FontList As ObservableCollection(Of String)
|
||||
Get
|
||||
@@ -98,6 +105,18 @@ Public Class OptionWindowVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedSceneSurfQualityOpt As SceneSurfQualityOpt
|
||||
Get
|
||||
Return OptionModule.m_ShowSurfQuality
|
||||
End Get
|
||||
Set(value As SceneSurfQualityOpt)
|
||||
If WritePrivateProfileString(S_SCENE, K_SHOWSURFQUALITY, CInt(value).ToString()) Then
|
||||
OptionModule.m_ShowSurfQuality = value
|
||||
OptionModule.SetShowSurfQuality( true)
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedMillingGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelGeomMilling
|
||||
@@ -158,8 +177,7 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedGenGeomType As SceneSelModeOpt
|
||||
Public Property SelectedGenGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelGeomGenMachining
|
||||
End Get
|
||||
@@ -169,8 +187,7 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedSurfRoughGeomType As SceneSelModeOpt
|
||||
Public Property SelectedSurfRoughGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelGeomSurfRoughing
|
||||
End Get
|
||||
@@ -180,7 +197,6 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedSurfFinishGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelGeomSurfFinishing
|
||||
@@ -202,7 +218,6 @@ Public Class OptionWindowVM
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Public Property SelectedFiveAxGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelGeomFiveAxMilling
|
||||
@@ -213,14 +228,24 @@ Public Class OptionWindowVM
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedVMillTypeType As VMillSelTypeOpt
|
||||
Public Property SelectedProbingGeomType As SceneSelModeOpt
|
||||
Get
|
||||
Return OptionModule.m_SelVMillQuality
|
||||
Return OptionModule.m_SelGeomProbing
|
||||
End Get
|
||||
Set(value As SceneSelModeOpt)
|
||||
If WritePrivateProfileString(S_MACH, K_SELGEOMPROBING, CInt(value).ToString()) Then
|
||||
OptionModule.m_SelGeomProbing = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SelectedVMillQualityType As VMillSelTypeOpt
|
||||
Get
|
||||
Return OptionModule.m_VMillQuality
|
||||
End Get
|
||||
Set(value As VMillSelTypeOpt)
|
||||
If WritePrivateProfileString(S_MACH, K_SELVMILLQUALITY, CInt(value).ToString()) Then
|
||||
OptionModule.m_SelVMillQuality = value
|
||||
If WritePrivateProfileString(S_MACH, K_VMILLQUALITY, CInt(value).ToString()) Then
|
||||
OptionModule.m_VMillQuality = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
@@ -301,19 +326,10 @@ Public Class OptionWindowVM
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bThickLine = value
|
||||
WritePrivateProfileString(S_SCENE, K_LINEWIDTH, If(value, "2", "1"))
|
||||
EgtSetLineAttribs(If(value, 2, 1))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property SmoothTriMesh As Boolean
|
||||
Get
|
||||
Return OptionModule.m_bSmoothTriMesh
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bSmoothTriMesh = value
|
||||
WritePrivateProfileString(S_SCENE, K_SHOWTRIAADV, If(value, "1", "0"))
|
||||
EgtSetShowTriaAdv(value)
|
||||
Dim nThickLine As Integer = OptionModule.GetLineWidth()
|
||||
WritePrivateProfileString(S_SCENE, K_LINEWIDTH, nThickLine.ToString())
|
||||
EgtSetLineAttribs(nThickLine)
|
||||
EgtDraw()
|
||||
End Set
|
||||
End Property
|
||||
|
||||
@@ -323,13 +339,68 @@ Public Class OptionWindowVM
|
||||
End Get
|
||||
Set(value As String)
|
||||
OptionModule.m_sFontText = value
|
||||
Dim sNfeDir As String = String.Empty
|
||||
GetPrivateProfileString(S_GEOMDB, K_NFEFONTDIR, "", sNfeDir)
|
||||
EgtSetFont(sNfeDir, OptionModule.m_sFontText)
|
||||
EgtSetFont("", OptionModule.m_sFontText)
|
||||
WritePrivateProfileString(S_GEOMDB, K_DEFAULTFONT, OptionModule.m_sFontText)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property ShowZmapSurf As Boolean
|
||||
Get
|
||||
Return (( OptionModule.m_nShowZmapType And 1) <> 0)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value Then
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType Or 1)
|
||||
Else
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType And Not 1)
|
||||
End If
|
||||
WritePrivateProfileString(S_SCENE, K_SHOWZMAP, OptionModule.m_nShowZmapType.ToString())
|
||||
EgtSetShowZmap( OptionModule.m_nShowZmapType, True)
|
||||
End Set
|
||||
End Property
|
||||
Public Property ShowZmapLines As Boolean
|
||||
Get
|
||||
Return (( OptionModule.m_nShowZmapType And 2) <> 0)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value Then
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType Or 2)
|
||||
Else
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType And Not 2)
|
||||
End If
|
||||
WritePrivateProfileString(S_SCENE, K_SHOWZMAP, OptionModule.m_nShowZmapType.ToString())
|
||||
EgtSetShowZmap( OptionModule.m_nShowZmapType, True)
|
||||
End Set
|
||||
End Property
|
||||
Public Property ShowZmapNormals As Boolean
|
||||
Get
|
||||
Return (( OptionModule.m_nShowZmapType And 4) <> 0)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value Then
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType Or 4)
|
||||
Else
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType And Not 4)
|
||||
End If
|
||||
WritePrivateProfileString(S_SCENE, K_SHOWZMAP, OptionModule.m_nShowZmapType.ToString())
|
||||
EgtSetShowZmap( OptionModule.m_nShowZmapType, True)
|
||||
End Set
|
||||
End Property
|
||||
Public Property ShowZmapBiColor As Boolean
|
||||
Get
|
||||
Return (( OptionModule.m_nShowZmapType And 8) <> 0)
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
If value Then
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType Or 8)
|
||||
Else
|
||||
OptionModule.m_nShowZmapType = ( OptionModule.m_nShowZmapType And Not 8)
|
||||
End If
|
||||
WritePrivateProfileString(S_SCENE, K_SHOWZMAP, OptionModule.m_nShowZmapType.ToString())
|
||||
EgtSetShowZmap( OptionModule.m_nShowZmapType, True)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property DxfScaleFactor As String
|
||||
Get
|
||||
Return LenToString(OptionModule.m_dDxfScaleFactor, 5)
|
||||
@@ -787,6 +858,11 @@ Public Class OptionWindowVM
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.DOORS) <> 0
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property DoorsActive As Boolean
|
||||
Get
|
||||
Return IniFile.IsActiveDoors()
|
||||
End Get
|
||||
End Property
|
||||
Public Property DoorsOn As Boolean
|
||||
Get
|
||||
Return DoorsEnabled AndAlso OptionModule.m_bDoorsOn
|
||||
@@ -797,6 +873,51 @@ Public Class OptionWindowVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property WindowEnabled As Boolean
|
||||
Get
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.WINDOW) <> 0
|
||||
End Get
|
||||
End Property
|
||||
Public Property WindowOn As Boolean
|
||||
Get
|
||||
Return OptionModule.m_bWindowOn
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bWindowOn = value
|
||||
WritePrivateProfileString(S_WINDOW, K_WINDOWENABLE, If(value, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property TrimmingEnabled As Boolean
|
||||
Get
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.TRIMMING) <> 0
|
||||
End Get
|
||||
End Property
|
||||
Public Property TrimmingOn As Boolean
|
||||
Get
|
||||
Return OptionModule.m_bTrimmingOn
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bTrimmingOn = value
|
||||
WritePrivateProfileString(S_TRIMMING, K_TRIMMINGENABLE, If(value, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ReversePostEnabled As Boolean
|
||||
Get
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.REVERSEPOST) <> 0
|
||||
End Get
|
||||
End Property
|
||||
Public Property ReversePostOn As Boolean
|
||||
Get
|
||||
Return OptionModule.m_bReversePostOn
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
OptionModule.m_bReversePostOn = value
|
||||
WritePrivateProfileString(S_REVERSEPOST, K_REVERSEPOSTENABLE, If(value, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property GunstockEnabled As Boolean
|
||||
Get
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.GUNSTOCK) <> 0
|
||||
@@ -824,6 +945,7 @@ Public Class OptionWindowVM
|
||||
Private m_cmdExportMachineCmd As ICommand
|
||||
Private m_cmdUpdateBeamCmd As ICommand
|
||||
Private m_cmdUpdateWallCmd As ICommand
|
||||
Private m_cmdUpdateDoorsCmd As ICommand
|
||||
|
||||
#Region "Messages"
|
||||
|
||||
@@ -869,9 +991,9 @@ Public Class OptionWindowVM
|
||||
Return EgtMsg(6536) ' Linee spesse
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property SmoothTriMeshMsg As String
|
||||
Public ReadOnly Property SceneSurfQualityMsg As String
|
||||
Get
|
||||
Return EgtMsg(6518) ' Superfici smussate
|
||||
Return EgtMsg(6518) ' Qualità visualizzazione superfici
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property UpdateLicenceMsg As String
|
||||
@@ -1085,7 +1207,22 @@ Public Class OptionWindowVM
|
||||
End Property
|
||||
Public ReadOnly Property DoorsMsg As String
|
||||
Get
|
||||
Return "Doors"
|
||||
Return "Doors (" & Path.GetFileName( IniFile.m_sDoorsDirPath) & ")"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property WindowMsg As String
|
||||
Get
|
||||
Return "Window"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property TrimmingMsg As String
|
||||
Get
|
||||
Return "Trimming"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ReversePostMsg As String
|
||||
Get
|
||||
Return "ReversePost"
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property GunstockMsg As String
|
||||
@@ -1128,6 +1265,12 @@ Public Class OptionWindowVM
|
||||
Return EgtMsg(31212)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property GeomTypeProbingMsg As String
|
||||
Get
|
||||
Return EgtMsg(31220)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property VMillQualityMsg As String
|
||||
Get
|
||||
@@ -1138,6 +1281,17 @@ Public Class OptionWindowVM
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "Visibility"
|
||||
|
||||
Public ReadOnly Property ShowZmapVisibility As Visibility
|
||||
Get
|
||||
Return If( (IniFile.m_nUserLevel > 5), Visibility.Visible, Visibility.Collapsed)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "TopSceneBackground"
|
||||
@@ -1349,10 +1503,18 @@ Public Class OptionWindowVM
|
||||
Dim sMachDir As String = Path.Combine(IniFile.m_sMachinesRoot, sMachName)
|
||||
' Preparo direttorio temporaneo
|
||||
Dim sTempDir As String = Path.Combine(IniFile.m_sMachinesRoot, "Temp")
|
||||
If My.Computer.FileSystem.DirectoryExists(sTempDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CreateDirectory(sTempDir)
|
||||
Try
|
||||
If My.Computer.FileSystem.DirectoryExists(sTempDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CreateDirectory(sTempDir)
|
||||
Catch
|
||||
' Problemi di accesso al direttorio delle macchine
|
||||
Dim sErr As String = EgtMsg(6564)
|
||||
EgtOutLog(sErr & " (" & sTempDir & ")")
|
||||
MessageBox.Show(sErr, EgtMsg(MSG_MESSAGEBOX + 3), MessageBoxButton.OK)
|
||||
Return
|
||||
End Try
|
||||
' Unzip nel direttorio temporaneo
|
||||
Using zip As New Ionic.Zip.ZipFile(sMachZip)
|
||||
zip.ExtractAll(sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite)
|
||||
@@ -1753,6 +1915,116 @@ Public Class OptionWindowVM
|
||||
|
||||
#End Region ' UpdateWall
|
||||
|
||||
|
||||
#Region "UpdateDoors"
|
||||
Public ReadOnly Property UpdateDoors_Command() As ICommand
|
||||
Get
|
||||
If m_cmdUpdateDoorsCmd Is Nothing Then
|
||||
m_cmdUpdateDoorsCmd = New RelayCommand(AddressOf UpdateDoorsCmd)
|
||||
End If
|
||||
Return m_cmdUpdateDoorsCmd
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub UpdateDoorsCmd()
|
||||
' Recupero la versione del programma in esecuzione
|
||||
Dim sExeVer As String = IniFile.GetProgramVersion()
|
||||
' Verifico presenza di una precedente installazione del Doors (file Version.lua oppure Main.lua)
|
||||
Dim sDoorsVer As String = ""
|
||||
IniFile.GetSpecialLuaVersion(IniFile.m_sDoorsDirPath, sDoorsVer)
|
||||
If String.IsNullOrEmpty(sDoorsVer) Then
|
||||
If My.Computer.FileSystem.FileExists(Path.Combine(IniFile.m_sDoorsDirPath, "Main.lua")) AndAlso
|
||||
My.Computer.FileSystem.FileExists(Path.Combine(IniFile.m_sDoorsDirPath, "Machining.lua")) Then
|
||||
sDoorsVer = "2.6l9"
|
||||
Else
|
||||
' Il modulo "{0}" non è stato trovato, impossibile aggiornare. - Avviso
|
||||
Dim sOut As String = String.Format(EgtMsg(6555), "Doors")
|
||||
MessageBox.Show(Application.Current.MainWindow, sOut, EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
' Esco
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' Apro dialogo per richiesta file zip del Doors
|
||||
Dim DoorsDlg As New Microsoft.Win32.OpenFileDialog() With {
|
||||
.DefaultExt = ".zip",
|
||||
.Filter = "Doors (.zip)|*.zip",
|
||||
.CheckFileExists = True,
|
||||
.ValidateNames = True
|
||||
}
|
||||
If DoorsDlg.ShowDialog() <> True Then Return
|
||||
Dim sDoorsZip As String = DoorsDlg.FileName
|
||||
' Preparo direttorio temporaneo
|
||||
Dim sTempDir As String = Path.Combine(IniFile.m_sTempDir, "Doors")
|
||||
If My.Computer.FileSystem.DirectoryExists(sTempDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
My.Computer.FileSystem.CreateDirectory(sTempDir)
|
||||
' Unzip nel direttorio temporaneo
|
||||
Using zip As New Ionic.Zip.ZipFile(sDoorsZip)
|
||||
zip.ExtractAll(sTempDir, Ionic.Zip.ExtractExistingFileAction.DoNotOverwrite)
|
||||
End Using
|
||||
' Recupero i dati del nuovo Doors
|
||||
Dim sNewName = ""
|
||||
Dim sNewVer = ""
|
||||
Dim sNewMinExe = ""
|
||||
IniFile.GetSpecialLuaData(sTempDir, sNewName, sNewVer, sNewMinExe)
|
||||
' Verifico che sia veramente il Doors
|
||||
If String.Compare(sNewName, "Doors") <> 0 Then
|
||||
' Il file zip non contiene il modulo "{0}". - Avviso
|
||||
Dim sOut As String = String.Format(EgtMsg(6556), "Doors")
|
||||
MessageBox.Show(Application.Current.MainWindow, sOut, EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End If
|
||||
' Verifico la versione minima del programma
|
||||
If String.Compare(sExeVer, sNewMinExe) < 0 Then
|
||||
' Il nuovo modulo "{0}" richiede un programma con versione minima {1}. - Avviso
|
||||
Dim sOut As String = String.Format(EgtMsg(6557), "Doors", sNewMinExe)
|
||||
MessageBox.Show(Application.Current.MainWindow, sOut, EgtMsg(15002), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End If
|
||||
' Verifico la versione del Doors e se più vecchia chiedo cosa fare
|
||||
If String.Compare(sNewVer, sDoorsVer) < 0 Then
|
||||
' La versione del nuovo modulo "{0}" è più vecchia dell'attuale. Vuoi sovrascrivere lo stesso ?
|
||||
Dim sOut As String = String.Format(EgtMsg(6558), "Doors")
|
||||
If MessageBox.Show(Application.Current.MainWindow, sOut, EgtMsg(15003), MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.No Then
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End If
|
||||
End If
|
||||
' Faccio una copia di backup del Doors corrente
|
||||
Dim sBackupDir As String = IniFile.m_sDoorsDirPath & ".old"
|
||||
If My.Computer.FileSystem.DirectoryExists(sBackupDir) Then
|
||||
My.Computer.FileSystem.DeleteDirectory(sBackupDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
End If
|
||||
Try
|
||||
My.Computer.FileSystem.CopyDirectory(IniFile.m_sDoorsDirPath, sBackupDir, True)
|
||||
Catch ex As Exception
|
||||
' L'aggiornamento del modulo "{0}" non è riuscito. - Errore
|
||||
Dim sOut As String = String.Format(EgtMsg(6559), "Doors")
|
||||
EgtOutLog(sOut)
|
||||
MessageBox.Show(Application.Current.MainWindow, sOut, EgtMsg(15001), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' Rimuovo il direttorio temporaneo ed esco
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
Return
|
||||
End Try
|
||||
' Installo il Doors
|
||||
My.Computer.FileSystem.CopyDirectory(sTempDir, IniFile.m_sDoorsDirPath, True)
|
||||
' Rimuovo il direttorio temporaneo di installazione
|
||||
My.Computer.FileSystem.DeleteDirectory(sTempDir, FileIO.DeleteDirectoryOption.DeleteAllContents)
|
||||
' Il modulo "{0}" è stata aggiornato con successo. - Info
|
||||
Dim sOk As String = String.Format(EgtMsg(6560), "Doors")
|
||||
EgtOutLog(sOk)
|
||||
MessageBox.Show(Application.Current.MainWindow, sOk, EgtMsg(15003), MessageBoxButton.OK)
|
||||
End Sub
|
||||
|
||||
#End Region ' UpdateDoors
|
||||
|
||||
|
||||
#Region "CloseOptionsCommand"
|
||||
|
||||
''' <summary>
|
||||
@@ -1837,21 +2109,21 @@ Public Class GeomTypeConverter
|
||||
|
||||
End Class
|
||||
|
||||
Public Class VMillTypeConverter
|
||||
Public Class SceneSurfQualityOptConverter
|
||||
Implements IValueConverter
|
||||
|
||||
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
|
||||
Select Case CInt(value)
|
||||
Case VMillSelTypeOpt.LOWER
|
||||
Return EgtMsg(31215)
|
||||
Case VMillSelTypeOpt.LOW
|
||||
Return EgtMsg(31216)
|
||||
Case VMillSelTypeOpt.STANDARD
|
||||
Return EgtMsg(31217)
|
||||
Case VMillSelTypeOpt.HIGH
|
||||
Return EgtMsg(31218)
|
||||
Case VMillSelTypeOpt.HIGHER
|
||||
Return EgtMsg(31219)
|
||||
Case SceneSurfQualityOpt.LOWER
|
||||
Return EgtMsg(31215) ' Inferiore
|
||||
Case SceneSurfQualityOpt.LOW
|
||||
Return EgtMsg(31216) ' Bassa
|
||||
Case SceneSurfQualityOpt.STANDARD
|
||||
Return EgtMsg(31217) ' Media
|
||||
Case SceneSurfQualityOpt.HIGH
|
||||
Return EgtMsg(31218) ' Alta
|
||||
Case SceneSurfQualityOpt.HIGHER
|
||||
Return EgtMsg(31219) ' Superiore
|
||||
Case Else
|
||||
Return ""
|
||||
End Select
|
||||
@@ -1860,4 +2132,29 @@ Public Class VMillTypeConverter
|
||||
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
|
||||
Throw New NotImplementedException()
|
||||
End Function
|
||||
End Class
|
||||
End Class
|
||||
|
||||
Public Class VMillTypeConverter
|
||||
Implements IValueConverter
|
||||
|
||||
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
|
||||
Select Case CInt(value)
|
||||
Case VMillSelTypeOpt.LOWER
|
||||
Return EgtMsg(31215) ' Inferiore
|
||||
Case VMillSelTypeOpt.LOW
|
||||
Return EgtMsg(31216) ' Bassa
|
||||
Case VMillSelTypeOpt.STANDARD
|
||||
Return EgtMsg(31217) ' Media
|
||||
Case VMillSelTypeOpt.HIGH
|
||||
Return EgtMsg(31218) ' Alta
|
||||
Case VMillSelTypeOpt.HIGHER
|
||||
Return EgtMsg(31219) ' Superiore
|
||||
Case Else
|
||||
Return ""
|
||||
End Select
|
||||
End Function
|
||||
|
||||
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
|
||||
Throw New NotImplementedException()
|
||||
End Function
|
||||
End Class
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<UserControl x:Class="PopUpGridPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<StackPanel Background="Transparent" Orientation="Horizontal">
|
||||
<Button Command="{Binding CPlaneViewCommand}" ToolTip="{Binding CPlaneViewToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<StackPanel Background="#93D5F4" Orientation="Horizontal">
|
||||
<Button Command="{Binding CPlaneViewCommand}" ToolTip="{Binding CPlaneViewToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="3,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneView.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding CPlaneInvertCommand}" ToolTip="{Binding CPlaneInvertToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<Button Command="{Binding CPlaneInvertCommand}" ToolTip="{Binding CPlaneInvertToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneInvert.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding CPlaneRotateCommand}" ToolTip="{Binding CPlaneRotateToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<Button Command="{Binding CPlaneRotateCommand}" ToolTip="{Binding CPlaneRotateToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneROTATE.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding CPlane3PCommand}" ToolTip="{Binding CPlane3PointsToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<Button Command="{Binding CPlane3PCommand}" ToolTip="{Binding CPlane3PointsToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/Cplane3POINTS.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding CPlanePerpObjCommand}" ToolTip="{Binding CPlanePerpCurveToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<Button Command="{Binding CPlanePerpObjCommand}" ToolTip="{Binding CPlanePerpCurveToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplanePERPCURVE.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button Command="{Binding CPlaneObjCommand}" ToolTip="{Binding CPlaneObjectToolTip}" Style="{StaticResource GridViewPanelButton}">
|
||||
<Button Command="{Binding CPlaneObjCommand}" ToolTip="{Binding CPlaneObjectToolTip}" Style="{StaticResource GridViewPanelButton}" Margin="1,3,3,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneOBJECT.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
<UserControl x:Class="PopUpViewPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||
|
||||
<StackPanel Background="Transparent" Orientation="Horizontal">
|
||||
<Button ToolTip="{Binding ZoomInToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomInCommand}">
|
||||
<StackPanel Background="#93D5F4" Orientation="Horizontal">
|
||||
<Button ToolTip="{Binding ZoomInToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomInCommand}" Margin="3,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/ZoomIn.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding ZoomOutToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomOutCommand}">
|
||||
<Button ToolTip="{Binding ZoomOutToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomOutCommand}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/ZoomOut.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding ZoomSelToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomSelCommand}">
|
||||
<Button ToolTip="{Binding ZoomSelToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ZoomSelCommand}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/ZoomSel.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding LookFromIso_NEToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNECommand}">
|
||||
<Button ToolTip="{Binding LookFromIso_NEToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNECommand}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/LookFromISO_NE.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding LookFromIso_NWToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNWCommand}">
|
||||
<Button ToolTip="{Binding LookFromIso_NWToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding IsoViewNWCommand}" Margin="1,3,1,3">
|
||||
<Image Source="/Resources/GridViewPanel/LookFromISO_NW.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
<Button ToolTip="{Binding ViewToCPlaneToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ViewToCPlaneCommand}">
|
||||
<Button ToolTip="{Binding ViewToCPlaneToolTip}" Style="{StaticResource GridViewPanelButton}" Command="{Binding ViewToCPlaneCommand}" Margin="1,3,3,3">
|
||||
<Image Source="/Resources/GridViewPanel/CplaneView.png" Stretch="Uniform"/>
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
@@ -11,13 +11,6 @@ Public Class ProjectV
|
||||
Private Sub UserControl_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefProjectV(Me)
|
||||
'SpecialPanel.Visibility = Visibility.Collapsed
|
||||
'BeamPanel.Visibility = Visibility.Collapsed
|
||||
'WallPanel.Visibility = Visibility.Collapsed
|
||||
'DoorsPanel.Visibility = Visibility.Collapsed
|
||||
'GunStockPanel.Visibility = Visibility.Collapsed
|
||||
'PrintingPanel.Visibility = Visibility.Collapsed
|
||||
' Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(False) ' MachGroupPanel.Visibility = Visibility.Collapsed
|
||||
End Sub
|
||||
|
||||
Private Sub UserControl_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||
|
||||
+35
-38
@@ -294,19 +294,9 @@ Public Class ProjectVM
|
||||
|
||||
Private Sub PreInitializeScene()
|
||||
' imposto colore di default
|
||||
Dim DefColor As New Color3d(0, 0, 0)
|
||||
GetPrivateProfileColor(S_GEOMDB, K_DEFAULTCOLOR, DefColor)
|
||||
m_ProjectScene.SetDefaultMaterial(DefColor)
|
||||
m_ProjectScene.SetDefaultMaterial(OptionModule.m_DefMaterialColor)
|
||||
' imposto colori sfondo
|
||||
Dim BackTopColor As New Color3d(192, 192, 192)
|
||||
GetPrivateProfileColor(S_SCENE, K_BACKTOP, BackTopColor)
|
||||
Dim BackBotColor As New Color3d(BackTopColor)
|
||||
GetPrivateProfileColor(S_SCENE, K_BACKBOTTOM, BackBotColor)
|
||||
m_ProjectScene.SetViewBackground(BackTopColor, BackBotColor)
|
||||
' imposto spessore linee
|
||||
Dim nLineWidth As Integer = 1
|
||||
nLineWidth = GetPrivateProfileInt(S_SCENE, K_LINEWIDTH, nLineWidth)
|
||||
m_ProjectScene.SetLineWidth(nLineWidth)
|
||||
m_ProjectScene.SetViewBackground(OptionModule.m_TopSceneBackground, OptionModule.m_BotSceneBackground)
|
||||
' imposto colori di evidenziazione
|
||||
Dim MarkColor As New Color3d(255, 255, 0)
|
||||
GetPrivateProfileColor(S_SCENE, K_MARK, MarkColor)
|
||||
@@ -370,27 +360,21 @@ Public Class ProjectVM
|
||||
' modo di visualizzazione
|
||||
Dim nShowMode As Integer = GetPrivateProfileInt(S_SCENE, K_SHOWMODE, SM.SHADING)
|
||||
Map.refShowPanelVM.ShowModeState(nShowMode)
|
||||
' imposto spessore curve
|
||||
EgtSetLineAttribs(OptionModule.GetLineWidth())
|
||||
' visualizzazione direzione curve
|
||||
Dim nShowCurveDir As Integer = GetPrivateProfileInt(S_SCENE, K_CURVEDIR, 0)
|
||||
Map.refShowPanelVM.ShowCurveDir(nShowCurveDir)
|
||||
' visualizzazione avanzata dei triangoli costituenti le superfici
|
||||
Dim bShowTriaAdv As Boolean = (GetPrivateProfileInt(S_SCENE, K_SHOWTRIAADV, 1) <> 0)
|
||||
EgtSetShowTriaAdv(bShowTriaAdv)
|
||||
' qualità di visualizzazione delle superfici
|
||||
OptionModule.SetShowSurfQuality( False)
|
||||
' tipo visualizzazione per Zmap
|
||||
Dim nShowZmap As Integer = GetPrivateProfileInt(S_SCENE, K_SHOWZMAP, 1)
|
||||
EgtSetShowZmap(nShowZmap, False)
|
||||
EgtSetShowZmap( OptionModule.m_nShowZmapType, False)
|
||||
' dimensione lineare max in pixel delle textures
|
||||
Dim nTxrMaxLinPix As Integer = GetPrivateProfileInt(S_SCENE, K_TEXMAXLINPIX, 4096)
|
||||
EgtSetTextureMaxLinPixels(nTxrMaxLinPix)
|
||||
' stile corrente delle quotature
|
||||
OptionModule.m_dExtLineLen = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_EXTLINELEN, 5)
|
||||
OptionModule.m_dArrowLen = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_ARROWLEN, 5)
|
||||
OptionModule.m_dTextDist = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_TEXTDIST, 2)
|
||||
OptionModule.m_nLenIsMM = GetPrivateProfileInt(S_DIMENSIONSTYLE, K_LENISMM, 2)
|
||||
OptionModule.m_nDecDigit = GetPrivateProfileInt(S_DIMENSIONSTYLE, K_DECDIGIT, -2)
|
||||
OptionModule.m_sFont = "" : GetPrivateProfileStringUtf8(S_DIMENSIONSTYLE, K_DIMFONT, "ModernPropS.Nfe", m_sFont)
|
||||
OptionModule.m_dTextHeight = GetPrivateProfileDouble(S_DIMENSIONSTYLE, K_TEXTHEIGHT, 2)
|
||||
EgtSetCurrDimensionStyle(m_dExtLineLen, m_dArrowLen, m_dTextDist, m_nLenIsMM, m_nDecDigit, m_sFont, m_dTextHeight)
|
||||
EgtSetCurrDimensionStyle(OptionModule.m_dExtLineLen, OptionModule.m_dArrowLen, OptionModule.m_dTextDist,
|
||||
OptionModule.m_nLenIsMM, OptionModule.m_nDecDigit, OptionModule.m_sFont, OptionModule.m_dTextHeight)
|
||||
' lettura da ini della variabile che abilita i gruppi di lavorazione
|
||||
IniFile.m_bMachiningGroup = (GetPrivateProfileInt(S_MACH, K_MACHININGGROUP, 0) <> 0)
|
||||
Map.refTopCommandBarVM.DrawMode_IsChecked()
|
||||
@@ -433,7 +417,7 @@ Public Class ProjectVM
|
||||
Dim nFlag As Integer = 1
|
||||
If Environment.GetCommandLineArgs.Count() > 4 Then Integer.TryParse(Environment.GetCommandLineArgs(4), nFlag)
|
||||
' Modalità cieco con valori 0, 3 e 4
|
||||
Return (nFlag <> 0 And nFlag <> 3 And nFlag <> 4)
|
||||
Return (nFlag <> 0 And nFlag <> 3 And nFlag <> 4 And nFlag <> 8)
|
||||
End If
|
||||
If sExt = ".ddf" And Environment.GetCommandLineArgs.Count() > 2 Then
|
||||
' Flag
|
||||
@@ -597,7 +581,7 @@ Public Class ProjectVM
|
||||
bOk = ExecWall(sFile, sMachine, nFlag, False)
|
||||
End If
|
||||
' Se richiesta uscita immediata
|
||||
If nFlag = 0 Or nFlag = 3 Or nFlag = 4 Then
|
||||
If nFlag = 0 Or nFlag = 3 Or nFlag = 4 Or nFlag = 8 Then
|
||||
Map.refMachinePanelVM.SaveCurrentMachine()
|
||||
Map.refMainWindowVM.CloseApplicationCmd()
|
||||
' Altrimenti se errore
|
||||
@@ -1326,20 +1310,24 @@ Public Class ProjectVM
|
||||
ElseIf IniFile.m_ProjectMode = ProjectModeOpt.MACHINING And m_SceneSelType = SceneSelTypeOpt.MACHINING And
|
||||
(EgtGetType(nId) = GDB_TY.SRF_MESH Or EgtGetType(nId) = GDB_TY.SRF_FRGN) Then
|
||||
If Not EgtIsSelectedObj(nId) Then m_Controller.MouseSelectedObj(nId, bLast)
|
||||
ElseIf Not Keyboard.IsKeyDown(Key.LeftShift) Then
|
||||
m_Controller.MouseSelectedObj(nId, False)
|
||||
If EgtIsSelectedObj(nId) Then
|
||||
' Selezione layer in albero
|
||||
Map.refManageLayerExpanderVM.UpdateObjInObjTreeNoMark(nId)
|
||||
Map.refManageLayerExpanderVM.SelectIdInObjTreeNoMark(nId)
|
||||
Map.refManageLayerExpanderVM.UpdateObjTree()
|
||||
End If
|
||||
EgtDraw()
|
||||
Else
|
||||
m_Controller.MouseSelectedObj(nId, bLast)
|
||||
m_Controller.MouseSelectedObj(nId, False)
|
||||
If bLast Then
|
||||
If EgtIsSelectedObj(nId) Then
|
||||
' Selezione layer in albero
|
||||
Map.refManageLayerExpanderVM.UpdateObjInObjTreeNoMark(nId)
|
||||
Map.refManageLayerExpanderVM.SelectIdInObjTreeNoMark(nId)
|
||||
Map.refManageLayerExpanderVM.UpdateObjTree()
|
||||
End If
|
||||
EgtDraw()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedColor(ByVal sender As Object, ByVal nId As Integer) Handles m_ProjectScene.OnMouseSelectedColor
|
||||
m_Controller.MouseSelectedColor(nId)
|
||||
End Sub
|
||||
|
||||
Private Sub OnMouseSelectedPart(ByVal sender As Object, ByVal nId As Integer) Handles m_ProjectScene.OnMouseSelectedPart
|
||||
m_Controller.MouseSelectedPart(nId)
|
||||
End Sub
|
||||
@@ -1409,6 +1397,11 @@ Public Class ProjectVM
|
||||
Analyze.CreateAnalyzeGroup()
|
||||
Analyze.CreateFacetNormal(nId, nFac)
|
||||
Analyze.CreateFacetLoops(nId, nFac)
|
||||
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
Analyze.CreateTriaLoop(nId, nSub)
|
||||
End If
|
||||
|
||||
' Recupero i dati (in globale o griglia a seconda della impostazione)
|
||||
Dim ptC As Point3d
|
||||
Dim vtN As Vector3d
|
||||
@@ -1420,6 +1413,10 @@ Public Class ProjectVM
|
||||
" : C(" + LenToString(ptC.x, 3) + "," + LenToString(ptC.y, 3) + "," + LenToString(ptC.z, 3) + ")" +
|
||||
" N(" + DoubleToString(vtN.x, 4) + "," + DoubleToString(vtN.y, 4) + "," + DoubleToString(vtN.z, 4) + ")" +
|
||||
" / φ=" + DoubleToString(dPhi, 2) + " θ=" + DoubleToString(dTheta, 2)
|
||||
|
||||
If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift Then
|
||||
sOut &= ", Triangle " + nSub.ToString()
|
||||
End If
|
||||
Map.refStatusBarVM.NotifyStatusOutput(sOut)
|
||||
End If
|
||||
' Se Regione, visualizzo dati parte toccata
|
||||
@@ -1564,7 +1561,7 @@ Public Class ProjectVM
|
||||
nFlag = GetPrivateProfileInt(S_IMPORT, K_CNCFLAG, EIC_FL.NONE)
|
||||
ElseIf nType = FT.BTL Or nType = FT.BTLX Then
|
||||
nFlag = GetPrivateProfileInt(S_IMPORT, K_BTLFLAG, EIB_FL.NONE)
|
||||
ElseIf nType = FT._3MF
|
||||
ElseIf nType = FT._3MF Then
|
||||
nFlag = GetPrivateProfileInt(S_IMPORT, K_3MFFLAG, EI3_FL.NONE)
|
||||
ElseIf nType = FT.OBJ Or nType = FT.IGES Or nType = FT.STEP_ Or nType = FT.ACIS Or
|
||||
nType = FT.PARASOLID Or nType = FT.JT Or nType = FT.VRML Or nType = FT.C3D Then
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 665 B |
Binary file not shown.
|
After Width: | Height: | Size: 809 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
@@ -11,7 +11,7 @@
|
||||
m_SetUpDbVM = SetUpDbVM
|
||||
End Sub
|
||||
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpDbVM.m_CloseWindow
|
||||
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_SetUpDbVM.OnCloseWindow
|
||||
Me.DialogResult = bDialogResult
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Public Class SetUpDbVM
|
||||
|
||||
Private Const SETUP_FILEEXTENSION As String = ".stu"
|
||||
|
||||
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||
Friend Event OnCloseWindow(bDialogResult As Boolean)
|
||||
|
||||
Private m_SetUpList As New ObservableCollection(Of String)
|
||||
Public ReadOnly Property SetUpList As ObservableCollection(Of String)
|
||||
@@ -263,7 +263,7 @@ Public Class SetUpDbVM
|
||||
Return
|
||||
End Select
|
||||
End If
|
||||
RaiseEvent m_CloseWindow(True)
|
||||
RaiseEvent OnCloseWindow(True)
|
||||
End Sub
|
||||
|
||||
#End Region ' Close
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="BeamPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding BeamPanel_Visibility}">
|
||||
|
||||
@@ -10,13 +11,18 @@
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
|
||||
@@ -1,14 +1,11 @@
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class BeamPanelVM
|
||||
Public Class BeamPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Friend Const BEAM_PROCESS As String = "Beam\Process.lua"
|
||||
Friend Const BEAM_MACHININGS As String = "BeamMachinings"
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonItem)
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
@@ -32,7 +29,7 @@ Public Class BeamPanelVM
|
||||
If IniFile.IsActiveBeam() Then
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonItem = Nothing
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_BEAM, K_BEAMBUTTON & BtnIndex, IniFile.m_sBeamDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="BeamWallPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding BeamWallPanel_Visibility}">
|
||||
|
||||
@@ -10,13 +11,18 @@
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class BeamWallPanelVM
|
||||
Public Class BeamWallPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonItem)
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
@@ -30,7 +27,7 @@ Public Class BeamWallPanelVM
|
||||
GetPrivateProfileString(S_BEAMWALL, K_BEAMWALLBASEDIR, "", m_sBeamWallDirPath)
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonItem = Nothing
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_BEAMWALL, K_BEAMWALLBUTTON & BtnIndex, IniFile.m_sBeamWallDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="WallPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding WallPanel_Visibility}">
|
||||
|
||||
@@ -10,13 +11,18 @@
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
Imports System.IO
|
||||
Imports EgtUILib
|
||||
|
||||
Public Class WallPanelVM
|
||||
Public Class WallPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Friend Const WALL_MACHININGS As String = "WallMachinings"
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonItem)
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
@@ -31,7 +28,7 @@ Public Class WallPanelVM
|
||||
If IniFile.IsActiveWall() Then
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonItem = Nothing
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_WALL, K_WALLBUTTON & BtnIndex, IniFile.m_sWallDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
|
||||
@@ -175,7 +175,7 @@ Public Class MTableDbV
|
||||
Public Sub DataGrid_PreviewMouseMove(sender As Object, e As MouseEventArgs)
|
||||
Dim Element As Object = e.OriginalSource
|
||||
While Not IsNothing(Element) AndAlso Not TypeOf Element Is ScrollBar
|
||||
Element = VisualTreeHelper.GetParent(Element)
|
||||
Element = VisualTreeHelper.GetParent(CType(Element, DependencyObject))
|
||||
End While
|
||||
' verifico che non sia ScrollBar, di modo che questa continui a funzionare, ma non possa selezionare piu' righe trascinando
|
||||
If IsNothing(Element) OrElse Not TypeOf Element Is ScrollBar Then
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="ReversePostPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding ReversePostPanel_Visibility}">
|
||||
|
||||
<ItemsControl ItemsSource="{Binding ButtonList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class ReversePostPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,37 @@
|
||||
Public Class ReversePostPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_ReversePostPanel_Visibility As Visibility
|
||||
Public ReadOnly Property ReversePostPanel_Visibility As Visibility
|
||||
Get
|
||||
Return m_ReversePostPanel_Visibility
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetReversePostPanelVisibility(bValue As Boolean)
|
||||
m_ReversePostPanel_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(ReversePostPanel_Visibility))
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefReversePostPanelVM(Me)
|
||||
' Se attivo, inizializzo i bottoni leggendoli da file ini
|
||||
If IniFile.IsActiveReversePost() Then
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_REVERSEPOST, K_REVERSEPOSTBUTTON & BtnIndex, IniFile.m_sReversePostDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
End While
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,28 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="TrimmingPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding TrimmingPanel_Visibility}">
|
||||
|
||||
<ItemsControl ItemsSource="{Binding ButtonList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class TrimmingPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,37 @@
|
||||
Public Class TrimmingPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_TrimmingPanel_Visibility As Visibility
|
||||
Public ReadOnly Property TrimmingPanel_Visibility As Visibility
|
||||
Get
|
||||
Return m_TrimmingPanel_Visibility
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetTrimmingPanelVisibility(bValue As Boolean)
|
||||
m_TrimmingPanel_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(TrimmingPanel_Visibility))
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefTrimmingPanelVM(Me)
|
||||
' Se attivo, inizializzo i bottoni leggendoli da file ini
|
||||
If IniFile.IsActiveTrimming() Then
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_TRIMMING, K_TRIMMINGBUTTON & BtnIndex, IniFile.m_sTrimmingDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
End While
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,28 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="WindowPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding WindowPanel_Visibility}">
|
||||
|
||||
<ItemsControl ItemsSource="{Binding ButtonList}">
|
||||
<ItemsControl.ItemsPanel>
|
||||
<ItemsPanelTemplate>
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
@@ -0,0 +1,3 @@
|
||||
Public Class WindowPanelV
|
||||
|
||||
End Class
|
||||
@@ -0,0 +1,37 @@
|
||||
Public Class WindowPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_WindowPanel_Visibility As Visibility
|
||||
Public ReadOnly Property WindowPanel_Visibility As Visibility
|
||||
Get
|
||||
Return m_WindowPanel_Visibility
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub SetWindowPanelVisibility(bValue As Boolean)
|
||||
m_WindowPanel_Visibility = If(bValue, Visibility.Visible, Visibility.Collapsed)
|
||||
NotifyPropertyChanged(NameOf(WindowPanel_Visibility))
|
||||
End Sub
|
||||
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefWindowPanelVM(Me)
|
||||
' Se attivo, inizializzo i bottoni leggendoli da file ini
|
||||
If IniFile.IsActiveWindow() Then
|
||||
' Inizializzo i bottoni leggendoli da file ini
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
While GetPrivateProfileButton(S_WINDOW, K_WINDOWBUTTON & BtnIndex, IniFile.m_sWindowDirPath, CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
End While
|
||||
End If
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
@@ -1,6 +1,7 @@
|
||||
<EgtFloating:EgtFloatingPanel x:Class="SpecialPanelV"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:local="clr-namespace:EgtCAM5"
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
Visibility="{Binding SpecialPanel_Visibility}">
|
||||
|
||||
@@ -10,14 +11,19 @@
|
||||
<StackPanel Orientation="Horizontal"/>
|
||||
</ItemsPanelTemplate>
|
||||
</ItemsControl.ItemsPanel>
|
||||
<ItemsControl.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<ItemsControl.Resources>
|
||||
<DataTemplate DataType="{x:Type local:ButtonItem}">
|
||||
<Button ToolTip="{Binding ToolTip}" Command="{Binding LuaExecCommand}" Style="{StaticResource DrawPanelButton}"
|
||||
Visibility="{Binding Btn_Visibility}" IsEnabled="{Binding Btn_IsEnabled}">
|
||||
<Image Source="{Binding ImagePath}"/>
|
||||
</Button>
|
||||
</DataTemplate>
|
||||
</ItemsControl.ItemTemplate>
|
||||
<DataTemplate DataType="{x:Type local:SeparatorItem}">
|
||||
<Border Style="{StaticResource Trimming_Border}">
|
||||
<Border Style="{StaticResource Separator_Border}"/>
|
||||
</Border>
|
||||
</DataTemplate>
|
||||
</ItemsControl.Resources>
|
||||
</ItemsControl>
|
||||
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
|
||||
@@ -4,12 +4,17 @@ Imports EgtUILib
|
||||
Public Class SpecialPanelVM
|
||||
Inherits VMBase
|
||||
|
||||
Private m_ButtonList As New List(Of ButtonItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonItem)
|
||||
Private m_ButtonList As New List(Of ButtonListItem)
|
||||
Public ReadOnly Property ButtonList As List(Of ButtonListItem)
|
||||
Get
|
||||
Return m_ButtonList
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ButtonCount As Integer
|
||||
Get
|
||||
Return m_ButtonList.Count()
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_SpecialPanel_Visibility As Visibility
|
||||
Public ReadOnly Property SpecialPanel_Visibility As Visibility
|
||||
@@ -26,13 +31,14 @@ Public Class SpecialPanelVM
|
||||
' Creo riferimento a questa classe in Map
|
||||
Map.SetRefSpecialPanelVM(Me)
|
||||
' se attivo, inizializzo i bottoni leggendoli da file ini
|
||||
If IniFile.IsActiveSpecialPanel Then
|
||||
Dim BtnIndex As Integer = 1
|
||||
Dim CurrBtn As ButtonItem = Nothing
|
||||
While GetPrivateProfileButton(S_SPECIAL, K_BUTTON & BtnIndex, "", CurrBtn)
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
BtnIndex += 1
|
||||
End While
|
||||
If IniFile.IsActiveSpecialPanel(False) Then
|
||||
Dim BtlIndexMax As Integer = If( IniFile.m_nUserLevel > 5, 199, 99)
|
||||
For BtnIndex As Integer = 1 To BtlIndexMax
|
||||
Dim CurrBtn As ButtonListItem = Nothing
|
||||
If GetPrivateProfileButton(S_SPECIAL, K_BUTTON & BtnIndex, "", CurrBtn)Then
|
||||
m_ButtonList.Add(CurrBtn)
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -40,29 +46,35 @@ Public Class SpecialPanelVM
|
||||
|
||||
Public Function SetSpecialPanelButtonsVisibility(IsMachMode As Boolean) As Boolean
|
||||
Dim bSpecialPanel_Visible As Boolean = False
|
||||
For Each BtnItem In m_ButtonList
|
||||
' verifico il valore di nDrawMachOrBoth del bottone e IsMachMode per rendere visibile o meno il bottone in ButtonList
|
||||
Select Case BtnItem.nDrawMachOrBoth
|
||||
Case 0 ' bottone nascosto
|
||||
BtnItem.m_Btn_Visibility = Visibility.Collapsed
|
||||
Case 1 ' bottone visibile solo in Draw
|
||||
BtnItem.m_Btn_Visibility = If(Not IsMachMode, Visibility.Visible, Visibility.Collapsed)
|
||||
Case 2 ' bottone visibile solo in Machining
|
||||
BtnItem.m_Btn_Visibility = If(IsMachMode, Visibility.Visible, Visibility.Collapsed)
|
||||
Case 3 ' bottone visibile sia in Draw che in Machining
|
||||
BtnItem.m_Btn_Visibility = Visibility.Visible
|
||||
End Select
|
||||
' se anche uno solo è visibile anche lo SpecialPanel dovrà esserlo
|
||||
If BtnItem.Btn_Visibility = Visibility.Visible Then bSpecialPanel_Visible = True
|
||||
BtnItem.OnPropertyChanged(NameOf(BtnItem.Btn_Visibility))
|
||||
For Each BtnItemList In m_ButtonList
|
||||
If BtnItemList.Type = ButtonListItem.ButtonListItemTypes.BUTTON Then
|
||||
Dim BtnItem As ButtonItem = DirectCast(BtnItemList, ButtonItem)
|
||||
' verifico il valore di nDrawMachOrBoth del bottone e IsMachMode per rendere visibile o meno il bottone in ButtonList
|
||||
Select Case BtnItem.nDrawMachOrBoth
|
||||
Case 0 ' bottone nascosto
|
||||
BtnItem.m_Btn_Visibility = Visibility.Collapsed
|
||||
Case 1 ' bottone visibile solo in Draw
|
||||
BtnItem.m_Btn_Visibility = If(Not IsMachMode, Visibility.Visible, Visibility.Collapsed)
|
||||
Case 2 ' bottone visibile solo in Machining
|
||||
BtnItem.m_Btn_Visibility = If(IsMachMode, Visibility.Visible, Visibility.Collapsed)
|
||||
Case 3 ' bottone visibile sia in Draw che in Machining
|
||||
BtnItem.m_Btn_Visibility = Visibility.Visible
|
||||
End Select
|
||||
' se anche uno solo è visibile anche lo SpecialPanel dovrà esserlo
|
||||
If BtnItem.Btn_Visibility = Visibility.Visible Then bSpecialPanel_Visible = True
|
||||
BtnItem.NotifyPropertyChanged(NameOf(BtnItem.Btn_Visibility))
|
||||
End If
|
||||
Next
|
||||
Return bSpecialPanel_Visible
|
||||
End Function
|
||||
|
||||
Friend Sub SpecialPanelIsEnabled(SpecialPanelBtn_IsEnabled As Boolean)
|
||||
For Each BtnItem In m_ButtonList
|
||||
BtnItem.m_Btn_IsEnabled = SpecialPanelBtn_IsEnabled
|
||||
BtnItem.OnPropertyChanged(NameOf(BtnItem.Btn_IsEnabled))
|
||||
For Each BtnItemList In m_ButtonList
|
||||
If BtnItemList.Type = ButtonListItem.ButtonListItemTypes.BUTTON Then
|
||||
Dim BtnItem As ButtonItem = DirectCast(BtnItemList, ButtonItem)
|
||||
BtnItem.m_Btn_IsEnabled = SpecialPanelBtn_IsEnabled
|
||||
BtnItem.NotifyPropertyChanged(NameOf(BtnItem.Btn_IsEnabled))
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
@@ -71,7 +83,7 @@ Public Class SpecialPanelVM
|
||||
End Class
|
||||
|
||||
Public Class ButtonItem
|
||||
Inherits ViewModelBase
|
||||
Inherits ButtonListItem
|
||||
|
||||
Friend Shared WithEvents m_ProjectVM As ProjectVM
|
||||
Private Shared m_sCurrBarName As String
|
||||
@@ -84,6 +96,11 @@ Public Class ButtonItem
|
||||
End Get
|
||||
End Property
|
||||
Private m_sLuaCmdPath As String
|
||||
Public ReadOnly Property sLuaCmdPath As String
|
||||
Get
|
||||
Return m_sLuaCmdPath
|
||||
End Get
|
||||
End Property
|
||||
Private m_sToolTip As String
|
||||
Public ReadOnly Property ToolTip As String
|
||||
Get
|
||||
@@ -104,22 +121,26 @@ Public Class ButtonItem
|
||||
End Property
|
||||
|
||||
Friend m_Btn_IsEnabled As Boolean = True
|
||||
Public ReadOnly Property Btn_IsEnabled As Boolean
|
||||
Public Property Btn_IsEnabled As Boolean
|
||||
Get
|
||||
Return m_Btn_IsEnabled
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_Btn_IsEnabled = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' Definizione comandi
|
||||
Private m_cmdLuaExec As ICommand
|
||||
|
||||
Sub New( sBarName As String, sLuaCmdPath As String, sImagePath As String, sToolTip As String, sDrawMachOrBoth As String)
|
||||
Sub New(sBarName As String, sLuaCmdPath As String, sImagePath As String, sToolTip As String, sDrawMachOrBoth As String)
|
||||
MyBase.New(ButtonListItemTypes.BUTTON)
|
||||
m_sBarName = sBarName
|
||||
If File.Exists(sImagePath) Then
|
||||
' per lasciare libere le immagini le copio (potrebbe fallire perchè bloccate da altro eseguibile)
|
||||
Dim sNewPath As String = Path.Combine(IniFile.m_sResourcesRoot, sBarName & "_" & Path.GetFileName( sImagePath))
|
||||
Dim sNewPath As String = Path.Combine(IniFile.m_sResourcesRoot, sBarName & "_" & Path.GetFileName(sImagePath))
|
||||
Try
|
||||
File.Copy( sImagePath, sNewPath, True)
|
||||
File.Copy(sImagePath, sNewPath, True)
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
m_sImagePath = sNewPath
|
||||
@@ -156,16 +177,16 @@ Public Class ButtonItem
|
||||
If m_sLuaCmdPath = BeamPanelVM.BEAM_MACHININGS Then
|
||||
Beam.BeamMachDb()
|
||||
Return
|
||||
' se altrimenti per pareti
|
||||
' se altrimenti per pareti
|
||||
ElseIf m_sLuaCmdPath = WallPanelVM.WALL_MACHININGS Then
|
||||
Wall.WallMachDb()
|
||||
Return
|
||||
End If
|
||||
If Not File.Exists(m_sLuaCmdPath) Then Return
|
||||
If Not Path.GetExtension(m_sLuaCmdPath).ToLower = ".lua" Then Return
|
||||
' Abilito eventi se comando lua termina con Beam\Process.lua
|
||||
' Abilito eventi se comando lua lanciato da Beam o Wall
|
||||
m_sCurrBarName = m_sBarName
|
||||
Dim bRaiseEvent As Boolean = ( m_sBarName = "Beam" OrElse m_sBarName = "Wall")
|
||||
Dim bRaiseEvent As Boolean = (m_sBarName = "Beam" OrElse m_sBarName = "Wall")
|
||||
' eseguo file Lua
|
||||
Map.refProjectVM.PreExecScript(False)
|
||||
Map.refProjectVM.ExecScript(m_sLuaCmdPath, bRaiseEvent)
|
||||
@@ -176,11 +197,11 @@ Public Class ButtonItem
|
||||
If m_sCurrBarName = "Beam" Then
|
||||
EgtLuaCreateGlobTable("BEAM")
|
||||
EgtLuaSetGlobStringVar("BEAM.BASEDIR", IniFile.m_sBeamDirPath)
|
||||
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 then EgtLuaSetGlobBoolVar("BEAM.BW", true)
|
||||
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 Then EgtLuaSetGlobBoolVar("BEAM.BW", True)
|
||||
ElseIf m_sCurrBarName = "Wall" Then
|
||||
EgtLuaCreateGlobTable("WALL")
|
||||
EgtLuaSetGlobStringVar("WALL.BASEDIR", IniFile.m_sWallDirPath)
|
||||
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 then EgtLuaSetGlobBoolVar("WALL.BW", true)
|
||||
If EgtGetUserLevel() >= 9 AndAlso GetPrivateProfileInt(S_LUA, K_BWSIM, 0) = 1 Then EgtLuaSetGlobBoolVar("WALL.BW", True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -196,4 +217,34 @@ Public Class ButtonItem
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
End Class
|
||||
|
||||
Public Class ButtonListItem
|
||||
Inherits VMBase
|
||||
|
||||
Public Enum ButtonListItemTypes As Integer
|
||||
BUTTON = 1
|
||||
SEPARATOR = 2
|
||||
End Enum
|
||||
|
||||
Private m_Type As ButtonListItemTypes
|
||||
Public ReadOnly Property Type As ButtonListItemTypes
|
||||
Get
|
||||
Return m_Type
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Sub New(Type As ButtonListItemTypes)
|
||||
m_Type = Type
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class SeparatorItem
|
||||
Inherits ButtonListItem
|
||||
|
||||
Sub New()
|
||||
MyBase.New(ButtonListItemTypes.SEPARATOR)
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
+33
-213
@@ -14,51 +14,6 @@ Public Class MyStatusBarVM
|
||||
Private m_ProcEventsCallback As New ProcessEventsCallback(AddressOf ProcessEvents)
|
||||
Private m_OutTextCallback As New OutTextCallback(AddressOf OutText)
|
||||
|
||||
' GRAPHICAL ELEMENTS
|
||||
'Private m_StatusOutput As String
|
||||
'Public Property StatusOutput As String
|
||||
' Get
|
||||
' Return m_StatusOutput
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' m_StatusOutput = value
|
||||
' NotifyPropertyChanged("StatusOutput")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'Private m_StatusCurrPos As String
|
||||
'Public Property StatusCurrPos As String
|
||||
' Get
|
||||
' Return m_StatusCurrPos
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' m_StatusCurrPos = value
|
||||
' NotifyPropertyChanged("StatusCurrPos")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'Private m_StatusProgress As Integer
|
||||
'Public Property StatusProgress As Integer
|
||||
' Get
|
||||
' Return m_StatusProgress
|
||||
' End Get
|
||||
' Set(value As Integer)
|
||||
' m_StatusProgress = value
|
||||
' NotifyPropertyChanged("StatusProgress")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'Private m_StatusStopIsEnabled As Boolean
|
||||
'Public Property StatusStopIsEnabled As Boolean
|
||||
' Get
|
||||
' Return m_StatusStopIsEnabled
|
||||
' End Get
|
||||
' Set(value As Boolean)
|
||||
' m_StatusStopIsEnabled = value
|
||||
' NotifyPropertyChanged("StatusStopIsEnabled")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private m_GridDimensionText As String
|
||||
Public Property GridDimensionText As String
|
||||
Get
|
||||
@@ -92,84 +47,32 @@ Public Class MyStatusBarVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Private m_StatusUnitsText As String
|
||||
'Public Property StatusUnitsText As String
|
||||
' Get
|
||||
' Return m_StatusUnitsText
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' m_StatusUnitsText = value
|
||||
' NotifyPropertyChanged("StatusUnitsText")
|
||||
' End Set
|
||||
'End Property
|
||||
Private m_nSelCount As Integer = 0
|
||||
Public ReadOnly Property SelCount As String
|
||||
Get
|
||||
Return "Sel : " & m_nSelCount.ToString()
|
||||
End Get
|
||||
End Property
|
||||
Public Sub UpdateSelectedCount()
|
||||
Dim nSelCnt As Integer = EgtGetSelectedObjCount()
|
||||
If nSelCnt <> m_nSelCount Then
|
||||
m_nSelCount = nSelCnt
|
||||
NotifyPropertyChanged("SelCount")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
'Private m_SnapPointTypeText As String
|
||||
'Public Property SnapPointTypeText As String
|
||||
' Get
|
||||
' Return m_SnapPointTypeText
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' m_SnapPointTypeText = value
|
||||
' NotifyPropertyChanged("SnapPointTypeText")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'Private m_SnapPointTypeBackground As SolidColorBrush
|
||||
'Public Property SnapPointTypeBackground As SolidColorBrush
|
||||
' Get
|
||||
' Return m_SnapPointTypeBackground
|
||||
' End Get
|
||||
' Set(value As SolidColorBrush)
|
||||
' m_SnapPointTypeBackground = value
|
||||
' NotifyPropertyChanged("SnapPointTypeBackground")
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'' Lista delle macchine disponibili nel programma
|
||||
'Private m_MachinesList As New ObservableCollection(Of Machine)
|
||||
'Public Property MachinesList As ObservableCollection(Of Machine)
|
||||
' Get
|
||||
' Return m_MachinesList
|
||||
' End Get
|
||||
' Set(value As ObservableCollection(Of Machine))
|
||||
' m_MachinesList = value
|
||||
' End Set
|
||||
'End Property
|
||||
'' Macchina correntemente selezionata e quindi attiva
|
||||
'Private m_SelectedMachine As Machine
|
||||
'Public Property SelectedMachine As Machine
|
||||
' Get
|
||||
' Return m_SelectedMachine
|
||||
' End Get
|
||||
' Set(value As Machine)
|
||||
' If IsNothing(value) Then
|
||||
' m_SelectedMachine = Nothing
|
||||
' ElseIf value IsNot m_SelectedMachine Then
|
||||
' EgtSetCurrentContext(IniFile.m_ProjectSceneContext)
|
||||
' If EgtSetCurrMachine(value.Name) Then
|
||||
' m_SelectedMachine = value
|
||||
' IniFile.m_sMachineName = m_SelectedMachine.Name
|
||||
' IniFile.m_sCurrMachIniFilePath = m_SelectedMachine.MachineDirPath & "\" & m_SelectedMachine.Name & ".ini"
|
||||
' IniFile.m_sCurrMachToolsDirPath = m_SelectedMachine.MachineDirPath & "\Tools"
|
||||
' IniFile.m_sCurrMachSetUpDirPath = m_SelectedMachine.MachineDirPath & "\SetUp"
|
||||
' IniFile.m_sCurrMachScriptsDirPath = m_SelectedMachine.MachineDirPath & "\Scripts"
|
||||
' UpdateToolAndMachDbParamVisibility()
|
||||
' NotifyPropertyChanged("SelectedMachine")
|
||||
' End If
|
||||
' End If
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
'Private m_MachineListIsEnabled As Boolean
|
||||
'Public Property MachineListIsEnabled As Boolean
|
||||
' Get
|
||||
' Return m_MachineListIsEnabled
|
||||
' End Get
|
||||
' Set(value As Boolean)
|
||||
' m_MachineListIsEnabled = value
|
||||
' NotifyPropertyChanged("MachineListIsEnabled")
|
||||
' End Set
|
||||
'End Property
|
||||
Public ReadOnly Property SelCountVisibility As Visibility
|
||||
Get
|
||||
If IniFile.m_ProjectMode = ProjectModeOpt.DRAW OrElse IniFile.m_ProjectMode = ProjectModeOpt.ONLYDRAW Then
|
||||
Return Visibility.Visible
|
||||
Else
|
||||
Return Visibility.Hidden
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
Friend Sub UpdateSelCountVisibility()
|
||||
NotifyPropertyChanged("SelCountVisibility")
|
||||
End Sub
|
||||
|
||||
' Commands definition
|
||||
Private m_cmdGridDimension As ICommand
|
||||
@@ -434,94 +337,6 @@ Public Class MyStatusBarVM
|
||||
EgtSetGridShow(bShowGrid, bShowGrid And bShowGridFrame)
|
||||
End Sub
|
||||
|
||||
'''' <summary>
|
||||
'''' Method that search the machines in the correct folder and add to the MachinesList those valid.
|
||||
'''' </summary>
|
||||
'Private Sub SearchMachines()
|
||||
' ' Svuoto la lista delle macchine
|
||||
' m_MachinesList.Clear()
|
||||
' ' Se direttorio base macchine non definito o non esiste, ritorno
|
||||
' If String.IsNullOrWhiteSpace(IniFile.m_sMachinesRoot) OrElse
|
||||
' Not Directory.Exists(IniFile.m_sMachinesRoot) OrElse Directory.GetDirectories(IniFile.m_sMachinesRoot).Count = 0 Then
|
||||
' IniFile.m_ProjectMode = ProjectModeOpt.ONLYDRAW
|
||||
' EgtOutLog(EgtMsg(MSG_STATUSBAR + 1))
|
||||
' Return
|
||||
' End If
|
||||
' ' Cerco le macchine
|
||||
' Dim TempArray As String() = Directory.GetDirectories(IniFile.m_sMachinesRoot)
|
||||
' For i As Integer = 0 To TempArray.Count - 1
|
||||
' AddMachine(TempArray(i))
|
||||
' Next
|
||||
' If m_MachinesList.Count = 0 Then
|
||||
' IniFile.m_ProjectMode = ProjectModeOpt.ONLYDRAW
|
||||
' EgtOutLog(EgtMsg(MSG_STATUSBAR + 1))
|
||||
' Return
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
'Private Function AddMachine(sPath As String) As Boolean
|
||||
' ' Verifico presenza file caratteristici
|
||||
' Dim sName As String = Path.GetFileName(sPath)
|
||||
' Dim MachineIniPath As String = sPath & "\" & sName & ".ini"
|
||||
' Dim MachineMldePath As String = sPath & "\" & sName & ".mlde"
|
||||
' If Not File.Exists(MachineIniPath) Or Not File.Exists(MachineMldePath) Then Return False
|
||||
' ' Aggiungo alla lista
|
||||
' m_MachinesList.Add(New Machine With {.Name = sName, .MachineDirPath = sPath})
|
||||
' Return True
|
||||
'End Function
|
||||
|
||||
'Friend Function InsertMachine(sPath As String) As Boolean
|
||||
' ' Verifico presenza file caratteristici
|
||||
' Dim sName As String = Path.GetFileName(sPath)
|
||||
' Dim MachineIniPath As String = sPath & "\" & sName & ".ini"
|
||||
' Dim MachineMldePath As String = sPath & "\" & sName & ".mlde"
|
||||
' If Not File.Exists(MachineIniPath) Or Not File.Exists(MachineMldePath) Then Return False
|
||||
' ' Cerco la posizione di inserimento
|
||||
' Dim nPos As Integer = 0
|
||||
' For nI As Integer = 0 To m_MachinesList.Count() - 1
|
||||
' Dim nRes As Integer = String.Compare(sName, m_MachinesList(nI).Name, True)
|
||||
' If nRes = 0 Then
|
||||
' Return True
|
||||
' ElseIf nRes < 0 Then
|
||||
' Exit For
|
||||
' Else
|
||||
' nPos += 1
|
||||
' End If
|
||||
' Next
|
||||
' ' Inserisco nella lista
|
||||
' m_MachinesList.Insert(nPos, New Machine With {.Name = sName, .MachineDirPath = sPath})
|
||||
' Return True
|
||||
'End Function
|
||||
|
||||
'''' <summary>
|
||||
'''' Class that create the association Name/IniPath for the machine's
|
||||
'''' </summary>
|
||||
'Class Machine
|
||||
|
||||
' Private m_sName As String
|
||||
' Public Property Name As String
|
||||
' Get
|
||||
' Return m_sName
|
||||
' End Get
|
||||
' Set(value As String)
|
||||
' m_sName = value
|
||||
' End Set
|
||||
' End Property
|
||||
|
||||
' Friend MachineDirPath As String
|
||||
|
||||
'End Class
|
||||
|
||||
'Private Sub UpdateToolAndMachDbParamVisibility()
|
||||
' If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_SAWINGONARCS, 0, IniFile.m_sCurrMachIniFilePath) <> 0 Then
|
||||
' Sawing(39) = Visibility.Visible ' StepExtArc
|
||||
' Sawing(40) = Visibility.Visible ' StepIntArc
|
||||
' Else
|
||||
' Sawing(39) = Visibility.Collapsed ' StepExtArc
|
||||
' Sawing(40) = Visibility.Collapsed ' StepIntArc
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
Public Function OutText(ByRef psText As IntPtr) As Boolean
|
||||
' Assegno stringa
|
||||
OutputMessage = (Marshal.PtrToStringUni(psText))
|
||||
@@ -533,7 +348,7 @@ Public Class MyStatusBarVM
|
||||
Private Function ProcessEvents(ByVal nProg As Integer, ByVal nPause As Integer) As Integer
|
||||
' Se previsto, imposto progress
|
||||
If nProg > 0 Then SetLoadingProgress(Math.Min(nProg, 100))
|
||||
' Notifico a simulazione aggiornamento dati
|
||||
' Se simulazione attiva, notifico aggiornamento dati
|
||||
If Not IsNothing( Map.refSimulationExpanderVM) Then
|
||||
' Uso i valori negativi del primo parametro come flag per la Simulazione
|
||||
Dim nFlag As Integer = If( nProg < 0, -nProg, 0)
|
||||
@@ -541,8 +356,13 @@ Public Class MyStatusBarVM
|
||||
End If
|
||||
' Costringo ad aggiornare
|
||||
UpdateUI()
|
||||
' Eventuale attesa
|
||||
Thread.Sleep(nPause)
|
||||
' Se richiesta pausa
|
||||
If nPause >= 0 Then
|
||||
Thread.Sleep(nPause)
|
||||
' se altrimenti richiesto aggiornamento visualizzazione
|
||||
ElseIf nPause = -1
|
||||
EgtDraw()
|
||||
End If
|
||||
' Ritorno eventuale stop
|
||||
If m_bStopScript Then
|
||||
m_bStopScript = False
|
||||
|
||||
@@ -67,6 +67,11 @@
|
||||
<TextBlock Text="{Binding CurrPos}" Foreground="{StaticResource EgaltechWhite}"/>
|
||||
</StatusBarItem>
|
||||
<StatusBarItem Grid.Column="8">
|
||||
<!-- Indica il numero di entità selezionate -->
|
||||
<TextBlock Text="{Binding SelCount}" Foreground="{StaticResource EgaltechWhite}"
|
||||
Visibility="{Binding SelCountVisibility}" Margin="5,0,5,0" />
|
||||
</StatusBarItem>
|
||||
<StatusBarItem Grid.Column="9">
|
||||
<Button Command="{Binding StatusUnitsCommand}" Content="{Binding MeasureUnit}" Width="35"/>
|
||||
</StatusBarItem>
|
||||
</StatusBar>
|
||||
|
||||
@@ -91,24 +91,23 @@ Public Class InfoItem
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Friend sValour As String
|
||||
Friend sValue As String
|
||||
''' <summary>
|
||||
''' Valore lista info note
|
||||
''' </summary>
|
||||
Public Property Valour As String
|
||||
Public Property Value As String
|
||||
Get
|
||||
Return sValour
|
||||
Return sValue
|
||||
End Get
|
||||
Set(value As String)
|
||||
sValour = value
|
||||
NotifyPropertyChanged(NameOf(Valour))
|
||||
sValue = value
|
||||
NotifyPropertyChanged(NameOf(Value))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
#End Region ' Fields & Properties
|
||||
|
||||
' Comandi
|
||||
Private m_cmdRemoveInfoItem As ICommand
|
||||
Private m_cmdDoneInfo As ICommand
|
||||
|
||||
#Region "CONSTRUCTORS"
|
||||
@@ -116,37 +115,13 @@ Public Class InfoItem
|
||||
Sub New(nId As Integer, sKey As String, sValue As String)
|
||||
Me.nId = nId
|
||||
Me.sKey = sKey
|
||||
Me.sValour = sValue
|
||||
Me.sValue = sValue
|
||||
End Sub
|
||||
|
||||
#End Region ' Constructors
|
||||
|
||||
#Region "COMMANDS"
|
||||
|
||||
#Region "RemoveItemNoteCommand"
|
||||
|
||||
''' <summary>
|
||||
''' Comando per rimuovere l'informazione selezionata dalla combobox
|
||||
''' </summary>
|
||||
Public ReadOnly Property RemoveInfoItemCommand As ICommand
|
||||
Get
|
||||
If m_cmdRemoveInfoItem Is Nothing Then
|
||||
m_cmdRemoveInfoItem = New Command(AddressOf RemoveInfoItem)
|
||||
End If
|
||||
Return m_cmdRemoveInfoItem
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
''' Rimuove l'informazione selezionata dalla combobox
|
||||
''' </summary>
|
||||
''' <param name="param"></param>
|
||||
Public Sub RemoveInfoItem(ByVal param As Object)
|
||||
Map.refInputExpanderVM.RemoveItemInfo(Me)
|
||||
End Sub
|
||||
|
||||
#End Region ' RemoveItemNoteCommand
|
||||
|
||||
#Region "DoneInfoCommand"
|
||||
|
||||
''' <summary>
|
||||
|
||||
@@ -99,7 +99,7 @@ Public Class MyToolDbWindowVM
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String) 'Handles m_ToolScene.OnCursorPos
|
||||
Public Overrides Sub OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String)
|
||||
Map.refStatusBarVM.NotifyCurrPos(sCursorPos)
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -210,6 +210,10 @@ Public Class TopCommandBarVM
|
||||
If Not IsNothing(Map.refSpecialPanelVM) Then
|
||||
Map.refSpecialPanelVM.SpecialPanelIsEnabled(value)
|
||||
End If
|
||||
' aggiorno visibilità indicatore numero di entità selezionate
|
||||
If Not IsNothing(Map.refStatusBarVM) Then
|
||||
Map.refStatusBarVM.UpdateSelCountVisibility()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -236,7 +240,7 @@ Public Class TopCommandBarVM
|
||||
If EgtGetCurrMachGroup() = GDB_ID.NULL Then
|
||||
ExecExitMachScript()
|
||||
EgtDraw()
|
||||
' altrimenti, aggiusto...
|
||||
' altrimenti, aggiusto...
|
||||
Else
|
||||
' se parametri di una lavorazione aperti, disattivo database utensili, lavorazioni e setup
|
||||
Dim bIsEnabled As Boolean = Not IsNothing(Map.refOperationParametersExpanderVM) AndAlso Not Map.refOperationParametersExpanderVM.ParametersIsExpanded
|
||||
@@ -244,6 +248,8 @@ Public Class TopCommandBarVM
|
||||
' se parametri di una lavorazione aperti, disattivo MTable e SpecialPanel
|
||||
If Not IsNothing(Map.refDoorPanelVM) Then Map.refDoorPanelVM.MTableIsEnabled(bIsEnabled)
|
||||
If Not IsNothing(Map.refSpecialPanelVM) Then Map.refSpecialPanelVM.SpecialPanelIsEnabled(bIsEnabled)
|
||||
' aggiorno visibilità indicatore numero di entità selezionate
|
||||
If Not IsNothing(Map.refStatusBarVM) Then Map.refStatusBarVM.UpdateSelCountVisibility()
|
||||
End If
|
||||
Else
|
||||
' Deseleziono tutto
|
||||
@@ -803,6 +809,8 @@ Public Class TopCommandBarVM
|
||||
Map.refWallPanelVM.SetWallPanelVisibility(IniFile.IsActiveWall())
|
||||
Map.refBeamWallPanelVM.SetBeamWallPanelVisibility(IniFile.IsActiveBeam() Or IniFile.IsActiveWall())
|
||||
Map.refDoorPanelVM.SetDoorPanelVisibility(IniFile.IsActiveDoors())
|
||||
Map.refWindowPanelVM.SetWindowPanelVisibility(IniFile.IsActiveWindow())
|
||||
Map.refTrimmingPanelVM.SetTrimmingPanelVisibility(IniFile.IsActiveTrimming())
|
||||
Map.refGunStockPanelVM.SetGunStockPanelVisibility(IniFile.IsActiveGunStock())
|
||||
If Not IsNothing(Map.refDrawPanelVM) Then Map.refDrawPanelVM.SetDrawPanelVisibility(True)
|
||||
Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(False)
|
||||
@@ -851,6 +859,8 @@ Public Class TopCommandBarVM
|
||||
Map.refWallPanelVM.SetWallPanelVisibility(False)
|
||||
Map.refBeamWallPanelVM.SetBeamWallPanelVisibility(False)
|
||||
Map.refDoorPanelVM.SetDoorPanelVisibility(IniFile.IsActiveDoors())
|
||||
Map.refWindowPanelVM.SetWindowPanelVisibility(False)
|
||||
Map.refTrimmingPanelVM.SettrimmingPanelVisibility(False)
|
||||
Map.refGunStockPanelVM.SetGunStockPanelVisibility(False)
|
||||
If Not IsNothing(Map.refDrawPanelVM) Then Map.refDrawPanelVM.SetDrawPanelVisibility(False)
|
||||
Map.refMachGroupPanelVM.SetMachGroupPanelVisibility(IniFile.m_bMachiningGroup)
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||
DockPanel.Dock="Top"
|
||||
Orientation="Horizontal">
|
||||
|
||||
|
||||
<EgtFloating:EgtFloatingPanel Name="ShowPanel"
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
<local:ShowPanelV DataContext="{StaticResource ShowPanelViewModel}"/>
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
<EgtFloating:EgtFloatingPanel Name="ViewPanel"
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
<local:ViewPanelV DataContext="{StaticResource ViewPanelViewModel}"/>
|
||||
<local:PopUpViewPanelV DataContext="{StaticResource PopUpViewPanelViewModel}" EgtFloating:EgtFloatingPanel.IsInPopUp="True"/>
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
@@ -20,17 +20,20 @@
|
||||
<local:InstrumentPanelV DataContext="{StaticResource InstrumentPanelViewModel}"/>
|
||||
<!--</EgtFloating:EgtFloatingPanel>-->
|
||||
<EgtFloating:EgtFloatingPanel Name="GridPanel"
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
IsTopDockable="True" IsBottomDockable="True" IsLeftDockable="False" IsRightDockable="False">
|
||||
<local:GridPanelV DataContext="{StaticResource GridPanelViewModel}"/>
|
||||
<local:PopUpGridPanelV DataContext="{StaticResource PopUpGridPanelViewModel}" EgtFloating:EgtFloatingPanel.IsInPopUp="True"/>
|
||||
</EgtFloating:EgtFloatingPanel>
|
||||
<local:MachinePanelV DataContext="{StaticResource DbPanelViewModel}"/>
|
||||
<local:ExecutePanelV DataContext="{StaticResource ExecutePanelViewModel}"/>
|
||||
<local:SpecialPanelV DataContext="{StaticResource SpecialPanelViewModel}"/>
|
||||
<local:BeamPanelV DataContext="{StaticResource BeamPanelViewModel}"/>
|
||||
<local:WallPanelV DataContext="{StaticResource WallPanelViewModel}"/>
|
||||
<local:BeamWallPanelV DataContext="{StaticResource BeamWallPanelViewModel}"/>
|
||||
<local:DoorPanelV DataContext="{StaticResource DoorsPanelViewModel}"/>
|
||||
<local:WindowPanelV DataContext="{StaticResource WindowPanelViewModel}"/>
|
||||
<local:TrimmingPanelV DataContext="{StaticResource TrimmingPanelViewModel}"/>
|
||||
<local:TrimmingPanelV DataContext="{StaticResource ReversePostPanelViewModel}"/>
|
||||
<local:GunStockPanelV DataContext="{StaticResource GunStockPanelViewModel}"/>
|
||||
|
||||
<local:SpecialPanelV DataContext="{StaticResource SpecialPanelViewModel}"/>
|
||||
|
||||
</WrapPanel>
|
||||
|
||||
@@ -66,6 +66,16 @@ Module Analyze
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Function CreateTriaLoop( nId As Integer, nT As Integer) As Boolean
|
||||
If m_AnaGrpId = GDB_ID.NULL Then Return False
|
||||
Dim bEnMod As Boolean = EgtGetEnableModified()
|
||||
EgtDisableModified()
|
||||
Dim nCrvId As Integer = EgtExtractSurfTmTriaLoop( nId, nT, m_AnaGrpId)
|
||||
EgtSetColor( nCrvId, New Color3d( 255, 255,0))
|
||||
If bEnMod Then EgtEnableModified()
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Function CreateChunkNormal( nId As Integer, nChk As Integer) As Boolean
|
||||
If m_AnaGrpId = GDB_ID.NULL Then Return False
|
||||
Dim bEnMod As Boolean = EgtGetEnableModified()
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
<EgtCAM5:WallPanelVM x:Key="WallPanelViewModel"/>
|
||||
<EgtCAM5:BeamWallPanelVM x:Key="BeamWallPanelViewModel"/>
|
||||
<EgtCAM5:DoorPanelVM x:Key="DoorsPanelViewModel"/>
|
||||
<EgtCAM5:WindowPanelVM x:Key="WindowPanelViewModel"/>
|
||||
<EgtCAM5:TrimmingPanelVM x:Key="TrimmingPanelViewModel"/>
|
||||
<EgtCAM5:ReversePostPanelVM x:Key="ReversePostPanelViewModel"/>
|
||||
<EgtCAM5:GunStockPanelVM x:Key="GunStockPanelViewModel"/>
|
||||
<EgtCAM5:MyMachGroupPanelVM x:Key="MachGroupPanelViewModel"/>
|
||||
<!--<EgtCAM5:MachGroupPanelVM x:Key="MachGroupPanelViewModel"/>-->
|
||||
@@ -600,6 +603,19 @@
|
||||
<Setter Property="Width" Value="30"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ExecuteOkWindow_InputButton" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
|
||||
<Setter Property="Height" Value="30"/>
|
||||
<Setter Property="Width" Value="60"/>
|
||||
<Setter Property="Margin" Value="0,5,0,5"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ExecuteWindow_Button" TargetType="{x:Type Button}" BasedOn="{StaticResource {x:Type Button}}">
|
||||
<Setter Property="VerticalAlignment" Value="Top"/>
|
||||
<Setter Property="Height" Value="30"/>
|
||||
<Setter Property="Width" Value="30"/>
|
||||
<Setter Property="Margin" Value="2,5,5,5"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="DrawOptionPanel_ToggleButton" TargetType="{x:Type ToggleButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
|
||||
</Style>
|
||||
|
||||
@@ -770,6 +786,12 @@
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ExecuteWindow_TextBox" TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
|
||||
<Setter Property="AcceptsReturn" Value="True"/>
|
||||
<Setter Property="TextWrapping" Value="Wrap"/>
|
||||
<Setter Property="Margin" Value="5"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="ToggleButtonTabStyle" TargetType="{x:Type ToggleButton}">
|
||||
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
|
||||
<Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
|
||||
@@ -1272,4 +1294,25 @@
|
||||
</Style.Triggers>-->
|
||||
</Style>
|
||||
|
||||
<!-- ______________________________________________________________________________________________________________________________________________ -->
|
||||
|
||||
<!-- Style Border-->
|
||||
|
||||
<Style x:Key="Trimming_Border" TargetType="{x:Type Border}">
|
||||
<Setter Property="Background" Value="{StaticResource Button.Static.Background}"/>
|
||||
<Setter Property="BorderBrush" Value="{StaticResource Button.Static.Border}"/>
|
||||
<Setter Property="BorderThickness" Value="1"/>
|
||||
<Setter Property="Margin" Value="1"/>
|
||||
<Setter Property="Padding" Value="0,2,0,2"/>
|
||||
<Setter Property="Height" Value="30"/>
|
||||
<Setter Property="Width" Value="8"/>
|
||||
<Setter Property="CornerRadius" Value="1"/>
|
||||
</Style>
|
||||
|
||||
<Style x:Key="Separator_Border" TargetType="{x:Type Border}">
|
||||
<Setter Property="Background" Value="{StaticResource Button.Static.Border}"/>
|
||||
<Setter Property="Width" Value="1"/>
|
||||
<Setter Property="CornerRadius" Value="1"/>
|
||||
</Style>
|
||||
|
||||
</ResourceDictionary>
|
||||
|
||||
+72
-16
@@ -17,6 +17,14 @@ Public Module IniFile
|
||||
ONLYDRAW = 3
|
||||
End Enum
|
||||
|
||||
Public Enum SceneSurfQualityOpt As Integer
|
||||
LOWER = -2
|
||||
LOW = -1
|
||||
STANDARD = 0
|
||||
HIGH = 1
|
||||
HIGHER = 2
|
||||
End Enum
|
||||
|
||||
Public Enum SceneSelModeOpt As Integer
|
||||
NULL = 0
|
||||
PARTCURVES = 1
|
||||
@@ -60,6 +68,9 @@ Public Module IniFile
|
||||
WALL = 512
|
||||
PLUGIN = 1024
|
||||
ADVMACHINING = 2048
|
||||
WINDOW = 4096
|
||||
TRIMMING = 8192
|
||||
REVERSEPOST = 16384
|
||||
End Enum
|
||||
Friend m_sDataRoot As String
|
||||
Friend m_sConfigDir As String
|
||||
@@ -77,6 +88,12 @@ Public Module IniFile
|
||||
Friend m_sBeamWallDirPath As String
|
||||
' path della cartella DOORS
|
||||
Friend m_sDoorsDirPath As String
|
||||
' path della cartella WINDOW
|
||||
Friend m_sWindowDirPath As String
|
||||
' path della cartella TRIMMING
|
||||
Friend m_sTrimmingDirPath As String
|
||||
' path della cartella REVERSEPOST
|
||||
Friend m_sReversePostDirPath As String
|
||||
' path della cartella GUNSTOCK
|
||||
Friend m_sGunstockDirPath As String
|
||||
' path della cartella Printing3d
|
||||
@@ -221,11 +238,15 @@ Public Module IniFile
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Public Function GetPrivateProfileButton(sSection As String, sKey As String, sBaseDir As String, ByRef ReadButtonItem As ButtonItem) As Boolean
|
||||
Public Function GetPrivateProfileButton(sSection As String, sKey As String, sBaseDir As String, ByRef ReadButtonItem As ButtonListItem) As Boolean
|
||||
ReadButtonItem = Nothing
|
||||
Dim sVal As String = String.Empty
|
||||
GetPrivateProfileString(sSection, sKey, "", sVal)
|
||||
If String.IsNullOrWhiteSpace(sVal) Then Return False
|
||||
If sVal = "Separator" Then
|
||||
ReadButtonItem = New SeparatorItem()
|
||||
Return True
|
||||
End If
|
||||
Dim sItems() As String = sVal.Split(","c)
|
||||
If sItems.Count() >= 1 Then
|
||||
Dim sLuaPath As String = sItems(0)
|
||||
@@ -269,9 +290,9 @@ Public Module IniFile
|
||||
Friend Function IsActiveBeam() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.BEAM) <> 0 And (GetPrivateProfileInt(S_BEAM, K_BEAMENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_BEAM, K_BEAMBASEDIR, "", sTemp)
|
||||
m_sBeamDirPath = sTemp.TrimEnd( "\"c)
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_BEAM, K_BEAMBASEDIR, "", sTemp)
|
||||
m_sBeamDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
@@ -279,25 +300,59 @@ Public Module IniFile
|
||||
Friend Function IsActiveWall() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.WALL) <> 0 And (GetPrivateProfileInt(S_WALL, K_WALLENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_WALL, K_WALLBASEDIR, "", sTemp)
|
||||
m_sWallDirPath = sTemp.TrimEnd( "\"c)
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_WALL, K_WALLBASEDIR, "", sTemp)
|
||||
m_sWallDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveDoors() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.DOORS) <> 0 And (GetPrivateProfileInt(S_DOORS, K_DDFENABLE, 0) <> 0)
|
||||
If bIsActive Then GetPrivateProfileString(S_DOORS, K_BASEDIR, "", m_sDoorsDirPath)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_DOORS, K_BASEDIR, "", sTemp)
|
||||
m_sDoorsDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveWindow() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.WINDOW) <> 0 And (GetPrivateProfileInt(S_WINDOW, K_WINDOWENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_WINDOW, K_WINDOWBASEDIR, "", sTemp)
|
||||
m_sWindowDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveTrimming() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.TRIMMING) <> 0 And (GetPrivateProfileInt(S_TRIMMING, K_TRIMMINGENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_TRIMMING, K_TRIMMINGBASEDIR, "", sTemp)
|
||||
m_sTrimmingDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveReversePost() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.REVERSEPOST) <> 0 And (GetPrivateProfileInt(S_REVERSEPOST, K_REVERSEPOSTENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_REVERSEPOST, K_REVERSEPOSTBASEDIR, "", sTemp)
|
||||
m_sReversePostDirPath = sTemp.TrimEnd("\"c)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveGunStock() As Boolean
|
||||
Dim bIsActive As Boolean = (IniFile.m_nKeyOptions And KEY_OPT.GUNSTOCK) <> 0 And (GetPrivateProfileInt(S_GUNSTOCK, K_GUNSTOCKENABLE, 0) <> 0)
|
||||
If bIsActive Then
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_GUNSTOCK, K_GUNSTOCKEXEC, "", sTemp)
|
||||
m_sGunstockDirPath = Path.GetDirectoryName( sTemp)
|
||||
Dim sTemp As String = ""
|
||||
GetPrivateProfileString(S_GUNSTOCK, K_GUNSTOCKEXEC, "", sTemp)
|
||||
m_sGunstockDirPath = Path.GetDirectoryName(sTemp)
|
||||
End If
|
||||
Return bIsActive
|
||||
End Function
|
||||
@@ -316,12 +371,13 @@ Public Module IniFile
|
||||
Return (IniFile.m_nKeyOptions And KEY_OPT.ADVMACHINING) <> 0
|
||||
End Function
|
||||
|
||||
Friend Function IsActiveSpecialPanel() As Boolean
|
||||
Dim btDummy As ButtonItem = Nothing
|
||||
Return GetPrivateProfileInt(S_SPECIAL, K_SPECIALENABLE, 0) <> 0 AndAlso GetPrivateProfileButton(S_SPECIAL, K_BUTTON & "1", "", btDummy)
|
||||
Friend Function IsActiveSpecialPanel(Optional bTestButton As Boolean = True) As Boolean
|
||||
If GetPrivateProfileInt(S_SPECIAL, K_SPECIALENABLE, 0) = 0 Then Return False
|
||||
If Not bTestButton Then Return True
|
||||
Return (Not IsNothing(Map.refSpecialPanelVM) AndAlso Map.refSpecialPanelVM.ButtonCount > 0)
|
||||
End Function
|
||||
|
||||
Friend Function GetSpecialLuaVersion( sSpecialLuaDir As String, ByRef sVersion As String) As Boolean
|
||||
Friend Function GetSpecialLuaVersion(sSpecialLuaDir As String, ByRef sVersion As String) As Boolean
|
||||
Dim sExecPath As String = (sSpecialLuaDir & "\Version.lua")
|
||||
If Not EgtLuaExecFile(sExecPath, False) Then Return False
|
||||
If Not EgtLuaGetGlobStringVar("VERSION", sVersion) Then Return False
|
||||
@@ -329,7 +385,7 @@ Public Module IniFile
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Function GetSpecialLuaData( sSpecialLuaDir As String,
|
||||
Friend Function GetSpecialLuaData(sSpecialLuaDir As String,
|
||||
ByRef sName As String, ByRef sVersion As String, ByRef sMinExe As String) As Boolean
|
||||
Dim sExecPath As String = (sSpecialLuaDir & "\Version.lua")
|
||||
If Not EgtLuaExecFile(sExecPath, False) Then Return False
|
||||
|
||||
@@ -11,6 +11,9 @@ Public Module MachineModel
|
||||
''' </summary>
|
||||
Friend Function ReadActiveMachiningsFamilies() As MachiningsType()
|
||||
Dim ActiveMachiningsFamiliesList As New List(Of MachiningsType)
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_PROBING, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.PROBING, .TypeName = EgtMsg(31220)})
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_MACHININGS, K_DRILLING, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
ActiveMachiningsFamiliesList.Add(New MachiningsType With {.TypeId = MCH_MY.DRILLING, .TypeName = EgtMsg(MSG_MACHININGSDBPAGE + 1)})
|
||||
End If
|
||||
@@ -163,6 +166,9 @@ Public Module MachineModel
|
||||
''' </summary>
|
||||
Friend Function ReadActiveToolsFamilies() As ToolsFamily()
|
||||
Dim ActiveToolsFamiliesList As New List(Of ToolsFamily)
|
||||
If EgtUILib.GetPrivateProfileInt(S_TOOLS, K_PROBE, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
ActiveToolsFamiliesList.Add(New ToolsFamily(MCH_TF.PROBE, EgtMsg(31011))) ' Tastatore
|
||||
End If
|
||||
If EgtUILib.GetPrivateProfileInt(S_TOOLS, K_DRILLBIT, 0, m_sCurrMachIniFilePath) <> 0 Then
|
||||
ActiveToolsFamiliesList.Add(New ToolsFamily(MCH_TF.DRILLBIT, EgtMsg(MSG_TOOLSDBPAGE + 1)))
|
||||
End If
|
||||
|
||||
@@ -33,6 +33,9 @@ Module Map
|
||||
Private m_refBeamPanelVM As BeamPanelVM
|
||||
Private m_refWallPanelVM As WallPanelVM
|
||||
Private m_refBeamWallPanelVM As BeamWallPanelVM
|
||||
Private m_refWindowPanelVM As WindowPanelVM
|
||||
Private m_refTrimmingPanelVM As TrimmingPanelVM
|
||||
Private m_refReversePostPanelVM As ReversePostPanelVM
|
||||
Private m_refGunStockPanelVM As GunStockPanelVM
|
||||
Private m_refMachiningParameterExpanderVM As MachiningParameterExpanderVM
|
||||
|
||||
@@ -158,6 +161,16 @@ Module Map
|
||||
Return m_refDoorPanelVM
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property refWindowPanelVM As WindowPanelVM
|
||||
Get
|
||||
Return m_refWindowPanelVM
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property refTrimmingPanelVM As TrimmingPanelVM
|
||||
Get
|
||||
Return m_refTrimmingPanelVM
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property refSpecialPanelVM As SpecialPanelVM
|
||||
Get
|
||||
Return m_refSpecialPanelVM
|
||||
@@ -311,6 +324,18 @@ Module Map
|
||||
m_refBeamWallPanelVM = BeamWallPanelVM
|
||||
Return Not IsNothing(m_refBeamWallPanelVM)
|
||||
End Function
|
||||
Friend Function SetRefWindowPanelVM(WindowPanelVM As WindowPanelVM) As Boolean
|
||||
m_refWindowPanelVM = WindowPanelVM
|
||||
Return Not IsNothing(m_refWindowPanelVM)
|
||||
End Function
|
||||
Friend Function SetRefTrimmingPanelVM(TrimmingPanelVM As TrimmingPanelVM) As Boolean
|
||||
m_refTrimmingPanelVM = TrimmingPanelVM
|
||||
Return Not IsNothing(m_refTrimmingPanelVM)
|
||||
End Function
|
||||
Friend Function SetRefReversePostPanelVM(ReversePostPanelVM As ReversePostPanelVM) As Boolean
|
||||
m_refReversePostPanelVM = ReversePostPanelVM
|
||||
Return Not IsNothing(m_refReversePostPanelVM)
|
||||
End Function
|
||||
Friend Function SetRefGunStockPanelVM(GunStockPanelVM As GunStockPanelVM) As Boolean
|
||||
m_refGunStockPanelVM = GunStockPanelVM
|
||||
Return Not IsNothing(m_refGunStockPanelVM)
|
||||
|
||||
@@ -21,6 +21,7 @@ Module SelData
|
||||
|
||||
Private m_IdSub As New List(Of SelData)
|
||||
Private m_SelGrpId As Integer = GDB_ID.NULL
|
||||
Private Const AUX_ID As String = "AuxId"
|
||||
|
||||
Friend Sub ClearIdSub()
|
||||
RemoveSelGroup()
|
||||
@@ -32,6 +33,8 @@ Module SelData
|
||||
Dim i As Integer = 0
|
||||
Do While i < m_IdSub.Count() - 1
|
||||
If Not EgtIsSelectedObj( m_IdSub( i).m_nId) Then
|
||||
Dim nAuxId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo( m_IdSub( i).m_nSel, AUX_ID, nAuxId) Then EgtErase( nAuxId)
|
||||
EgtErase( m_IdSub( i).m_nSel)
|
||||
m_IdSub.RemoveAt( i)
|
||||
Else
|
||||
@@ -56,6 +59,8 @@ Module SelData
|
||||
' Ricerca ed eliminazione del record con la coppia Id,Sub da rimuovere
|
||||
For i As Integer = 0 To m_IdSub.Count() - 1
|
||||
If m_IdSub( i).m_nId = nId And m_IdSub( i).m_nSub = nSub Then
|
||||
Dim nAuxId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo( m_IdSub( i).m_nSel, AUX_ID, nAuxId) Then EgtErase( nAuxId)
|
||||
EgtErase( m_IdSub( i).m_nSel)
|
||||
m_IdSub.RemoveAt( i)
|
||||
Exit For
|
||||
@@ -68,6 +73,8 @@ Module SelData
|
||||
' Ricerca ed eliminazione di record con identificativo da rimuovere
|
||||
For i As Integer = m_IdSub.Count() - 1 To 0 Step -1
|
||||
If m_IdSub( i).m_nId = nId Then
|
||||
Dim nAuxId As Integer = GDB_ID.NULL
|
||||
If EgtGetInfo( m_IdSub( i).m_nSel, AUX_ID, nAuxId) Then EgtErase( nAuxId)
|
||||
EgtErase( m_IdSub( i).m_nSel)
|
||||
m_IdSub.RemoveAt( i)
|
||||
End If
|
||||
@@ -153,6 +160,11 @@ Module SelData
|
||||
For nCrvId As Integer = nFirstId + 1 To nFirstId + nCount - 1
|
||||
EgtErase( nCrvId)
|
||||
Next
|
||||
Dim ptZM As New Point3d()
|
||||
EgtAtParamPoint( nFirstId, 0.5, m_SelGrpId, ptZM)
|
||||
Dim nSpheId = EgtCreateSurfTmSphere( m_SelGrpId, ptZM, 1, 0.1, GDB_RT.LOC)
|
||||
EgtSetColor( nSpheId, New Color3d( 255, 0,0))
|
||||
EgtSetInfo( nFirstId, AUX_ID, nSpheId)
|
||||
End If
|
||||
If bEnMod Then EgtEnableModified()
|
||||
Return nFirstId
|
||||
|
||||
Reference in New Issue
Block a user