Frames > 2m
This commit is contained in:
parent
df4726889a
commit
ee20b6ebb7
Binary file not shown.
|
|
@ -231,8 +231,62 @@ Public Class Individual_Frame_3D
|
||||||
End If
|
End If
|
||||||
DTRow("ROTATION") = 360 - DTRow("SIDE") * 90
|
DTRow("ROTATION") = 360 - DTRow("SIDE") * 90
|
||||||
|
|
||||||
If DTRow("LENGTH") >= 125 Then
|
If DTRow("LENGTH") >= 125 AndAlso DTRow("LENGTH") <= 2000 Then
|
||||||
DT.Rows.Add(DTRow)
|
DT.Rows.Add(DTRow)
|
||||||
|
ElseIf DTRow("LENGTH") > 2000 Then
|
||||||
|
Dim numOfRows As Integer = Math.Floor(CDec(DTRow("LENGTH")) / 2000) + 1
|
||||||
|
Dim DTRowList As New List(Of DataRow)
|
||||||
|
For j = 1 To numOfRows
|
||||||
|
Dim DTRow1 As DataRow = DT.NewRow
|
||||||
|
DTRowList.Add(DTRow1)
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim offsetDir As String = ""
|
||||||
|
Dim addOffset As Boolean
|
||||||
|
For Each DC As DataColumn In DT.Columns
|
||||||
|
If DC.ColumnName = "LENGTH" Then
|
||||||
|
For j = 0 To DTRowList.Count - 1
|
||||||
|
If j = DTRowList.Count - 1 Then
|
||||||
|
DTRowList(j)(DC.ColumnName) = DTRow("LENGTH") - (j * 2000)
|
||||||
|
Else
|
||||||
|
DTRowList(j)(DC.ColumnName) = 2000
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
ElseIf DC.ColumnName = "SIDE" Then
|
||||||
|
For j = 0 To DTRowList.Count - 1
|
||||||
|
DTRowList(j)(DC.ColumnName) = DTRow("SIDE")
|
||||||
|
Next
|
||||||
|
If DTRow("SIDE") = 1 Then
|
||||||
|
offsetDir = "OFFSET_W"
|
||||||
|
addOffset = False
|
||||||
|
ElseIf DTRow("SIDE") = 2 Then
|
||||||
|
offsetDir = "OFFSET_L"
|
||||||
|
addOffset = False
|
||||||
|
ElseIf DTRow("SIDE") = 3 Then
|
||||||
|
offsetDir = "OFFSET_W"
|
||||||
|
addOffset = True
|
||||||
|
Else
|
||||||
|
offsetDir = "OFFSET_L"
|
||||||
|
addOffset = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
ElseIf DC.ColumnName = offsetDir Then
|
||||||
|
For j = 0 To DTRowList.Count - 1
|
||||||
|
If addOffset = True Then
|
||||||
|
DTRowList(j)(DC.ColumnName) = DTRow(offsetDir) + j * 2000
|
||||||
|
Else
|
||||||
|
DTRowList(j)(DC.ColumnName) = DTRow(offsetDir) - j * 2000
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
For j = 0 To DTRowList.Count - 1
|
||||||
|
DTRowList(j)(DC.ColumnName) = DTRow(DC.ColumnName)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
For j = 0 To DTRowList.Count - 1
|
||||||
|
DT.Rows.Add(DTRowList(j))
|
||||||
|
Next
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
@ -328,6 +382,7 @@ Public Class Individual_Frame_3D
|
||||||
For k = numOfValues To 1 Step -1
|
For k = numOfValues To 1 Step -1
|
||||||
If frameCombDT.Rows(j - 1)("Enum " & k) < frameLengths.Count - (numOfValues - k) Then
|
If frameCombDT.Rows(j - 1)("Enum " & k) < frameLengths.Count - (numOfValues - k) Then
|
||||||
frameEnum = k
|
frameEnum = k
|
||||||
|
Exit For
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
|
|
||||||
|
|
@ -407,49 +462,57 @@ Public Class Individual_Frame_3D
|
||||||
Dim longstatus As Integer, longwarnings As Integer
|
Dim longstatus As Integer, longwarnings As Integer
|
||||||
|
|
||||||
For j = 0 To cuttingList.Count - 1
|
For j = 0 To cuttingList.Count - 1
|
||||||
Dim Part = swApp.OpenDoc6(Settings.HLCtFolder & "\HLCt\frame_l_straight.SLDPRT", 1, 0, "", longstatus, longwarnings)
|
Dim endPieceLength As Integer = 2000
|
||||||
|
For k = 0 To cuttingList.ElementAt(j).Value.Count - 1
|
||||||
longstatus = Part.SaveAs3(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & j + 1 & ".SLDPRT", 0, 0)
|
endPieceLength -= sideFrameLengths("Frame " & cuttingList.ElementAt(j).Value(k))
|
||||||
|
|
||||||
Dim swEquationMgr As EquationMgr
|
|
||||||
swEquationMgr = Part.GetEquationMgr()
|
|
||||||
|
|
||||||
Dim counter As String = 0
|
|
||||||
|
|
||||||
For i = 0 To swEquationMgr.GetCount() - 1
|
|
||||||
Dim equationName = swEquationMgr.Equation(i)
|
|
||||||
|
|
||||||
Dim tempName = equationName.Substring(1, equationName.Length - 2)
|
|
||||||
tempName = tempName.Split("""")(0)
|
|
||||||
|
|
||||||
equationName = equationName.Split("=")(0) & "= "
|
|
||||||
If tempName = "DP_HEIGHT" Then
|
|
||||||
swEquationMgr.Equation(i) = equationName & 30 'FIXA
|
|
||||||
counter += 1
|
|
||||||
ElseIf tempName = "DP_WIDTH" Then
|
|
||||||
swEquationMgr.Equation(i) = equationName & 40 'FIXA
|
|
||||||
counter += 1
|
|
||||||
ElseIf tempName = "DP_CUTOFFSET1" Then
|
|
||||||
Dim cutLength As Integer = 0
|
|
||||||
For k = 0 To cuttingList.ElementAt(j).Value.Count - 1
|
|
||||||
cutLength += sideFrameLengths("Frame " & cuttingList.ElementAt(j).Value(k))
|
|
||||||
Next
|
|
||||||
swEquationMgr.Equation(i) = equationName & cutLength
|
|
||||||
counter += 1
|
|
||||||
ElseIf tempName.Split("_")(0) = "DP" Then
|
|
||||||
swEquationMgr.Equation(i) = equationName & 0
|
|
||||||
counter += 1
|
|
||||||
End If
|
|
||||||
If counter = 7 Then
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next
|
Next
|
||||||
boolstatus = Part.EditRebuild3()
|
|
||||||
Dim swErrors As Integer
|
|
||||||
Dim swWarnings As Integer
|
|
||||||
boolstatus = Part.Save3(1, swErrors, swWarnings)
|
|
||||||
|
|
||||||
swApp.CloseDoc(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & j + 1 & ".SLDPRT")
|
|
||||||
|
If endPieceLength > 0 Then
|
||||||
|
Dim Part = swApp.OpenDoc6(Settings.HLCtFolder & "\HLCt\frame_l_straight.SLDPRT", 1, 0, "", longstatus, longwarnings)
|
||||||
|
|
||||||
|
longstatus = Part.SaveAs3(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & j + 1 & ".SLDPRT", 0, 0)
|
||||||
|
|
||||||
|
Dim swEquationMgr As EquationMgr
|
||||||
|
swEquationMgr = Part.GetEquationMgr()
|
||||||
|
|
||||||
|
Dim counter As Integer = 0
|
||||||
|
|
||||||
|
For i = 0 To swEquationMgr.GetCount() - 1
|
||||||
|
Dim equationName = swEquationMgr.Equation(i)
|
||||||
|
|
||||||
|
Dim tempName = equationName.Substring(1, equationName.Length - 2)
|
||||||
|
tempName = tempName.Split("""")(0)
|
||||||
|
|
||||||
|
equationName = equationName.Split("=")(0) & "= "
|
||||||
|
If tempName = "DP_HEIGHT" Then
|
||||||
|
swEquationMgr.Equation(i) = equationName & 30 'FIXA
|
||||||
|
counter += 1
|
||||||
|
ElseIf tempName = "DP_WIDTH" Then
|
||||||
|
swEquationMgr.Equation(i) = equationName & 40 'FIXA
|
||||||
|
counter += 1
|
||||||
|
ElseIf tempName = "DP_CUTOFFSET1" Then
|
||||||
|
Dim cutLength As Integer = 0
|
||||||
|
For k = 0 To cuttingList.ElementAt(j).Value.Count - 1
|
||||||
|
cutLength += sideFrameLengths("Frame " & cuttingList.ElementAt(j).Value(k))
|
||||||
|
Next
|
||||||
|
swEquationMgr.Equation(i) = equationName & cutLength
|
||||||
|
counter += 1
|
||||||
|
ElseIf tempName.Split("_")(0) = "DP" Then
|
||||||
|
swEquationMgr.Equation(i) = equationName & 0
|
||||||
|
counter += 1
|
||||||
|
End If
|
||||||
|
If counter = 7 Then
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
boolstatus = Part.EditRebuild3()
|
||||||
|
Dim swErrors As Integer
|
||||||
|
Dim swWarnings As Integer
|
||||||
|
boolstatus = Part.Save3(1, swErrors, swWarnings)
|
||||||
|
|
||||||
|
swApp.CloseDoc(Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & j + 1 & ".SLDPRT")
|
||||||
|
End If
|
||||||
Next
|
Next
|
||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
|
||||||
|
|
@ -13,17 +13,33 @@ Public Class Individual_Frame_Drawing
|
||||||
model = swApp.NewDocument("C:\ProgramData\SolidWorks\SOLIDWORKS 2020\templates\Assembly.asmdot", 0, 0, 0)
|
model = swApp.NewDocument("C:\ProgramData\SolidWorks\SOLIDWORKS 2020\templates\Assembly.asmdot", 0, 0, 0)
|
||||||
assembly = model
|
assembly = model
|
||||||
|
|
||||||
Dim compNames(Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count) As String
|
Dim endPieceLength As Integer = 2000
|
||||||
Dim coordNames(Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count) As String
|
For j = 0 To Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count - 1
|
||||||
|
endPieceLength -= Individual_Frame_3D.sideFrameLengths("Frame " & Individual_Frame_3D.cuttingList.ElementAt(i).Value(j))
|
||||||
|
Next
|
||||||
|
Dim numOfParts As Integer = 0
|
||||||
|
Dim endPieceExist As Integer = 0
|
||||||
|
If endPieceLength > 0 Then
|
||||||
|
numOfParts = Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count
|
||||||
|
Else
|
||||||
|
numOfParts = Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count - 1
|
||||||
|
endPieceExist = 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim compNames(numOfParts) As String
|
||||||
|
Dim coordNames(numOfParts) As String
|
||||||
Dim transMatrix As Object = Nothing
|
Dim transMatrix As Object = Nothing
|
||||||
For j = 0 To compNames.Count - 2
|
For j = 0 To compNames.Count - 2 + endPieceExist
|
||||||
Dim frameID = Individual_Frame_3D.cuttingList.ElementAt(i).Value(j) - 1
|
Dim frameID = Individual_Frame_3D.cuttingList.ElementAt(i).Value(j) - 1
|
||||||
|
|
||||||
compNames(j) = Settings.filesFolder & "\Files\CADStart\" & frameComponents(frameID)("partName") & ".SLDPRT"
|
compNames(j) = Settings.filesFolder & "\Files\CADStart\" & frameComponents(frameID)("partName") & ".SLDPRT"
|
||||||
coordNames(j) = ""
|
coordNames(j) = ""
|
||||||
Next
|
Next
|
||||||
compNames(compNames.Count - 1) = Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & i + 1 & ".SLDPRT"
|
|
||||||
coordNames(coordNames.Count - 1) = ""
|
If endPieceLength > 0 Then
|
||||||
|
compNames(compNames.Count - 1) = Settings.folderPaths("object_" & Data.objectNum & "_models3D_frames_sw_support") & "\FRAME_L_END_PIECE" & i + 1 & ".SLDPRT"
|
||||||
|
coordNames(coordNames.Count - 1) = ""
|
||||||
|
End If
|
||||||
|
|
||||||
Dim assemComps As Object
|
Dim assemComps As Object
|
||||||
assemComps = assembly.AddComponents3((compNames), (transMatrix), (coordNames))
|
assemComps = assembly.AddComponents3((compNames), (transMatrix), (coordNames))
|
||||||
|
|
@ -98,7 +114,8 @@ Public Class Individual_Frame_Drawing
|
||||||
|
|
||||||
Dim OutLine = myView.GetOutline
|
Dim OutLine = myView.GetOutline
|
||||||
|
|
||||||
For j = 0 To Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count
|
Dim components = RootComp.GetChildren()
|
||||||
|
For j = 0 To components.Length - 1
|
||||||
Dim frameComponentName As String
|
Dim frameComponentName As String
|
||||||
If j = Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count Then
|
If j = Individual_Frame_3D.cuttingList.ElementAt(i).Value.Count Then
|
||||||
frameComponentName = "frame_l_end_piece" & i + 1
|
frameComponentName = "frame_l_end_piece" & i + 1
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue