From f3a3f0faccf27215fcee55ba9ea7d43239e87e82 Mon Sep 17 00:00:00 2001 From: Anton Date: Wed, 24 Feb 2021 13:46:21 +0100 Subject: [PATCH] Started on fill area with gratings --- Database/Databas.xlsx | Bin 52563 -> 56390 bytes Database/Load.csv | 21 + Database/Meshes.csv | 628 ++++++++++++------------- Wardrobe/GUI/AppForm.Designer.vb | 40 +- Wardrobe/GUI/AppForm.vb | 35 +- Wardrobe/GUI/Individual.Designer.vb | 214 ++++++--- Wardrobe/GUI/Individual.vb | 122 +++-- Wardrobe/GUI/Main_Menu.Designer.vb | 77 +++ Wardrobe/GUI/Main_Menu.resx | 120 +++++ Wardrobe/GUI/Main_Menu.vb | 25 + Wardrobe/GUI/Multiple.Designer.vb | 326 +++++++------ Wardrobe/Gratings Data/Database.vb | 12 +- Wardrobe/Gratings Data/Grating_Fill.vb | 9 + Wardrobe/Gratings Data/User_Input.vb | 118 +++-- Wardrobe/Wardrobe.vbproj | 10 + 15 files changed, 1087 insertions(+), 670 deletions(-) create mode 100644 Database/Load.csv create mode 100644 Wardrobe/GUI/Main_Menu.Designer.vb create mode 100644 Wardrobe/GUI/Main_Menu.resx create mode 100644 Wardrobe/GUI/Main_Menu.vb create mode 100644 Wardrobe/Gratings Data/Grating_Fill.vb diff --git a/Database/Databas.xlsx b/Database/Databas.xlsx index 7906b3ccad400e5b7f4dd6c8191f4ba3f5376c1d..8b8d45a32501aa79cf3463f53bc4d3d79e9671ba 100644 GIT binary patch delta 24313 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 z z&IXNf86~4jW?T+X7jar@vAa9$2r=Ph8KGFWRkM6iuAdj9#6nZU;=bUBsD|08oX?8< zvbam|M>!pyZyJgXxYc6C*oz{w4uyPOSx@}y5`<*WlEr4JeKK&LR;f5%f9%q3M_r0P zop}tZZ8v7j#Xr0I-2dZTlH|X$uzJ&G1#p2{A-KM^XAxAN-bRa3U(kvTA_0Lp5&j=U zaG><7HV7HG`$|pmA2?|^XgE21GyD$;0|I@V6#v0NMn^!v{YMC|O#*@N7gV3I0T7f3 znCRmM-6ulXDgTALia`3m^tTB9YCaMm1G9a20Fx>n)<5!nwZFoAC=um9*K7#?rw1z2 zze>AsdxpmU{(I8luYjwc2)KumgI_xRW#QX@z^@+z|;twtpgrLm;mBoa>S{61i-YI3{V|r12Z%NzQdB> zn|7den2qvJ3@?Yr15G%}^^<>lf^gmmJPtEZ{wH7{At2!WFNN72Kw?A;yx9i?z|FV} zk%QR>-~$i=T6=KdhbsRN`w#+xjkl-QD_28T7j8!{J6FxuuiQQ1%Y_JFfRTgoMgU2e zGMIQ2UJwK09T-44j15dR{+Im;BL_Z>kb@Z~fsPRpLS&Rb{W8M8bNE^mpZdf77vTjT A>;M1& delta 20462 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�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 mBHb8Dr2Tb4wK!Q*pd{7DeiT4P$4njr$;c~+y z{BsBc^$0LTaDZn>4h%Ct(pwHef$||Z*wpcerZMO$gHAggQ5u7)Q{dobpCc+sfdY3K z)aX7y_#F=TQh0$D291aXBvYY4-7v4{{~lX^K7B6{5FZv7{kbP&G4{ z;u%2BumM;r2LM$ffW2WfSUZ;ik-+y6Uchq%4%U5g7-3Y%wGk1ZfzhFpcO=alfdlub zaIjuJkV8EQn2sue_5L`5d85$(Mv53z3)mcGh)MvyF@s~tPnm%8wSs`}m>k%xn$ZOX zh+|OE!vb5uNLDL`-51}#CW);9CdQ;i|ITK{?vnRk0{!Q}391hG(hC4XMFIyj__4GG zCg4K9;Nk0G{2x3#|CCoX0)3-M06~L;AHM{8X+nSn4Gqq1I)a%DSoDSgl>x2y{~lLC Y2G*#ef-J0uH _ + Partial Class AppForm Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,57 +20,33 @@ Partial Class AppForm 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. - _ + Private Sub InitializeComponent() Me.Panel_Start = New System.Windows.Forms.Panel() - Me.Button_Multiple = New System.Windows.Forms.Button() - Me.Button_Individual = New System.Windows.Forms.Button() - Me.Panel_Start.SuspendLayout() Me.SuspendLayout() ' 'Panel_Start ' - Me.Panel_Start.Controls.Add(Me.Button_Multiple) - Me.Panel_Start.Controls.Add(Me.Button_Individual) Me.Panel_Start.Location = New System.Drawing.Point(0, 0) + Me.Panel_Start.Margin = New System.Windows.Forms.Padding(4) Me.Panel_Start.Name = "Panel_Start" - Me.Panel_Start.Size = New System.Drawing.Size(1395, 772) + Me.Panel_Start.Size = New System.Drawing.Size(1860, 950) Me.Panel_Start.TabIndex = 0 ' - 'Button_Multiple - ' - Me.Button_Multiple.Location = New System.Drawing.Point(700, 422) - Me.Button_Multiple.Name = "Button_Multiple" - Me.Button_Multiple.Size = New System.Drawing.Size(117, 93) - Me.Button_Multiple.TabIndex = 1 - Me.Button_Multiple.Text = "Multiple" - Me.Button_Multiple.UseVisualStyleBackColor = True - ' - 'Button_Individual - ' - Me.Button_Individual.Location = New System.Drawing.Point(700, 285) - Me.Button_Individual.Name = "Button_Individual" - Me.Button_Individual.Size = New System.Drawing.Size(117, 93) - Me.Button_Individual.TabIndex = 0 - Me.Button_Individual.Text = "Individual" - Me.Button_Individual.UseVisualStyleBackColor = True - ' 'AppForm ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(1384, 761) + Me.ClientSize = New System.Drawing.Size(1845, 937) Me.Controls.Add(Me.Panel_Start) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle + Me.Margin = New System.Windows.Forms.Padding(4) Me.MaximizeBox = False Me.Name = "AppForm" Me.Text = "AppForm" - Me.Panel_Start.ResumeLayout(False) Me.ResumeLayout(False) End Sub Friend WithEvents Panel_Start As Panel - Friend WithEvents Button_Multiple As Button - Friend WithEvents Button_Individual As Button End Class diff --git a/Wardrobe/GUI/AppForm.vb b/Wardrobe/GUI/AppForm.vb index 163c742..1ff8356 100644 --- a/Wardrobe/GUI/AppForm.vb +++ b/Wardrobe/GUI/AppForm.vb @@ -1,29 +1,32 @@ -Public Class AppForm +Imports XCCLibrary +Public Class AppForm Public Shared fillMode As Boolean - Sub AppForm_Load() Handles MyBase.Load Me.Width = 1400 Me.Height = 800 Me.Top = 20 Me.Left = 50 + Panel_Start.Controls.Clear() + Main_Menu.TopLevel = False + Panel_Start.Controls.Add(Main_Menu) + Main_Menu.Show() + ' Get floor gratings database Database.Retrive_Database() - End Sub - Private Sub Button_Individual_Click(sender As Object, e As EventArgs) Handles Button_Individual.Click - fillMode = False - Panel_Start.Controls.Clear() - Individual.TopLevel = False - Panel_Start.Controls.Add(Individual) - Individual.Show() + + ' Initialize DataTables, Measurments and more + Data.Init_Data() + + ' Initialize DrawingPanel + Draw_Grating.Load_DrawingPanel() + + ' Load XCC settings + adminClass.loadSettings(Settings.filesFolder, Settings.HLCtFolder, "SolidWorks") + + Individual.ComboBox_Type.Items.Add("Pressure Welded") + Individual.ComboBox_Type.Items.Add("Type A") End Sub - Private Sub Button_Multiple_Click(sender As Object, e As EventArgs) Handles Button_Multiple.Click - fillMode = True - Panel_Start.Controls.Clear() - Individual.TopLevel = False - Panel_Start.Controls.Add(Individual) - Individual.Show() - End Sub End Class \ No newline at end of file diff --git a/Wardrobe/GUI/Individual.Designer.vb b/Wardrobe/GUI/Individual.Designer.vb index 6ebf806..5d8432d 100644 --- a/Wardrobe/GUI/Individual.Designer.vb +++ b/Wardrobe/GUI/Individual.Designer.vb @@ -23,6 +23,8 @@ Partial Class Individual Private Sub InitializeComponent() Me.Panel_Data = New System.Windows.Forms.Panel() + Me.TextBox_Width = New System.Windows.Forms.TextBox() + Me.ComboBox_Width = New System.Windows.Forms.ComboBox() Me.Label7 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() @@ -46,7 +48,6 @@ Partial Class Individual Me.ComboBox_Type = New System.Windows.Forms.ComboBox() Me.Panel_Recesses = New System.Windows.Forms.Panel() Me.Button_Square_Middle = New System.Windows.Forms.Button() - Me.Button_Settings = New System.Windows.Forms.Button() Me.Button_Square_Side = New System.Windows.Forms.Button() Me.Button_Angle_Side = New System.Windows.Forms.Button() Me.Button_Square_Corner = New System.Windows.Forms.Button() @@ -55,6 +56,7 @@ Partial Class Individual Me.Panel_Grating = New System.Windows.Forms.Panel() Me.Label2 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() + Me.Button_Back = New System.Windows.Forms.Button() Me.Panel_Data.SuspendLayout() Me.Panel_Recesses.SuspendLayout() Me.Panel_Grating.SuspendLayout() @@ -63,6 +65,9 @@ Partial Class Individual 'Panel_Data ' Me.Panel_Data.BackColor = System.Drawing.SystemColors.GradientActiveCaption + Me.Panel_Data.Controls.Add(Me.Button_Back) + Me.Panel_Data.Controls.Add(Me.TextBox_Width) + Me.Panel_Data.Controls.Add(Me.ComboBox_Width) Me.Panel_Data.Controls.Add(Me.Label7) Me.Panel_Data.Controls.Add(Me.Label6) Me.Panel_Data.Controls.Add(Me.Label5) @@ -87,16 +92,35 @@ Partial Class Individual Me.Panel_Data.Location = New System.Drawing.Point(0, 0) Me.Panel_Data.Margin = New System.Windows.Forms.Padding(0) Me.Panel_Data.Name = "Panel_Data" - Me.Panel_Data.Size = New System.Drawing.Size(315, 772) + Me.Panel_Data.Size = New System.Drawing.Size(420, 950) Me.Panel_Data.TabIndex = 0 ' + 'TextBox_Width + ' + Me.TextBox_Width.Location = New System.Drawing.Point(147, 515) + Me.TextBox_Width.Margin = New System.Windows.Forms.Padding(4) + Me.TextBox_Width.Name = "TextBox_Width" + Me.TextBox_Width.Size = New System.Drawing.Size(205, 22) + Me.TextBox_Width.TabIndex = 26 + ' + 'ComboBox_Width + ' + Me.ComboBox_Width.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList + Me.ComboBox_Width.FormattingEnabled = True + Me.ComboBox_Width.Location = New System.Drawing.Point(147, 514) + Me.ComboBox_Width.Margin = New System.Windows.Forms.Padding(4) + Me.ComboBox_Width.Name = "ComboBox_Width" + Me.ComboBox_Width.Size = New System.Drawing.Size(205, 24) + Me.ComboBox_Width.TabIndex = 25 + ' 'Label7 ' Me.Label7.AutoSize = True Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label7.Location = New System.Drawing.Point(269, 462) + Me.Label7.Location = New System.Drawing.Point(359, 569) + Me.Label7.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label7.Name = "Label7" - Me.Label7.Size = New System.Drawing.Size(23, 13) + Me.Label7.Size = New System.Drawing.Size(30, 17) Me.Label7.TabIndex = 24 Me.Label7.Text = "mm" ' @@ -104,9 +128,10 @@ Partial Class Individual ' Me.Label6.AutoSize = True Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label6.Location = New System.Drawing.Point(269, 421) + Me.Label6.Location = New System.Drawing.Point(359, 518) + Me.Label6.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(23, 13) + Me.Label6.Size = New System.Drawing.Size(30, 17) Me.Label6.TabIndex = 23 Me.Label6.Text = "mm" ' @@ -114,9 +139,10 @@ Partial Class Individual ' Me.Label5.AutoSize = True Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label5.Location = New System.Drawing.Point(269, 328) + Me.Label5.Location = New System.Drawing.Point(359, 404) + Me.Label5.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label5.Name = "Label5" - Me.Label5.Size = New System.Drawing.Size(23, 13) + Me.Label5.Size = New System.Drawing.Size(30, 17) Me.Label5.TabIndex = 22 Me.Label5.Text = "mm" ' @@ -124,9 +150,10 @@ Partial Class Individual ' Me.Label4.AutoSize = True Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label4.Location = New System.Drawing.Point(269, 281) + Me.Label4.Location = New System.Drawing.Point(359, 346) + Me.Label4.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(23, 13) + Me.Label4.Size = New System.Drawing.Size(30, 17) Me.Label4.TabIndex = 21 Me.Label4.Text = "mm" ' @@ -134,37 +161,43 @@ Partial Class Individual ' Me.Label3.AutoSize = True Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label3.Location = New System.Drawing.Point(269, 237) + Me.Label3.Location = New System.Drawing.Point(359, 292) + Me.Label3.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(23, 13) + Me.Label3.Size = New System.Drawing.Size(30, 17) Me.Label3.TabIndex = 20 Me.Label3.Text = "mm" ' 'Button_Export_GUI ' - Me.Button_Export_GUI.Location = New System.Drawing.Point(35, 690) + Me.Button_Export_GUI.BackColor = System.Drawing.Color.Transparent + Me.Button_Export_GUI.Location = New System.Drawing.Point(65, 866) + Me.Button_Export_GUI.Margin = New System.Windows.Forms.Padding(4) Me.Button_Export_GUI.Name = "Button_Export_GUI" - Me.Button_Export_GUI.Size = New System.Drawing.Size(75, 23) + Me.Button_Export_GUI.Size = New System.Drawing.Size(100, 28) Me.Button_Export_GUI.TabIndex = 18 Me.Button_Export_GUI.Text = "Export GUI" - Me.Button_Export_GUI.UseVisualStyleBackColor = True + Me.Button_Export_GUI.UseVisualStyleBackColor = False ' 'Button_Export_SW ' - Me.Button_Export_SW.Location = New System.Drawing.Point(156, 690) + Me.Button_Export_SW.BackColor = System.Drawing.Color.Transparent + Me.Button_Export_SW.Location = New System.Drawing.Point(234, 866) + Me.Button_Export_SW.Margin = New System.Windows.Forms.Padding(4) Me.Button_Export_SW.Name = "Button_Export_SW" - Me.Button_Export_SW.Size = New System.Drawing.Size(75, 23) + Me.Button_Export_SW.Size = New System.Drawing.Size(100, 28) Me.Button_Export_SW.TabIndex = 17 Me.Button_Export_SW.Text = "Export SW" - Me.Button_Export_SW.UseVisualStyleBackColor = True + Me.Button_Export_SW.UseVisualStyleBackColor = False ' 'Label_Heading ' Me.Label_Heading.AutoSize = True Me.Label_Heading.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Heading.Location = New System.Drawing.Point(56, 36) + Me.Label_Heading.Location = New System.Drawing.Point(75, 44) + Me.Label_Heading.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Heading.Name = "Label_Heading" - Me.Label_Heading.Size = New System.Drawing.Size(166, 20) + Me.Label_Heading.Size = New System.Drawing.Size(198, 25) Me.Label_Heading.TabIndex = 15 Me.Label_Heading.Text = "Grating Parameters" ' @@ -172,9 +205,10 @@ Partial Class Individual ' Me.Label_Material.AutoSize = True Me.Label_Material.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Material.Location = New System.Drawing.Point(46, 143) + Me.Label_Material.Location = New System.Drawing.Point(61, 176) + Me.Label_Material.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Material.Name = "Label_Material" - Me.Label_Material.Size = New System.Drawing.Size(58, 17) + Me.Label_Material.Size = New System.Drawing.Size(69, 20) Me.Label_Material.TabIndex = 14 Me.Label_Material.Text = "Material" ' @@ -182,9 +216,10 @@ Partial Class Individual ' Me.Label_Mesh.AutoSize = True Me.Label_Mesh.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Mesh.Location = New System.Drawing.Point(31, 233) + Me.Label_Mesh.Location = New System.Drawing.Point(41, 287) + Me.Label_Mesh.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Mesh.Name = "Label_Mesh" - Me.Label_Mesh.Size = New System.Drawing.Size(73, 17) + Me.Label_Mesh.Size = New System.Drawing.Size(88, 20) Me.Label_Mesh.TabIndex = 13 Me.Label_Mesh.Text = "Mesh Size" ' @@ -192,9 +227,10 @@ Partial Class Individual ' Me.Label_Height.AutoSize = True Me.Label_Height.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Height.Location = New System.Drawing.Point(55, 279) + Me.Label_Height.Location = New System.Drawing.Point(73, 343) + Me.Label_Height.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Height.Name = "Label_Height" - Me.Label_Height.Size = New System.Drawing.Size(49, 17) + Me.Label_Height.Size = New System.Drawing.Size(58, 20) Me.Label_Height.TabIndex = 12 Me.Label_Height.Text = "Height" ' @@ -202,9 +238,10 @@ Partial Class Individual ' Me.Label_Thickness.AutoSize = True Me.Label_Thickness.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Thickness.Location = New System.Drawing.Point(32, 324) + Me.Label_Thickness.Location = New System.Drawing.Point(43, 399) + Me.Label_Thickness.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Thickness.Name = "Label_Thickness" - Me.Label_Thickness.Size = New System.Drawing.Size(72, 17) + Me.Label_Thickness.Size = New System.Drawing.Size(85, 20) Me.Label_Thickness.TabIndex = 11 Me.Label_Thickness.Text = "Thickness" ' @@ -212,9 +249,10 @@ Partial Class Individual ' Me.Label_Width.AutoSize = True Me.Label_Width.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Width.Location = New System.Drawing.Point(60, 418) + Me.Label_Width.Location = New System.Drawing.Point(80, 514) + Me.Label_Width.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Width.Name = "Label_Width" - Me.Label_Width.Size = New System.Drawing.Size(44, 17) + Me.Label_Width.Size = New System.Drawing.Size(52, 20) Me.Label_Width.TabIndex = 10 Me.Label_Width.Text = "Width" ' @@ -222,9 +260,10 @@ Partial Class Individual ' Me.Label_Length.AutoSize = True Me.Label_Length.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Length.Location = New System.Drawing.Point(52, 458) + Me.Label_Length.Location = New System.Drawing.Point(69, 564) + Me.Label_Length.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Length.Name = "Label_Length" - Me.Label_Length.Size = New System.Drawing.Size(52, 17) + Me.Label_Length.Size = New System.Drawing.Size(60, 20) Me.Label_Length.TabIndex = 9 Me.Label_Length.Text = "Length" ' @@ -232,129 +271,132 @@ Partial Class Individual ' Me.Label_Type.AutoSize = True Me.Label_Type.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Type.Location = New System.Drawing.Point(64, 101) + Me.Label_Type.Location = New System.Drawing.Point(85, 124) + Me.Label_Type.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Type.Name = "Label_Type" - Me.Label_Type.Size = New System.Drawing.Size(40, 16) + Me.Label_Type.Size = New System.Drawing.Size(45, 20) Me.Label_Type.TabIndex = 8 Me.Label_Type.Text = "Type" ' 'TextBox_Length ' - Me.TextBox_Length.Location = New System.Drawing.Point(110, 458) + Me.TextBox_Length.Location = New System.Drawing.Point(147, 564) + Me.TextBox_Length.Margin = New System.Windows.Forms.Padding(4) Me.TextBox_Length.Name = "TextBox_Length" - Me.TextBox_Length.Size = New System.Drawing.Size(155, 20) + Me.TextBox_Length.Size = New System.Drawing.Size(205, 22) Me.TextBox_Length.TabIndex = 7 ' 'ComboBox_Mesh ' Me.ComboBox_Mesh.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Mesh.FormattingEnabled = True - Me.ComboBox_Mesh.Location = New System.Drawing.Point(110, 233) + Me.ComboBox_Mesh.Location = New System.Drawing.Point(147, 287) + Me.ComboBox_Mesh.Margin = New System.Windows.Forms.Padding(4) Me.ComboBox_Mesh.Name = "ComboBox_Mesh" - Me.ComboBox_Mesh.Size = New System.Drawing.Size(155, 21) + Me.ComboBox_Mesh.Size = New System.Drawing.Size(205, 24) Me.ComboBox_Mesh.TabIndex = 6 ' 'ComboBox_Thickness ' Me.ComboBox_Thickness.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Thickness.FormattingEnabled = True - Me.ComboBox_Thickness.Location = New System.Drawing.Point(110, 323) + Me.ComboBox_Thickness.Location = New System.Drawing.Point(147, 398) + Me.ComboBox_Thickness.Margin = New System.Windows.Forms.Padding(4) Me.ComboBox_Thickness.Name = "ComboBox_Thickness" - Me.ComboBox_Thickness.Size = New System.Drawing.Size(155, 21) + Me.ComboBox_Thickness.Size = New System.Drawing.Size(205, 24) Me.ComboBox_Thickness.TabIndex = 3 ' 'ComboBox_Height ' Me.ComboBox_Height.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Height.FormattingEnabled = True - Me.ComboBox_Height.Location = New System.Drawing.Point(110, 278) + Me.ComboBox_Height.Location = New System.Drawing.Point(147, 342) + Me.ComboBox_Height.Margin = New System.Windows.Forms.Padding(4) Me.ComboBox_Height.Name = "ComboBox_Height" - Me.ComboBox_Height.Size = New System.Drawing.Size(155, 21) + Me.ComboBox_Height.Size = New System.Drawing.Size(205, 24) Me.ComboBox_Height.TabIndex = 2 ' 'ComboBox_Material ' Me.ComboBox_Material.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Material.FormattingEnabled = True - Me.ComboBox_Material.Location = New System.Drawing.Point(110, 142) + Me.ComboBox_Material.Location = New System.Drawing.Point(147, 175) + Me.ComboBox_Material.Margin = New System.Windows.Forms.Padding(4) Me.ComboBox_Material.Name = "ComboBox_Material" - Me.ComboBox_Material.Size = New System.Drawing.Size(155, 21) + Me.ComboBox_Material.Size = New System.Drawing.Size(205, 24) Me.ComboBox_Material.TabIndex = 1 ' 'ComboBox_Type ' Me.ComboBox_Type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Type.FormattingEnabled = True - Me.ComboBox_Type.Location = New System.Drawing.Point(110, 101) + Me.ComboBox_Type.Location = New System.Drawing.Point(147, 124) + Me.ComboBox_Type.Margin = New System.Windows.Forms.Padding(4) Me.ComboBox_Type.Name = "ComboBox_Type" - Me.ComboBox_Type.Size = New System.Drawing.Size(155, 21) + Me.ComboBox_Type.Size = New System.Drawing.Size(205, 24) Me.ComboBox_Type.TabIndex = 0 ' 'Panel_Recesses ' Me.Panel_Recesses.BackColor = System.Drawing.Color.Silver Me.Panel_Recesses.Controls.Add(Me.Button_Square_Middle) - Me.Panel_Recesses.Controls.Add(Me.Button_Settings) Me.Panel_Recesses.Controls.Add(Me.Button_Square_Side) Me.Panel_Recesses.Controls.Add(Me.Button_Angle_Side) Me.Panel_Recesses.Controls.Add(Me.Button_Square_Corner) Me.Panel_Recesses.Controls.Add(Me.Button_Angle_Corner) Me.Panel_Recesses.Controls.Add(Me.Label_Recesses) Me.Panel_Recesses.Location = New System.Drawing.Point(0, 0) + Me.Panel_Recesses.Margin = New System.Windows.Forms.Padding(4) Me.Panel_Recesses.Name = "Panel_Recesses" - Me.Panel_Recesses.Size = New System.Drawing.Size(1395, 120) + Me.Panel_Recesses.Size = New System.Drawing.Size(1860, 148) Me.Panel_Recesses.TabIndex = 1 ' 'Button_Square_Middle ' - Me.Button_Square_Middle.Location = New System.Drawing.Point(901, 25) + Me.Button_Square_Middle.Location = New System.Drawing.Point(1201, 31) + Me.Button_Square_Middle.Margin = New System.Windows.Forms.Padding(4) Me.Button_Square_Middle.Name = "Button_Square_Middle" - Me.Button_Square_Middle.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Middle.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Middle.TabIndex = 21 Me.Button_Square_Middle.Text = "Square Middle" Me.Button_Square_Middle.UseVisualStyleBackColor = True ' - 'Button_Settings - ' - Me.Button_Settings.Location = New System.Drawing.Point(1255, 3) - Me.Button_Settings.Name = "Button_Settings" - Me.Button_Settings.Size = New System.Drawing.Size(75, 23) - Me.Button_Settings.TabIndex = 16 - Me.Button_Settings.Text = "Settings" - Me.Button_Settings.UseVisualStyleBackColor = True - ' 'Button_Square_Side ' - Me.Button_Square_Side.Location = New System.Drawing.Point(796, 25) + Me.Button_Square_Side.Location = New System.Drawing.Point(1061, 31) + Me.Button_Square_Side.Margin = New System.Windows.Forms.Padding(4) Me.Button_Square_Side.Name = "Button_Square_Side" - Me.Button_Square_Side.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Side.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Side.TabIndex = 20 Me.Button_Square_Side.Text = "Square Side" Me.Button_Square_Side.UseVisualStyleBackColor = True ' 'Button_Angle_Side ' - Me.Button_Angle_Side.Location = New System.Drawing.Point(586, 25) + Me.Button_Angle_Side.Location = New System.Drawing.Point(781, 31) + Me.Button_Angle_Side.Margin = New System.Windows.Forms.Padding(4) Me.Button_Angle_Side.Name = "Button_Angle_Side" - Me.Button_Angle_Side.Size = New System.Drawing.Size(70, 70) + Me.Button_Angle_Side.Size = New System.Drawing.Size(93, 86) Me.Button_Angle_Side.TabIndex = 19 Me.Button_Angle_Side.Text = "Angle Side" Me.Button_Angle_Side.UseVisualStyleBackColor = True ' 'Button_Square_Corner ' - Me.Button_Square_Corner.Location = New System.Drawing.Point(691, 25) + Me.Button_Square_Corner.Location = New System.Drawing.Point(921, 31) + Me.Button_Square_Corner.Margin = New System.Windows.Forms.Padding(4) Me.Button_Square_Corner.Name = "Button_Square_Corner" - Me.Button_Square_Corner.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Corner.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Corner.TabIndex = 18 Me.Button_Square_Corner.Text = "Square Corner" Me.Button_Square_Corner.UseVisualStyleBackColor = True ' 'Button_Angle_Corner ' - Me.Button_Angle_Corner.Location = New System.Drawing.Point(481, 25) + Me.Button_Angle_Corner.Location = New System.Drawing.Point(641, 31) + Me.Button_Angle_Corner.Margin = New System.Windows.Forms.Padding(4) Me.Button_Angle_Corner.Name = "Button_Angle_Corner" - Me.Button_Angle_Corner.Size = New System.Drawing.Size(70, 70) + Me.Button_Angle_Corner.Size = New System.Drawing.Size(93, 86) Me.Button_Angle_Corner.TabIndex = 17 Me.Button_Angle_Corner.Text = "Angle Corner" Me.Button_Angle_Corner.UseVisualStyleBackColor = True @@ -363,9 +405,10 @@ Partial Class Individual ' Me.Label_Recesses.AutoSize = True Me.Label_Recesses.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Recesses.Location = New System.Drawing.Point(329, 36) + Me.Label_Recesses.Location = New System.Drawing.Point(439, 44) + Me.Label_Recesses.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Recesses.Name = "Label_Recesses" - Me.Label_Recesses.Size = New System.Drawing.Size(88, 20) + Me.Label_Recesses.Size = New System.Drawing.Size(106, 25) Me.Label_Recesses.TabIndex = 16 Me.Label_Recesses.Text = "Recesses" ' @@ -374,18 +417,20 @@ Partial Class Individual Me.Panel_Grating.BackColor = System.Drawing.Color.White Me.Panel_Grating.Controls.Add(Me.Label2) Me.Panel_Grating.Controls.Add(Me.Label1) - Me.Panel_Grating.Location = New System.Drawing.Point(315, 120) + Me.Panel_Grating.Location = New System.Drawing.Point(420, 148) + Me.Panel_Grating.Margin = New System.Windows.Forms.Padding(4) Me.Panel_Grating.Name = "Panel_Grating" - Me.Panel_Grating.Size = New System.Drawing.Size(1080, 652) + Me.Panel_Grating.Size = New System.Drawing.Size(1440, 802) Me.Panel_Grating.TabIndex = 2 ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label2.Location = New System.Drawing.Point(64, 625) + Me.Label2.Location = New System.Drawing.Point(85, 769) + Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(13, 13) + Me.Label2.Size = New System.Drawing.Size(16, 17) Me.Label2.TabIndex = 1 Me.Label2.Text = "L" ' @@ -393,22 +438,33 @@ Partial Class Individual ' Me.Label1.AutoSize = True Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label1.Location = New System.Drawing.Point(13, 575) + Me.Label1.Location = New System.Drawing.Point(17, 708) + Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(18, 13) + Me.Label1.Size = New System.Drawing.Size(21, 17) Me.Label1.TabIndex = 0 Me.Label1.Text = "W" ' + 'Button_Back + ' + Me.Button_Back.Location = New System.Drawing.Point(12, 12) + Me.Button_Back.Name = "Button_Back" + Me.Button_Back.Size = New System.Drawing.Size(56, 41) + Me.Button_Back.TabIndex = 27 + Me.Button_Back.Text = "Back" + Me.Button_Back.UseVisualStyleBackColor = True + ' 'Individual ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.SystemColors.Control - Me.ClientSize = New System.Drawing.Size(1395, 772) + Me.ClientSize = New System.Drawing.Size(1860, 950) Me.Controls.Add(Me.Panel_Data) Me.Controls.Add(Me.Panel_Recesses) Me.Controls.Add(Me.Panel_Grating) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Margin = New System.Windows.Forms.Padding(4) Me.Name = "Individual" Me.Text = "Individual" Me.Panel_Data.ResumeLayout(False) @@ -446,7 +502,6 @@ Partial Class Individual Friend WithEvents Panel_Grating As Panel Friend WithEvents Button_Export_GUI As Button Friend WithEvents Button_Export_SW As Button - Friend WithEvents Button_Settings As Button Friend WithEvents Label2 As Label Friend WithEvents Label1 As Label Friend WithEvents Label3 As Label @@ -454,4 +509,7 @@ Partial Class Individual Friend WithEvents Label6 As Label Friend WithEvents Label5 As Label Friend WithEvents Label4 As Label + Friend WithEvents TextBox_Width As TextBox + Friend WithEvents ComboBox_Width As ComboBox + Friend WithEvents Button_Back As Button End Class diff --git a/Wardrobe/GUI/Individual.vb b/Wardrobe/GUI/Individual.vb index 8017972..f3bec24 100644 --- a/Wardrobe/GUI/Individual.vb +++ b/Wardrobe/GUI/Individual.vb @@ -1,33 +1,20 @@ -Imports XCCLibrary + Public Class Individual - 'Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" - Public Shared filepath As String = "C:\Users\xperd\Documents" + Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" + 'Public Shared filepath As String = "C:\Users\xperd\Documents" - ' --- Start method (main) for GUI --- - Sub Individual_load() Handles MyBase.Load + Sub Load_GUI() ' Initialize GUI Init_Form() - ' Initialize DataTables, Measurments and more - Data.Init_Data() - - ' Initialize DrawingPanel - Draw_Grating.Load_DrawingPanel() - - - - ' Load XCC settings - adminClass.loadSettings(Settings.filesFolder, Settings.HLCtFolder, "SolidWorks") - + Draw_Grating.Update_GratingPoints() End Sub ' --- Initialize GUI (form) size and position --- Private Sub Init_Form() Me.Width = AppForm.Width Me.Height = AppForm.Height - ComboBox_Type.Items.Add("Pressure Welded") - ComboBox_Type.Items.Add("Type A") If AppForm.fillMode = True Then Init_Multiple() @@ -35,6 +22,21 @@ Public Class Individual Init_Individual() End If + Me.ComboBox_Material.Enabled = False + Me.ComboBox_Mesh.Enabled = False + Me.ComboBox_Height.Enabled = False + Me.ComboBox_Thickness.Enabled = False + Me.ComboBox_Width.Enabled = False + Me.TextBox_Width.Enabled = False + Me.TextBox_Length.Enabled = False + Me.Button_Export_GUI.Enabled = False + Me.Button_Export_SW.Enabled = False + + Me.Button_Angle_Corner.Enabled = False + Me.Button_Angle_Side.Enabled = False + Me.Button_Square_Corner.Enabled = False + Me.Button_Square_Side.Enabled = False + Me.Button_Square_Middle.Enabled = False End Sub Private Sub Init_Individual() @@ -55,17 +57,8 @@ Public Class Individual AddHandler CheckTemp.CheckedChanged, AddressOf CheckBox_Whole_Mesh_CheckedChanged Me.Panel_Data.Controls.Add(CheckTemp) - Dim WidthDropTemp As New ComboBox With { - .Name = "ComboBox_Width", - .Left = 110, - .Top = 418, - .Width = 155, - .Enabled = False, - .DropDownStyle = ComboBoxStyle.DropDownList - } - AddHandler WidthDropTemp.KeyPress, AddressOf ComboBox_Width_KeyPress - AddHandler WidthDropTemp.TextChanged, AddressOf ComboBox_Width_TextChanged - Me.Panel_Data.Controls.Add(WidthDropTemp) + Me.ComboBox_Width.Visible = True + Me.TextBox_Width.Visible = False End Sub Private Sub Init_Multiple() @@ -82,16 +75,16 @@ Public Class Individual } Me.Panel_Data.Controls.Add(LabelTemp) - Dim textBoxTemp As New TextBox With { .Name = "TextBox_Max_Load", .Text = "5", .Left = 110, .Top = 525, .Width = 155, - .TextAlign = HorizontalAlignment.Right, - .Font = New Font("Microsoft Sans Serif", 7.8) + .Font = New Font("Microsoft Sans Serif", 7.8), + .Enabled = False } + AddHandler textBoxTemp.KeyPress, AddressOf TextBox_Max_Load_KeyPress Me.Panel_Data.Controls.Add(textBoxTemp) Dim LabelTemp2 As New Label With { @@ -103,16 +96,22 @@ Public Class Individual } Me.Panel_Data.Controls.Add(LabelTemp2) - Dim WidthTextTemp As New ComboBox With { - .Name = "TextBox_Width", - .Left = 110, - .Top = 418, - .Width = 155, + Dim calculateButton As New Button With { + .Name = "Button_Calculate", + .Text = "Calculate", + .Left = 100, + .Top = 600, + .Width = 100, + .Height = 40, + .BackColor = Color.Transparent, + .UseVisualStyleBackColor = False, .Enabled = False } - AddHandler WidthTextTemp.KeyPress, AddressOf ComboBox_Width_KeyPress - AddHandler WidthTextTemp.TextChanged, AddressOf ComboBox_Width_TextChanged - Me.Panel_Data.Controls.Add(WidthTextTemp) + AddHandler calculateButton.Click, AddressOf Button_Calculate_Click + Me.Panel_Data.Controls.Add(calculateButton) + + Me.ComboBox_Width.Visible = False + Me.TextBox_Width.Visible = True End Sub ' ---------------------------------- Individual Templates ---------------------------------- @@ -176,12 +175,22 @@ Public Class Individual End Sub ' --- Grating width changed --- - Private Sub ComboBox_Width_TextChanged(sender As Object, e As EventArgs) + Private Sub ComboBox_Width_TextChanged(sender As Object, e As EventArgs) Handles ComboBox_Width.TextChanged User_Input.WidthChanged(sender, e) End Sub ' --- Check if width is a number --- - Private Sub ComboBox_Width_KeyPress(sender As Object, e As KeyPressEventArgs) + Private Sub ComboBox_Width_KeyPress(sender As Object, e As KeyPressEventArgs) Handles ComboBox_Width.KeyPress + User_Input.Check_IfNumber(e) + End Sub + + ' --- Grating width changed --- + Private Sub TextBox_Width_TextChanged(sender As Object, e As EventArgs) Handles TextBox_Width.TextChanged + User_Input.WidthChanged(sender, e) + End Sub + + ' --- Check if width is a number --- + Private Sub TextBox_Width_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox_Width.KeyPress User_Input.Check_IfNumber(e) End Sub @@ -195,6 +204,11 @@ Public Class Individual User_Input.Check_IfNumber(e) End Sub + ' --- Check if max laod is a number --- + Private Sub TextBox_Max_Load_KeyPress(sender As Object, e As KeyPressEventArgs) + User_Input.Check_IfNumber(e) + End Sub + ' ---------------------------------- Functions ---------------------------------- ' --- When angle button is pressed --- Private Sub Button_Angle_Corner_Click(sender As Object, e As EventArgs) Handles Button_Angle_Corner.Click @@ -221,17 +235,21 @@ Public Class Individual End Sub - ' ---------------------------------- Settings ---------------------------------- - ' --- Settings button clicked --- - Private Sub Button_Settings_Click(sender As Object, e As EventArgs) Handles Button_Settings.Click - Settings.ButtonClicked(sender, e) + ' ---------------------------------- Calculate ---------------------------------- + ' --- When calculate button is pressed --- + Private Sub Button_Calculate_Click(sender As Object, e As EventArgs) + Grating_Fill.Calculate_Grid() End Sub ' ---------------------------------- Export to SW ---------------------------------- ' --- When export to SW button is pressed --- Private Sub Button_Export_SW_Click(sender As Object, e As EventArgs) Handles Button_Export_SW.Click - 'Model_3D.BuildGrating() - Drawing.CreateDrawing() + If AppForm.fillMode Then + + Else + 'Model_3D.BuildGrating() + Drawing.CreateDrawing() + End If End Sub ' ---------------------------------- Export GUI ---------------------------------- @@ -240,4 +258,12 @@ Public Class Individual End Sub + ' ---------------------------------- Back to main menu ---------------------------------- + ' --- When export back button is pressed --- + Private Sub Button_Back_Click(sender As Object, e As EventArgs) Handles Button_Back.Click + AppForm.Panel_Start.Controls.Clear() + Main_Menu.TopLevel = False + AppForm.Panel_Start.Controls.Add(Main_Menu) + Main_Menu.Show() + End Sub End Class \ No newline at end of file diff --git a/Wardrobe/GUI/Main_Menu.Designer.vb b/Wardrobe/GUI/Main_Menu.Designer.vb new file mode 100644 index 0000000..40660b0 --- /dev/null +++ b/Wardrobe/GUI/Main_Menu.Designer.vb @@ -0,0 +1,77 @@ + _ +Partial Class Main_Menu + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.Button_Settings = New System.Windows.Forms.Button() + Me.Button_Multiple = New System.Windows.Forms.Button() + Me.Button_Individual = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'Button_Settings + ' + Me.Button_Settings.Location = New System.Drawing.Point(91, 73) + Me.Button_Settings.Name = "Button_Settings" + Me.Button_Settings.Size = New System.Drawing.Size(169, 51) + Me.Button_Settings.TabIndex = 5 + Me.Button_Settings.Text = "Settings" + Me.Button_Settings.UseVisualStyleBackColor = True + ' + 'Button_Multiple + ' + Me.Button_Multiple.Location = New System.Drawing.Point(978, 540) + Me.Button_Multiple.Margin = New System.Windows.Forms.Padding(4) + Me.Button_Multiple.Name = "Button_Multiple" + Me.Button_Multiple.Size = New System.Drawing.Size(156, 114) + Me.Button_Multiple.TabIndex = 4 + Me.Button_Multiple.Text = "Multiple" + Me.Button_Multiple.UseVisualStyleBackColor = True + ' + 'Button_Individual + ' + Me.Button_Individual.Location = New System.Drawing.Point(978, 372) + Me.Button_Individual.Margin = New System.Windows.Forms.Padding(4) + Me.Button_Individual.Name = "Button_Individual" + Me.Button_Individual.Size = New System.Drawing.Size(156, 114) + Me.Button_Individual.TabIndex = 3 + Me.Button_Individual.Text = "Individual" + Me.Button_Individual.UseVisualStyleBackColor = True + ' + 'Main_Menu + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(1395, 772) + Me.Controls.Add(Me.Button_Settings) + Me.Controls.Add(Me.Button_Multiple) + Me.Controls.Add(Me.Button_Individual) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "Main_Menu" + Me.Text = "Main_Menu" + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents Button_Settings As Button + Friend WithEvents Button_Multiple As Button + Friend WithEvents Button_Individual As Button +End Class diff --git a/Wardrobe/GUI/Main_Menu.resx b/Wardrobe/GUI/Main_Menu.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/Wardrobe/GUI/Main_Menu.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Wardrobe/GUI/Main_Menu.vb b/Wardrobe/GUI/Main_Menu.vb new file mode 100644 index 0000000..ff04079 --- /dev/null +++ b/Wardrobe/GUI/Main_Menu.vb @@ -0,0 +1,25 @@ +Public Class Main_Menu + Private Sub Button_Individual_Click(sender As Object, e As EventArgs) Handles Button_Individual.Click + AppForm.fillMode = False + AppForm.Panel_Start.Controls.Clear() + Individual.TopLevel = False + AppForm.Panel_Start.Controls.Add(Individual) + Individual.Load_GUI() + Individual.Show() + End Sub + + Private Sub Button_Multiple_Click(sender As Object, e As EventArgs) Handles Button_Multiple.Click + AppForm.fillMode = True + AppForm.Panel_Start.Controls.Clear() + Individual.TopLevel = False + AppForm.Panel_Start.Controls.Add(Individual) + Individual.Load_GUI() + Individual.Show() + End Sub + + ' ---------------------------------- Settings ---------------------------------- + ' --- Settings button clicked --- + Private Sub Button_Settings_Click(sender As Object, e As EventArgs) Handles Button_Settings.Click + Settings.ButtonClicked(sender, e) + End Sub +End Class \ No newline at end of file diff --git a/Wardrobe/GUI/Multiple.Designer.vb b/Wardrobe/GUI/Multiple.Designer.vb index 62a3fd0..fd40eb9 100644 --- a/Wardrobe/GUI/Multiple.Designer.vb +++ b/Wardrobe/GUI/Multiple.Designer.vb @@ -50,16 +50,16 @@ Partial Class Multiple Me.ComboBox_Material = New System.Windows.Forms.ComboBox() Me.ComboBox_Type = New System.Windows.Forms.ComboBox() Me.Panel_Data = New System.Windows.Forms.Panel() - Me.Button_Square_Side = New System.Windows.Forms.Button() - Me.Panel_Recesses = New System.Windows.Forms.Panel() - Me.TextBox1 = New System.Windows.Forms.TextBox() - Me.Label_Max_Load = New System.Windows.Forms.Label() + Me.Label8 = New System.Windows.Forms.Label() Me.Label7 = New System.Windows.Forms.Label() Me.Label6 = New System.Windows.Forms.Label() Me.Label5 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label() - Me.Label8 = New System.Windows.Forms.Label() + Me.Label_Max_Load = New System.Windows.Forms.Label() + Me.TextBox1 = New System.Windows.Forms.TextBox() + Me.Button_Square_Side = New System.Windows.Forms.Button() + Me.Panel_Recesses = New System.Windows.Forms.Panel() Me.Panel_Grating.SuspendLayout() Me.Panel_Data.SuspendLayout() Me.Panel_Recesses.SuspendLayout() @@ -67,18 +67,20 @@ Partial Class Multiple ' 'Button_Square_Middle ' - Me.Button_Square_Middle.Location = New System.Drawing.Point(901, 25) + Me.Button_Square_Middle.Location = New System.Drawing.Point(1201, 31) + Me.Button_Square_Middle.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Square_Middle.Name = "Button_Square_Middle" - Me.Button_Square_Middle.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Middle.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Middle.TabIndex = 21 Me.Button_Square_Middle.Text = "Square Middle" Me.Button_Square_Middle.UseVisualStyleBackColor = True ' 'Button_Angle_Side ' - Me.Button_Angle_Side.Location = New System.Drawing.Point(586, 25) + Me.Button_Angle_Side.Location = New System.Drawing.Point(781, 31) + Me.Button_Angle_Side.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Angle_Side.Name = "Button_Angle_Side" - Me.Button_Angle_Side.Size = New System.Drawing.Size(70, 70) + Me.Button_Angle_Side.Size = New System.Drawing.Size(93, 86) Me.Button_Angle_Side.TabIndex = 19 Me.Button_Angle_Side.Text = "Angle Side" Me.Button_Angle_Side.UseVisualStyleBackColor = True @@ -86,27 +88,30 @@ Partial Class Multiple 'CheckBox_Whole_Mesh ' Me.CheckBox_Whole_Mesh.AutoSize = True - Me.CheckBox_Whole_Mesh.Location = New System.Drawing.Point(110, 387) + Me.CheckBox_Whole_Mesh.Location = New System.Drawing.Point(147, 476) + Me.CheckBox_Whole_Mesh.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.CheckBox_Whole_Mesh.Name = "CheckBox_Whole_Mesh" - Me.CheckBox_Whole_Mesh.Size = New System.Drawing.Size(122, 17) + Me.CheckBox_Whole_Mesh.Size = New System.Drawing.Size(155, 21) Me.CheckBox_Whole_Mesh.TabIndex = 19 Me.CheckBox_Whole_Mesh.Text = "Whole Mesh Widths" Me.CheckBox_Whole_Mesh.UseVisualStyleBackColor = True ' 'Button_Export_GUI ' - Me.Button_Export_GUI.Location = New System.Drawing.Point(35, 690) + Me.Button_Export_GUI.Location = New System.Drawing.Point(47, 849) + Me.Button_Export_GUI.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Export_GUI.Name = "Button_Export_GUI" - Me.Button_Export_GUI.Size = New System.Drawing.Size(75, 23) + Me.Button_Export_GUI.Size = New System.Drawing.Size(100, 28) Me.Button_Export_GUI.TabIndex = 18 Me.Button_Export_GUI.Text = "Export GUI" Me.Button_Export_GUI.UseVisualStyleBackColor = True ' 'Button_Export_SW ' - Me.Button_Export_SW.Location = New System.Drawing.Point(156, 690) + Me.Button_Export_SW.Location = New System.Drawing.Point(208, 849) + Me.Button_Export_SW.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Export_SW.Name = "Button_Export_SW" - Me.Button_Export_SW.Size = New System.Drawing.Size(75, 23) + Me.Button_Export_SW.Size = New System.Drawing.Size(100, 28) Me.Button_Export_SW.TabIndex = 17 Me.Button_Export_SW.Text = "Export SW" Me.Button_Export_SW.UseVisualStyleBackColor = True @@ -115,9 +120,10 @@ Partial Class Multiple ' Me.Label_Heading.AutoSize = True Me.Label_Heading.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Heading.Location = New System.Drawing.Point(56, 36) + Me.Label_Heading.Location = New System.Drawing.Point(75, 44) + Me.Label_Heading.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Heading.Name = "Label_Heading" - Me.Label_Heading.Size = New System.Drawing.Size(166, 20) + Me.Label_Heading.Size = New System.Drawing.Size(198, 25) Me.Label_Heading.TabIndex = 15 Me.Label_Heading.Text = "Grating Parameters" ' @@ -125,9 +131,10 @@ Partial Class Multiple ' Me.Label_Material.AutoSize = True Me.Label_Material.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Material.Location = New System.Drawing.Point(46, 143) + Me.Label_Material.Location = New System.Drawing.Point(61, 176) + Me.Label_Material.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Material.Name = "Label_Material" - Me.Label_Material.Size = New System.Drawing.Size(58, 17) + Me.Label_Material.Size = New System.Drawing.Size(69, 20) Me.Label_Material.TabIndex = 14 Me.Label_Material.Text = "Material" ' @@ -135,9 +142,10 @@ Partial Class Multiple ' Me.Label_Mesh.AutoSize = True Me.Label_Mesh.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Mesh.Location = New System.Drawing.Point(31, 233) + Me.Label_Mesh.Location = New System.Drawing.Point(41, 287) + Me.Label_Mesh.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Mesh.Name = "Label_Mesh" - Me.Label_Mesh.Size = New System.Drawing.Size(73, 17) + Me.Label_Mesh.Size = New System.Drawing.Size(88, 20) Me.Label_Mesh.TabIndex = 13 Me.Label_Mesh.Text = "Mesh Size" ' @@ -145,26 +153,29 @@ Partial Class Multiple ' Me.Label_Height.AutoSize = True Me.Label_Height.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Height.Location = New System.Drawing.Point(55, 279) + Me.Label_Height.Location = New System.Drawing.Point(73, 343) + Me.Label_Height.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Height.Name = "Label_Height" - Me.Label_Height.Size = New System.Drawing.Size(49, 17) + Me.Label_Height.Size = New System.Drawing.Size(58, 20) Me.Label_Height.TabIndex = 12 Me.Label_Height.Text = "Height" ' 'Button_Square_Corner ' - Me.Button_Square_Corner.Location = New System.Drawing.Point(691, 25) + Me.Button_Square_Corner.Location = New System.Drawing.Point(921, 31) + Me.Button_Square_Corner.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Square_Corner.Name = "Button_Square_Corner" - Me.Button_Square_Corner.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Corner.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Corner.TabIndex = 18 Me.Button_Square_Corner.Text = "Square Corner" Me.Button_Square_Corner.UseVisualStyleBackColor = True ' 'Button_Angle_Corner ' - Me.Button_Angle_Corner.Location = New System.Drawing.Point(481, 25) + Me.Button_Angle_Corner.Location = New System.Drawing.Point(641, 31) + Me.Button_Angle_Corner.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Angle_Corner.Name = "Button_Angle_Corner" - Me.Button_Angle_Corner.Size = New System.Drawing.Size(70, 70) + Me.Button_Angle_Corner.Size = New System.Drawing.Size(93, 86) Me.Button_Angle_Corner.TabIndex = 17 Me.Button_Angle_Corner.Text = "Angle Corner" Me.Button_Angle_Corner.UseVisualStyleBackColor = True @@ -173,9 +184,10 @@ Partial Class Multiple ' Me.Label_Recesses.AutoSize = True Me.Label_Recesses.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Recesses.Location = New System.Drawing.Point(329, 36) + Me.Label_Recesses.Location = New System.Drawing.Point(439, 44) + Me.Label_Recesses.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Recesses.Name = "Label_Recesses" - Me.Label_Recesses.Size = New System.Drawing.Size(88, 20) + Me.Label_Recesses.Size = New System.Drawing.Size(106, 25) Me.Label_Recesses.TabIndex = 16 Me.Label_Recesses.Text = "Recesses" ' @@ -183,9 +195,10 @@ Partial Class Multiple ' Me.Label_Thickness.AutoSize = True Me.Label_Thickness.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Thickness.Location = New System.Drawing.Point(32, 324) + Me.Label_Thickness.Location = New System.Drawing.Point(43, 399) + Me.Label_Thickness.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Thickness.Name = "Label_Thickness" - Me.Label_Thickness.Size = New System.Drawing.Size(72, 17) + Me.Label_Thickness.Size = New System.Drawing.Size(85, 20) Me.Label_Thickness.TabIndex = 11 Me.Label_Thickness.Text = "Thickness" ' @@ -193,9 +206,10 @@ Partial Class Multiple ' Me.Label_Width.AutoSize = True Me.Label_Width.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Width.Location = New System.Drawing.Point(60, 418) + Me.Label_Width.Location = New System.Drawing.Point(80, 514) + Me.Label_Width.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Width.Name = "Label_Width" - Me.Label_Width.Size = New System.Drawing.Size(44, 17) + Me.Label_Width.Size = New System.Drawing.Size(52, 20) Me.Label_Width.TabIndex = 10 Me.Label_Width.Text = "Width" ' @@ -203,24 +217,27 @@ Partial Class Multiple ' Me.Label_Length.AutoSize = True Me.Label_Length.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Length.Location = New System.Drawing.Point(52, 458) + Me.Label_Length.Location = New System.Drawing.Point(69, 564) + Me.Label_Length.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Length.Name = "Label_Length" - Me.Label_Length.Size = New System.Drawing.Size(52, 17) + Me.Label_Length.Size = New System.Drawing.Size(60, 20) Me.Label_Length.TabIndex = 9 Me.Label_Length.Text = "Length" ' 'TextBox_Length ' - Me.TextBox_Length.Location = New System.Drawing.Point(110, 458) + Me.TextBox_Length.Location = New System.Drawing.Point(147, 564) + Me.TextBox_Length.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.TextBox_Length.Name = "TextBox_Length" - Me.TextBox_Length.Size = New System.Drawing.Size(146, 20) + Me.TextBox_Length.Size = New System.Drawing.Size(193, 22) Me.TextBox_Length.TabIndex = 7 ' 'Button_Settings ' - Me.Button_Settings.Location = New System.Drawing.Point(1255, 3) + Me.Button_Settings.Location = New System.Drawing.Point(1673, 4) + Me.Button_Settings.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Settings.Name = "Button_Settings" - Me.Button_Settings.Size = New System.Drawing.Size(75, 23) + Me.Button_Settings.Size = New System.Drawing.Size(100, 28) Me.Button_Settings.TabIndex = 16 Me.Button_Settings.Text = "Settings" Me.Button_Settings.UseVisualStyleBackColor = True @@ -230,18 +247,20 @@ Partial Class Multiple Me.Panel_Grating.BackColor = System.Drawing.Color.White Me.Panel_Grating.Controls.Add(Me.Label2) Me.Panel_Grating.Controls.Add(Me.Label1) - Me.Panel_Grating.Location = New System.Drawing.Point(298, 120) + Me.Panel_Grating.Location = New System.Drawing.Point(397, 148) + Me.Panel_Grating.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Panel_Grating.Name = "Panel_Grating" - Me.Panel_Grating.Size = New System.Drawing.Size(1097, 652) + Me.Panel_Grating.Size = New System.Drawing.Size(1463, 802) Me.Panel_Grating.TabIndex = 5 ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label2.Location = New System.Drawing.Point(64, 625) + Me.Label2.Location = New System.Drawing.Point(85, 769) + Me.Label2.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label2.Name = "Label2" - Me.Label2.Size = New System.Drawing.Size(13, 13) + Me.Label2.Size = New System.Drawing.Size(16, 17) Me.Label2.TabIndex = 1 Me.Label2.Text = "L" ' @@ -249,9 +268,10 @@ Partial Class Multiple ' Me.Label1.AutoSize = True Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label1.Location = New System.Drawing.Point(13, 575) + Me.Label1.Location = New System.Drawing.Point(17, 708) + Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(18, 13) + Me.Label1.Size = New System.Drawing.Size(21, 17) Me.Label1.TabIndex = 0 Me.Label1.Text = "W" ' @@ -259,9 +279,10 @@ Partial Class Multiple ' Me.Label_Type.AutoSize = True Me.Label_Type.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Type.Location = New System.Drawing.Point(64, 101) + Me.Label_Type.Location = New System.Drawing.Point(85, 124) + Me.Label_Type.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) Me.Label_Type.Name = "Label_Type" - Me.Label_Type.Size = New System.Drawing.Size(40, 16) + Me.Label_Type.Size = New System.Drawing.Size(45, 20) Me.Label_Type.TabIndex = 8 Me.Label_Type.Text = "Type" ' @@ -269,54 +290,60 @@ Partial Class Multiple ' Me.ComboBox_Mesh.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Mesh.FormattingEnabled = True - Me.ComboBox_Mesh.Location = New System.Drawing.Point(110, 233) + Me.ComboBox_Mesh.Location = New System.Drawing.Point(147, 287) + Me.ComboBox_Mesh.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Mesh.Name = "ComboBox_Mesh" - Me.ComboBox_Mesh.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Mesh.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Mesh.TabIndex = 6 ' 'ComboBox_Width ' Me.ComboBox_Width.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Width.FormattingEnabled = True - Me.ComboBox_Width.Location = New System.Drawing.Point(110, 418) + Me.ComboBox_Width.Location = New System.Drawing.Point(147, 514) + Me.ComboBox_Width.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Width.Name = "ComboBox_Width" - Me.ComboBox_Width.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Width.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Width.TabIndex = 4 ' 'ComboBox_Thickness ' Me.ComboBox_Thickness.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Thickness.FormattingEnabled = True - Me.ComboBox_Thickness.Location = New System.Drawing.Point(110, 323) + Me.ComboBox_Thickness.Location = New System.Drawing.Point(147, 398) + Me.ComboBox_Thickness.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Thickness.Name = "ComboBox_Thickness" - Me.ComboBox_Thickness.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Thickness.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Thickness.TabIndex = 3 ' 'ComboBox_Height ' Me.ComboBox_Height.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Height.FormattingEnabled = True - Me.ComboBox_Height.Location = New System.Drawing.Point(110, 278) + Me.ComboBox_Height.Location = New System.Drawing.Point(147, 342) + Me.ComboBox_Height.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Height.Name = "ComboBox_Height" - Me.ComboBox_Height.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Height.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Height.TabIndex = 2 ' 'ComboBox_Material ' Me.ComboBox_Material.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Material.FormattingEnabled = True - Me.ComboBox_Material.Location = New System.Drawing.Point(110, 142) + Me.ComboBox_Material.Location = New System.Drawing.Point(147, 175) + Me.ComboBox_Material.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Material.Name = "ComboBox_Material" - Me.ComboBox_Material.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Material.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Material.TabIndex = 1 ' 'ComboBox_Type ' Me.ComboBox_Type.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.ComboBox_Type.FormattingEnabled = True - Me.ComboBox_Type.Location = New System.Drawing.Point(110, 101) + Me.ComboBox_Type.Location = New System.Drawing.Point(147, 124) + Me.ComboBox_Type.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.ComboBox_Type.Name = "ComboBox_Type" - Me.ComboBox_Type.Size = New System.Drawing.Size(146, 21) + Me.ComboBox_Type.Size = New System.Drawing.Size(193, 24) Me.ComboBox_Type.TabIndex = 0 ' 'Panel_Data @@ -351,14 +378,102 @@ Partial Class Multiple Me.Panel_Data.Location = New System.Drawing.Point(0, 0) Me.Panel_Data.Margin = New System.Windows.Forms.Padding(0) Me.Panel_Data.Name = "Panel_Data" - Me.Panel_Data.Size = New System.Drawing.Size(298, 772) + Me.Panel_Data.Size = New System.Drawing.Size(397, 950) Me.Panel_Data.TabIndex = 3 ' + 'Label8 + ' + Me.Label8.AutoSize = True + Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label8.Location = New System.Drawing.Point(344, 656) + Me.Label8.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label8.Name = "Label8" + Me.Label8.Size = New System.Drawing.Size(45, 17) + Me.Label8.TabIndex = 30 + Me.Label8.Text = "kN/m²" + ' + 'Label7 + ' + Me.Label7.AutoSize = True + Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label7.Location = New System.Drawing.Point(347, 569) + Me.Label7.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label7.Name = "Label7" + Me.Label7.Size = New System.Drawing.Size(30, 17) + Me.Label7.TabIndex = 29 + Me.Label7.Text = "mm" + ' + 'Label6 + ' + Me.Label6.AutoSize = True + Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label6.Location = New System.Drawing.Point(347, 519) + Me.Label6.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label6.Name = "Label6" + Me.Label6.Size = New System.Drawing.Size(30, 17) + Me.Label6.TabIndex = 28 + Me.Label6.Text = "mm" + ' + 'Label5 + ' + Me.Label5.AutoSize = True + Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label5.Location = New System.Drawing.Point(347, 401) + Me.Label5.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label5.Name = "Label5" + Me.Label5.Size = New System.Drawing.Size(30, 17) + Me.Label5.TabIndex = 27 + Me.Label5.Text = "mm" + ' + 'Label4 + ' + Me.Label4.AutoSize = True + Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label4.Location = New System.Drawing.Point(347, 346) + Me.Label4.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label4.Name = "Label4" + Me.Label4.Size = New System.Drawing.Size(30, 17) + Me.Label4.TabIndex = 26 + Me.Label4.Text = "mm" + ' + 'Label3 + ' + Me.Label3.AutoSize = True + Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label3.Location = New System.Drawing.Point(347, 292) + Me.Label3.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label3.Name = "Label3" + Me.Label3.Size = New System.Drawing.Size(30, 17) + Me.Label3.TabIndex = 25 + Me.Label3.Text = "mm" + ' + 'Label_Max_Load + ' + Me.Label_Max_Load.AutoSize = True + Me.Label_Max_Load.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label_Max_Load.Location = New System.Drawing.Point(47, 654) + Me.Label_Max_Load.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0) + Me.Label_Max_Load.Name = "Label_Max_Load" + Me.Label_Max_Load.Size = New System.Drawing.Size(82, 20) + Me.Label_Max_Load.TabIndex = 21 + Me.Label_Max_Load.Text = "Max Load" + ' + 'TextBox1 + ' + Me.TextBox1.Location = New System.Drawing.Point(147, 652) + Me.TextBox1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) + Me.TextBox1.Name = "TextBox1" + Me.TextBox1.Size = New System.Drawing.Size(193, 22) + Me.TextBox1.TabIndex = 20 + Me.TextBox1.Text = "5" + Me.TextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right + ' 'Button_Square_Side ' - Me.Button_Square_Side.Location = New System.Drawing.Point(796, 25) + Me.Button_Square_Side.Location = New System.Drawing.Point(1061, 31) + Me.Button_Square_Side.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Button_Square_Side.Name = "Button_Square_Side" - Me.Button_Square_Side.Size = New System.Drawing.Size(70, 70) + Me.Button_Square_Side.Size = New System.Drawing.Size(93, 86) Me.Button_Square_Side.TabIndex = 20 Me.Button_Square_Side.Text = "Square Side" Me.Button_Square_Side.UseVisualStyleBackColor = True @@ -374,99 +489,22 @@ Partial Class Multiple Me.Panel_Recesses.Controls.Add(Me.Button_Angle_Corner) Me.Panel_Recesses.Controls.Add(Me.Label_Recesses) Me.Panel_Recesses.Location = New System.Drawing.Point(0, 0) + Me.Panel_Recesses.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Panel_Recesses.Name = "Panel_Recesses" - Me.Panel_Recesses.Size = New System.Drawing.Size(1395, 120) + Me.Panel_Recesses.Size = New System.Drawing.Size(1860, 148) Me.Panel_Recesses.TabIndex = 4 ' - 'TextBox1 - ' - Me.TextBox1.Location = New System.Drawing.Point(110, 530) - Me.TextBox1.Name = "TextBox1" - Me.TextBox1.Size = New System.Drawing.Size(146, 20) - Me.TextBox1.TabIndex = 20 - Me.TextBox1.Text = "5" - Me.TextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Right - ' - 'Label_Max_Load - ' - Me.Label_Max_Load.AutoSize = True - Me.Label_Max_Load.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label_Max_Load.Location = New System.Drawing.Point(35, 531) - Me.Label_Max_Load.Name = "Label_Max_Load" - Me.Label_Max_Load.Size = New System.Drawing.Size(69, 17) - Me.Label_Max_Load.TabIndex = 21 - Me.Label_Max_Load.Text = "Max Load" - ' - 'Label7 - ' - Me.Label7.AutoSize = True - Me.Label7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label7.Location = New System.Drawing.Point(260, 462) - Me.Label7.Name = "Label7" - Me.Label7.Size = New System.Drawing.Size(23, 13) - Me.Label7.TabIndex = 29 - Me.Label7.Text = "mm" - ' - 'Label6 - ' - Me.Label6.AutoSize = True - Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label6.Location = New System.Drawing.Point(260, 422) - Me.Label6.Name = "Label6" - Me.Label6.Size = New System.Drawing.Size(23, 13) - Me.Label6.TabIndex = 28 - Me.Label6.Text = "mm" - ' - 'Label5 - ' - Me.Label5.AutoSize = True - Me.Label5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label5.Location = New System.Drawing.Point(260, 326) - Me.Label5.Name = "Label5" - Me.Label5.Size = New System.Drawing.Size(23, 13) - Me.Label5.TabIndex = 27 - Me.Label5.Text = "mm" - ' - 'Label4 - ' - Me.Label4.AutoSize = True - Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label4.Location = New System.Drawing.Point(260, 281) - Me.Label4.Name = "Label4" - Me.Label4.Size = New System.Drawing.Size(23, 13) - Me.Label4.TabIndex = 26 - Me.Label4.Text = "mm" - ' - 'Label3 - ' - Me.Label3.AutoSize = True - Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label3.Location = New System.Drawing.Point(260, 237) - Me.Label3.Name = "Label3" - Me.Label3.Size = New System.Drawing.Size(23, 13) - Me.Label3.TabIndex = 25 - Me.Label3.Text = "mm" - ' - 'Label8 - ' - Me.Label8.AutoSize = True - Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label8.Location = New System.Drawing.Point(258, 534) - Me.Label8.Name = "Label8" - Me.Label8.Size = New System.Drawing.Size(37, 13) - Me.Label8.TabIndex = 30 - Me.Label8.Text = "kN/m²" - ' 'Multiple ' - Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.SystemColors.Control - Me.ClientSize = New System.Drawing.Size(1395, 772) + Me.ClientSize = New System.Drawing.Size(1860, 950) Me.Controls.Add(Me.Panel_Grating) Me.Controls.Add(Me.Panel_Data) Me.Controls.Add(Me.Panel_Recesses) Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4) Me.Name = "Multiple" Me.Text = "Multiple" Me.Panel_Grating.ResumeLayout(False) diff --git a/Wardrobe/Gratings Data/Database.vb b/Wardrobe/Gratings Data/Database.vb index 0fd1eea..614bc50 100644 --- a/Wardrobe/Gratings Data/Database.vb +++ b/Wardrobe/Gratings Data/Database.vb @@ -1,4 +1,5 @@ -Imports Excel = Microsoft.Office.Interop.Excel +Imports System.Globalization +Imports Excel = Microsoft.Office.Interop.Excel Public Class Database Public Shared database As New DataSet @@ -12,7 +13,7 @@ Public Class Database Dim wSNames As New List(Of String) excelWB = excelApp.Workbooks.Open(Settings.HLCtFolder & "\Database\Databas.xlsx") - For i = 1 To 4 + For i = 1 To 5 Dim activeSheet As Excel.Worksheet activeSheet = excelWB.Sheets(i) wSNames.Add(activeSheet.Name) @@ -50,8 +51,8 @@ Public Class Database tempDT.Columns.Add(colName, GetType(String)) ElseIf type = "int" Then tempDT.Columns.Add(colName, GetType(Integer)) - ElseIf type = "doub" Then - tempDT.Columns.Add(colName, GetType(String)) 'FIXA + ElseIf type = "dbl" Then + tempDT.Columns.Add(colName, GetType(Double)) Else tempDT.Columns.Add(colName, GetType(Boolean)) End If @@ -62,6 +63,9 @@ Public Class Database Dim values As String() = lines(j).Split(New Char() {","c}) tempDT.Rows.Add() For k = 0 To values.Count - 1 + If tempDT.Columns(k).DataType = GetType(Double) Then + values(k) = CDbl(Val(values(k))) + End If Try tempDT.Rows(tempDT.Rows.Count - 1)(k) = values(k) Catch ex As Exception diff --git a/Wardrobe/Gratings Data/Grating_Fill.vb b/Wardrobe/Gratings Data/Grating_Fill.vb new file mode 100644 index 0000000..8cf7182 --- /dev/null +++ b/Wardrobe/Gratings Data/Grating_Fill.vb @@ -0,0 +1,9 @@ + +Public Class Grating_Fill + + Public Shared Sub Calculate_Grid() + Dim singleWidth As Integer = Database.database.Tables("Whole Meshes").Rows(0)(User_Input.wholeMeshesColumn) + + Dim singleLength As Integer = 1 + End Sub +End Class diff --git a/Wardrobe/Gratings Data/User_Input.vb b/Wardrobe/Gratings Data/User_Input.vb index 6b20a36..446f5f9 100644 --- a/Wardrobe/Gratings Data/User_Input.vb +++ b/Wardrobe/Gratings Data/User_Input.vb @@ -3,6 +3,8 @@ Public Shared gratingSerrated As Boolean = False Public Shared gratingLacquered As Boolean = False Public Shared loadBarSpacing, crossBarSpacing, gratingHeight, loadBarThickness As Integer + Public Shared CBDiameter, CBHeight, CBThickness As Double + Public Shared wholeMeshesColumn As String Private Shared serratedCheckBox As New CheckBox Private Shared serratedCheckBoxBol As Boolean = False @@ -269,24 +271,20 @@ For i = 0 To tempList.Count - 1 Individual.ComboBox_Thickness.Items.Add(tempList(i)) Next - End Sub Public Shared Sub WholeMeshWidthsChanged(sender As Object, e As EventArgs) If sender.Checked Then - Dim temp As ComboBox = Individual.Controls("ComboBox_Width") - temp.DropDownStyle = ComboBoxStyle.DropDownList - 'Individual.Controls("ComboBox_Width").DropDownStyle = ComboBoxStyle.DropDownList + Individual.ComboBox_Width.DropDownStyle = ComboBoxStyle.DropDownList Else - 'Individual.ComboBox_Width.DropDownStyle = ComboBoxStyle.DropDown - Dim temp As ComboBox = Individual.Controls("ComboBox_Width") - temp.DropDownStyle = ComboBoxStyle.DropDownList + Individual.ComboBox_Width.DropDownStyle = ComboBoxStyle.DropDown End If End Sub Public Shared Sub ThicknessChanged(sender As Object, e As EventArgs) - 'Individual.ComboBox_Width.Enabled = True - 'Individual.ComboBox_Width.Items.Clear() + Individual.ComboBox_Width.Enabled = True + Individual.ComboBox_Width.Items.Clear() + Individual.TextBox_Width.Enabled = True Individual.TextBox_Length.Text = 1000 Individual.TextBox_Length.Enabled = True If AppForm.fillMode = False Then @@ -305,13 +303,21 @@ Dim HeightInDT As Integer = CInt(meshesDT.Rows(0)("LB-HEIGHT")) Dim ThicknessInDT As Integer = CInt(meshesDT.Rows(0)("LB-THICKNESS")) - Dim wholeMeshesColumn As String = "" For i = 0 To meshesDT.Rows.Count - 1 If gratingName = nameInDT AndAlso loadBarSpacing = LBSpacingInDT AndAlso crossBarSpacing = CBSpacingInDT _ AndAlso gratingSerrated = serratedInDT AndAlso gratingMaterial = materialInDT _ AndAlso gratingHeight = HeightInDT AndAlso loadBarThickness = ThicknessInDT Then wholeMeshesColumn = meshesDT.Rows(i)("WHOLE MESHES") + If gratingType = "Pressure Welded" Then + CBDiameter = meshesDT.Rows(i)("CB-DIAMETER") + CBHeight = 0 + CBThickness = 0 + Else + CBDiameter = 0 + CBHeight = meshesDT.Rows(i)("CB-HEIGHT") + CBThickness = meshesDT.Rows(i)("CB-THICKNESS") + End If Exit For End If @@ -330,42 +336,86 @@ Dim wholeMeshesDT As DataTable = Database.database.Tables("Whole Meshes") For i = 0 To wholeMeshesDT.Rows.Count - 1 If Not IsDBNull(wholeMeshesDT.Rows(i)(wholeMeshesColumn)) Then - 'Individual.ComboBox_Width.Items.Add(wholeMeshesDT.Rows(i)(wholeMeshesColumn)) + Individual.ComboBox_Width.Items.Add(wholeMeshesDT.Rows(i)(wholeMeshesColumn)) End If Next + + Individual.ComboBox_Width.Text = Individual.ComboBox_Width.Items(0) + Individual.TextBox_Width.Text = 1000 End Sub Public Shared Sub WidthChanged(sender As Object, e As EventArgs) - 'If Individual.ComboBox_Width.Text <> "" Then - ' If CInt(Individual.ComboBox_Width.Text) >= Individual.ComboBox_Width.Items(Individual.ComboBox_Width.Items.Count - 1) AndAlso - ' CInt(Individual.ComboBox_Width.Text) <= Individual.ComboBox_Width.Items(0) Then - ' Data.gratingW = CInt(Individual.ComboBox_Width.Text) - ' Draw_Grating.Update_GratingPoints() - ' End If - ' Enable_Recesses() - 'End If + If AppForm.fillMode Then + If Individual.TextBox_Width.Text <> "" Then + If CInt(Individual.TextBox_Width.Text) >= Individual.ComboBox_Width.Items(Individual.ComboBox_Width.Items.Count - 1) Then + Data.gratingW = CInt(Individual.TextBox_Width.Text) + Draw_Grating.Update_GratingPoints() + End If + Enable_Buttons() + End If + Else + If Individual.ComboBox_Width.Text <> "" Then + If CInt(Individual.ComboBox_Width.Text) >= Individual.ComboBox_Width.Items(Individual.ComboBox_Width.Items.Count - 1) AndAlso + CInt(Individual.ComboBox_Width.Text) <= Individual.ComboBox_Width.Items(0) Then + Data.gratingW = CInt(Individual.ComboBox_Width.Text) + Draw_Grating.Update_GratingPoints() + End If + Enable_Buttons() + End If + End If End Sub Public Shared Sub LengthChanged(sender As Object, e As EventArgs) If Individual.TextBox_Length.Text <> "" Then - If CInt(Individual.TextBox_Length.Text) >= 200 AndAlso CInt(Individual.TextBox_Length.Text) <= 6000 Then - Data.gratingL = CInt(Individual.TextBox_Length.Text) - Draw_Grating.Update_GratingPoints() + If AppForm.fillMode Then + If CInt(Individual.TextBox_Length.Text) >= 200 Then + Data.gratingL = CInt(Individual.TextBox_Length.Text) + Draw_Grating.Update_GratingPoints() + Else + 'Message: Out of boundary + End If + Enable_Buttons() Else - 'Message: Out of boundary + If CInt(Individual.TextBox_Length.Text) >= 200 AndAlso CInt(Individual.TextBox_Length.Text) <= 6000 Then + Data.gratingL = CInt(Individual.TextBox_Length.Text) + Draw_Grating.Update_GratingPoints() + Else + 'Message: Out of boundary + End If + Enable_Buttons() End If - Enable_Recesses() End If End Sub - Private Shared Sub Enable_Recesses() - 'If Individual.ComboBox_Width.Text <> "" AndAlso Individual.TextBox_Length.Text <> "" Then - ' Individual.Button_Angle_Corner.Enabled = True - ' Individual.Button_Square_Corner.Enabled = True - ' Individual.Button_Square_Side.Enabled = True - 'End If + Private Shared Sub Enable_Buttons() + If AppForm.fillMode Then + If Individual.TextBox_Width.Text <> "" AndAlso Individual.TextBox_Length.Text <> "" Then + Individual.Button_Export_GUI.Enabled = True + Individual.Button_Export_SW.Enabled = True + Individual.Panel_Data.Controls("Button_Calculate").Enabled = True + + Individual.Button_Angle_Corner.Enabled = True + Individual.Button_Angle_Side.Enabled = True + Individual.Button_Square_Corner.Enabled = True + Individual.Button_Square_Side.Enabled = True + Individual.Button_Square_Middle.Enabled = True + + Individual.Panel_Data.Controls("TextBox_Max_Load").Enabled = True + End If + Else + If Individual.ComboBox_Width.Text <> "" AndAlso Individual.TextBox_Length.Text <> "" Then + Individual.Button_Export_GUI.Enabled = True + Individual.Button_Export_SW.Enabled = True + + Individual.Button_Angle_Corner.Enabled = True + Individual.Button_Angle_Side.Enabled = True + Individual.Button_Square_Corner.Enabled = True + Individual.Button_Square_Side.Enabled = True + Individual.Button_Square_Middle.Enabled = True + End If + End If End Sub @@ -390,7 +440,7 @@ gratingTable.Rows.Add() gratingTable.Rows(0)("SERRATED") = False 'Hämta från GUI - 'gratingTable.Rows(0)("WIDTH") = CInt(Individual.ComboBox_Width.Text) + gratingTable.Rows(0)("WIDTH") = CInt(Individual.ComboBox_Width.Text) gratingTable.Rows(0)("LENGTH") = CInt(Individual.TextBox_Length.Text) gratingTable.Rows(0)("LOADBAR_THICKNESS") = CInt(Individual.ComboBox_Thickness.Text) gratingTable.Rows(0)("LOADBAR_HEIGHT") = CInt(Individual.ComboBox_Height.Text) @@ -399,14 +449,14 @@ If Individual.ComboBox_Type.Text = "Pressure Welded" Then gratingTable.Rows(0)("TYPE") = "pressure_welded" ' Här behövs namn på HLCt modellen - gratingTable.Rows(0)("CROSSBAR_DIAMETER") = 5 + gratingTable.Rows(0)("CROSSBAR_DIAMETER") = CBDiameter gratingTable.Rows(0)("CROSSBAR_THICKNESS") = 0 gratingTable.Rows(0)("CROSSBAR_HEIGHT") = 0 Else gratingTable.Rows(0)("TYPE") = "type_a" ' Här behövs namn på HLCt modellen gratingTable.Rows(0)("CROSSBAR_DIAMETER") = 0 - gratingTable.Rows(0)("CROSSBAR_THICKNESS") = 2 - gratingTable.Rows(0)("CROSSBAR_HEIGHT") = 15 + gratingTable.Rows(0)("CROSSBAR_THICKNESS") = CBThickness + gratingTable.Rows(0)("CROSSBAR_HEIGHT") = CBHeight End If Return gratingTable diff --git a/Wardrobe/Wardrobe.vbproj b/Wardrobe/Wardrobe.vbproj index 92afc36..87a6fc8 100644 --- a/Wardrobe/Wardrobe.vbproj +++ b/Wardrobe/Wardrobe.vbproj @@ -76,6 +76,7 @@ + AppForm.vb @@ -90,6 +91,12 @@ Form + + Main_Menu.vb + + + Form + Multiple.vb @@ -126,6 +133,9 @@ Individual.vb + + Main_Menu.vb + Multiple.vb