diff --git a/HLCt/Parts/START.SLDPRT b/HLCt/Parts/START.SLDPRT index 873fa16..0459c91 100644 Binary files a/HLCt/Parts/START.SLDPRT and b/HLCt/Parts/START.SLDPRT differ diff --git a/HLCt/Parts/~$START.SLDPRT b/HLCt/Parts/~$START.SLDPRT new file mode 100644 index 0000000..b07f2ee Binary files /dev/null and b/HLCt/Parts/~$START.SLDPRT differ diff --git a/HLCt/pressure_welded_serrated.SLDPRT b/HLCt/pressure_welded_serrated.SLDPRT new file mode 100644 index 0000000..53ec333 Binary files /dev/null and b/HLCt/pressure_welded_serrated.SLDPRT differ diff --git a/HLCt/type_a_serrated.SLDPRT b/HLCt/type_a_serrated.SLDPRT new file mode 100644 index 0000000..6e771d8 Binary files /dev/null and b/HLCt/type_a_serrated.SLDPRT differ diff --git a/Wardrobe/Gratings Data/User_Input.vb b/Wardrobe/Gratings Data/User_Input.vb index be33920..c068c8c 100644 --- a/Wardrobe/Gratings Data/User_Input.vb +++ b/Wardrobe/Gratings Data/User_Input.vb @@ -476,12 +476,20 @@ gratingTable.Rows(0)("CROSSBAR_SPACING") = CInt(cSpacing) If Individual.ComboBox_Type.Text = "Pressure Welded" Then - gratingTable.Rows(0)("TYPE") = "pressure_welded" + If gratingSerrated = True Then + gratingTable.Rows(0)("TYPE") = "pressure_welded_serrated" + Else + gratingTable.Rows(0)("TYPE") = "pressure_welded" + End If gratingTable.Rows(0)("CROSSBAR_DIAMETER") = CBDiameter gratingTable.Rows(0)("CROSSBAR_THICKNESS") = 0 gratingTable.Rows(0)("CROSSBAR_HEIGHT") = 0 Else - gratingTable.Rows(0)("TYPE") = "type_a" + If gratingSerrated = True Then + gratingTable.Rows(0)("TYPE") = "type_a_serrated" + Else + gratingTable.Rows(0)("TYPE") = "type_a" + End If gratingTable.Rows(0)("CROSSBAR_DIAMETER") = 0 gratingTable.Rows(0)("CROSSBAR_THICKNESS") = 2 'CBThickness FIXA gratingTable.Rows(0)("CROSSBAR_HEIGHT") = 20 'CBHeight FIXA diff --git a/Wardrobe/SolidWorks/Individual_Frame_3D.vb b/Wardrobe/SolidWorks/Individual_Frame_3D.vb index e29c273..5ca3e01 100644 --- a/Wardrobe/SolidWorks/Individual_Frame_3D.vb +++ b/Wardrobe/SolidWorks/Individual_Frame_3D.vb @@ -2,15 +2,13 @@ Imports SldWorks Public Class Individual_Frame_3D Private Shared designName As String - + Public Shared frameDT As New DataTable Public Shared cuttingList As New Dictionary(Of Integer, Integer()) Public Shared sideFrameLengths As New Dictionary(Of String, Integer) Public Shared Sub Build_Frame(gratingParameters As DataRow, parentID As Integer) - Dim frameDT As New DataTable frameDT = Generate_FrameData(gratingParameters) - For i = 0 To frameDT.Rows.Count - 1 If frameDT.Rows(i)("TYPE") = "SIDE" Then sideFrameLengths.Add("Frame " & sideFrameLengths.Count + 1, frameDT.Rows(i)("LENGTH")) diff --git a/Wardrobe/SolidWorks/Model_3D.vb b/Wardrobe/SolidWorks/Model_3D.vb index 0f468be..7968910 100644 --- a/Wardrobe/SolidWorks/Model_3D.vb +++ b/Wardrobe/SolidWorks/Model_3D.vb @@ -2,6 +2,7 @@ Imports SldWorks Public Class Model_3D + Private Shared gratingParameters As DataRow Private Shared designName As String Public Shared partDT As New DataTable Public Shared Sub BuildGrating() @@ -13,7 +14,7 @@ Public Class Model_3D Dim inst_ As Integer Dim parentID As Integer = 0 - Dim gratingParameters As DataRow = exportTable.Rows(0) + gratingParameters = exportTable.Rows(0) inst_ = ExternalClass.instantiate_parts(parentID, gratingParameters("TYPE"), "") ExternalClass.modify_parameter_value("DP_GRATING_WIDTH", inst_, gratingParameters("WIDTH")) @@ -23,7 +24,7 @@ Public Class Model_3D ExternalClass.modify_parameter_value("DP_LOADBAR_SPACING", inst_, gratingParameters("LOADBAR_SPACING")) ExternalClass.modify_parameter_value("DP_CROSSBAR_SPACING", inst_, gratingParameters("CROSSBAR_SPACING")) - If gratingParameters("TYPE") = "pressure_welded" Then + If gratingParameters("TYPE") = "pressure_welded" Or gratingParameters("TYPE") = "pressure_welded_serrated" Then ExternalClass.modify_parameter_value("DP_CROSSBAR_DIAMETER", inst_, gratingParameters("CROSSBAR_DIAMETER")) Else ExternalClass.modify_parameter_value("DP_CROSSBAR_THICKNESS", inst_, gratingParameters("CROSSBAR_THICKNESS")) @@ -49,9 +50,16 @@ Public Class Model_3D Recess_Indent() Save_Assembly() - Individual_Frame_3D.Generate_End_Frame_Pieces() - Individual_Frame_Drawing.Create_Assemblies() - Individual_Frame_Drawing.Generate_Drawings() + For Each DR As DataRow In Individual_Frame_3D.frameDT.Rows + If DR("TYPE") = "SIDE" Then + Individual_Frame_3D.Generate_End_Frame_Pieces() + Individual_Frame_Drawing.Create_Assemblies() + Individual_Frame_Drawing.Generate_Drawings() + Exit For + End If + Next + + End Sub Private Shared Sub Save_Assembly() @@ -342,6 +350,21 @@ Public Class Model_3D End If Next + + If gratingParameters("TYPE") = "pressure_welded_serrated" Then + For i = 1 To 5 + boolstatus = AssemblyExtension.SelectByID2("Serrated-Cut" & i & "@" & gratingPartName & "-1@" & designName, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0) + modelDoc.EditUnsuppress2() + Next + + ElseIf gratingParameters("TYPE") = "type_a_serrated" Then + For i = 1 To 2 + boolstatus = AssemblyExtension.SelectByID2("Serrated-Cut" & i & "@" & gratingPartName & "-1@" & designName, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0) + modelDoc.EditUnsuppress2() + Next + End If + + Assembly.EditAssembly components = Assembly.GetComponents(True) diff --git a/Wardrobe/SolidWorks/Model_3D_Fill.vb b/Wardrobe/SolidWorks/Model_3D_Fill.vb index 8c08eb8..2aff091 100644 --- a/Wardrobe/SolidWorks/Model_3D_Fill.vb +++ b/Wardrobe/SolidWorks/Model_3D_Fill.vb @@ -2,6 +2,7 @@ Imports SldWorks Public Class Model_3D_Fill + Private Shared gratingParameters As DataRow Private Shared designName As String Public Shared Sub BuildGrid() Dim exportTable As DataTable @@ -12,7 +13,7 @@ Public Class Model_3D_Fill Dim inst_ As Integer Dim parentID As Integer = 0 - Dim gratingParameters As DataRow = exportTable.Rows(0) + gratingParameters = exportTable.Rows(0) For i = 0 To Grating_Fill.gratingDimensions.Rows.Count - 1 inst_ = ExternalClass.instantiate_parts(parentID, gratingParameters("TYPE"), "") ' Ange pressure_welded eller type A, Serrated? @@ -21,7 +22,7 @@ Public Class Model_3D_Fill ExternalClass.modify_parameter_value("DP_LOADBAR_SPACING", inst_, gratingParameters("LOADBAR_SPACING")) ExternalClass.modify_parameter_value("DP_CROSSBAR_SPACING", inst_, gratingParameters("CROSSBAR_SPACING")) - If gratingParameters("TYPE") = "pressure_welded" Then + If gratingParameters("TYPE") = "pressure_welded" Or gratingParameters("TYPE") = "pressure_welded_serrated" Then ExternalClass.modify_parameter_value("DP_CROSSBAR_DIAMETER", inst_, gratingParameters("CROSSBAR_DIAMETER")) Else ExternalClass.modify_parameter_value("DP_CROSSBAR_THICKNESS", inst_, gratingParameters("CROSSBAR_THICKNESS")) @@ -393,6 +394,35 @@ Public Class Model_3D_Fill Assembly.EditAssembly boolstatus = modelDoc.EditRebuild3() Next + + If gratingParameters("TYPE") = "pressure_welded_serrated" Or gratingParameters("TYPE") = "type_a_serrated" Then + Dim numOfFeat As Integer = 0 + If gratingParameters("TYPE") = "pressure_welded_serrated" Then + numOfFeat = 5 + ElseIf gratingParameters("TYPE") = "type_a_serrated" Then + numOfFeat = 2 + End If + For i = 0 To Grating_Fill.numOfVertical * Grating_Fill.numOfHorizontal - 1 + Dim gratingPartName As String = partDT.Rows(i)("partName") + Dim indexGrating As Integer + For j = 0 To components.Length - 1 + If components(j).Name2 = gratingPartName & "-1" Then + indexGrating = j + Exit For + End If + Next + Dim gratingComponent As SldWorks.Component2 = components(indexGrating) + boolstatus = AssemblyExtension.SelectByID2(gratingPartName & "-1@" & designName, "COMPONENT", 0, 0, 0, False, 0, Nothing, 0) + Assembly.EditPart + + For j = 1 To numOfFeat + boolstatus = AssemblyExtension.SelectByID2("Serrated-Cut" & j & "@" & gratingPartName & "-1@" & designName, "BODYFEATURE", 0, 0, 0, False, 0, Nothing, 0) + modelDoc.EditUnsuppress2() + Next + Assembly.EditAssembly + Next + End If + End Sub