diff --git a/HLCt/Parts/~$START.SLDPRT b/HLCt/Parts/~$START.SLDPRT deleted file mode 100644 index b07f2ee..0000000 Binary files a/HLCt/Parts/~$START.SLDPRT and /dev/null differ diff --git a/HLCt/frame_l_corner.SLDPRT b/HLCt/frame_l_corner.SLDPRT index 2fac45d..5d55b6e 100644 Binary files a/HLCt/frame_l_corner.SLDPRT and b/HLCt/frame_l_corner.SLDPRT differ diff --git a/HLCt/frame_l_straight.SLDPRT b/HLCt/frame_l_straight.SLDPRT index 77ae3f9..8904576 100644 Binary files a/HLCt/frame_l_straight.SLDPRT and b/HLCt/frame_l_straight.SLDPRT differ diff --git a/HLCt/pressure_welded.SLDPRT b/HLCt/pressure_welded.SLDPRT index eb7a3e6..06cb614 100644 Binary files a/HLCt/pressure_welded.SLDPRT and b/HLCt/pressure_welded.SLDPRT differ diff --git a/Specification_PDF/GUI.png b/Specification_PDF/GUI.png index 10607ae..b759ab5 100644 Binary files a/Specification_PDF/GUI.png and b/Specification_PDF/GUI.png differ diff --git a/Specification_PDF/Specification.pdf b/Specification_PDF/Specification.pdf index d883cc1..ac97897 100644 Binary files a/Specification_PDF/Specification.pdf and b/Specification_PDF/Specification.pdf differ diff --git a/Wardrobe/GUI/Individual.vb b/Wardrobe/GUI/Individual.vb index 71accf2..2a6ec0c 100644 --- a/Wardrobe/GUI/Individual.vb +++ b/Wardrobe/GUI/Individual.vb @@ -249,7 +249,7 @@ Public Class Individual Model_3D_Fill.BuildGrid() Else - Model_3D.BuildGrating() + 'Model_3D.BuildGrating() Drawing.Create_Model_For_Drawing() End If End Sub diff --git a/Wardrobe/SolidWorks/Individual_Frame_3D.vb b/Wardrobe/SolidWorks/Individual_Frame_3D.vb index 5f9c609..5fd6b07 100644 --- a/Wardrobe/SolidWorks/Individual_Frame_3D.vb +++ b/Wardrobe/SolidWorks/Individual_Frame_3D.vb @@ -22,17 +22,12 @@ Public Class Individual_Frame_3D ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, frameDT.Rows(i)("OFFSET_W")) ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, frameDT.Rows(i)("OFFSET_L")) - If frameDT.Rows(i)("TYPE") = "SIDE" Then ExternalClass.modify_parameter_value("DP_CUTOFFSET1", inst_, 0) ExternalClass.modify_parameter_value("DP_CUTOFFSET2", inst_, 2000 - frameDT.Rows(i)("LENGTH")) End If Next - - - - End Sub Private Shared Function Generate_Frame_Data(gratingParameters As DataRow) @@ -50,7 +45,7 @@ Public Class Individual_Frame_3D DTRow = DT.NewRow DTRow("TYPE") = "CORNER" DTRow("CORNER") = Data.gratingPoints.Rows(i)("QUADRANT") - DTRow("ROTATION") = 360 - Data.gratingPoints.Rows(i)("QUADRANT") * 90 + DTRow("ROTATION") = (Data.gratingPoints.Rows(i)("QUADRANT") - 1) * 90 If DTRow("CORNER") = 1 Then DTRow("OFFSET_W") = gratingParameters("WIDTH") @@ -64,21 +59,15 @@ Public Class Individual_Frame_3D Else DTRow("OFFSET_W") = 0 DTRow("OFFSET_L") = 0 - End If - - DT.Rows.Add(DTRow) End If - - Dim i2 As Integer If i = Data.gratingPoints.Rows.Count - 1 Then i2 = 0 Else i2 = i + 1 - End If Dim sideFrame As Boolean = False @@ -96,43 +85,60 @@ Public Class Individual_Frame_3D DTRow = DT.NewRow DTRow("TYPE") = "SIDE" - If Data.gratingPoints.Rows(i)("X") = Data.gratingPoints.Rows(i2)("X") Then + Dim numOfP As Integer = 0 + If Data.gratingPoints.Rows(i)("NAME").substring(0, 1) = "P" AndAlso Data.gratingPoints.Rows(i2)("NAME").substring(0, 1) = "P" Then + numOfP = 2 + ElseIf Data.gratingPoints.Rows(i)("NAME").substring(0, 1) = "P" Or Data.gratingPoints.Rows(i2)("NAME").substring(0, 1) = "P" Then + numOfP = 1 + End If + If Data.gratingPoints.Rows(i)("X") = Data.gratingPoints.Rows(i2)("X") Then If Data.gratingPoints.Rows(i)("Y") > Data.gratingPoints.Rows(i2)("Y") Then DTRow("SIDE") = 3 - DTRow("LENGTH") = (Data.gratingPoints.Rows(i)("Y") - Data.gratingPoints.Rows(i2)("Y")) * 1000 - 420 'Fixa 420 baserat på hörnens längd - DTRow("OFFSET_W") = 210 'FIXA + DTRow("LENGTH") = (Data.gratingPoints.Rows(i)("Y") - Data.gratingPoints.Rows(i2)("Y")) * 1000 - 20 - numOfP * 200 + If Data.gratingPoints.Rows(i2)("NAME").substring(0, 1) = "P" Then + DTRow("OFFSET_W") = 210 + Else + DTRow("OFFSET_W") = Data.gratingW / 2 - Math.Abs(Data.gratingPoints.Rows(i2)("Y")) * 1000 + 10 + End If DTRow("OFFSET_L") = gratingParameters("LENGTH") Else DTRow("SIDE") = 1 - DTRow("LENGTH") = (Data.gratingPoints.Rows(i2)("Y") - Data.gratingPoints.Rows(i)("Y")) * 1000 - 420 'Fixa 420 baserat på hörnens längd - DTRow("OFFSET_W") = 210 'FIXA + DTRow("LENGTH") = (Data.gratingPoints.Rows(i2)("Y") - Data.gratingPoints.Rows(i)("Y")) * 1000 - 20 - numOfP * 200 + If Data.gratingPoints.Rows(i)("NAME").substring(0, 1) = "P" Then + DTRow("OFFSET_W") = DTRow("LENGTH") + 210 + Else + DTRow("OFFSET_W") = DTRow("LENGTH") + Data.gratingW / 2 - Math.Abs(Data.gratingPoints.Rows(i)("Y")) * 1000 + 10 + End If DTRow("OFFSET_L") = 0 End If Else If Data.gratingPoints.Rows(i)("X") > Data.gratingPoints.Rows(i2)("X") Then DTRow("SIDE") = 4 - DTRow("LENGTH") = (Data.gratingPoints.Rows(i)("X") - Data.gratingPoints.Rows(i2)("X")) * 1000 - 420 'Fixa 420 baserat på hörnens längd + DTRow("LENGTH") = (Data.gratingPoints.Rows(i)("X") - Data.gratingPoints.Rows(i2)("X")) * 1000 - 20 - numOfP * 200 DTRow("OFFSET_W") = 0 - DTRow("OFFSET_L") = 210 'FIXA + If Data.gratingPoints.Rows(i2)("NAME").substring(0, 1) = "P" Then + DTRow("OFFSET_L") = 210 + Else + DTRow("OFFSET_L") = Data.gratingL / 2 - Math.Abs(Data.gratingPoints.Rows(i2)("X")) * 1000 + 10 + End If Else DTRow("SIDE") = 2 - DTRow("LENGTH") = (Data.gratingPoints.Rows(i2)("X") - Data.gratingPoints.Rows(i)("X")) * 1000 - 420 'Fixa 420 baserat på hörnens längd + DTRow("LENGTH") = (Data.gratingPoints.Rows(i2)("X") - Data.gratingPoints.Rows(i)("X")) * 1000 - 20 - numOfP * 200 DTRow("OFFSET_W") = gratingParameters("WIDTH") - DTRow("OFFSET_L") = 210 'FIXA + If Data.gratingPoints.Rows(i)("NAME").substring(0, 1) = "P" Then + DTRow("OFFSET_L") = DTRow("LENGTH") + 210 + Else + DTRow("OFFSET_L") = DTRow("LENGTH") + Data.gratingL / 2 - Math.Abs(Data.gratingPoints.Rows(i)("X")) * 1000 + 10 + End If End If End If DTRow("ROTATION") = 360 - DTRow("SIDE") * 90 DT.Rows.Add(DTRow) End If - Next - - - Return DT - End Function End Class diff --git a/Wardrobe/SolidWorks/Model_3D_Fill.vb b/Wardrobe/SolidWorks/Model_3D_Fill.vb index 2b0135c..8185be5 100644 --- a/Wardrobe/SolidWorks/Model_3D_Fill.vb +++ b/Wardrobe/SolidWorks/Model_3D_Fill.vb @@ -27,19 +27,16 @@ Public Class Model_3D_Fill 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")) Dim offsetX As Integer = 0 For j = 1 To Grating_Fill.gratingDimensions.Rows(i)("COLUMN") offsetX += Grating_Fill.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") - Next ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Grating_Fill.gratingDimensions.Rows(i)("LENGTH") / 2) + offsetX) @@ -85,7 +82,6 @@ Public Class Model_3D_Fill ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL) ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, gratingParameters("LOADBAR_THICKNESS")) ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0) - ElseIf recessDR("CORNER") = 2 Then ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW) ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS")) @@ -94,7 +90,6 @@ Public Class Model_3D_Fill ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0) ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, gratingParameters("LOADBAR_THICKNESS")) ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0) - ElseIf recessDR("CORNER") = 3 Then ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0) ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS")) @@ -198,7 +193,6 @@ Public Class Model_3D_Fill End Sub Private Shared Sub Recess_Indent() - 'Combine all bodies Dim swApp As SldWorks.SldWorks swApp = CType(System.Runtime.InteropServices.Marshal.GetActiveObject("SldWorks.Application"), SldWorks.SldWorks) @@ -254,7 +248,6 @@ Public Class Model_3D_Fill Dim recessParentName As String = partDT.Rows(Grating_Fill.numOfHorizontal * (Grating_Fill.numOfVertical - 1))("partName") Dim recessParts = partDT.Select("parentName = '" & recessParentName & "'") For i = 0 To recessParts.Count - 1 - Dim recessPartName As String = recessParts(i)("partName") Dim indexRecess As Integer @@ -306,21 +299,16 @@ Public Class Model_3D_Fill Assembly.ClearSelection2(True) sldata.Mark = 1 - Dim bodyName As String = gratingBodies(gratingBodyIndex).Name & "@" & gratingPartName & "-1@" & designName boolstatus = AssemblyExtension.SelectByID2(bodyName, "SOLIDBODY", 0, 0, 0, True, 1, Nothing, 0) sldata.Mark = 4 - recessFace.Select4(True, sldata) Assembly.FeatureManager.InsertIndent(0.01, 0, False, True, True, False) Assembly.ClearSelection2(True) - Assembly.EditAssembly - - Next Assembly.ClearSelection2(True) @@ -449,7 +437,7 @@ Public Class Model_3D_Fill Dim cornerAngleCounter As Integer = 1 Dim cornerRectangleCounter As Integer = 1 Dim numOfSideRectangles As Integer = 0 - Dim numOfMiddleRectangles As Integer = 1 + Dim numOfMiddleRectangles As Integer = 0 For j = 0 To Data.recessData.Rows.Count - 1 If Data.recessData.Rows(j)("RECESS TYPE") = "ANGLE" Then Dim RP As New List(Of Integer()) @@ -458,20 +446,6 @@ Public Class Model_3D_Fill rec1(0) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("X") * 1000 rec1(1) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("Y") * 1000 - 'If Data.recessData.Rows(j)("CORNER") = 1 Then - ' rec1(0) = -origo(0) - ' rec1(1) = origo(1) - 'ElseIf Data.recessData.Rows(j)("CORNER") = 2 Then - ' rec1(0) = origo(0) - ' rec1(1) = origo(1) - 'ElseIf Data.recessData.Rows(j)("CORNER") = 3 Then - ' rec1(0) = origo(0) - ' rec1(1) = -origo(1) - 'Else - ' rec1(0) = -origo(0) - ' rec1(1) = -origo(1) - 'End If - Dim rowIndex As Integer For k = 0 To Data.gratingPoints.Rows.Count - 1 If Data.gratingPoints.Rows(k)("NAME") = "CA" & cornerAngleCounter & "_" & 1 Then @@ -523,13 +497,6 @@ Public Class Model_3D_Fill End If Next numOfSideRectangles += 1 - ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "MIDDLE SQUARE" Then - For k = 0 To Data.gratingMiddlePoints.Rows.Count - 1 - If Data.gratingMiddlePoints.Rows(k)("NAME") = "MS" & numOfMiddleRectangles & "_" & 1 Then - rowIndex = k - End If - Next - numOfMiddleRectangles += 1 End If If Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" OrElse Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" Then @@ -552,17 +519,19 @@ Public Class Model_3D_Fill End If ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "MIDDLE SQUARE" Then - rec1(0) = Data.gratingMiddlePoints.Rows(rowIndex)("X") * 1000 'Använd inte rowindex här, ska vara 0,1,2,3 - rec1(1) = Data.gratingMiddlePoints.Rows(rowIndex)("Y") * 1000 + numOfMiddleRectangles += 1 - rec2(0) = Data.gratingMiddlePoints.Rows(rowIndex + 1)("X") * 1000 - rec2(1) = Data.gratingMiddlePoints.Rows(rowIndex + 1)("Y") * 1000 + rec1(0) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 4)("X") * 1000 + rec1(1) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 4)("Y") * 1000 - rec3(0) = Data.gratingMiddlePoints.Rows(rowIndex + 2)("X") * 1000 - rec3(1) = Data.gratingMiddlePoints.Rows(rowIndex + 2)("Y") * 1000 + rec2(0) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 3)("X") * 1000 + rec2(1) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 3)("Y") * 1000 - rec4(0) = Data.gratingMiddlePoints.Rows(rowIndex + 3)("X") * 1000 - rec4(1) = Data.gratingMiddlePoints.Rows(rowIndex + 3)("Y") * 1000 + rec3(0) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 2)("X") * 1000 + rec3(1) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 2)("Y") * 1000 + + rec4(0) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 1)("X") * 1000 + rec4(1) = Data.gratingMiddlePoints.Rows(numOfMiddleRectangles * 4 - 1)("Y") * 1000 End If RP.Add(rec1)