diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb index 4a96747..1a6a89a 100644 --- a/Constants/ConstIni.vb +++ b/Constants/ConstIni.vb @@ -121,6 +121,7 @@ Module ConstIni Public Const S_OPTIONS As String = "Options" Public Const K_NEWMACHININGISLASTONE As String = "NewMachiningIsLastOne" + Public Const K_USEDISPOSITIONSCRIPT As String = "UseDispositionScript" Public Const S_MRUFILES As String = "MruFiles" Public Const S_MRUSCRIPTS As String = "MruScripts" diff --git a/Constants/ConstMachIni.vb b/Constants/ConstMachIni.vb index e4ee801..81da674 100644 --- a/Constants/ConstMachIni.vb +++ b/Constants/ConstMachIni.vb @@ -41,4 +41,6 @@ Public Const S_FIXTURES As String = "Fixtures" + Public Const S_SETUP As String = "SetUp" + End Module diff --git a/Constants/ConstMsg.vb b/Constants/ConstMsg.vb index 9810634..c66dc4f 100644 --- a/Constants/ConstMsg.vb +++ b/Constants/ConstMsg.vb @@ -16,6 +16,7 @@ Public Const MSG_MACHININGSDBPAGE As Integer = MSG_EGTCAM5 + 1200 Public Const MSG_MACHININGSERRORS As Integer = MSG_EGTCAM5 + 1350 Public Const MSG_MACHININGOPTIONPAGE As Integer = MSG_EGTCAM5 + 1400 + Public Const MSG_SETUP As Integer = MSG_EGTCAM5 + 1450 Public Const MSG_OPTIONPAGE As Integer = MSG_EGTCAM5 + 1500 Public Const MSG_DOORS As Integer = MSG_EGTCAM5 + 3000 Public Const MSG_DOORSERRORS As Integer = MSG_EGTCAM5 + 3100 diff --git a/EgtCAM5.vbproj b/EgtCAM5.vbproj index 1e6916a..102fe1b 100644 --- a/EgtCAM5.vbproj +++ b/EgtCAM5.vbproj @@ -12,6 +12,21 @@ v4.0 Custom Client + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true On @@ -259,6 +274,10 @@ ShowPanelView.xaml + + SetUpView.xaml + + @@ -416,6 +435,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -615,6 +638,28 @@ + + + False + Microsoft .NET Framework 4 Client Profile %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 4.5 + true + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtCAM5\EgtCAM5R32.exe diff --git a/IniFile.vb b/IniFile.vb index e68c5dd..6200eb0 100644 --- a/IniFile.vb +++ b/IniFile.vb @@ -152,6 +152,20 @@ Public Module IniFile Return False End Function + Public Function GetPrivateProfileSetUpPosition( + ByVal lpAppName As String, + ByVal lpKeyName As String, ByRef sTcPos As String, ByRef sHead As String) As Boolean + Dim sVal As String = String.Empty + EgtUILib.GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, m_sCurrMachIniFilePath) + Dim sItems() As String = sVal.Split(";".ToCharArray) + If sItems.Count() = 2 Then + sTcPos = sItems(0) + sHead = sItems(1) + Return True + End If + Return False + End Function + Public Function WritePrivateProfileString(IpAppName As String, IpKeyName As String, ByRef IpString As String) As Boolean Return EgtUILib.WritePrivateProfileString(IpAppName, IpKeyName, IpString, m_sIniFile) End Function diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index 712491d..cc1be6d 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -70,5 +70,5 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + + diff --git a/OptionsWindow/OptionModule.vb b/OptionsWindow/OptionModule.vb index ed66d5a..7f9c708 100644 --- a/OptionsWindow/OptionModule.vb +++ b/OptionsWindow/OptionModule.vb @@ -1,6 +1,6 @@ Imports System.Collections.ObjectModel -Public Module OptionModule +Friend Module OptionModule ' Parametri che contengono lista delle lingue disponibili e lingua selezionata Friend m_LanguageList As New ObservableCollection(Of Language) @@ -18,6 +18,8 @@ Public Module OptionModule ' Variabile che indica se quando viene creata una nuova operazione di lavorazione deve essere aggiunta in fondo ' alla 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 + Friend m_bUseDispositionScript As Boolean ' inizializzazione lettura variabili ad inizio programma Friend Sub InitOptionModule() @@ -39,37 +41,39 @@ Public Module OptionModule m_SelGeomSawFinishing = If(Temp < 0 Or Temp > 3, SceneSelModeOpt.PARTCURVESANDSURFACES, DirectCast(Temp, SceneSelModeOpt)) ' Inizializzo variabile che indica posizione nuova operazione di lavorazione m_bNewMachiningIsLastOne = If(GetPrivateProfileInt(S_OPTIONS, K_NEWMACHININGISLASTONE, 0) <> 0, True, False) + ' Inizializzo variabile che indica se usare script di disposizione + m_bUseDispositionScript = If(GetPrivateProfileInt(S_OPTIONS, K_USEDISPOSITIONSCRIPT, 0) <> 0, True, False) End Sub - ' Classe che identifica una lingua del programma con nome e path del file dei messaggi - Public Class Language - - Private m_sName As String - Private m_sFilePath As String - - Public Property Name As String - Get - Return m_sName - End Get - Set(value As String) - m_sName = value - End Set - End Property - - Public Property FilePath As String - Get - Return m_sFilePath - End Get - Set(value As String) - m_sFilePath = value - End Set - End Property - - Sub New(sName As String, sFilePath As String) - Me.Name = sName - Me.FilePath = sFilePath - End Sub - - End Class - End Module + +' Classe che identifica una lingua del programma con nome e path del file dei messaggi +Public Class Language + + Private m_sName As String + Private m_sFilePath As String + + Public Property Name As String + Get + Return m_sName + End Get + Set(value As String) + m_sName = value + End Set + End Property + + Public Property FilePath As String + Get + Return m_sFilePath + End Get + Set(value As String) + m_sFilePath = value + End Set + End Property + + Sub New(sName As String, sFilePath As String) + Me.Name = sName + Me.FilePath = sFilePath + End Sub + +End Class diff --git a/OptionsWindow/OptionsView.xaml b/OptionsWindow/OptionsView.xaml index e18a0ab..a610801 100644 --- a/OptionsWindow/OptionsView.xaml +++ b/OptionsWindow/OptionsView.xaml @@ -80,12 +80,17 @@ - + + + + diff --git a/OptionsWindow/OptionsViewModel.vb b/OptionsWindow/OptionsViewModel.vb index eadcf83..826adcf 100644 --- a/OptionsWindow/OptionsViewModel.vb +++ b/OptionsWindow/OptionsViewModel.vb @@ -71,16 +71,14 @@ Namespace EgtCAM5 End Set End Property - Public ReadOnly Property NewMachiningPosMsg As String + Public Property UseDispositionScript As Boolean Get - Return EgtMsg(MSG_OPTIONPAGE + 7) - End Get - End Property - - Public ReadOnly Property Title As String - Get - Return EgtMsg(MSG_MAINWINDOW + 5) + Return m_bUseDispositionScript End Get + Set(value As Boolean) + m_bUseDispositionScript = value + WritePrivateProfileString(S_OPTIONS, K_USEDISPOSITIONSCRIPT, If(value, 1, 0).ToString) + End Set End Property ' Definizione comandi @@ -88,6 +86,12 @@ Namespace EgtCAM5 #Region "Messages" + Public ReadOnly Property Title As String + Get + Return EgtMsg(MSG_MAINWINDOW + 5) + End Get + End Property + Public ReadOnly Property CurrentLanguageMsg As String Get Return EgtMsg(MSG_OPTIONPAGE + 1) @@ -119,6 +123,18 @@ Namespace EgtCAM5 End Get End Property + Public ReadOnly Property NewMachiningPosMsg As String + Get + Return EgtMsg(MSG_OPTIONPAGE + 7) + End Get + End Property + + Public ReadOnly Property UseDispositionScriptMsg As String + Get + Return EgtMsg(MSG_OPTIONPAGE + 8) + End Get + End Property + #End Region #Region "COMMANDS" diff --git a/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb b/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb index d417114..fb81699 100644 --- a/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb +++ b/ProjectPage/MachGroupPanel/MachGroupPanelViewModel.vb @@ -82,7 +82,7 @@ Namespace EgtCAM5 Dim bOk As Boolean = (EgtAddMachGroup(sNewMachName) <> GDB_ID.NULL) Dim sInitScriptPath As String = String.Empty EgtUILib.GetPrivateProfileString(S_DISPOSITION, K_INITSCRIPT, "", sInitScriptPath, IniFile.m_sCurrMachIniFilePath) - If bOk And Not String.IsNullOrEmpty(sInitScriptPath) Then + If bOk AndAlso OptionModule.m_bUseDispositionScript And Not String.IsNullOrEmpty(sInitScriptPath) Then sInitScriptPath = IniFile.m_sCurrMachScriptsDirPath & "\" & sInitScriptPath If Not EgtLuaExecFile(sInitScriptPath) Then EgtOutLog("Error executing disposition init script " & sInitScriptPath) diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderView.xaml b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderView.xaml index 28be07e..74a7058 100644 --- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderView.xaml +++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderView.xaml @@ -15,9 +15,9 @@ - + - + diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderViewModel.vb b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderViewModel.vb index 65c8f6c..0520c12 100644 --- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderViewModel.vb +++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionParameterExpanderViewModel.vb @@ -252,6 +252,16 @@ Namespace EgtCAM5 End Get End Property + Private m_RawPartOptions As RawPartOptionView + Public ReadOnly Property RawPartOptions As ContentControl + Get + If IsNothing(m_RawPartOptions) Then + m_RawPartOptions = New RawPartOptionView + m_RawPartOptions.DataContext = New RawPartOptionViewModel + End If + Return m_RawPartOptions + End Get + End Property #Region "Messages" @@ -271,7 +281,7 @@ Namespace EgtCAM5 Public ReadOnly Property OkMsg As String Get - Return "Ok" + Return EgtMsg(MSG_DISPOSITION + 1) End Get End Property diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionUtility.vb b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionUtility.vb index d86763f..d773b57 100644 --- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionUtility.vb +++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/DispositionUtility.vb @@ -544,4 +544,42 @@ Public NotInheritable Class DispositionUtility End While End Sub + ' Costante che identifica l'informazione contenente il Frame3d originale del pezzo + Private Const ORIG_FRAME As String = "ORIGFRAME" + + ' Funzione che visualizza i pezzi disponibili e li sposta sotto il grezzo + Friend Shared Sub ShowPartUnderTable() + ' ciclo sui pezzi + Dim nPartId As Integer = EgtGetFirstPart() + While nPartId <> GDB_ID.NULL + ' mi faccio dare il riferimento del pezzo prima si spostarlo + Dim frOrigPart As New Frame3d + EgtGetGroupGlobFrame(nPartId, frOrigPart) + ' salvo il riferimento originale + EgtSetInfo(nPartId, ORIG_FRAME, frOrigPart) + ' Attivo la visualizzazione del pezzo mettendolo in modalità standard + EgtSetStatus(nPartId, GDB_ST.ON_) + ' prendo il pezzo successivo + nPartId = EgtGetNextPart(nPartId) + End While + EgtDraw() + End Sub + + ' Funzione che rimette a posto i pezzi + Friend Shared Sub HidePartUnderTable() + ' ciclo sui pezzi + Dim nPartId As Integer = EgtGetFirstPart() + While nPartId <> GDB_ID.NULL + ' recupero il riferimento originale + Dim frOrigPart As New Frame3d + EgtGetInfo(nPartId, ORIG_FRAME, frOrigPart) + ' lo ripristino + EgtChangeGroupFrame(nPartId, frOrigPart) + ' Attivo la visualizzazione del pezzo mettendolo in modalità standard + EgtSetStatus(nPartId, GDB_ST.OFF) + ' prendo il pezzo successivo + nPartId = EgtGetNextPart(nPartId) + End While + End Sub + End Class diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/FixtureParameters/FixtureParametersViewModel.vb b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/FixtureParameters/FixtureParametersViewModel.vb index 30e282b..ecc2f20 100644 --- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/FixtureParameters/FixtureParametersViewModel.vb +++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/FixtureParameters/FixtureParametersViewModel.vb @@ -38,7 +38,7 @@ Namespace EgtCAM5 Public ReadOnly Property OkMsg As String Get - Return "Ok" + Return EgtMsg(MSG_DISPOSITION + 1) End Get End Property diff --git a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/RawPartOption/RawPartOptionView.xaml b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/RawPartOption/RawPartOptionView.xaml index 434eade..287d86e 100644 --- a/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/RawPartOption/RawPartOptionView.xaml +++ b/ProjectPage/OptionPanel/MachiningOptionPanel/OperationExpander/DispositionParameterExpander/RawPartOption/RawPartOptionView.xaml @@ -5,7 +5,36 @@ - + +