From 5ff9ac938f865c90bf1e949ab45485568280e10a Mon Sep 17 00:00:00 2001 From: Mans Date: Wed, 10 Feb 2021 09:52:01 +0100 Subject: [PATCH] Added measurements for recesses and double recesses --- Wardrobe/GUI_Functions.vb | 65 ++++++++++++++++++++++++++++++++- Wardrobe/SW_Drawing_Gratings.vb | 18 ++++++--- 2 files changed, 75 insertions(+), 8 deletions(-) diff --git a/Wardrobe/GUI_Functions.vb b/Wardrobe/GUI_Functions.vb index 69e2880..0950272 100644 --- a/Wardrobe/GUI_Functions.vb +++ b/Wardrobe/GUI_Functions.vb @@ -111,21 +111,47 @@ Dim numOfNewPoints As Integer + + Dim mesNum As Integer = pointsMeasurements.Count - 1 If angleFunctionActive Then + + + For i = 2 To pointsMeasurements.Count - 1 + Dim mesName As String = pointsMeasurements.Keys(i) + If index < pointsMeasurements(mesName)(0) Then + pointsMeasurements(mesName)(0) = pointsMeasurements(mesName)(0) + 1 + pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 + ElseIf index = pointsMeasurements(mesName)(0) OrElse index = pointsMeasurements(mesName)(1) Then + pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 1 + + End If + Next + If pXP < GUI_Drawing_Panel.containerMidX Then If pYP > GUI_Drawing_Panel.containerMidY Then 'Kvadrant 4 GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP + d1P, pYP, pXSW + d1SW, pYSW}) GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2, {pXP, pYP - d2P, pXSW, pYSW + d2SW}) + 'Recess measuements + pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 3}) + pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) + Else '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, {pXP + d1P, pYP, pXSW + d1SW, pYSW}) - + 'Outer measuements pointsMeasurements("Lmes")(1) = pointsMeasurements("Lmes")(1) + 1 pointsMeasurements("Wmes")(0) = pointsMeasurements("Wmes")(0) + 1 pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 1 + + + 'Recess measuements + pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1}) + pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 4}) End If Else If pYP > GUI_Drawing_Panel.containerMidY Then @@ -134,6 +160,10 @@ GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 1 + + 'Recess measuements + pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 2}) + pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 3}) Else 'Kvadrant 2 GUI_Drawing_Panel.points.Add("pA" & pointCounter * 2 - 1, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) @@ -141,6 +171,10 @@ pointsMeasurements("Lmes")(1) = pointsMeasurements("Lmes")(1) + 1 pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 1 + + 'Recess measuements + pointsMeasurements.Add("A_" & mesNum, {index + 1, index + 2, 1}) + pointsMeasurements.Add("A_" & mesNum + 1, {index + 1, index + 2, 2}) End If End If pointsFunc.Add("pA" & pointCounter * 2 - 1, False) @@ -153,13 +187,28 @@ numOfNewPoints = 2 angleFunctionActive = False - Else + Else ' square + + For i = 2 To pointsMeasurements.Count - 1 + Dim mesName As String = pointsMeasurements.Keys(i) + If index < pointsMeasurements(mesName)(0) Then + pointsMeasurements(mesName)(0) = pointsMeasurements(mesName)(0) + 2 + pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 + ElseIf index = pointsMeasurements(mesName)(0) OrElse index = pointsMeasurements(mesName)(1) Then + pointsMeasurements(mesName)(1) = pointsMeasurements(mesName)(1) + 2 + + End If + Next If pXP < GUI_Drawing_Panel.containerMidX Then If pYP > GUI_Drawing_Panel.containerMidY Then 'Kvadrant 4 GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3 - 2, {pXP + d1P, pYP, pXSW + d1SW, pYSW}) GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3 - 1, {pXP + d1P, pYP - d2P, pXSW + d1SW, pYSW + d2SW}) GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3, {pXP, pYP - d2P, pXSW, pYSW + d2SW}) + + 'Recess measuements + pointsMeasurements.Add("S_" & mesNum, {index + 1, index + 2, 4}) + pointsMeasurements.Add("S_" & mesNum + 1, {index + 2, index + 3, 3}) Else 'Kvadrant 1 GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3 - 2, {pXP, pYP + d2P, pXSW, pYSW - d2SW}) @@ -169,6 +218,10 @@ pointsMeasurements("Lmes")(1) = pointsMeasurements("Lmes")(1) + 2 pointsMeasurements("Wmes")(0) = pointsMeasurements("Wmes")(0) + 2 pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 2 + + 'Recess measuements + pointsMeasurements.Add("S_" & mesNum, {index + 1, index + 2, 1}) + pointsMeasurements.Add("S_" & mesNum + 1, {index + 2, index + 3, 4}) End If Else If pYP > GUI_Drawing_Panel.containerMidY Then @@ -178,6 +231,10 @@ GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 2 + + 'Recess measuements + pointsMeasurements.Add("S_" & mesNum, {index + 1, index + 2, 3}) + pointsMeasurements.Add("S_" & mesNum + 1, {index + 2, index + 3, 2}) Else 'Kvadrant 2 GUI_Drawing_Panel.points.Add("pS" & pointCounter * 3 - 2, {pXP - d1P, pYP, pXSW - d1SW, pYSW}) @@ -186,6 +243,10 @@ pointsMeasurements("Lmes")(1) = pointsMeasurements("Lmes")(1) + 2 pointsMeasurements("Wmes")(1) = pointsMeasurements("Wmes")(1) + 2 + + 'Recess measuements + pointsMeasurements.Add("S_" & mesNum, {index + 1, index + 2, 2}) + pointsMeasurements.Add("S_" & mesNum + 1, {index + 2, index + 3, 1}) End If End If pointsFunc.Add("pS" & pointCounter * 3 - 2, True) diff --git a/Wardrobe/SW_Drawing_Gratings.vb b/Wardrobe/SW_Drawing_Gratings.vb index 89ee869..26a79ca 100644 --- a/Wardrobe/SW_Drawing_Gratings.vb +++ b/Wardrobe/SW_Drawing_Gratings.vb @@ -109,13 +109,19 @@ Public Class SW_Drawing_Gratings Dim RootComp = myView.RootDrawingComponent Dim CompName = RootComp.Name - Dim measurement As IDisplayDimension + Dim OutLine = myView.GetOutline Dim X_Mid = (OutLine(2) - OutLine(0)) / 2 + OutLine(0) Dim Y_Mid = (OutLine(3) - OutLine(1)) / 2 + OutLine(1) - Add_Dimensions(GUI_Functions.pointsMeasurements("Lmes"), CompName, myView, iDrawing, swExtensions, measurement, X_Mid, OutLine, Y_Mid) - Add_Dimensions(GUI_Functions.pointsMeasurements("Wmes"), CompName, myView, iDrawing, swExtensions, measurement, X_Mid, OutLine, Y_Mid) + For i = 2 To GUI_Functions.pointsMeasurements.Count - 1 + Dim mesName As String = GUI_Functions.pointsMeasurements.Keys(i) + Add_Dimensions(GUI_Functions.pointsMeasurements(mesName), CompName, myView, iDrawing, swExtensions, X_Mid, OutLine, Y_Mid) + + Next + + Add_Dimensions(GUI_Functions.pointsMeasurements("Lmes"), CompName, myView, iDrawing, swExtensions, X_Mid, OutLine, Y_Mid) + Add_Dimensions(GUI_Functions.pointsMeasurements("Wmes"), CompName, myView, iDrawing, swExtensions, X_Mid, OutLine, Y_Mid) Dim myView2 As View myView2 = iDrawing.CreateDrawViewFromModelView3(GUI.filepath & "\Temp\TESTPART1.SLDPRT", "*Bottom", swSheetWidth / 2, OutLine(3) + 0.03, 0) Dim OutLine2 = myView2.GetOutline @@ -124,7 +130,7 @@ Public Class SW_Drawing_Gratings Dim point2Name As String = "Plane1@" & CompName & "@" & myView2.GetName2 iDrawing.ClearSelection2(True) - + Dim measurement As IDisplayDimension swExtensions.SelectByID2(point1Name, "PLANE", 0, 0, 0, True, 0, Nothing, 0) swExtensions.SelectByID2(point2Name, "PLANE", 0, 0, 0, True, 0, Nothing, 0) measurement = iDrawing.AddVerticalDimension2(OutLine2(2), OutLine2(1), 0) @@ -144,9 +150,9 @@ Public Class SW_Drawing_Gratings End Sub Private Shared Sub Add_Dimensions(points() As Integer, CompName As String, myView As View, iDrawing As DrawingDoc, swExtensions As SldWorks.ModelDocExtension _ - , measurement As IDisplayDimension, X_Mid As Double, OutLine() As Double, Y_Mid As Double) - + , X_Mid As Double, OutLine() As Double, Y_Mid As Double) + Dim measurement As IDisplayDimension Dim point1Name As String = "Point" & points(0) & "@Sketch1@" & CompName & "@" & myView.GetName2 Dim point2Name As String = "Point" & points(1) & "@Sketch1@" & CompName & "@" & myView.GetName2