From 6ebfdf707b187173e23decdc554e62c5c876fc78 Mon Sep 17 00:00:00 2001 From: Mans Date: Wed, 28 Apr 2021 12:52:33 +0200 Subject: [PATCH] Support beams added i Gui --- HLCt/Parts/START.SLDPRT | Bin 48826 -> 50074 bytes HLCt/support_beam.SLDPRT | Bin 0 -> 49470 bytes Wardrobe/GUI/Draw_Grating.vb | 11 ++ Wardrobe/Gratings Data/Calculate_Fill_Grid.vb | 164 ++++++++++++++---- Wardrobe/SolidWorks/Frame_Drawing.vb | 34 ++-- .../SolidWorks/Individual_3D_Simplified.vb | 8 + Wardrobe/SolidWorks/Instructions.vb | 48 +++++ Wardrobe/SolidWorks/Multiple_3D.vb | 38 ++-- Wardrobe/SolidWorks/Multiple_3D_Simplified.vb | 46 +++-- Wardrobe/SolidWorks/Multiple_Drawing.vb | 22 +-- 10 files changed, 279 insertions(+), 92 deletions(-) create mode 100644 HLCt/support_beam.SLDPRT diff --git a/HLCt/Parts/START.SLDPRT b/HLCt/Parts/START.SLDPRT index d0abf65b9dfb7f82a9cd4bfb5e9652dc1b31aa9d..3b6a8ea10298a4d8496ba2cff505db8081074faa 100644 GIT binary patch delta 24119 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 delta 22994 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 diff --git a/HLCt/support_beam.SLDPRT b/HLCt/support_beam.SLDPRT new file mode 100644 index 0000000000000000000000000000000000000000..01d16ddaddc00771c87a58c35cad23c9c869f4a5 GIT binary patch literal 49470 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 1000 Then If Data.gratingW Mod 1000 > 0 AndAlso Data.gratingW Mod 1000 <= 200 Then @@ -129,4 +100,127 @@ Return gLength End Function + Private Shared Sub Fill_Dimension_DT() + gratingDimensionsDT.Clear() + gratingDimensionsDT.Columns.Clear() + gratingDimensionsDT.Columns.Add("INDEX", GetType(Integer)) + gratingDimensionsDT.Columns.Add("ROW", GetType(Integer)) + gratingDimensionsDT.Columns.Add("COLUMN", GetType(Integer)) + gratingDimensionsDT.Columns.Add("WIDTH", GetType(Integer)) + gratingDimensionsDT.Columns.Add("LENGTH", GetType(Integer)) + + gratingLength = Calculate_Grating_Length(maxGratingLength, 100) + + For i = 0 To numOfHorizontal * numOfVertical - 1 + Dim tempDR As DataRow = gratingDimensionsDT.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 + + gratingDimensionsDT.Rows.Add(tempDR) + Next + End Sub + + Private Shared Sub Calculate_Support_Beams() + ' Hämta belastning från gui + Dim maxLoad As Double = CDbl(Individual.Panel_Data.Controls("TextBox_Max_Load").Text) + ' Kolla mot load tables och hitta max längd + Dim loadDT As DataTable = Database.database.Tables("LOAD") + + Dim nameInDT As String = loadDT.Rows(0)("NAME") + Dim LBHeightInDT As Integer = loadDT.Rows(0)("LB-HEIGHT") + Dim LBThicknessInDT As Integer = loadDT.Rows(0)("LB-THICKNESS") + + Dim loadName As String = User_Input.gratingName.Substring(0, 1) + If User_Input.gratingName.Substring(User_Input.gratingName.Length - 1, 1) = "T" Then + loadName += "-T" + If loadName = "F-T" Then + loadName = "H-T" ' Fixa: Tillfällig då det inte finns load data för F-T + End If + ElseIf loadName = "A" Then + loadName += User_Input.gratingMesh.Split(" ")(0) + End If + + Dim maxUnsupportedLenght As Integer + For i = 0 To loadDT.Rows.Count - 1 + If loadName = nameInDT AndAlso User_Input.gratingHeight = LBHeightInDT _ + AndAlso User_Input.loadBarThickness = LBThicknessInDT Then + If loadDT.Rows(i)("300") < maxLoad Then + MessageBox.Show("Max supported load for chosen grating parameters is: " & loadDT.Rows(i)("300") & " [kN/m^2]") + Return + End If + For j = loadDT.Columns.Count - 1 To 0 Step -1 + If loadDT.Rows(i)(j) >= maxLoad Then + maxUnsupportedLenght = CInt(loadDT.Columns(j).ColumnName) + Exit For + End If + Next + Exit For + End If + Try + nameInDT = loadDT.Rows(i + 1)("NAME") + LBHeightInDT = loadDT.Rows(i + 1)("LB-HEIGHT") + LBThicknessInDT = loadDT.Rows(i + 1)("LB-THICKNESS") + Catch ex As Exception + End Try + Next + + ' Jämför med längd + If Math.Floor((gratingLength + 1) / maxUnsupportedLenght) < 1 Then '+1 för att floor inte kan hantera jämna tal + withSupportBeam = False + Return + End If + + withSupportBeam = True + ' Definera support beams + supportBeamsDT.Clear() + supportBeamsDT.Columns.Clear() + supportBeamsDT.Columns.Add("COLUMN", GetType(Integer)) + supportBeamsDT.Columns.Add("COLUMN_OFFSET", GetType(Integer)) + supportBeamsDT.Columns.Add("GLOBAL_OFFSET", GetType(Integer)) + supportBeamsDT.Columns.Add("LENGTH", GetType(Integer)) + supportBeamsDT.Columns.Add("OFFSET_TOP", GetType(Integer)) + supportBeamsDT.Columns.Add("OFFSET_BOTTOM", GetType(Integer)) + For i = 0 To numOfHorizontal - 1 + Dim gratingL As Integer = gratingDimensionsDT.Rows(i)("LENGTH") + Dim numOfBeamsNeeded As Integer = Math.Floor((gratingL + 1) / maxUnsupportedLenght) + If numOfBeamsNeeded > 0 Then + Dim beamSpacing As Integer = (Math.Floor(((gratingL + 1) / (numOfBeamsNeeded + 1)) / 10)) * 10 + + For j = 1 To numOfBeamsNeeded + Dim tempDR As DataRow = supportBeamsDT.NewRow + tempDR("COLUMN") = i + tempDR("COLUMN_OFFSET") = j * beamSpacing + tempDR("GLOBAL_OFFSET") = gratingLength * i + tempDR("COLUMN_OFFSET") + tempDR("LENGTH") = Data.gratingW + tempDR("OFFSET_TOP") = 0 + tempDR("OFFSET_BOTTOM") = 0 + + supportBeamsDT.Rows.Add(tempDR) + Next + + + + End If + + + + Next + End Sub End Class diff --git a/Wardrobe/SolidWorks/Frame_Drawing.vb b/Wardrobe/SolidWorks/Frame_Drawing.vb index 2cc4b13..94cd89a 100644 --- a/Wardrobe/SolidWorks/Frame_Drawing.vb +++ b/Wardrobe/SolidWorks/Frame_Drawing.vb @@ -7,19 +7,19 @@ Public Class Frame_Drawing Dim model As ModelDoc2 Dim assembly As IAssemblyDoc Dim longstatus As Integer - If AppForm.fillMode = True Then - If User_Input.add3DGrating = True Then - frameComponents = Multiple_3D.partDT.Select("partType = 'frame_l_straight'") - Else - frameComponents = Multiple_3D_Simplified.partDT.Select("partType = 'frame_l_straight'") - End If - Else - If User_Input.add3DGrating = True Then - frameComponents = Individual_3D.partDT.Select("partType = 'frame_l_straight'") - Else - frameComponents = Individual_3D_Simplified.partDT.Select("partType = 'frame_l_straight'") - End If - End If + 'If AppForm.fillMode = True Then + ' If User_Input.add3DGrating = True Then + ' frameComponents = Multiple_3D.partDT.Select("partType = 'frame_l_straight'") + ' Else + ' frameComponents = Multiple_3D_Simplified.partDT.Select("partType = 'frame_l_straight'") + ' End If + 'Else + ' If User_Input.add3DGrating = True Then + ' frameComponents = Individual_3D.partDT.Select("partType = 'frame_l_straight'") + ' Else + ' frameComponents = Individual_3D_Simplified.partDT.Select("partType = 'frame_l_straight'") + ' End If + 'End If @@ -44,8 +44,8 @@ Public Class Frame_Drawing Dim coordNames(numOfParts) As String Dim transMatrix As Object = Nothing For j = 0 To compNames.Count - 2 + endPieceExist - Dim frameID = Frame_3D.cuttingList.ElementAt(i).Value(j) - 1 - compNames(j) = Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw") & "\" & frameComponents(frameID)("partName") & ".SLDPRT" + Dim frameID = Frame_3D.cuttingList.ElementAt(i).Value(j) + compNames(j) = Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw") & "\" & "FRAME_L_STRAIGHT_" & frameID & ".SLDPRT" coordNames(j) = "" Next @@ -130,9 +130,9 @@ Public Class Frame_Drawing For j = 0 To components.Length - 1 Dim frameComponentName As String If j = Frame_3D.cuttingList.ElementAt(i).Value.Count Then - frameComponentName = "frame_l_end_piece" & i + 1 + frameComponentName = "FRAME_L_END_PIECE" & i + 1 Else - frameComponentName = frameComponents(Frame_3D.cuttingList.ElementAt(i).Value(j) - 1)("partName") + frameComponentName = "FRAME_L_STRAIGHT_" & Frame_3D.cuttingList.ElementAt(i).Value(j) 'frameComponents(Frame_3D.cuttingList.ElementAt(i).Value(j) - 1)("partName") End If Dim plane1Name As String = "OffPlane1@" & CompName & "@" & myView.GetName2 & "/" & frameComponentName & "-1@" & CompName.Split("-")(0) diff --git a/Wardrobe/SolidWorks/Individual_3D_Simplified.vb b/Wardrobe/SolidWorks/Individual_3D_Simplified.vb index af2bef5..d165bad 100644 --- a/Wardrobe/SolidWorks/Individual_3D_Simplified.vb +++ b/Wardrobe/SolidWorks/Individual_3D_Simplified.vb @@ -97,8 +97,16 @@ Public Class Individual_3D_Simplified 'status = swExtensions.SaveAs2(newName, 0, 4, Nothing, "", True, Errors, Warnings) + Assembly.EditAssembly Dim Errors As Integer Dim Warnings As Integer + + Dim components = Assembly.GetComponents(True) + For i = 0 To UBound(components) + Dim partDoc = components(i).GetModelDoc2() + status = partDoc.Save3(4, Errors, Warnings) + Next + Dim model As IModelDoc2 model = Assembly status = model.Save3(4, Errors, Warnings) diff --git a/Wardrobe/SolidWorks/Instructions.vb b/Wardrobe/SolidWorks/Instructions.vb index 3bf6d2e..bd12e98 100644 --- a/Wardrobe/SolidWorks/Instructions.vb +++ b/Wardrobe/SolidWorks/Instructions.vb @@ -272,11 +272,59 @@ Public Class Instructions Dim note = iDrawing.CreateText2("Load Bearing Direction", (swSheetWidth - 0.072), (swSheetHeight / 2 + 0.012), 0, 0.003, 0) + If Calculate_Fill_Grid.withSupportBeam = True Then + status = iDrawing.NewSheet3("Support Beams", 12, 12, 1, 10, False, Settings.HLCtFolder & "\Files Needed\A3 Part.slddrt", + swSheetWidth, swSheetHeight, "Same as sheet specified in Document Properties") + status = layMgr.SetCurrentLayer("Svenska") + + drawName = Settings.folderPaths("object_" & Data.objectNum & "_models3D_gratings_sw_support") & "\GRATINGS_ASSEMBLY_SIMPLIFIED.SLDASM" + + myView = iDrawing.CreateDrawViewFromModelView3(drawName, "*Front", swSheetWidth / 2, swSheetHeight / 2, 0) + myView.UseSheetScale() = True + myView.SetDisplayTangentEdges2(2) + + status = myView.SetDisplayMode3(False, 1, False, False) + + + status = False + Dim counter = 0 + While status = False + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & counter * Calculate_Fill_Grid.numOfHorizontal + 1 '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) + counter += 1 + End While + + status = False + counter = 0 + While status = False + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & Calculate_Fill_Grid.numOfHorizontal + counter * Calculate_Fill_Grid.numOfHorizontal '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 + End While + + measurement = iDrawing.AddHorizontalDimension2(0, mesOffsets(0), 0) + iDrawing.ClearSelection2(True) + + Set_MeasurementProperties(measurement) + measurement.ShowParenthesis = True + + + + End If + + Dim newName As String newName = Settings.folderPaths("object_" & Data.objectNum & "_guide") & "\assembly_instructions.SLDDRW" status = iDrawing.SaveAs3(newName, 0, 0) status = iDrawing.SaveAs3(newName, 0, 2) + + + + End Sub End Class diff --git a/Wardrobe/SolidWorks/Multiple_3D.vb b/Wardrobe/SolidWorks/Multiple_3D.vb index b90fe69..61a7b21 100644 --- a/Wardrobe/SolidWorks/Multiple_3D.vb +++ b/Wardrobe/SolidWorks/Multiple_3D.vb @@ -22,7 +22,7 @@ Public Class Multiple_3D Dim parentID As Integer = 0 gratingParameters = exportTable.Rows(0) - For i = 0 To Calculate_Fill_Grid.gratingDimensions.Rows.Count - 1 + For i = 0 To Calculate_Fill_Grid.gratingDimensionsDT.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,20 +36,20 @@ 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_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH")) - ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH")) + ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("WIDTH")) + ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("LENGTH")) Dim offsetX As Integer = 0 - For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("COLUMN") - offsetX += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") + For j = 1 To Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("COLUMN") + offsetX += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") Next Dim offsetY As Integer = 0 - For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("ROW") - offsetY += Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") + For j = 1 To Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("ROW") + offsetY += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") Next - 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) + ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("LENGTH") / 2) + offsetX) + ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("WIDTH") / 2) + offsetY) Next parentID = Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + 1 @@ -88,9 +88,17 @@ Public Class Multiple_3D 'Dim Warnings As Integer 'status = swExtensions.SaveAs2(Settings.folderPaths("object_" & Data.objectNum & "_models3D_gratings_sw") & "\gratings_assembly.SLDASM", ' 0, 4, Nothing, "", True, Errors, Warnings) 'FIXA - + Assembly.EditAssembly Dim Errors As Integer Dim Warnings As Integer + + Dim components = Assembly.GetComponents(True) + For i = 0 To UBound(components) + Dim partDoc = components(i).GetModelDoc2() + status = partDoc.Save3(4, Errors, Warnings) + Next + + Dim model As IModelDoc2 model = Assembly status = model.Save3(4, Errors, Warnings) @@ -517,7 +525,7 @@ Public Class Multiple_3D Dim listOfObsolete As New List(Of Integer) For i = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1 - Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensions.Rows(i) + Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensionsDT.Rows(i) Dim origo(2) As Integer origo(0) = Data.gratingL / 2 origo(1) = Data.gratingW / 2 @@ -527,14 +535,14 @@ Public Class Multiple_3D p1(0) = -origo(0) p2(0) = -origo(0) + gratingDR("LENGTH") For j = 1 To gratingDR("COLUMN") - p1(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") - p2(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") + p1(0) += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") + p2(0) += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") Next p1(1) = origo(1) p3(1) = origo(1) - gratingDR("WIDTH") For j = 1 To gratingDR("ROW") - 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") + p1(1) -= Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") + p3(1) -= Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") Next p2(1) = p1(1) diff --git a/Wardrobe/SolidWorks/Multiple_3D_Simplified.vb b/Wardrobe/SolidWorks/Multiple_3D_Simplified.vb index bfa1e5a..7ee1f9c 100644 --- a/Wardrobe/SolidWorks/Multiple_3D_Simplified.vb +++ b/Wardrobe/SolidWorks/Multiple_3D_Simplified.vb @@ -17,23 +17,23 @@ Public Class Multiple_3D_Simplified Dim parentID As Integer = 0 gratingParameters = exportTable.Rows(0) - For i = 0 To Calculate_Fill_Grid.gratingDimensions.Rows.Count - 1 + For i = 0 To Calculate_Fill_Grid.gratingDimensionsDT.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_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("WIDTH")) - ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensions.Rows(i)("LENGTH")) + ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("WIDTH")) + ExternalClass.modify_parameter_value("DP_GRATING_LENGTH", inst_, Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("LENGTH")) Dim offsetX As Integer = 0 - For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("COLUMN") - offsetX += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") + For j = 1 To Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("COLUMN") + offsetX += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") Next Dim offsetY As Integer = 0 - For j = 1 To Calculate_Fill_Grid.gratingDimensions.Rows(i)("ROW") - offsetY += Calculate_Fill_Grid.gratingDimensions.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") + For j = 1 To Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("ROW") + offsetY += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") Next - 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) + ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, (Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("LENGTH") / 2) + offsetX) + ExternalClass.modify_parameter_value("DP_OFFSET_Y", inst_, (Calculate_Fill_Grid.gratingDimensionsDT.Rows(i)("WIDTH") / 2) + offsetY) Next parentID = Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + 1 @@ -45,6 +45,17 @@ Public Class Multiple_3D_Simplified Frame_3D.Build_Frame(gratingParameters, parentID) End If + If Calculate_Fill_Grid.withSupportBeam = True Then + For i = 0 To Calculate_Fill_Grid.supportBeamsDT.Rows.Count - 1 + inst_ = ExternalClass.instantiate_parts(parentID, "support_beam", "") + ExternalClass.modify_parameter_value("DP_HEIGHT_OFFSET", inst_, gratingParameters("LOADBAR_HEIGHT")) + ExternalClass.modify_parameter_value("DP_LENGTH", inst_, Calculate_Fill_Grid.supportBeamsDT.Rows(i)("LENGTH")) + ExternalClass.modify_parameter_value("DP_OFFSET_X", inst_, Calculate_Fill_Grid.supportBeamsDT.Rows(i)("GLOBAL_OFFSET")) + ExternalClass.modify_parameter_value("DP_OFFSET_TOP", inst_, Calculate_Fill_Grid.supportBeamsDT.Rows(i)("OFFSET_TOP")) + ExternalClass.modify_parameter_value("DP_OFFSET_BOTTOM", inst_, Calculate_Fill_Grid.supportBeamsDT.Rows(i)("OFFSET_BOTTOM")) + Next + End If + importClass.copyGroupsByDataSet(ExternalClass.groupds_new) Dim grNr = groupClass.NewGroupID Dim designTable = designModel.selectDesign("*") @@ -159,8 +170,15 @@ Public Class Multiple_3D_Simplified 'status = swExtensions.SaveAs2(newName, 0, 4, Nothing, "", True, Errors, Warnings) + assembly.EditAssembly Dim Errors As Integer Dim Warnings As Integer + + Dim components = assembly.GetComponents(True) + For i = 0 To UBound(components) + Dim partDoc = components(i).GetModelDoc2() + status = partDoc.Save3(4, Errors, Warnings) + Next Dim model As IModelDoc2 model = assembly status = model.Save3(4, Errors, Warnings) @@ -480,7 +498,7 @@ Public Class Multiple_3D_Simplified Dim listOfObsolete As New List(Of Integer) For i = 0 To Calculate_Fill_Grid.numOfVertical * Calculate_Fill_Grid.numOfHorizontal - 1 - Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensions.Rows(i) + Dim gratingDR As DataRow = Calculate_Fill_Grid.gratingDimensionsDT.Rows(i) Dim origo(2) As Integer origo(0) = Data.gratingL / 2 origo(1) = Data.gratingW / 2 @@ -490,14 +508,14 @@ Public Class Multiple_3D_Simplified p1(0) = -origo(0) p2(0) = -origo(0) + gratingDR("LENGTH") For j = 1 To gratingDR("COLUMN") - p1(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") - p2(0) += Calculate_Fill_Grid.gratingDimensions.Rows(i - j)("LENGTH") + p1(0) += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") + p2(0) += Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - j)("LENGTH") Next p1(1) = origo(1) p3(1) = origo(1) - gratingDR("WIDTH") For j = 1 To gratingDR("ROW") - 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") + p1(1) -= Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") + p3(1) -= Calculate_Fill_Grid.gratingDimensionsDT.Rows(i - Calculate_Fill_Grid.numOfHorizontal * j)("WIDTH") Next p2(1) = p1(1) diff --git a/Wardrobe/SolidWorks/Multiple_Drawing.vb b/Wardrobe/SolidWorks/Multiple_Drawing.vb index 3b41668..4247bb0 100644 --- a/Wardrobe/SolidWorks/Multiple_Drawing.vb +++ b/Wardrobe/SolidWorks/Multiple_Drawing.vb @@ -273,13 +273,13 @@ Public Class Multiple_Drawing Next ' -- Loop Horizontal -- - For i = 0 To Calculate_Fill_Grid.numOfHorizontal - 1 + For i = 1 To Calculate_Fill_Grid.numOfHorizontal status = False counter = 0 While status = False - gratingName = modelsDT.Rows(i + counter * Calculate_Fill_Grid.numOfHorizontal)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & i + counter * Calculate_Fill_Grid.numOfHorizontal 'modelsDT.Rows(i + counter * Calculate_Fill_Grid.numOfHorizontal)("partName") iDrawing.ClearSelection2(True) - plane1Name = "Point1@SL1@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0) + plane1Name = "Point1@SL1@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0) 'Fixa gratingname status = swExtensions.SelectByID2(plane1Name, "EXTSKETCHSEGMENT", 0, 0, 0, False, 0, Nothing, 0) plane2Name = "Point1@SL2@" & CompName & "@" & myView.GetName2 & "/" & gratingName & "-1@" & CompName.Split("-")(0) status = swExtensions.SelectByID2(plane2Name, "EXTSKETCHSEGMENT", 0, 0, 0, True, 0, Nothing, 0) @@ -296,7 +296,7 @@ Public Class Multiple_Drawing status = False counter = 0 While status = False - gratingName = modelsDT.Rows(counter * Calculate_Fill_Grid.numOfHorizontal)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & counter * Calculate_Fill_Grid.numOfHorizontal + 1 '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(Calculate_Fill_Grid.numOfHorizontal - 1 + counter * Calculate_Fill_Grid.numOfHorizontal)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & Calculate_Fill_Grid.numOfHorizontal + counter * Calculate_Fill_Grid.numOfHorizontal '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 @@ -321,9 +321,9 @@ Public Class Multiple_Drawing ' -- Loop Vertical -- For i = 0 To Calculate_Fill_Grid.numOfVertical - 1 status = False - counter = 0 + counter = 1 While status = False - gratingName = modelsDT.Rows(i * Calculate_Fill_Grid.numOfHorizontal + counter)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & i * Calculate_Fill_Grid.numOfHorizontal + counter '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) @@ -340,9 +340,9 @@ Public Class Multiple_Drawing mesOffsets(3) -= 0.01 status = False - counter = 0 + counter = 1 While status = False - gratingName = modelsDT.Rows(counter)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & counter 'modelsDT.Rows(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) @@ -350,9 +350,9 @@ Public Class Multiple_Drawing End While status = False - counter = 0 + counter = 1 While status = False - gratingName = modelsDT.Rows(Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + counter)("partName") + gratingName = "SIMPLIFIED_FLOOR_GRATING_" & Calculate_Fill_Grid.numOfHorizontal * (Calculate_Fill_Grid.numOfVertical - 1) + counter '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