Worked on a new way to optimize grating sizes for fill area

This commit is contained in:
Anton 2021-04-27 15:58:06 +02:00
parent e880c88064
commit bd3bbf2609
12 changed files with 210 additions and 80 deletions

View File

@ -277,10 +277,9 @@
dashPen.DashPattern = {6, 4}
'Vertical lines
Dim singleLength As Integer = Grating_Fill.minLength / Data.scaleDiff
For i = 0 To Grating_Fill.numOfHorizontal - 2
Dim x As Integer
x = Data.grossAreaPoints.Rows(0)("GUI X") + singleLength * (i + 1)
Dim singleLength As Integer = Calculate_Fill_Grid.gratingLength / Data.scaleDiff
For i = 0 To Calculate_Fill_Grid.numOfHorizontal - 2
Dim x As Integer = Data.grossAreaPoints.Rows(0)("GUI X") + singleLength * (i + 1)
Dim y1 As Integer = Data.grossAreaPoints.Rows(0)("GUI Y")
Dim y2 As Integer = Data.grossAreaPoints.Rows(3)("GUI Y")
@ -288,14 +287,10 @@
Next
'Horizontal lines
Dim singleWidth As Integer = Grating_Fill.maxSingleWidth / Data.scaleDiff
For i = 0 To Grating_Fill.numOfVertical - 2
Dim y As Integer
If Grating_Fill.widthRevNeeded AndAlso i = Grating_Fill.numOfVertical - 2 Then
y = Data.grossAreaPoints.Rows(0)("GUI Y") + singleWidth * i + Grating_Fill.revWidth / Data.scaleDiff
Else
y = Data.grossAreaPoints.Rows(0)("GUI Y") + singleWidth * (i + 1)
End If
Dim singleWidth As Integer = 1000 / Data.scaleDiff 'Calculate_Fill_Grid.gratingWidth
For i = 0 To Calculate_Fill_Grid.numOfVertical - 2
Dim y As Integer = Data.grossAreaPoints.Rows(0)("GUI Y") + singleWidth * (i + 1)
Dim x1 As Integer = Data.grossAreaPoints.Rows(0)("GUI X")
Dim x2 As Integer = Data.grossAreaPoints.Rows(1)("GUI X")
g.DrawLine(dashPen, x1, y, x2, y)

View File

@ -289,14 +289,14 @@ Public Class Individual
' ---------------------------------- Calculate ----------------------------------
' --- When calculate button is pressed ---
Public Sub Button_Calculate_Click(sender As Object, e As EventArgs)
Grating_Fill.Calculate_Grid()
Calculate_Fill_Grid.Calculate_Grid()
End Sub
' ---------------------------------- Export to SW ----------------------------------
' --- When export to SW button is pressed ---
Private Sub Button_Export_SW_Click(sender As Object, e As EventArgs) Handles Button_Export_SW.Click
If AppForm.fillMode Then
Grating_Fill.Calculate_Grid()
Calculate_Fill_Grid.Calculate_Grid()
Dim frameCreated As Boolean = False
If User_Input.add3DGrating = True Then

View File

@ -0,0 +1,132 @@
Public Class Calculate_Fill_Grid
Public Shared maxGratingWidth, maxGratingLength As Integer
Public Shared numOfHorizontal, numOfVertical As Integer
Public Shared gratingLength, gratingWidth As Integer
Public Shared gratingDimensions As New DataTable
Public Shared Sub Calculate_Grid()
maxGratingWidth = Get_Max_Width()
maxGratingLength = Get_Max_Length(maxGratingWidth)
Get_NumOf_Vertical(maxGratingWidth)
Get_NumOf_Horizontal(maxGratingLength)
gratingDimensions.Clear()
gratingDimensions.Columns.Clear()
gratingDimensions.Columns.Add("INDEX", GetType(Integer))
gratingDimensions.Columns.Add("ROW", GetType(Integer))
gratingDimensions.Columns.Add("COLUMN", GetType(Integer))
gratingDimensions.Columns.Add("WIDTH", GetType(Integer))
gratingDimensions.Columns.Add("LENGTH", GetType(Integer))
gratingLength = Calculate_Grating_Length(maxGratingLength, 100)
For i = 0 To numOfHorizontal * numOfVertical - 1
Dim tempDR As DataRow = gratingDimensions.NewRow
tempDR("INDEX") = i
tempDR("ROW") = Math.Floor((i + 0.5) / numOfHorizontal)
tempDR("COLUMN") = i Mod numOfHorizontal
If tempDR("ROW") + 1 < numOfVertical Then
tempDR("WIDTH") = 1000
Else
If Data.gratingW Mod 1000 <= 200 Then
tempDR("WIDTH") = maxGratingWidth
Else
tempDR("WIDTH") = Data.gratingW Mod 1000
End If
End If
If tempDR("COLUMN") + 1 < numOfHorizontal Then
tempDR("LENGTH") = gratingLength
Else
tempDR("LENGTH") = Data.gratingL - gratingLength * (numOfHorizontal - 1)
End If
gratingDimensions.Rows.Add(tempDR)
Next
Individual.Panel_Grating.Refresh()
End Sub
Private Shared Function Get_Max_Width()
If Data.gratingW >= 1000 Then
If Data.gratingW Mod 1000 > 0 AndAlso Data.gratingW Mod 1000 <= 200 Then
Return (Data.gratingW Mod 1000) + 1000
End If
Return 1000
End If
Return Data.gratingW
End Function
Private Shared Function Get_Max_Length(gratingMaxWidth As Integer)
' Funkar just nu bara för pressure welded (ty diameter)
Dim loadBarHeight As Integer = 25
Dim loadBarThickness As Integer = 2
Dim crossBarDiameter As Integer = 5
Dim loadBarWeight As Double = 0.385 ' För 1x1 m
Dim crossBarWeight As Double = 0.153 ' För 1x1 m
Dim maxWeight As Double = 70 ' FIXA: Sätta i GUI?
Dim LBHdiff As Double = 1 + (User_Input.gratingHeight - loadBarHeight) / loadBarHeight
loadBarWeight *= LBHdiff
Dim LBTdiff As Double = 1 + (User_Input.loadBarThickness - loadBarThickness) / loadBarThickness
loadBarWeight *= LBTdiff
Dim CBDdiff As Double = 1 + (User_Input.CBDiameter - crossBarDiameter) / crossBarDiameter
crossBarWeight *= CBDdiff
Dim numOfLB As Integer = 1 + Math.Floor((1000 - User_Input.loadBarSpacing) / User_Input.loadBarSpacing)
Dim numOfCB As Integer = 1 + Math.Floor((1000 - User_Input.crossBarSpacing) / User_Input.crossBarSpacing)
Dim gratingWeight As Double = (numOfLB + 4) * loadBarWeight + numOfCB * crossBarWeight
Dim maxArea As Double = maxWeight / gratingWeight
Dim maxLength As Double = maxArea / (gratingMaxWidth / 1000)
maxLength = Math.Floor(maxLength * 10) * 100
Return CInt(maxLength)
End Function
Private Shared Sub Get_NumOf_Horizontal(maxGratingLength As Integer)
If (Data.gratingL / maxGratingLength) Mod 1 = 0 Then
numOfHorizontal = Data.gratingL / maxGratingLength
Else
numOfHorizontal = Math.Floor(Data.gratingL / maxGratingLength) + 1
End If
End Sub
Private Shared Sub Get_NumOf_Vertical(maxGratingWidth As Integer)
If Data.gratingW < 1000 Then
numOfVertical = 1
ElseIf Data.gratingW Mod 1000 = 0 Then
numOfVertical = Data.gratingW / 1000
Else
If Data.gratingW Mod 1000 <= 200 Then
numOfVertical = Math.Floor(Data.gratingW / 1000)
Else
numOfVertical = Math.Floor(Data.gratingW / 1000) + 1
End If
End If
End Sub
Private Shared Function Calculate_Grating_Length(gratingLength As Integer, modInterval As Integer)
Dim gLength As Integer
If Data.gratingL Mod gratingLength = 0 Then
gLength = gratingLength
ElseIf Data.gratingL Mod gratingLength >= 300 AndAlso Math.Floor((Data.gratingL + 0.5) / gratingLength) + 1 = numOfHorizontal Then
gLength = gratingLength
ElseIf Math.Floor((Data.gratingL + 0.5) / gratingLength) + 1 > numOfHorizontal Then
gLength = Calculate_Grating_Length(maxGratingLength, 10)
Else
gLength = Calculate_Grating_Length(gratingLength - modInterval, modInterval)
End If
Return gLength
End Function
End Class

View File

@ -1,5 +1,5 @@

Public Class Grating_Fill
Public Class Grating_Fill2
Public Shared maxSingleWidth, maxSingleLength As Integer
Public Shared numOfHorizontal, numOfVertical As Integer
Public Shared widthRevNeeded, lengthRevNeeded As Boolean
@ -8,6 +8,8 @@ Public Class Grating_Fill
Public Shared gratingDimensions As New DataTable
Public Shared Sub Calculate_Grid()
Calculate_Fill_Grid.Calculate_Grid() 'FIXA: TA BORT
Get_SingleGratingMaxDimensions()
gratingDimensions.Clear()
@ -86,7 +88,7 @@ Public Class Grating_Fill
Next
Individual.Panel_Grating.Refresh()
'Individual.Panel_Grating.Refresh()
End Sub
Private Shared Sub Get_SingleGratingMaxDimensions()

View File

@ -509,7 +509,7 @@ Public Class Frame_3D
boolstatus = Part.EditRebuild3()
Dim swErrors As Integer
Dim swWarnings As Integer
boolstatus = Part.Save3(1, swErrors, swWarnings)
boolstatus = Part.Save3(4, swErrors, swWarnings)
swApp.CloseDoc(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & j + 1 & ".SLDPRT")
End If

View File

@ -75,7 +75,7 @@ Public Class Individual_3D
Dim Warnings As Integer
Dim model As IModelDoc2
model = Assembly
status = model.Save3(1, Errors, Warnings)
status = model.Save3(4, Errors, Warnings)
Dim sourcePath, destPath As String
Dim childrenSourcePaths As New List(Of String)
@ -378,9 +378,9 @@ Public Class Individual_3D
components = Assembly.GetComponents(True)
For i = 0 To UBound(components)
Dim partDoc = components(i).GetModelDoc2()
boolstatus = partDoc.Save3(1, swErrors, swWarnings)
boolstatus = partDoc.Save3(4, swErrors, swWarnings)
Next
boolstatus = Assembly.Save3(1, swErrors, swWarnings)
boolstatus = Assembly.Save3(4, swErrors, swWarnings)
End Sub
Private Shared Function Check_Interference(comp1 As SldWorks.Component2, comp2 As SldWorks.Component2) ' Test Albins mocro för interference

View File

@ -101,7 +101,7 @@ Public Class Individual_3D_Simplified
Dim Warnings As Integer
Dim model As IModelDoc2
model = Assembly
status = model.Save3(1, Errors, Warnings)
status = model.Save3(4, Errors, Warnings)
Dim sourcePath, destPath As String
@ -410,9 +410,9 @@ Public Class Individual_3D_Simplified
components = Assembly.GetComponents(True)
For i = 0 To UBound(components)
Dim partDoc = components(i).GetModelDoc2()
boolstatus = partDoc.Save3(1, swErrors, swWarnings)
boolstatus = partDoc.Save3(4, swErrors, swWarnings)
Next
boolstatus = Assembly.Save3(1, swErrors, swWarnings)
boolstatus = Assembly.Save3(4, swErrors, swWarnings)
End Sub
Private Shared Function Check_Interference(comp1 As SldWorks.Component2, comp2 As SldWorks.Component2) ' Test Albins mocro för interference

View File

@ -79,7 +79,7 @@ Public Class Instructions
Dim numOfGratings = 1
If AppForm.fillMode = True Then
numOfGratings = Grating_Fill.numOfHorizontal * Grating_Fill.numOfVertical - Multiple_3D_Simplified.listOfObsolete.Count
numOfGratings = Calculate_Fill_Grid.numOfHorizontal * Calculate_Fill_Grid.numOfVertical - Multiple_3D_Simplified.listOfObsolete.Count
End If
Dim gratingCounter As Integer = numOfGratings

View File

@ -22,7 +22,7 @@ Public Class Multiple_3D
Dim parentID As Integer = 0
gratingParameters = exportTable.Rows(0)
For i = 0 To Grating_Fill.gratingDimensions.Rows.Count - 1
For i = 0 To Calculate_Fill_Grid.gratingDimensions.Rows.Count - 1
inst_ = ExternalClass.instantiate_parts(parentID, gratingParameters("TYPE"), "") ' Ange pressure_welded eller type A, Serrated?
ExternalClass.modify_parameter_value("DP_LOADBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_LOADBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
@ -36,23 +36,23 @@ Public Class Multiple_3D
ExternalClass.modify_parameter_value("DP_CROSSBAR_HEIGHT", inst_, gratingParameters("CROSSBAR_HEIGHT"))
End If
ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Grating_Fill.gratingDimensions.Rows(i)("WIDTH"))
ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Grating_Fill.gratingDimensions.Rows(i)("LENGTH"))
ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH"))
ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH"))
Dim offsetX As Integer = 0
For j = 1 To Grating_Fill.gratingDimensions.Rows(i)("COLUMN")
offsetX += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("COLUMN")
offsetX += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
Next
Dim offsetY As Integer = 0
For j = 1 To Grating_Fill.gratingDimensions.Rows(i)("ROW")
offsetY += Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("ROW")
offsetY += Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
Next
ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Grating_Fill.gratingDimensions.Rows(i)("LENGTH") / 2) + offsetX)
ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Grating_Fill.gratingDimensions.Rows(i)("WIDTH") / 2) + offsetY)
ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH") / 2) + offsetX)
ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH") / 2) + offsetY)
Next
parentID = Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1) + 1
parentID = Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + 1
For Each recessDR As DataRow In Data.recessData.Rows
Inst_Recesses(parentID, gratingParameters, recessDR)
Next
@ -93,7 +93,7 @@ Public Class Multiple_3D
Dim Warnings As Integer
Dim model As IModelDoc2
model = Assembly
status = model.Save3(1, Errors, Warnings)
status = model.Save3(4, Errors, Warnings)
Dim sourcePath, destPath As String
Dim childrenSourcePaths As New List(Of String)
@ -291,7 +291,7 @@ Public Class Multiple_3D
Dim components = Assembly.GetComponents(True)
'Indent
Dim recessParentName As String = partDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1))("partName")
Dim recessParentName As String = partDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1))("partName")
Dim recessParts = partDT.Select("parentName = '" & recessParentName & "'")
For i = 0 To recessParts.Count - 1
Dim recessPartName As String = recessParts(i)("partName")
@ -318,7 +318,7 @@ Public Class Multiple_3D
Dim recessFace = recessBodies(indexBody).GetFirstFace
For j = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
For j = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Assembly.ClearSelection2(True)
Dim gratingPartName As String = partDT.Rows(j)("partName")
@ -388,7 +388,7 @@ Public Class Multiple_3D
boolstatus = AssemblyExtension.SelectByID2("Cut-Body@" & recessPartName & "-1@" & designName, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0)
modelDoc.EditSuppress2()
For j = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
For j = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Dim gratingPartName As String = partDT.Rows(j)("partName")
Dim indexGrating As Integer
For l = 0 To components.Length - 1
@ -463,7 +463,7 @@ Public Class Multiple_3D
ElseIf gratingParameters("TYPE") = "type_a_serrated" Then
numOfFeat = 2
End If
For i = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
For i = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Dim gratingPartName As String = partDT.Rows(i)("partName")
Dim indexGrating As Integer
For j = 0 To components.Length - 1
@ -516,8 +516,8 @@ Public Class Multiple_3D
Public Shared Function Find_Obsolete()
Dim listOfObsolete As New List(Of Integer)
For i = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
Dim gratingDR As DataRow = Grating_Fill.gratingDimensions.Rows(i)
For i = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensions.Rows(i)
Dim origo(2) As Integer
origo(0) = Data.gratingL / 2
origo(1) = Data.gratingW / 2
@ -527,14 +527,14 @@ Public Class Multiple_3D
p1(0) = -origo(0)
p2(0) = -origo(0) + gratingDR("LENGTH")
For j = 1 To gratingDR("COLUMN")
p1(0) += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
p2(0) += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
p1(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
p2(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
Next
p1(1) = origo(1)
p3(1) = origo(1) - gratingDR("WIDTH")
For j = 1 To gratingDR("ROW")
p1(1) -= Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
p3(1) -= Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
p1(1) -= Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
p3(1) -= Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
Next
p2(1) = p1(1)

View File

@ -17,26 +17,26 @@ Public Class Multiple_3D_Simplified
Dim parentID As Integer = 0
gratingParameters = exportTable.Rows(0)
For i = 0 To Grating_Fill.gratingDimensions.Rows.Count - 1
For i = 0 To Calculate_Fill_Grid.gratingDimensions.Rows.Count - 1
inst_ = ExternalClass.instantiate_parts(parentID, "simplified_floor_grating", "")
ExternalClass.modify_parameter_value("DP_LOADBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Grating_Fill.gratingDimensions.Rows(i)("WIDTH"))
ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Grating_Fill.gratingDimensions.Rows(i)("LENGTH"))
ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH"))
ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH"))
Dim offsetX As Integer = 0
For j = 1 To Grating_Fill.gratingDimensions.Rows(i)("COLUMN")
offsetX += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("COLUMN")
offsetX += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
Next
Dim offsetY As Integer = 0
For j = 1 To Grating_Fill.gratingDimensions.Rows(i)("ROW")
offsetY += Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("ROW")
offsetY += Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
Next
ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Grating_Fill.gratingDimensions.Rows(i)("LENGTH") / 2) + offsetX)
ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Grating_Fill.gratingDimensions.Rows(i)("WIDTH") / 2) + offsetY)
ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH") / 2) + offsetX)
ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH") / 2) + offsetY)
Next
parentID = Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1) + 1
parentID = Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + 1
For Each recessDR As DataRow In Data.recessData.Rows
Inst_Recesses(parentID, gratingParameters, recessDR)
Next
@ -163,7 +163,7 @@ Public Class Multiple_3D_Simplified
Dim Warnings As Integer
Dim model As IModelDoc2
model = assembly
status = model.Save3(1, Errors, Warnings)
status = model.Save3(4, Errors, Warnings)
Dim sourcePath, destPath As String
Dim childrenSourcePaths As New List(Of String)
@ -368,7 +368,7 @@ Public Class Multiple_3D_Simplified
Dim components = Assembly.GetComponents(True)
'Indent
Dim recessParentName As String = partDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1))("partName")
Dim recessParentName As String = partDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1))("partName")
Dim recessParts = partDT.Select("parentName = '" & recessParentName & "'")
For i = 0 To recessParts.Count - 1
Dim recessPartName As String = recessParts(i)("partName")
@ -395,7 +395,7 @@ Public Class Multiple_3D_Simplified
Dim recessFace = recessBodies(indexBody).GetFirstFace
For j = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
For j = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Assembly.ClearSelection2(True)
Dim gratingPartName As String = partDT.Rows(j)("partName")
@ -479,8 +479,8 @@ Public Class Multiple_3D_Simplified
Public Shared Function Find_Obsolete()
Dim listOfObsolete As New List(Of Integer)
For i = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1
Dim gratingDR As DataRow = Grating_Fill.gratingDimensions.Rows(i)
For i = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1
Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensions.Rows(i)
Dim origo(2) As Integer
origo(0) = Data.gratingL / 2
origo(1) = Data.gratingW / 2
@ -490,14 +490,14 @@ Public Class Multiple_3D_Simplified
p1(0) = -origo(0)
p2(0) = -origo(0) + gratingDR("LENGTH")
For j = 1 To gratingDR("COLUMN")
p1(0) += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
p2(0) += Grating_Fill.gratingDimensions.Rows(i - j)("LENGTH")
p1(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
p2(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH")
Next
p1(1) = origo(1)
p3(1) = origo(1) - gratingDR("WIDTH")
For j = 1 To gratingDR("ROW")
p1(1) -= Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
p3(1) -= Grating_Fill.gratingDimensions.Rows(i - Grating_Fill.numOfHorizontal * j)("WIDTH")
p1(1) -= Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
p3(1) -= Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH")
Next
p2(1) = p1(1)

View File

@ -26,7 +26,7 @@ Public Class Multiple_Drawing
status = layMgr.SetCurrentLayer("Svenska")
Dim myView As View
myView = iDrawing.CreateDrawViewFromModelView3(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\gratings_assembly_simplified.SLDASM",
myView = iDrawing.CreateDrawViewFromModelView3(Settings.folderPaths("object_" & Data.objectNum & "_models3D_gratings_sw_support") & "\GRATINGS_ASSEMBLY_SIMPLIFIED.SLDASM",
"*Front", swSheetWidth / 2, swSheetHeight / 2, 0)
myView.UseSheetScale() = True
myView.SetDisplayTangentEdges2(2)
@ -50,7 +50,7 @@ Public Class Multiple_Drawing
mesOffsets(3) = OutLine(0) - 0.005
' -- Recess measurements --
Dim recessDT = modelsDT.Select("parentName = '" & modelsDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1))("partName") & "'")
Dim recessDT = modelsDT.Select("parentName = '" & modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1))("partName") & "'")
For i = 0 To Data.recessData.Rows.Count - 1
Dim DR As DataRow = Data.recessData.Rows(i)
Dim recessName As String = recessDT(i)("partName")
@ -127,7 +127,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal - 1 + counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal - 1 + counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SL2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -153,7 +153,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * Grating_Fill.numOfVertical - 1 - counter)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * Calculate_Fill_Grid.numOfVertical - 1 - counter)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SW2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -178,7 +178,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * Grating_Fill.numOfVertical - 1 - counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * Calculate_Fill_Grid.numOfVertical - 1 - counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SL2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -203,7 +203,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1) + counter)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + counter)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SW2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -233,7 +233,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * Grating_Fill.numOfVertical - 1 - counter)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * Calculate_Fill_Grid.numOfVertical - 1 - counter)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SW2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -252,7 +252,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * Grating_Fill.numOfVertical - 1 - counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * Calculate_Fill_Grid.numOfVertical - 1 - counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
iDrawing.ClearSelection2(True)
plane2Name = "Point1@SL2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
@ -273,11 +273,11 @@ Public Class Multiple_Drawing
Next
' -- Loop Horizontal --
For i = 0 To Grating_Fill.numOfHorizontal - 1
For i = 0 To Calculate_Fill_Grid.numOfHorizontal - 1
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(i + counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(i + counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
iDrawing.ClearSelection2(True)
plane1Name = "Point1@SL1@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
status = swExtensions.SelectByID2(plane1Name, "EXTSKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
@ -296,7 +296,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
iDrawing.ClearSelection2(True)
plane1Name = "Point1@SL1@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
status = swExtensions.SelectByID2(plane1Name, "EXTSKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
@ -306,7 +306,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal - 1 + counter * Grating_Fill.numOfHorizontal)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal - 1 + counter * Calculate_Fill_Grid.numOfHorizontal)("partName")
plane2Name = "Point1@SL2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
status = swExtensions.SelectByID2(plane2Name, "EXTSKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
counter += 1
@ -319,11 +319,11 @@ Public Class Multiple_Drawing
measurement.ShowParenthesis = True
' -- Loop Vertical --
For i = 0 To Grating_Fill.numOfVertical - 1
For i = 0 To Calculate_Fill_Grid.numOfVertical - 1
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(i * Grating_Fill.numOfHorizontal + counter)("partName")
gratingName = modelsDT.Rows(i * Calculate_Fill_Grid.numOfHorizontal + counter)("partName")
iDrawing.ClearSelection2(True)
plane1Name = "Point1@SW1@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
status = swExtensions.SelectByID2(plane1Name, "EXTSKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0)
@ -352,7 +352,7 @@ Public Class Multiple_Drawing
status = False
counter = 0
While status = False
gratingName = modelsDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1) + counter)("partName")
gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + counter)("partName")
plane2Name = "Point1@SW2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0)
status = swExtensions.SelectByID2(plane2Name, "EXTSKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0)
counter += 1

View File

@ -74,9 +74,10 @@
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Gratings Data\Calculate_Fill_Grid.vb" />
<Compile Include="Gratings Data\Database.vb" />
<Compile Include="Gratings Data\Data.vb" />
<Compile Include="Gratings Data\Grating_Fill.vb" />
<Compile Include="Gratings Data\Grating_Fill2.vb" />
<Compile Include="Gratings Data\User_Input.vb" />
<Compile Include="GUI\AppForm.Designer.vb">
<DependentUpon>AppForm.vb</DependentUpon>