Frame inst
This commit is contained in:
parent
ff4c93622e
commit
8529d985ed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,138 @@
|
|||
Imports XCCLibrary
|
||||
Public Class Individual_Frame_3D
|
||||
Private Shared designName As String
|
||||
Public Shared Sub Build_Frame(gratingParameters As DataRow, parentID As Integer)
|
||||
Dim frameDT As New DataTable
|
||||
frameDT = Generate_Frame_Data(gratingParameters)
|
||||
|
||||
Dim inst_ As Integer
|
||||
|
||||
For i = 0 To frameDT.Rows.Count - 1
|
||||
Dim HLCtName As String
|
||||
If frameDT.Rows(i)("TYPE") = "CORNER" Then
|
||||
HLCtName = "frame_l_corner"
|
||||
Else
|
||||
HLCtName = "frame_l_straight"
|
||||
End If
|
||||
inst_ = ExternalClass.instantiate_parts(parentID, HLCtName, "")
|
||||
ExternalClass.modify_parameter_value("DP_HEIGHT", inst_, 30)
|
||||
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, 40)
|
||||
|
||||
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, frameDT.Rows(i)("ROTATION"))
|
||||
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)
|
||||
Dim DT As New DataTable
|
||||
DT.Columns.Add("TYPE", GetType(String))
|
||||
DT.Columns.Add("LENGTH", GetType(Integer))
|
||||
DT.Columns.Add("SIDE", GetType(Integer))
|
||||
DT.Columns.Add("CORNER", GetType(Integer))
|
||||
DT.Columns.Add("ROTATION", GetType(Integer))
|
||||
DT.Columns.Add("OFFSET_W", GetType(Integer))
|
||||
DT.Columns.Add("OFFSET_L", GetType(Integer))
|
||||
Dim DTRow As DataRow
|
||||
For i = 0 To Data.gratingPoints.Rows.Count - 1
|
||||
If Data.gratingPoints.Rows(i)("RECESS OK") Then
|
||||
DTRow = DT.NewRow
|
||||
DTRow("TYPE") = "CORNER"
|
||||
DTRow("CORNER") = Data.gratingPoints.Rows(i)("QUADRANT")
|
||||
DTRow("ROTATION") = 360 - Data.gratingPoints.Rows(i)("QUADRANT") * 90
|
||||
|
||||
If DTRow("CORNER") = 1 Then
|
||||
DTRow("OFFSET_W") = gratingParameters("WIDTH")
|
||||
DTRow("OFFSET_L") = 0
|
||||
ElseIf DTRow("CORNER") = 2 Then
|
||||
DTRow("OFFSET_W") = gratingParameters("WIDTH")
|
||||
DTRow("OFFSET_L") = gratingParameters("LENGTH")
|
||||
ElseIf DTRow("CORNER") = 3 Then
|
||||
DTRow("OFFSET_W") = 0
|
||||
DTRow("OFFSET_L") = gratingParameters("LENGTH")
|
||||
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
|
||||
If Data.gratingPoints.Rows(i)("X") = Data.gratingPoints.Rows(i2)("X") Then
|
||||
If Data.gratingPoints.Rows(i)("X") = Data.grossAreaPoints.Rows(0)("X") Or Data.gratingPoints.Rows(i)("X") = Data.grossAreaPoints.Rows(1)("X") Then
|
||||
sideFrame = True
|
||||
End If
|
||||
ElseIf Data.gratingPoints.Rows(i)("Y") = Data.gratingPoints.Rows(i2)("Y") Then
|
||||
If Data.gratingPoints.Rows(i)("Y") = Data.grossAreaPoints.Rows(0)("Y") Or Data.gratingPoints.Rows(i)("Y") = Data.grossAreaPoints.Rows(3)("Y") Then
|
||||
sideFrame = True
|
||||
End If
|
||||
End If
|
||||
|
||||
If sideFrame = True Then
|
||||
DTRow = DT.NewRow
|
||||
DTRow("TYPE") = "SIDE"
|
||||
|
||||
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("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("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("OFFSET_W") = 0
|
||||
DTRow("OFFSET_L") = 210 'FIXA
|
||||
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("OFFSET_W") = gratingParameters("WIDTH")
|
||||
DTRow("OFFSET_L") = 210 'FIXA
|
||||
End If
|
||||
End If
|
||||
DTRow("ROTATION") = 360 - DTRow("SIDE") * 90
|
||||
DT.Rows.Add(DTRow)
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
|
||||
|
||||
Return DT
|
||||
|
||||
End Function
|
||||
End Class
|
||||
|
|
@ -36,6 +36,8 @@ Public Class Model_3D
|
|||
Inst_Recesses(parentID, gratingParameters, recessDR)
|
||||
Next
|
||||
|
||||
Individual_Frame_3D.Build_Frame(gratingParameters, parentID)
|
||||
|
||||
importClass.copyGroupsByDataSet(ExternalClass.groupds_new)
|
||||
Dim grNr = groupClass.NewGroupID
|
||||
Dim designTable = designModel.selectDesign("*")
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@
|
|||
<Compile Include="Recess Functions\Middle_Rectangle.vb" />
|
||||
<Compile Include="Recess Functions\Side_Rectangle.vb" />
|
||||
<Compile Include="SolidWorks\Drawing.vb" />
|
||||
<Compile Include="SolidWorks\Individual_Frame_3D.vb" />
|
||||
<Compile Include="SolidWorks\Model_3D.vb" />
|
||||
<Compile Include="SolidWorks\Model_3D_Fill.vb" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in New Issue