Drawings fixed and measurments rearanged
This commit is contained in:
parent
35633bceb7
commit
9cd8e995ad
|
|
@ -137,8 +137,8 @@ Public Class GUI
|
|||
' ---------------------------------- Export to SW ----------------------------------
|
||||
' --- When export to SW button is pressed ---
|
||||
Private Sub ExportSWButton_Click(sender As Object, e As EventArgs) Handles ExportSWButton.Click
|
||||
Model_3D.BuildGrating()
|
||||
'Drawing.CreateDrawing()
|
||||
'Model_3D.BuildGrating()
|
||||
Drawing.CreateDrawing()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
|
@ -251,8 +251,13 @@
|
|||
If mesName.Split("_")(0) <> "SS1" AndAlso index + 1 < Data.pointsMeasurements(mesName)(0) Then
|
||||
Data.pointsMeasurements(mesName)(0) = Data.pointsMeasurements(mesName)(0) + 4
|
||||
Data.pointsMeasurements(mesName)(1) = Data.pointsMeasurements(mesName)(1) + 4
|
||||
ElseIf mesName.Split("_")(0) = "SS1" AndAlso index + 2 <= Data.pointsMeasurements(mesName)(1) Then
|
||||
Data.pointsMeasurements(mesName)(1) = Data.pointsMeasurements(mesName)(1) + 4
|
||||
ElseIf mesName.Split("_")(0) = "SS1" Then
|
||||
If index + 2 <= Data.pointsMeasurements(mesName)(0) Then
|
||||
Data.pointsMeasurements(mesName)(0) = Data.pointsMeasurements(mesName)(0) + 4
|
||||
Data.pointsMeasurements(mesName)(1) = Data.pointsMeasurements(mesName)(1) + 4
|
||||
ElseIf index + 2 <= Data.pointsMeasurements(mesName)(1) Then
|
||||
Data.pointsMeasurements(mesName)(1) = Data.pointsMeasurements(mesName)(1) + 4
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
|
|
|
|||
|
|
@ -103,40 +103,47 @@ Public Class Drawing
|
|||
swSheet.SetTemplateName(GUI.filepath & "\X2021\Weland ritningsmallar\A3 Part.slddrt")
|
||||
swSheet.ReloadTemplate(True)
|
||||
|
||||
|
||||
Dim myView As View
|
||||
myView = iDrawing.CreateDrawViewFromModelView3(GUI.filepath & "\Temp\TESTPART1.SLDPRT", "*Front", swSheetWidth / 2, swSheetHeight / 2, 0)
|
||||
'Dim viewScale = myView.ScaleDecimal()
|
||||
Dim viewScale As Double
|
||||
myView.UseSheetScale() = True
|
||||
Dim viewScale1, viewScale2 As Double
|
||||
Dim lengthForDrawing As Integer = Data.gratingL
|
||||
Dim widthForDrawing As Integer = Data.gratingW
|
||||
If lengthForDrawing < widthForDrawing * 3 Then
|
||||
'W styr
|
||||
If widthForDrawing < 100 Then
|
||||
viewScale = 1
|
||||
|
||||
viewScale1 = 1
|
||||
viewScale2 = 1
|
||||
ElseIf widthForDrawing < 200 Then
|
||||
viewScale = 0.5
|
||||
|
||||
viewScale1 = 1
|
||||
viewScale2 = 2
|
||||
ElseIf widthForDrawing < 500 Then
|
||||
viewScale = 0.2
|
||||
|
||||
viewScale1 = 1
|
||||
viewScale2 = 5
|
||||
Else
|
||||
viewScale = 0.1
|
||||
viewScale1 = 1
|
||||
viewScale2 = 10
|
||||
End If
|
||||
Else
|
||||
If lengthForDrawing < 300 Then
|
||||
viewScale = 1
|
||||
viewScale1 = 1
|
||||
viewScale2 = 1
|
||||
ElseIf lengthForDrawing < 600 Then
|
||||
viewScale = 0.5
|
||||
viewScale1 = 1
|
||||
viewScale2 = 2
|
||||
ElseIf lengthForDrawing < 1500 Then
|
||||
viewScale = 0.2
|
||||
viewScale1 = 1
|
||||
viewScale2 = 5
|
||||
ElseIf lengthForDrawing < 3000 Then
|
||||
viewScale = 0.1
|
||||
viewScale1 = 1
|
||||
viewScale2 = 10
|
||||
Else
|
||||
viewScale = 0.05
|
||||
viewScale1 = 1
|
||||
viewScale2 = 20
|
||||
End If
|
||||
End If
|
||||
myView.ScaleDecimal() = viewScale
|
||||
swSheet.SetScale(viewScale1, viewScale2, False, False)
|
||||
|
||||
Dim swExtensions As SldWorks.ModelDocExtension
|
||||
swExtensions = iDrawing.Extension
|
||||
|
|
@ -144,21 +151,56 @@ Public Class Drawing
|
|||
Dim CompName = RootComp.Name
|
||||
|
||||
|
||||
Dim sortedMeasurments As New Dictionary(Of String, Integer())
|
||||
Dim numOfMes As Integer = Data.pointsMeasurements.Count
|
||||
|
||||
sortedMeasurments.Add("Lmes", Data.pointsMeasurements("Lmes"))
|
||||
Data.pointsMeasurements.Remove("Lmes")
|
||||
sortedMeasurments.Add("Wmes", Data.pointsMeasurements("Wmes"))
|
||||
Data.pointsMeasurements.Remove("Wmes")
|
||||
For i = 2 To numOfMes - 1
|
||||
Dim mesName As String = Data.pointsMeasurements.Keys(0)
|
||||
Dim lowestValue As Double = 100000
|
||||
|
||||
For j = 0 To Data.pointsMeasurements.Count - 1
|
||||
Dim measureName As String = Data.pointsMeasurements.Keys(j)
|
||||
Dim measureDist As Double
|
||||
If Data.pointsMeasurements(measureName)(2) = 1 OrElse Data.pointsMeasurements(measureName)(2) = 3 Then
|
||||
Dim x1 As Double = Data.gratingPoints.Rows(Data.pointsMeasurements(measureName)(0) - 1)("X")
|
||||
Dim x2 As Double = Data.gratingPoints.Rows(Data.pointsMeasurements(measureName)(1) - 1)("X")
|
||||
measureDist = Math.Abs(x1 - x2)
|
||||
Else
|
||||
Dim y1 As Double = Data.gratingPoints.Rows(Data.pointsMeasurements(measureName)(0) - 1)("Y")
|
||||
Dim y2 As Double = Data.gratingPoints.Rows(Data.pointsMeasurements(measureName)(1) - 1)("Y")
|
||||
measureDist = Math.Abs(y1 - y2)
|
||||
End If
|
||||
|
||||
If measureDist < lowestValue Then
|
||||
lowestValue = measureDist
|
||||
mesName = measureName
|
||||
End If
|
||||
Next
|
||||
|
||||
sortedMeasurments.Add(mesName, Data.pointsMeasurements(mesName))
|
||||
Data.pointsMeasurements.Remove(mesName)
|
||||
Next
|
||||
|
||||
|
||||
Dim OutLine = myView.GetOutline
|
||||
Dim X_Mid = (OutLine(2) - OutLine(0)) / 2 + OutLine(0)
|
||||
Dim Y_Mid = (OutLine(3) - OutLine(1)) / 2 + OutLine(1)
|
||||
Dim scaleDecimal As Double = viewScale1 / viewScale2
|
||||
|
||||
|
||||
For i = 2 To Data.pointsMeasurements.Count - 1
|
||||
Dim mesName As String = Data.pointsMeasurements.Keys(i)
|
||||
Add_Dimensions(Data.pointsMeasurements(mesName), CompName, myView, iDrawing, swExtensions, OutLine, viewScale, X_Mid, Y_Mid)
|
||||
For i = 2 To sortedMeasurments.Count - 1
|
||||
Dim mesName As String = sortedMeasurments.Keys(i)
|
||||
Add_Dimensions(sortedMeasurments(mesName), CompName, myView, iDrawing, swExtensions, OutLine, scaleDecimal, X_Mid, Y_Mid)
|
||||
Next
|
||||
|
||||
Add_Dimensions(Data.pointsMeasurements("Lmes"), CompName, myView, iDrawing, swExtensions, OutLine, viewScale, X_Mid, Y_Mid)
|
||||
Add_Dimensions(Data.pointsMeasurements("Wmes"), CompName, myView, iDrawing, swExtensions, OutLine, viewScale, X_Mid, Y_Mid)
|
||||
Add_Dimensions(sortedMeasurments("Lmes"), CompName, myView, iDrawing, swExtensions, OutLine, scaleDecimal, X_Mid, Y_Mid)
|
||||
Add_Dimensions(sortedMeasurments("Wmes"), CompName, myView, iDrawing, swExtensions, OutLine, scaleDecimal, X_Mid, Y_Mid)
|
||||
Dim myView2 As View
|
||||
myView2 = iDrawing.CreateDrawViewFromModelView3(GUI.filepath & "\Temp\TESTPART1.SLDPRT", "*Bottom", swSheetWidth / 2, OutLine(3) + sideCounter(0) * 0.01 + 0.03, 0)
|
||||
myView2.ScaleDecimal() = viewScale
|
||||
myView2.UseSheetScale() = True
|
||||
|
||||
Dim OutLine2 = myView2.GetOutline
|
||||
|
||||
|
|
@ -186,7 +228,7 @@ Public Class Drawing
|
|||
End Sub
|
||||
|
||||
Private Shared Sub Add_Dimensions(points() As Integer, CompName As String, myView As View, iDrawing As DrawingDoc, swExtensions As SldWorks.ModelDocExtension _
|
||||
, OutLine() As Double, viewScale As Double, X_Mid As Double, Y_Mid As Double)
|
||||
, OutLine() As Double, scaleDecimal As Double, X_Mid As Double, Y_Mid As Double)
|
||||
|
||||
Dim measurement As IDisplayDimension
|
||||
Dim point1NameSW As String = "Point" & points(0) & "@Sketch1@" & CompName & "@" & myView.GetName2
|
||||
|
|
@ -199,12 +241,10 @@ Public Class Drawing
|
|||
|
||||
Dim mesOffset = 0.01
|
||||
If points(2) = 1 OrElse points(2) = 3 Then
|
||||
'Dim point1 As Decimal = Draw_Grating.points(Draw_Grating.pointsOrder(points(0) - 1))(2)
|
||||
Dim point1 As Integer = Data.gratingPoints.Rows(points(0) - 1)("X")
|
||||
'Dim point2 As Decimal = Draw_Grating.points(Draw_Grating.pointsOrder(points(1) - 1))(2)
|
||||
Dim point2 As Integer = Data.gratingPoints.Rows(points(1) - 1)("X")
|
||||
Dim point1 As Double = Data.gratingPoints.Rows(points(0) - 1)("X")
|
||||
Dim point2 As Double = Data.gratingPoints.Rows(points(1) - 1)("X")
|
||||
|
||||
Dim xPos As Decimal
|
||||
Dim xPos As Double
|
||||
If Math.Abs(point1) > Math.Abs(point2) Then
|
||||
xPos = point2 + (point1 - point2) / 2
|
||||
Else
|
||||
|
|
@ -212,17 +252,15 @@ Public Class Drawing
|
|||
End If
|
||||
|
||||
If points(2) = 1 Then
|
||||
measurement = iDrawing.AddHorizontalDimension2(X_Mid + xPos * viewScale, OutLine(3) + 0.005 + mesOffset * sideCounter(0), 0)
|
||||
measurement = iDrawing.AddHorizontalDimension2(X_Mid + xPos * scaleDecimal, OutLine(3) + 0.005 + mesOffset * sideCounter(0), 0)
|
||||
Else
|
||||
measurement = iDrawing.AddHorizontalDimension2(X_Mid + xPos * viewScale, OutLine(1) - 0.005 - mesOffset * sideCounter(2), 0)
|
||||
measurement = iDrawing.AddHorizontalDimension2(X_Mid + xPos * scaleDecimal, OutLine(1) - 0.005 - mesOffset * sideCounter(2), 0)
|
||||
End If
|
||||
Else
|
||||
'Dim point1 As Decimal = Draw_Grating.points(Draw_Grating.pointsOrder(points(0) - 1))(3)
|
||||
Dim point1 As Integer = Data.gratingPoints.Rows(points(0) - 1)("Y")
|
||||
'Dim point2 As Decimal = Draw_Grating.points(Draw_Grating.pointsOrder(points(1) - 1))(3)
|
||||
Dim point2 As Integer = Data.gratingPoints.Rows(points(1) - 1)("Y")
|
||||
Dim point1 As Double = Data.gratingPoints.Rows(points(0) - 1)("Y")
|
||||
Dim point2 As Double = Data.gratingPoints.Rows(points(1) - 1)("Y")
|
||||
|
||||
Dim yPos As Decimal
|
||||
Dim yPos As Double
|
||||
If Math.Abs(point1) > Math.Abs(point2) Then
|
||||
yPos = point2 + (point1 - point2) / 2
|
||||
Else
|
||||
|
|
@ -230,9 +268,9 @@ Public Class Drawing
|
|||
End If
|
||||
|
||||
If points(2) = 2 Then
|
||||
measurement = iDrawing.AddVerticalDimension2(OutLine(2) + 0.005 + mesOffset * sideCounter(1), Y_Mid + yPos * viewScale, 0)
|
||||
measurement = iDrawing.AddVerticalDimension2(OutLine(2) + 0.005 + mesOffset * sideCounter(1), Y_Mid + yPos * scaleDecimal, 0)
|
||||
Else
|
||||
measurement = iDrawing.AddVerticalDimension2(OutLine(0) - 0.005 - mesOffset * sideCounter(3), Y_Mid + yPos * viewScale, 0)
|
||||
measurement = iDrawing.AddVerticalDimension2(OutLine(0) - 0.005 - mesOffset * sideCounter(3), Y_Mid + yPos * scaleDecimal, 0)
|
||||
End If
|
||||
End If
|
||||
sideCounter(points(2) - 1) = sideCounter(points(2) - 1) + 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue