From 96cc9727d7631471b9ced2bdb011575a482529f9 Mon Sep 17 00:00:00 2001 From: Raphael Luz <luz@ivt.tugraz.at> Date: Wed, 30 Jul 2014 14:34:32 +0200 Subject: [PATCH] * Warning when opening or running files if file was created in different mode (Declaration/Engineering Mode) * New Decl./Eng. Mode switch * Small fixes --- CHANGES.md | 5 ++ VECTO/GUI/F_ENG.vb | 13 ++++ VECTO/GUI/F_GBX.vb | 13 ++++ VECTO/GUI/F_MAINForm.Designer.vb | 120 +++++++++++++++++++------------ VECTO/GUI/F_MAINForm.vb | 20 +++--- VECTO/GUI/F_VECTO.vb | 14 ++++ VECTO/GUI/F_VEH.vb | 13 ++++ VECTO/GUI/GUI_Subs.vb | 44 ++++++++++++ VECTO/Input Files/cENG.vb | 15 +++- VECTO/Input Files/cGBX.vb | 14 +++- VECTO/Input Files/cVECTO.vb | 15 +++- VECTO/Input Files/cVEH.vb | 17 ++++- VECTO/M_MAIN.vb | 42 +++++++---- VECTO/cConfig.vb | 2 +- VECTO/cVSUM.vb | 2 +- 15 files changed, 278 insertions(+), 71 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3c2da0585a..44e7d3427c 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,11 @@ ### VECTO x.x (current source) +### VECTO 2.0.4-beta +* AT update for 1C2C gearboxes +* Warning when opening or running files if file was created in different mode (Declaration/Engineering Mode) + + ### VECTO 2.0.3-beta0 * Implemented engine-side TC inertia input parameter in GBX file * Updated User Manual for TC inertia diff --git a/VECTO/GUI/F_ENG.vb b/VECTO/GUI/F_ENG.vb index 435a238d62..f35f921cd7 100644 --- a/VECTO/GUI/F_ENG.vb +++ b/VECTO/GUI/F_ENG.vb @@ -149,6 +149,19 @@ Public Class F_ENG Exit Sub End If + If Cfg.DeclMode <> ENG0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Me.Close() + F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked + F_MAINForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + Me.TbName.Text = ENG0.ModelName Me.TbDispl.Text = ENG0.Displ.ToString Me.TbInertia.Text = ENG0.I_mot.ToString diff --git a/VECTO/GUI/F_GBX.vb b/VECTO/GUI/F_GBX.vb index 979de2aaf9..982abef753 100644 --- a/VECTO/GUI/F_GBX.vb +++ b/VECTO/GUI/F_GBX.vb @@ -200,6 +200,19 @@ Public Class F_GBX Exit Sub End If + If Cfg.DeclMode <> GBX0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Me.Close() + F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked + F_MAINForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + Me.TbName.Text = GBX0.ModelName Me.TbTracInt.Text = GBX0.TracIntrSi.ToString Me.TBI_getr.Text = GBX0.GbxInertia.ToString diff --git a/VECTO/GUI/F_MAINForm.Designer.vb b/VECTO/GUI/F_MAINForm.Designer.vb index e53035690e..777811090a 100644 --- a/VECTO/GUI/F_MAINForm.Designer.vb +++ b/VECTO/GUI/F_MAINForm.Designer.vb @@ -64,21 +64,23 @@ Partial Class F_MAINForm Me.ButtonDRIremove = New System.Windows.Forms.Button() Me.ButtonDRIadd = New System.Windows.Forms.Button() Me.TabPgOptions = New System.Windows.Forms.TabPage() - Me.GrBoxSTD = New System.Windows.Forms.GroupBox() Me.GrBoxBATCH = New System.Windows.Forms.GroupBox() Me.ChBoxBatchSubD = New System.Windows.Forms.CheckBox() Me.Label2 = New System.Windows.Forms.Label() Me.ButBObrowse = New System.Windows.Forms.Button() Me.CbBOmode = New System.Windows.Forms.ComboBox() Me.TbBOpath = New System.Windows.Forms.TextBox() + Me.GrBoxSTD = New System.Windows.Forms.GroupBox() Me.ChBoxAutoSD = New System.Windows.Forms.CheckBox() Me.PanelOptAllg = New System.Windows.Forms.Panel() - Me.CbDecl = New System.Windows.Forms.CheckBox() + Me.ChBoxModOut = New System.Windows.Forms.CheckBox() + Me.GroupBox1 = New System.Windows.Forms.GroupBox() + Me.RbDev = New System.Windows.Forms.RadioButton() + Me.RbDecl = New System.Windows.Forms.RadioButton() Me.PnDeclOpt = New System.Windows.Forms.Panel() Me.CbBatch = New System.Windows.Forms.CheckBox() Me.ChBoxCyclDistCor = New System.Windows.Forms.CheckBox() Me.ChBoxUseGears = New System.Windows.Forms.CheckBox() - Me.ChBoxModOut = New System.Windows.Forms.CheckBox() Me.TabPageDEV = New System.Windows.Forms.TabPage() Me.LvDEVoptions = New System.Windows.Forms.ListView() Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader) @@ -133,6 +135,7 @@ Partial Class F_MAINForm Me.TabPgOptions.SuspendLayout() Me.GrBoxBATCH.SuspendLayout() Me.PanelOptAllg.SuspendLayout() + Me.GroupBox1.SuspendLayout() Me.PnDeclOpt.SuspendLayout() Me.TabPageDEV.SuspendLayout() Me.ConMenFilelist.SuspendLayout() @@ -466,8 +469,8 @@ Partial Class F_MAINForm ' 'TabPgOptions ' - Me.TabPgOptions.Controls.Add(Me.GrBoxSTD) Me.TabPgOptions.Controls.Add(Me.GrBoxBATCH) + Me.TabPgOptions.Controls.Add(Me.GrBoxSTD) Me.TabPgOptions.Controls.Add(Me.ChBoxAutoSD) Me.TabPgOptions.Controls.Add(Me.PanelOptAllg) Me.TabPgOptions.Location = New System.Drawing.Point(4, 22) @@ -478,18 +481,6 @@ Partial Class F_MAINForm Me.TabPgOptions.Text = "Options" Me.TabPgOptions.UseVisualStyleBackColor = True ' - 'GrBoxSTD - ' - Me.GrBoxSTD.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ - Or System.Windows.Forms.AnchorStyles.Left) _ - Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.GrBoxSTD.Location = New System.Drawing.Point(6, 182) - Me.GrBoxSTD.Name = "GrBoxSTD" - Me.GrBoxSTD.Size = New System.Drawing.Size(1106, 158) - Me.GrBoxSTD.TabIndex = 14 - Me.GrBoxSTD.TabStop = False - Me.GrBoxSTD.Text = "Standard Options" - ' 'GrBoxBATCH ' Me.GrBoxBATCH.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ @@ -500,9 +491,9 @@ Partial Class F_MAINForm Me.GrBoxBATCH.Controls.Add(Me.ButBObrowse) Me.GrBoxBATCH.Controls.Add(Me.CbBOmode) Me.GrBoxBATCH.Controls.Add(Me.TbBOpath) - Me.GrBoxBATCH.Location = New System.Drawing.Point(6, 182) + Me.GrBoxBATCH.Location = New System.Drawing.Point(6, 224) Me.GrBoxBATCH.Name = "GrBoxBATCH" - Me.GrBoxBATCH.Size = New System.Drawing.Size(1106, 158) + Me.GrBoxBATCH.Size = New System.Drawing.Size(1106, 116) Me.GrBoxBATCH.TabIndex = 5 Me.GrBoxBATCH.TabStop = False Me.GrBoxBATCH.Text = "Batch Options" @@ -555,10 +546,23 @@ Partial Class F_MAINForm Me.TbBOpath.Size = New System.Drawing.Size(818, 20) Me.TbBOpath.TabIndex = 1 ' + 'GrBoxSTD + ' + Me.GrBoxSTD.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ + Or System.Windows.Forms.AnchorStyles.Left) _ + Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GrBoxSTD.Location = New System.Drawing.Point(6, 224) + Me.GrBoxSTD.Name = "GrBoxSTD" + Me.GrBoxSTD.Size = New System.Drawing.Size(1106, 116) + Me.GrBoxSTD.TabIndex = 14 + Me.GrBoxSTD.TabStop = False + Me.GrBoxSTD.Text = "Standard Options" + ' 'ChBoxAutoSD ' + Me.ChBoxAutoSD.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ChBoxAutoSD.AutoSize = True - Me.ChBoxAutoSD.Location = New System.Drawing.Point(246, 16) + Me.ChBoxAutoSD.Location = New System.Drawing.Point(943, 6) Me.ChBoxAutoSD.Name = "ChBoxAutoSD" Me.ChBoxAutoSD.Size = New System.Drawing.Size(169, 17) Me.ChBoxAutoSD.TabIndex = 13 @@ -567,30 +571,66 @@ Partial Class F_MAINForm ' 'PanelOptAllg ' - Me.PanelOptAllg.Controls.Add(Me.CbDecl) - Me.PanelOptAllg.Controls.Add(Me.PnDeclOpt) Me.PanelOptAllg.Controls.Add(Me.ChBoxModOut) + Me.PanelOptAllg.Controls.Add(Me.GroupBox1) + Me.PanelOptAllg.Controls.Add(Me.PnDeclOpt) Me.PanelOptAllg.Location = New System.Drawing.Point(6, 6) Me.PanelOptAllg.Name = "PanelOptAllg" - Me.PanelOptAllg.Size = New System.Drawing.Size(220, 170) + Me.PanelOptAllg.Size = New System.Drawing.Size(358, 212) Me.PanelOptAllg.TabIndex = 0 ' - 'CbDecl + 'ChBoxModOut + ' + Me.ChBoxModOut.AutoSize = True + Me.ChBoxModOut.Checked = True + Me.ChBoxModOut.CheckState = System.Windows.Forms.CheckState.Checked + Me.ChBoxModOut.Location = New System.Drawing.Point(9, 180) + Me.ChBoxModOut.Name = "ChBoxModOut" + Me.ChBoxModOut.Size = New System.Drawing.Size(115, 17) + Me.ChBoxModOut.TabIndex = 0 + Me.ChBoxModOut.Text = "Write modal results" + Me.ChBoxModOut.UseVisualStyleBackColor = True ' - Me.CbDecl.AutoSize = True - Me.CbDecl.Location = New System.Drawing.Point(14, 10) - Me.CbDecl.Name = "CbDecl" - Me.CbDecl.Size = New System.Drawing.Size(110, 17) - Me.CbDecl.TabIndex = 15 - Me.CbDecl.Text = "Declaration Mode" - Me.CbDecl.UseVisualStyleBackColor = True + 'GroupBox1 + ' + Me.GroupBox1.Controls.Add(Me.RbDev) + Me.GroupBox1.Controls.Add(Me.RbDecl) + Me.GroupBox1.Location = New System.Drawing.Point(3, 3) + Me.GroupBox1.Name = "GroupBox1" + Me.GroupBox1.Size = New System.Drawing.Size(121, 72) + Me.GroupBox1.TabIndex = 15 + Me.GroupBox1.TabStop = False + Me.GroupBox1.Text = "Mode" + ' + 'RbDev + ' + Me.RbDev.AutoSize = True + Me.RbDev.Checked = True + Me.RbDev.Location = New System.Drawing.Point(6, 42) + Me.RbDev.Name = "RbDev" + Me.RbDev.Size = New System.Drawing.Size(111, 17) + Me.RbDev.TabIndex = 1 + Me.RbDev.TabStop = True + Me.RbDev.Text = "Engineering Mode" + Me.RbDev.UseVisualStyleBackColor = True + ' + 'RbDecl + ' + Me.RbDecl.AutoSize = True + Me.RbDecl.Location = New System.Drawing.Point(6, 19) + Me.RbDecl.Name = "RbDecl" + Me.RbDecl.Size = New System.Drawing.Size(109, 17) + Me.RbDecl.TabIndex = 0 + Me.RbDecl.TabStop = True + Me.RbDecl.Text = "Declaration Mode" + Me.RbDecl.UseVisualStyleBackColor = True ' 'PnDeclOpt ' Me.PnDeclOpt.Controls.Add(Me.CbBatch) Me.PnDeclOpt.Controls.Add(Me.ChBoxCyclDistCor) Me.PnDeclOpt.Controls.Add(Me.ChBoxUseGears) - Me.PnDeclOpt.Location = New System.Drawing.Point(8, 38) + Me.PnDeclOpt.Location = New System.Drawing.Point(3, 81) Me.PnDeclOpt.Name = "PnDeclOpt" Me.PnDeclOpt.Size = New System.Drawing.Size(202, 93) Me.PnDeclOpt.TabIndex = 13 @@ -625,18 +665,6 @@ Partial Class F_MAINForm Me.ChBoxUseGears.Text = "Use gears/rpm's form driving cycle" Me.ChBoxUseGears.UseVisualStyleBackColor = True ' - 'ChBoxModOut - ' - Me.ChBoxModOut.AutoSize = True - Me.ChBoxModOut.Checked = True - Me.ChBoxModOut.CheckState = System.Windows.Forms.CheckState.Checked - Me.ChBoxModOut.Location = New System.Drawing.Point(14, 137) - Me.ChBoxModOut.Name = "ChBoxModOut" - Me.ChBoxModOut.Size = New System.Drawing.Size(115, 17) - Me.ChBoxModOut.TabIndex = 0 - Me.ChBoxModOut.Text = "Write modal results" - Me.ChBoxModOut.UseVisualStyleBackColor = True - ' 'TabPageDEV ' Me.TabPageDEV.Controls.Add(Me.LvDEVoptions) @@ -988,6 +1016,8 @@ Partial Class F_MAINForm Me.GrBoxBATCH.PerformLayout() Me.PanelOptAllg.ResumeLayout(False) Me.PanelOptAllg.PerformLayout() + Me.GroupBox1.ResumeLayout(False) + Me.GroupBox1.PerformLayout() Me.PnDeclOpt.ResumeLayout(False) Me.PnDeclOpt.PerformLayout() Me.TabPageDEV.ResumeLayout(False) @@ -1090,9 +1120,11 @@ Partial Class F_MAINForm Friend WithEvents GrBoxSTD As System.Windows.Forms.GroupBox Friend WithEvents PnDeclOpt As System.Windows.Forms.Panel Friend WithEvents LbDecl As System.Windows.Forms.Label - Friend WithEvents CbDecl As System.Windows.Forms.CheckBox Friend WithEvents GraphToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents OpenInGraphWindowToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem Friend WithEvents CbBatch As System.Windows.Forms.CheckBox + Friend WithEvents RbDev As System.Windows.Forms.RadioButton + Friend WithEvents RbDecl As System.Windows.Forms.RadioButton + Friend WithEvents GroupBox1 As System.Windows.Forms.GroupBox End Class diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/F_MAINForm.vb index 003bbc2dd9..4e9c4f037e 100644 --- a/VECTO/GUI/F_MAINForm.vb +++ b/VECTO/GUI/F_MAINForm.vb @@ -523,7 +523,7 @@ Public Class F_MAINForm If Cfg.BatchMode Then LastModeName = "Batch" Else - LastModeName = "Standard" + LastModeName = "Engineering" End If End If @@ -652,7 +652,7 @@ Public Class F_MAINForm #End Region 'Open file - Job, vehicle, engine, gearbox or signature file - Private Sub OpenVectoFile(ByVal File As String) + Public Sub OpenVectoFile(ByVal File As String) If Not IO.File.Exists(File) Then @@ -1496,7 +1496,7 @@ lbFound: If Cfg.DeclMode Then LastModeName = "Declaration" Else - LastModeName = "STANDARD" + LastModeName = "Engineering" End If 'Show mode-specific settings @@ -1750,7 +1750,7 @@ lbFound: 'Set Mode If Not Cfg.DeclMode Then Me.CbBatch.Checked = Cfg.BatchMode - Me.CbDecl.Checked = Cfg.DeclMode + Me.RbDecl.Checked = Cfg.DeclMode End Sub @@ -2066,25 +2066,26 @@ lbFound: #End Region 'Change Declaraion Mode - Private Sub CbDecl_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CbDecl.CheckedChanged - + Private Sub RbDecl_CheckedChanged(sender As Object, e As System.EventArgs) Handles RbDecl.CheckedChanged If CbDeclLock Then Exit Sub If F_VECTO.Visible Or F_VEH.Visible Or F_GBX.Visible Or F_ENG.Visible Then CbDeclLock = True - Me.CbDecl.Checked = Not Me.CbDecl.Checked + Me.RbDecl.Checked = Not Me.RbDecl.Checked CbDeclLock = False MsgBox("Please close all dialog windows (e.g. Job Editor) before changing mode!") Else - Cfg.DeclMode = Me.CbDecl.Checked + Cfg.DeclMode = Me.RbDecl.Checked + Me.RbDev.Checked = Not Me.RbDecl.Checked DeclOnOff() End If - End Sub + + #Region "GUI Tests" Private GUItest0 As New GUItest(Me) @@ -2443,4 +2444,5 @@ Lb1: #End Region + End Class diff --git a/VECTO/GUI/F_VECTO.vb b/VECTO/GUI/F_VECTO.vb index 205c0e327d..e916ef0687 100644 --- a/VECTO/GUI/F_VECTO.vb +++ b/VECTO/GUI/F_VECTO.vb @@ -353,6 +353,20 @@ Public Class F_VECTO Exit Sub End Try + If Cfg.DeclMode <> VEC0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Me.Close() + F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked + F_MAINForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + + 'Update Form 'Files ----------------------------- diff --git a/VECTO/GUI/F_VEH.vb b/VECTO/GUI/F_VEH.vb index e32ab3beef..9824a26062 100644 --- a/VECTO/GUI/F_VEH.vb +++ b/VECTO/GUI/F_VEH.vb @@ -318,6 +318,19 @@ Public Class F_VEH Exit Sub End If + If Cfg.DeclMode <> VEH0.SavedInDeclMode Then + Select Case WrongMode() + Case 1 + Me.Close() + F_MAINForm.RbDecl.Checked = Not F_MAINForm.RbDecl.Checked + F_MAINForm.OpenVectoFile(file) + Case -1 + Exit Sub + Case Else '0 + 'Continue... + End Select + End If + Me.TbMass.Text = VEH0.Mass Me.TbMassExtra.Text = VEH0.MassExtra Me.TbLoad.Text = VEH0.Loading diff --git a/VECTO/GUI/GUI_Subs.vb b/VECTO/GUI/GUI_Subs.vb index 41b538fda8..dcb30d15e1 100644 --- a/VECTO/GUI/GUI_Subs.vb +++ b/VECTO/GUI/GUI_Subs.vb @@ -234,4 +234,48 @@ Module GUI_Subs End Function + Public Function WrongMode() As Integer + + If Cfg.DeclMode Then + + Select Case MsgBox("This file was created in Engineering Mode! Opening in Declaration Mode will overwrite some parameters with generic values." & vbCrLf & vbCrLf & _ + "Do you want to switch to Engineering Mode?" & vbCrLf & vbCrLf & _ + "[Yes] Switch mode and open file" & vbCrLf & _ + "[No] Open file without changing mode" & vbCrLf & _ + "[Cancel] Abort opening file" _ + , MsgBoxStyle.YesNoCancel, "Warning") + Case MsgBoxResult.Yes + Return 1 + + Case (MsgBoxResult.No) + Return 0 + + Case Else + Return -1 + + End Select + + Else + + Select Case MsgBox("This file was created in Declaration Mode! For use in Engineering Mode missing parameters must be defined." & vbCrLf & vbCrLf & _ + "Do you want to switch to Declaration Mode?" & vbCrLf & vbCrLf & _ + "[Yes] Switch mode and open file" & vbCrLf & _ + "[No] Open file without changing mode" & vbCrLf & _ + "[Cancel] Abort opening file" _ + , MsgBoxStyle.YesNoCancel, "Warning") + Case MsgBoxResult.Yes + Return 1 + + Case (MsgBoxResult.No) + Return 0 + + Case Else + Return -1 + + End Select + + End If + + End Function + End Module diff --git a/VECTO/Input Files/cENG.vb b/VECTO/Input Files/cENG.vb index 77bec8b21a..c7875237d2 100644 --- a/VECTO/Input Files/cENG.vb +++ b/VECTO/Input Files/cENG.vb @@ -20,7 +20,7 @@ Public Class cENG ''' Current format version ''' </summary> ''' <remarks></remarks> - Private Const FormatVersion As Short = 1 + Private Const FormatVersion As Short = 2 ''' <summary> ''' Format version of input file. Defined in ReadFile. @@ -118,6 +118,9 @@ Public Class cENG ''' <remarks></remarks> Public Pmax As Single + Public SavedInDeclMode As Boolean + + ''' <summary> ''' Generates list of all sub input files (e.g. FC map). Sets MyFileList. ''' </summary> @@ -172,6 +175,7 @@ Public Class cENG WHTCrural = 0 WHTCmw = 0 + SavedInDeclMode = False End Sub @@ -198,6 +202,9 @@ Public Class cENG 'Body dic = New Dictionary(Of String, Object) + dic.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + dic.Add("ModelName", ModelName) dic.Add("Displacement", Displ) @@ -250,6 +257,12 @@ Public Class cENG FileVersion = JSON.Content("Header")("FileVersion") + If FileVersion > 1 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + ModelName = JSON.Content("Body")("ModelName") Displ = JSON.Content("Body")("Displacement") diff --git a/VECTO/Input Files/cGBX.vb b/VECTO/Input Files/cGBX.vb index c5e55a1b5b..0340b33d0a 100644 --- a/VECTO/Input Files/cGBX.vb +++ b/VECTO/Input Files/cGBX.vb @@ -12,7 +12,7 @@ Imports System.Collections.Generic Public Class cGBX - Private Const FormatVersion As Short = 3 + Private Const FormatVersion As Short = 4 Private FileVersion As Short Private MyPath As String @@ -70,6 +70,7 @@ Public Class cGBX Private MyFileList As List(Of String) + Public SavedInDeclMode As Boolean Public Function CreateFileList() As Boolean @@ -136,6 +137,8 @@ Public Class cGBX TCinertia = 0 + SavedInDeclMode = False + End Sub Public Function SaveFile() As Boolean @@ -156,6 +159,9 @@ Public Class cGBX 'Body dic = New Dictionary(Of String, Object) + dic.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + dic.Add("ModelName", ModelName) dic.Add("Inertia", GbxInertia) @@ -219,6 +225,12 @@ Public Class cGBX FileVersion = JSON.Content("Header")("FileVersion") + If FileVersion > 3 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + ModelName = JSON.Content("Body")("ModelName") GbxInertia = JSON.Content("Body")("Inertia") TracIntrSi = JSON.Content("Body")("TracInt") diff --git a/VECTO/Input Files/cVECTO.vb b/VECTO/Input Files/cVECTO.vb index 859b4a590d..f34ba3b024 100644 --- a/VECTO/Input Files/cVECTO.vb +++ b/VECTO/Input Files/cVECTO.vb @@ -13,7 +13,7 @@ Imports System.Collections.Generic Public Class cVECTO - Private Const FormatVersion As Short = 1 + Private Const FormatVersion As Short = 2 Private FileVersion As Short Private sFilePath As String @@ -56,6 +56,8 @@ Public Class cVECTO Private MyFileList As List(Of String) + Public SavedInDeclMode As Boolean + Public Class cAuxEntry Public Type As String @@ -172,6 +174,9 @@ Public Class cVECTO 'Body dic0 = New Dictionary(Of String, Object) + dic0.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + 'Main Files dic0.Add("VehicleFile", stPathVEH.PathOrDummy) dic0.Add("EngineFile", stPathENG.PathOrDummy) @@ -266,6 +271,12 @@ Public Class cVECTO FileVersion = JSON.Content("Header")("FileVersion") + If FileVersion > 1 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + If Not JSON.Content("Body")("VehicleFile") Is Nothing Then stPathVEH.Init(MyPath, JSON.Content("Body")("VehicleFile")) stPathENG.Init(MyPath, JSON.Content("Body")("EngineFile")) @@ -411,6 +422,8 @@ Public Class cVECTO UnderSpeed = 0 vMinLA = 0 + SavedInDeclMode = False + End Sub Public Function DeclInit() As Boolean diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb index 0c434b9ebe..9d4c046eb6 100644 --- a/VECTO/Input Files/cVEH.vb +++ b/VECTO/Input Files/cVEH.vb @@ -13,7 +13,7 @@ Imports System.Collections.Generic Public Class cVEH 'V2 MassMax is now saved in [t] instead of [kg] - Private Const FormatVersion As Short = 4 + Private Const FormatVersion As Short = 5 Private FileVersion As Short Private sFilePath As String @@ -57,6 +57,9 @@ Public Class cVEH Private MyFileList As List(Of String) + Public SavedInDeclMode As Boolean + + Public Class cAxle Public RRC As Single Public Share As Single @@ -127,6 +130,8 @@ Public Class cVEH MassMax = 0 AxleConf = tAxleConf.Undef + SavedInDeclMode = False + End Sub Public Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean @@ -148,6 +153,13 @@ Public Class cVEH FileVersion = JSON.Content("Header")("FileVersion") + If FileVersion > 4 Then + SavedInDeclMode = JSON.Content("Body")("SavedInDeclMode") + Else + SavedInDeclMode = Cfg.DeclMode + End If + + Mass = JSON.Content("Body")("CurbWeight") MassExtra = JSON.Content("Body")("CurbWeightExtra") Loading = JSON.Content("Body")("Loading") @@ -256,6 +268,9 @@ Public Class cVEH 'Body dic = New Dictionary(Of String, Object) + dic.Add("SavedInDeclMode", Cfg.DeclMode) + SavedInDeclMode = Cfg.DeclMode + dic.Add("VehCat", ConvVehCat(VehCat, False)) dic.Add("CurbWeight", Mass) diff --git a/VECTO/M_MAIN.vb b/VECTO/M_MAIN.vb index 81b74ae008..4f692f3cc7 100644 --- a/VECTO/M_MAIN.vb +++ b/VECTO/M_MAIN.vb @@ -20,7 +20,6 @@ Module M_MAIN Public JobCycleList As List(Of String) Public JobFile As String - Public GenFile As String Public CycleFiles As New List(Of String) Public CurrentCycleFile As String @@ -157,8 +156,6 @@ lbSkip0: JobFile = fFileRepl(JobFileList(iJob)) - GenFile = JobFile - WorkerMsg(tMsgID.NewJob, "Job: " & (iJob * (CyclesDim + 1) + iCycle + 1) & " / " & ((FilesDim + 1) * (CyclesDim + 1)) & " | " & fFILE(JobFile, True), MsgSrc) WorkerStatus("Current Job: " & (iJob * (CyclesDim + 1) + iCycle + 1) & " / " & ((FilesDim + 1) * (CyclesDim + 1)) & " | " & fFILE(JobFile, True)) WorkerJobStatus(iJob, "initialising... ", tJobStatus.Running) @@ -508,7 +505,7 @@ lbAusg: End If 'VSUM Output (first Calculation - Initialization & Header) - If Not VSUM.WriteVSUM(iJob * (CyclesDim + 1) + iCycle + 1, fFILE(GenFile, True), fFILE(CurrentCycleFile, True), CyclAbrtedByErr) Then GoTo lbErrInJobLoop + If Not VSUM.WriteVSUM(iJob * (CyclesDim + 1) + iCycle + 1, fFILE(JobFile, True), fFILE(CurrentCycleFile, True), CyclAbrtedByErr) Then GoTo lbErrInJobLoop 'Data Cleanup MODdata.CleanUp() @@ -549,9 +546,9 @@ lbNextJob: If JobAbortedByErr Then If CInt(iJob * (CyclesDim + 1) + 1) = CInt((iJob + 1) * (CyclesDim + 1)) Then - VSUM.WriteVSUM(((iJob + 1) * (CyclesDim + 1)).ToString, fFILE(GenFile, True), "-", True) + VSUM.WriteVSUM(((iJob + 1) * (CyclesDim + 1)).ToString, fFILE(JobFile, True), "-", True) Else - VSUM.WriteVSUM((iJob * (CyclesDim + 1) + 1).ToString & ".." & ((iJob + 1) * (CyclesDim + 1)).ToString, fFILE(GenFile, True), "-", True) + VSUM.WriteVSUM((iJob * (CyclesDim + 1) + 1).ToString & ".." & ((iJob + 1) * (CyclesDim + 1)).ToString, fFILE(JobFile, True), "-", True) End If End If @@ -675,32 +672,42 @@ lbExit: Public Function ReadFiles() As Boolean Dim sb As cSubPath + Dim OtherModeString As String Dim MsgSrc As String MsgSrc = "Main/ReadInp" - '----------------------------- ~GEN~ ----------------------------- - 'Read GEN - If UCase(fEXT(GenFile)) <> ".VECTO" Then + If Cfg.DeclMode Then + OtherModeString = "Engineering" + Else + OtherModeString = "Declaration" + End If + + '----------------------------- ~VECTO~ ----------------------------- + 'Read Job file + If UCase(fEXT(JobFile)) <> ".VECTO" Then WorkerMsg(tMsgID.Err, "Only .VECTO files are supported in this mode", MsgSrc) Return False End If VEC = New cVECTO - VEC.FilePath = GenFile + VEC.FilePath = JobFile Try If Not VEC.ReadFile() Then - WorkerMsg(tMsgID.Err, "Cannot read .vecto file (" & GenFile & ")", MsgSrc) + WorkerMsg(tMsgID.Err, "Cannot read .vecto file (" & JobFile & ")", MsgSrc) Return False End If Catch ex As Exception - WorkerMsg(tMsgID.Err, "File read error! (" & GenFile & ")", MsgSrc, GenFile) + WorkerMsg(tMsgID.Err, "File read error! (" & JobFile & ")", MsgSrc, JobFile) Return False End Try + 'Check if file was saved in different mode + If Cfg.DeclMode <> VEC.SavedInDeclMode Then WorkerMsg(tMsgID.Warn, "Job file was created in " & OtherModeString & " Mode! Some parameters might be missing and cause errors.", MsgSrc, "<GUI>" & JobFile) + '----------------------------- ~VEH~ ----------------------------- VEH = New cVEH @@ -715,8 +722,12 @@ lbExit: Return False End Try + 'Check if file was saved in different mode + If Cfg.DeclMode <> VEH.SavedInDeclMode Then WorkerMsg(tMsgID.Warn, "Vehicle file was created in " & OtherModeString & " Mode! Some parameters might be missing and cause errors.", MsgSrc, "<GUI>" & VEC.PathVEH) + End If + If Cfg.DeclMode Then If Not Declaration.SetRef() Then WorkerMsg(tMsgID.Err, "Vehicle Configuration not found in Segment Table!", MsgSrc) @@ -750,6 +761,10 @@ lbExit: Return False End Try + 'Check if file was saved in different mode + If Cfg.DeclMode <> ENG.SavedInDeclMode Then WorkerMsg(tMsgID.Warn, "Engine file was created in " & OtherModeString & " Mode! Some parameters might be missing and cause errors.", MsgSrc, "<GUI>" & VEC.PathENG) + + '----------------------------- ~GBX~ ----------------------------- GBX = New cGBX @@ -764,6 +779,9 @@ lbExit: Return False End Try + 'Check if file was saved in different mode + If Cfg.DeclMode <> GBX.SavedInDeclMode Then WorkerMsg(tMsgID.Warn, "Gearbox file was created in " & OtherModeString & " Mode! Some parameters might be missing and cause errors.", MsgSrc, "<GUI>" & VEC.PathGBX) + End If 'Must be called after cGBX.ReadFile because cGBX.GearCount is needed diff --git a/VECTO/cConfig.vb b/VECTO/cConfig.vb index cb4c4f3e02..202ea795fb 100644 --- a/VECTO/cConfig.vb +++ b/VECTO/cConfig.vb @@ -20,7 +20,7 @@ Public Class cConfig Public GnUfromCycle As Boolean Public BatchMode As Boolean Public ModOut As Boolean - Public BATCHoutpath As String 'Ausgabepfad für BATCH-Modus: <WORKDIR>, <GENPATH> oder Pfad + Public BATCHoutpath As String 'Output path for BATCH Mode Public BATCHoutSubD As Boolean Public DistCorr As Boolean Public LogSize As Single diff --git a/VECTO/cVSUM.vb b/VECTO/cVSUM.vb index 64c6621a0a..bc45fb3f5c 100644 --- a/VECTO/cVSUM.vb +++ b/VECTO/cVSUM.vb @@ -342,7 +342,7 @@ Class cVSUM If Cfg.DeclMode Then - dic.Add("Cycle", Declaration.CurrentMission.NameStr) + If Not Declaration.CurrentMission Is Nothing Then dic.Add("Cycle", Declaration.CurrentMission.NameStr) dic.Add("Loading", ConvLoading(Declaration.CurrentLoading)) Else dic.Add("Cycle", CycleFilename) -- GitLab