Added guideline for angle measurement and measurement

This commit is contained in:
Mans 2021-02-10 15:40:24 +01:00
parent eda0bd2ebc
commit 0d0f436aa2
3 changed files with 90 additions and 35 deletions

View File

@ -2,8 +2,8 @@
Imports Excel = Microsoft.Office.Interop.Excel Imports Excel = Microsoft.Office.Interop.Excel
Public Class GUI Public Class GUI
Public Shared filepath As String = "C:\Users\Anton\Documents\Exjobb" '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\xperd\Documents"
Dim excelApp As Excel.Application = New Excel.Application Dim excelApp As Excel.Application = New Excel.Application
Dim excelWB As Excel.Workbook Dim excelWB As Excel.Workbook

View File

@ -19,6 +19,9 @@
Public Shared pointsOrder As New List(Of String) Public Shared pointsOrder As New List(Of String)
Public Shared points As New Dictionary(Of String, Decimal()) 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() Public Shared Sub Load_DrawingPanel()
Get_DrawboxParameters() Get_DrawboxParameters()
@ -155,7 +158,7 @@
' --- Draw all the lines for the container and grating --- ' --- Draw all the lines for the container and grating ---
Public Shared Sub DrawingPanel_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Public Shared Sub DrawingPanel_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs)
' Draw outer grating (red) ' 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} 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(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))) 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))) New Point(measureLabels(mesName)(1), measureLabels(mesName)(2)))
Next 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) ' Draw actual grating (black)
Dim pen As Pen = New Pen(Color.Black, 2) Dim pen As Pen = New Pen(Color.Black, 2)

View File

@ -111,6 +111,39 @@
Dim numOfNewPoints As Integer 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 Dim mesNum As Integer = pointsMeasurements.Count - 1
If angleFunctionActive Then If angleFunctionActive Then
For i = 2 To pointsMeasurements.Count - 1 For i = 2 To pointsMeasurements.Count - 1
@ -120,7 +153,6 @@
pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1
ElseIf index + 1 = pointsMeasurements(mesName)(0) OrElse index + 1 = pointsMeasurements(mesName)(1) Then ElseIf index + 1 = pointsMeasurements(mesName)(0) OrElse index + 1 = pointsMeasurements(mesName)(1) Then
pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1
End If End If
Next Next
@ -134,6 +166,15 @@
pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 3}) pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 3})
pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) 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 Else
'Kvadrant 1 'Kvadrant 1
GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP, pYP + d2P, pXSW, pYSW - d2SW}) 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")(0) = pointsMeasurements("Wmes")(0) + 1
pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 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, {index + 1, index + 2, 1})
pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) 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 End If
Else Else
If pYP > GUI_Drawing_Panel.containerMidY Then If pYP > GUI_Drawing_Panel.containerMidY Then
@ -159,6 +210,16 @@
'Recess measuements 'Recess measuements
pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 2}) pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 2})
pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 3}) 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 Else
'Kvadrant 2 'Kvadrant 2
GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP - d1P, pYP, pXSW - d1SW, pYSW})
@ -170,6 +231,16 @@
'Recess measuements 'Recess measuements
pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1}) pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1})
pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 2}) 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
End If End If
pointsFunc.Add("pA" & pointCounter * 2 - 1, False) pointsFunc.Add("pA" & pointCounter * 2 - 1, False)
@ -192,38 +263,8 @@
pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2
ElseIf index + 1 = pointsMeasurements(mesName)(0) Then ElseIf index + 1 = pointsMeasurements(mesName)(0) Then
pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 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 ElseIf index + 1 = pointsMeasurements(mesName)(1) Then
pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 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 End If
Next Next
If pXP < GUI_Drawing_Panel.containerMidX Then If pXP < GUI_Drawing_Panel.containerMidX Then