Added measurements for recesses and double recesses

This commit is contained in:
Mans 2021-02-10 09:52:01 +01:00
parent 105a342d95
commit 5ff9ac938f
2 changed files with 75 additions and 8 deletions

View File

@ -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)

View File

@ -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