From 0d0f436aa242e8df5db22d420c2fd6a0061426ca Mon Sep 17 00:00:00 2001 From: Mans Date: Wed, 10 Feb 2021 15:40:24 +0100 Subject: [PATCH] Added guideline for angle measurement and measurement --- Wardrobe/GUI.vb | 4 +- Wardrobe/GUI_Drawing_Panel.vb | 16 +++++- Wardrobe/GUI_Functions.vb | 105 +++++++++++++++++++++++----------- 3 files changed, 90 insertions(+), 35 deletions(-) diff --git a/Wardrobe/GUI.vb b/Wardrobe/GUI.vb index b67afff..80074f8 100644 --- a/Wardrobe/GUI.vb +++ b/Wardrobe/GUI.vb @@ -2,8 +2,8 @@ Imports Excel = Microsoft.Office.Interop.Excel Public Class GUI - 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" Dim excelApp As Excel.Application = New Excel.Application Dim excelWB As Excel.Workbook diff --git a/Wardrobe/GUI_Drawing_Panel.vb b/Wardrobe/GUI_Drawing_Panel.vb index e4b72be..5b02d46 100644 --- a/Wardrobe/GUI_Drawing_Panel.vb +++ b/Wardrobe/GUI_Drawing_Panel.vb @@ -19,6 +19,9 @@ Public Shared pointsOrder As New List(Of String) Public Shared points As New Dictionary(Of String, Decimal()) + Public Shared anglePoints As New Dictionary(Of String, Integer()) + Public Shared anglePointsComp As New Dictionary(Of String, String()) + Public Shared Sub Load_DrawingPanel() Get_DrawboxParameters() @@ -155,7 +158,7 @@ ' --- Draw all the lines for the container and grating --- Public Shared Sub DrawingPanel_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) ' Draw outer grating (red) - Dim penCon As Pen = New Pen(Color.DarkRed, 1) + Dim penCon As Pen = New Pen(Color.DarkRed, 2) penCon.DashPattern = {4, 8} e.Graphics.DrawLine(penCon, CInt(pCon1(0)), CInt(pCon1(1)), CInt(pCon2(0)), CInt(pCon2(1))) e.Graphics.DrawLine(penCon, CInt(pCon2(0)), CInt(pCon2(1)), CInt(pCon3(0)), CInt(pCon3(1))) @@ -182,6 +185,17 @@ New Point(measureLabels(mesName)(1), measureLabels(mesName)(2))) Next + Dim Pendot As Pen = New Pen(Color.Gray, 1) + Pendot.DashPattern = {2, 4} + + For i = 0 To anglePoints.Count - 1 + Dim angleName As String = anglePoints.Keys(i) + e.Graphics.DrawLine(Pendot, anglePoints(angleName)(0), anglePoints(angleName)(1), + points(anglePointsComp(angleName)(0))(0), points(anglePointsComp(angleName)(0))(1)) + e.Graphics.DrawLine(Pendot, anglePoints(angleName)(0), anglePoints(angleName)(1), + points(anglePointsComp(angleName)(1))(0), points(anglePointsComp(angleName)(1))(1)) + Next + ' Draw actual grating (black) Dim pen As Pen = New Pen(Color.Black, 2) diff --git a/Wardrobe/GUI_Functions.vb b/Wardrobe/GUI_Functions.vb index e9650f7..3cfdc75 100644 --- a/Wardrobe/GUI_Functions.vb +++ b/Wardrobe/GUI_Functions.vb @@ -111,6 +111,39 @@ Dim numOfNewPoints As Integer + For i = 2 To pointsMeasurements.Count - 1 + Dim mesName As String = pointsMeasurements.Keys(i) + If index + 1 = pointsMeasurements(mesName)(0) Then + If GUI_Drawing_Panel.measureLabels(mesName)(3) = 1 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) + d1P / 2 + ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 2 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) + d2P / 2 + ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 3 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) - d1P / 2 + Else + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) - d2P / 2 + End If + ElseIf index + 1 = pointsMeasurements(mesName)(1) Then + If GUI_Drawing_Panel.measureLabels(mesName)(3) = 1 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) + d2P / 2 + ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 2 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) - d1P / 2 + ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 3 Then + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) - d2P / 2 + Else + GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text + GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) + d1P / 2 + End If + End If + Next + Dim mesNum As Integer = pointsMeasurements.Count - 1 If angleFunctionActive Then For i = 2 To pointsMeasurements.Count - 1 @@ -120,7 +153,6 @@ pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 ElseIf index + 1 = pointsMeasurements(mesName)(0) OrElse index + 1 = pointsMeasurements(mesName)(1) Then pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 - End If Next @@ -134,6 +166,15 @@ pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 3}) pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) + 'Panel recess measurements + GUI_Drawing_Panel.anglePoints.Add("A" & pointCounter * 2 - 1, {pXP + d1P, pYP - d2P}) + GUI_Drawing_Panel.anglePointsComp.Add("A" & pointCounter * 2 - 1, {"pA" & pointCounter * 2 - 1, "pA" & pointCounter * 2}) + + 'Label + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum, {CInt(GUI.Controls("Y_TextBox").Text), pXP + d1P + 3, + pYP - d2P / 2 - 4, 4}) + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum + 1, {CInt(GUI.Controls("X_TextBox").Text), pXP + d1P / 2 - 8, + pYP - d2P - 12 - 3, 4}) Else 'Kvadrant 1 GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP, pYP + d2P, pXSW, pYSW - d2SW}) @@ -144,9 +185,19 @@ pointsMeasurements("Wmes")(0) = pointsMeasurements("Wmes")(0) + 1 pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 1 - 'Recess measuements + 'SW Recess measuements pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1}) pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) + + 'Panel recess measurements + GUI_Drawing_Panel.anglePoints.Add("A" & pointCounter * 2 - 1, {pXP + d1P, pYP + d2P}) + GUI_Drawing_Panel.anglePointsComp.Add("A" & pointCounter * 2 - 1, {"pA" & pointCounter * 2 - 1, "pA" & pointCounter * 2}) + + 'Label + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum, {CInt(GUI.Controls("X_TextBox").Text), pXP + d1P / 2 - 8, + pYP + d2P + 3, 1}) + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum + 1, {CInt(GUI.Controls("Y_TextBox").Text), pXP + d1P + 3, + pYP + d2P / 2 - 4, 1}) End If Else If pYP > GUI_Drawing_Panel.containerMidY Then @@ -159,6 +210,16 @@ 'Recess measuements pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 2}) pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 3}) + + 'Panel recess measurements + GUI_Drawing_Panel.anglePoints.Add("A" & pointCounter * 2 - 1, {pXP - d1P, pYP - d2P}) + GUI_Drawing_Panel.anglePointsComp.Add("A" & pointCounter * 2 - 1, {"pA" & pointCounter * 2 - 1, "pA" & pointCounter * 2}) + + 'Label + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum, {CInt(GUI.Controls("X_TextBox").Text), pXP - d1P / 2 - 8, + pYP - d2P - 12 - 3, 3}) + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum + 1, {CInt(GUI.Controls("Y_TextBox").Text), pXP - d1P - 18 - 3, + pYP - d2P / 2 - 4, 3}) Else 'Kvadrant 2 GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) @@ -170,6 +231,16 @@ 'Recess measuements pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1}) pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 2}) + + 'Panel recess measurements + GUI_Drawing_Panel.anglePoints.Add("A" & pointCounter * 2 - 1, {pXP - d1P, pYP + d2P}) + GUI_Drawing_Panel.anglePointsComp.Add("A" & pointCounter * 2 - 1, {"pA" & pointCounter * 2 - 1, "pA" & pointCounter * 2}) + + 'Label + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum, {CInt(GUI.Controls("Y_TextBox").Text), pXP - d1P - 18 - 3, + pYP + d2P / 2 - 4, 2}) + GUI_Drawing_Panel.measureLabels.Add("A_" & mesNum + 1, {CInt(GUI.Controls("X_TextBox").Text), pXP - d1P / 2 - 8, + pYP + d2P + 3, 2}) End If End If pointsFunc.Add("pA" & pointCounter * 2 - 1, False) @@ -192,38 +263,8 @@ pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 ElseIf index + 1 = pointsMeasurements(mesName)(0) Then pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 - - If GUI_Drawing_Panel.measureLabels(mesName)(3) = 1 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) + d1P / 2 - ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 2 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) + d2P / 2 - ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 3 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) - d1P / 2 - Else - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) - d2P / 2 - End If - ElseIf index + 1 = pointsMeasurements(mesName)(1) Then pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 - - If GUI_Drawing_Panel.measureLabels(mesName)(3) = 1 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) + d2P / 2 - ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 2 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) - d1P / 2 - ElseIf GUI_Drawing_Panel.measureLabels(mesName)(3) = 3 Then - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("Y_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(2) = GUI_Drawing_Panel.measureLabels(mesName)(2) - d2P / 2 - Else - GUI_Drawing_Panel.measureLabels(mesName)(0) = GUI_Drawing_Panel.measureLabels(mesName)(0) - GUI.Controls("X_TextBox").Text - GUI_Drawing_Panel.measureLabels(mesName)(1) = GUI_Drawing_Panel.measureLabels(mesName)(1) + d1P / 2 - End If - End If Next If pXP < GUI_Drawing_Panel.containerMidX Then