diff --git a/HLCt/pressure_welded.SLDPRT b/HLCt/pressure_welded.SLDPRT index 418e4b8..62cd322 100644 Binary files a/HLCt/pressure_welded.SLDPRT and b/HLCt/pressure_welded.SLDPRT differ diff --git a/HLCt/recess_middle_square.SLDPRT b/HLCt/recess_middle_square.SLDPRT index 4213dd5..42ab58f 100644 Binary files a/HLCt/recess_middle_square.SLDPRT and b/HLCt/recess_middle_square.SLDPRT differ diff --git a/Wardrobe/GUI/Draw_Grating.vb b/Wardrobe/GUI/Draw_Grating.vb index 68d2f76..9731ce7 100644 --- a/Wardrobe/GUI/Draw_Grating.vb +++ b/Wardrobe/GUI/Draw_Grating.vb @@ -241,6 +241,24 @@ e.Graphics.DrawLine(pen, pTemp1(0), pTemp1(1), pTemp2(0), pTemp2(1)) Next + For i = 0 To Data.gratingMiddlePoints.Rows.Count - 1 + Dim pTemp1(2) As Integer + Dim pTemp2(2) As Integer + + pTemp1(0) = Data.gratingMiddlePoints.Rows(i)("GUI X") + pTemp1(1) = Data.gratingMiddlePoints.Rows(i)("GUI Y") + + If (i + 1) Mod 4 = 0 Then + pTemp2(0) = Data.gratingMiddlePoints.Rows(i - 3)("GUI X") + pTemp2(1) = Data.gratingMiddlePoints.Rows(i - 3)("GUI Y") + Else + pTemp2(0) = Data.gratingMiddlePoints.Rows(i + 1)("GUI X") + pTemp2(1) = Data.gratingMiddlePoints.Rows(i + 1)("GUI Y") + End If + + e.Graphics.DrawLine(pen, pTemp1(0), pTemp1(1), pTemp2(0), pTemp2(1)) + Next + ' Draw grating grid for fill area If AppForm.fillMode Then diff --git a/Wardrobe/GUI/Individual.vb b/Wardrobe/GUI/Individual.vb index 1768ae5..285d227 100644 --- a/Wardrobe/GUI/Individual.vb +++ b/Wardrobe/GUI/Individual.vb @@ -231,7 +231,7 @@ Public Class Individual ' --- When middle square button is pressed --- Private Sub Button_Square_Middle_Click(sender As Object, e As EventArgs) Handles Button_Square_Middle.Click - + Middle_Rectangle.SquareMiddleButtton(sender, e) End Sub ' ---------------------------------- Calculate ---------------------------------- diff --git a/Wardrobe/Gratings Data/Data.vb b/Wardrobe/Gratings Data/Data.vb index f33f950..7a21999 100644 --- a/Wardrobe/Gratings Data/Data.vb +++ b/Wardrobe/Gratings Data/Data.vb @@ -1,6 +1,7 @@ Public Class Data Public Shared grossAreaPoints As New DataTable Public Shared gratingPoints As New DataTable + Public Shared gratingMiddlePoints As New DataTable Public Shared angleRecessPoints As New DataTable Public Shared guiPanelMidX, guiPanelMidY As Integer @@ -36,6 +37,13 @@ gratingPoints.Columns.Add("GUI Y", GetType(Integer)) gratingPoints.Columns.Add("RECESS OK", GetType(Boolean)) + ' Grating Middle points + gratingMiddlePoints.Columns.Add("NAME", GetType(String)) + gratingMiddlePoints.Columns.Add("X", GetType(Decimal)) + gratingMiddlePoints.Columns.Add("Y", GetType(Decimal)) + gratingMiddlePoints.Columns.Add("GUI X", GetType(Integer)) + gratingMiddlePoints.Columns.Add("GUI Y", GetType(Integer)) + ' Angle recess points angleRecessPoints.Columns.Add("NAME", GetType(String)) angleRecessPoints.Columns.Add("QUADRANT", GetType(String)) @@ -52,6 +60,8 @@ recessData.Columns.Add("WIDTH", GetType(Integer)) recessData.Columns.Add("LENGTH", GetType(Integer)) recessData.Columns.Add("OFFSET", GetType(Integer)) + recessData.Columns.Add("OFFSET X", GetType(Integer)) + recessData.Columns.Add("OFFSET Y", GetType(Integer)) recessData.Columns.Add("GRATINGS", GetType(List(Of Integer))) End Sub diff --git a/Wardrobe/Recess Functions/Middle_Rectangle.vb b/Wardrobe/Recess Functions/Middle_Rectangle.vb new file mode 100644 index 0000000..f2d0196 --- /dev/null +++ b/Wardrobe/Recess Functions/Middle_Rectangle.vb @@ -0,0 +1,204 @@ +Public Class Middle_Rectangle + Private Shared middleSquareValues(3) As Integer + Private Shared numOfMiddleRectangles As Integer = 0 + + ' --- Create textboxes when user clicks the rectangle side recess button --- + Public Shared Sub SquareMiddleButtton(sender As Object, e As EventArgs) + Individual.Panel_Recesses.Controls("Button_Angle_Corner").Enabled = False + Individual.Panel_Recesses.Controls("Button_Angle_Side").Enabled = False + Individual.Panel_Recesses.Controls("Button_Square_Corner").Enabled = False + Individual.Panel_Recesses.Controls("Button_Square_Side").Enabled = False + Individual.Panel_Recesses.Controls("Button_Square_Middle").Enabled = False + + Dim buttonX As Integer = Individual.Panel_Recesses.Controls("Button_Square_Middle").Location.X + Individual.Panel_Recesses.Controls("Button_Square_Middle").Width + Dim buttonY As Integer = Individual.Panel_Recesses.Controls("Button_Square_Middle").Location.Y + + Individual.Create_TextBox_Recesses("Y_TextBox", "", buttonX + 60, buttonY - 7, 60) + AddHandler Individual.Panel_Recesses.Controls("Y_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + AddHandler Individual.Panel_Recesses.Controls("Y_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Create_Label_Recesses("Y_Label", "Width", buttonX + 18, buttonY - 4) + + Individual.Create_TextBox_Recesses("X_TextBox", "", buttonX + 60, buttonY + 23, 60) + AddHandler Individual.Panel_Recesses.Controls("X_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + AddHandler Individual.Panel_Recesses.Controls("X_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Create_Label_Recesses("X_Label", "Length", buttonX + 10, buttonY + 26) + + Individual.Create_TextBox_Recesses("OffX_TextBox", "", buttonX + 60, buttonY + 53, 60) + AddHandler Individual.Panel_Recesses.Controls("OffX_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + AddHandler Individual.Panel_Recesses.Controls("OffX_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Create_Label_Recesses("OffX_Label", "Offset X", buttonX + 16, buttonY + 56) + + Individual.Create_TextBox_Recesses("OffY_TextBox", "", buttonX + 60, buttonY + 83, 60) + AddHandler Individual.Panel_Recesses.Controls("OffY_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + AddHandler Individual.Panel_Recesses.Controls("OffY_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Create_Label_Recesses("OffY_Label", "Offset Y", buttonX + 16, buttonY + 86) + + Individual.Button_Square_Middle.FlatStyle = FlatStyle.Flat + Individual.Button_Square_Middle.FlatAppearance.BorderColor = Color.Red + End Sub + + ' --- Check the key pressed by the user --- + Private Shared Sub FunctionText_KeyPress(sender As Object, e As KeyPressEventArgs) + User_Input.Check_IfNumber(e) + End Sub + + ' --- Adds clickable buttons for all sides if conditions are met --- + Private Shared Sub FunctionTextMiddle_Changed(sender As TextBox, e As EventArgs) + Try + middleSquareValues(0) = CInt(Individual.Panel_Recesses.Controls("X_TextBox").Text) + middleSquareValues(1) = CInt(Individual.Panel_Recesses.Controls("Y_TextBox").Text) + middleSquareValues(2) = CInt(Individual.Panel_Recesses.Controls("OffX_TextBox").Text) + middleSquareValues(3) = CInt(Individual.Panel_Recesses.Controls("OffY_TextBox").Text) + Catch ex As Exception + middleSquareValues(0) = 0 + middleSquareValues(1) = 0 + middleSquareValues(2) = 0 + middleSquareValues(3) = 0 + End Try + + If middleSquareValues(0) > 0 AndAlso middleSquareValues(1) > 0 AndAlso middleSquareValues(2) > 0 AndAlso middleSquareValues(3) > 0 Then + If Individual.Panel_Grating.Controls.Count = 2 Then + Dim middleButton As New Button With { + .Width = middleSquareValues(0) / Data.scaleDiff, + .Height = middleSquareValues(1) / Data.scaleDiff, + .Left = Data.grossAreaPoints.Rows(3)("GUI X") + middleSquareValues(2) / Data.scaleDiff, + .Top = Data.grossAreaPoints.Rows(3)("GUI Y") - (middleSquareValues(3) + middleSquareValues(1)) / Data.scaleDiff, + .Name = "Button_Middle", + .Text = "" + } + + middleButton.BackColor = Color.FromArgb(50, Color.Red) + middleButton.FlatStyle = FlatStyle.Flat + middleButton.FlatAppearance.BorderSize = 0 + middleButton.FlatAppearance.MouseOverBackColor = Color.Red + middleButton.FlatAppearance.MouseDownBackColor = Color.DarkRed + + Individual.Panel_Grating.Controls.Add(middleButton) + + AddHandler middleButton.Click, AddressOf MiddleButton_Click + Else + ' Update button size and position + Individual.Panel_Grating.Controls("Button_Middle").Width = middleSquareValues(0) / Data.scaleDiff + Individual.Panel_Grating.Controls("Button_Middle").Height = middleSquareValues(1) / Data.scaleDiff + Individual.Panel_Grating.Controls("Button_Middle").Left = Data.grossAreaPoints.Rows(3)("GUI X") + middleSquareValues(2) / Data.scaleDiff + Individual.Panel_Grating.Controls("Button_Middle").Top = Data.grossAreaPoints.Rows(3)("GUI Y") - (middleSquareValues(3) + middleSquareValues(1)) / Data.scaleDiff + End If + + ElseIf Individual.Panel_Grating.Controls.Count > 2 Then + RemoveHandler Individual.Panel_Grating.Controls("Button_Middle").Click, AddressOf MiddleButton_Click + Individual.Panel_Grating.Controls.RemoveByKey("Button_Middle") + End If + End Sub + + ' --- When a side function button is pressed --- + Private Shared Sub MiddleButton_Click(sender As Button, e As EventArgs) + ' Remove point buttons + RemoveHandler Individual.Panel_Grating.Controls("Button_Middle").Click, AddressOf MiddleButton_Click + Individual.Panel_Grating.Controls.RemoveByKey("Button_Middle") + + Dim mesNum As Integer = Data.pointsMeasurements.Count - 1 + + Data.recessData.Rows.Add() + + Dim pointRow1 As DataRow = Data.gratingMiddlePoints.NewRow + Dim pointRow2 As DataRow = Data.gratingMiddlePoints.NewRow + Dim pointRow3 As DataRow = Data.gratingMiddlePoints.NewRow + Dim pointRow4 As DataRow = Data.gratingMiddlePoints.NewRow + + pointRow1("NAME") = "MS" & numOfMiddleRectangles & "_" & 1 + pointRow1("X") = Data.grossAreaPoints.Rows(3)("X") + middleSquareValues(2) / 1000 + pointRow1("Y") = Data.grossAreaPoints.Rows(3)("Y") + (middleSquareValues(3) + middleSquareValues(1)) / 1000 + pointRow1("GUI X") = Data.grossAreaPoints.Rows(3)("GUI X") + middleSquareValues(2) / Data.scaleDiff + pointRow1("GUI Y") = Data.grossAreaPoints.Rows(3)("GUI Y") - (middleSquareValues(3) + middleSquareValues(1)) / Data.scaleDiff + + pointRow2("NAME") = "MS" & numOfMiddleRectangles & "_" & 2 + pointRow2("X") = Data.grossAreaPoints.Rows(3)("X") + (middleSquareValues(2) + middleSquareValues(0)) / 1000 + pointRow2("Y") = Data.grossAreaPoints.Rows(3)("Y") + (middleSquareValues(3) + middleSquareValues(1)) / 1000 + pointRow2("GUI X") = Data.grossAreaPoints.Rows(3)("GUI X") + (middleSquareValues(2) + middleSquareValues(0)) / Data.scaleDiff + pointRow2("GUI Y") = Data.grossAreaPoints.Rows(3)("GUI Y") - (middleSquareValues(3) + middleSquareValues(1)) / Data.scaleDiff + + pointRow3("NAME") = "MS" & numOfMiddleRectangles & "_" & 3 + pointRow3("X") = Data.grossAreaPoints.Rows(3)("X") + (middleSquareValues(2) + middleSquareValues(0)) / 1000 + pointRow3("Y") = Data.grossAreaPoints.Rows(3)("Y") + middleSquareValues(3) / 1000 + pointRow3("GUI X") = Data.grossAreaPoints.Rows(3)("GUI X") + (middleSquareValues(2) + middleSquareValues(0)) / Data.scaleDiff + pointRow3("GUI Y") = Data.grossAreaPoints.Rows(3)("GUI Y") - middleSquareValues(3) / Data.scaleDiff + + pointRow4("NAME") = "MS" & numOfMiddleRectangles & "_" & 4 + pointRow4("X") = Data.grossAreaPoints.Rows(3)("X") + middleSquareValues(2) / 1000 + pointRow4("Y") = Data.grossAreaPoints.Rows(3)("Y") + middleSquareValues(3) / 1000 + pointRow4("GUI X") = Data.grossAreaPoints.Rows(3)("GUI X") + middleSquareValues(2) / Data.scaleDiff + pointRow4("GUI Y") = Data.grossAreaPoints.Rows(3)("GUI Y") - middleSquareValues(3) / Data.scaleDiff + + + '' Add recess measuements (SW) + 'Data.pointsMeasurements.Add("SS1_" & mesNum, {sidePoints(0) + 1, index + 2, 1}) + 'Data.pointsMeasurements.Add("SS_" & mesNum + 1, {Index + 2, Index + 5, 1}) + 'Data.pointsMeasurements.Add("SS_" & mesNum + 2, {index + 2, index + 3, 4}) + + '' Add support line data for sidesquare measurement + 'Draw_Grating.sideSquareMesLine.Add("SS1_" & mesNum, {Data.gratingPoints.Rows(Index)("GUI X"), + ' Data.grossAreaPoints.Rows(0)("GUI Y") - 15, + ' Data.grossAreaPoints.Rows(0)("GUI X") + middleSquareValues(2) / Data.scaleDiff, + ' Data.grossAreaPoints.Rows(0)("GUI Y") - 15}) + + '' Add recess measurments (GUI) + 'Draw_Grating.measureLabels.Add("SS1_" & mesNum, {CInt(Individual.Panel_Recesses.Controls("Off_TextBox").Text) - (Data.gratingPoints.Rows(Index)("X") * 1000 + Data.gratingL / 2), + ' (Data.gratingPoints.Rows(Index)("GUI X") + Data.grossAreaPoints.Rows(0)("GUI X") + middleSquareValues(2) / Data.scaleDiff) / 2 - 8, + ' Data.grossAreaPoints.Rows(0)("GUI Y") - 15 - 12 - 3, + ' 1}) '15 är linjen, 12 är textens höjd, 3 är lite extra + 'Draw_Grating.measureLabels.Add("SS_" & mesNum + 1, {CInt(Individual.Panel_Recesses.Controls("X_TextBox").Text), + ' Data.grossAreaPoints.Rows(0)("GUI X") + middleSquareValues(2) / (Data.scaleDiff) + CInt(Individual.Panel_Recesses.Controls("X_TextBox").Text) / (2 * Data.scaleDiff) - 8, + ' Data.grossAreaPoints.Rows(0)("GUI Y") + middleSquareValues(1) / (Data.scaleDiff) + 3, + ' 1}) + 'Draw_Grating.measureLabels.Add("SS_" & mesNum + 2, {CInt(Individual.Panel_Recesses.Controls("Y_TextBox").Text), + ' Data.grossAreaPoints.Rows(0)("GUI X") + middleSquareValues(2) / Data.scaleDiff - 18 - 3, + ' Data.grossAreaPoints.Rows(0)("GUI Y") + CInt(Individual.Panel_Recesses.Controls("Y_TextBox").Text) / (2 * Data.scaleDiff) - 4, + ' 1}) + + ' Recess Data + Data.recessData.Rows(Data.recessData.Rows.Count - 1)("RECESS TYPE") = "MIDDLE SQUARE" + Data.recessData.Rows(Data.recessData.Rows.Count - 1)("WIDTH") = CInt(Individual.Panel_Recesses.Controls("Y_TextBox").Text) + Data.recessData.Rows(Data.recessData.Rows.Count - 1)("LENGTH") = CInt(Individual.Panel_Recesses.Controls("X_TextBox").Text) + Data.recessData.Rows(Data.recessData.Rows.Count - 1)("OFFSET X") = CInt(Individual.Panel_Recesses.Controls("OffX_TextBox").Text) + Data.recessData.Rows(Data.recessData.Rows.Count - 1)("OFFSET Y") = CInt(Individual.Panel_Recesses.Controls("OffY_TextBox").Text) + + numOfMiddleRectangles += 1 + + Data.gratingMiddlePoints.Rows.InsertAt(pointRow1, numOfMiddleRectangles * 4 - 4) + Data.gratingMiddlePoints.Rows.InsertAt(pointRow2, numOfMiddleRectangles * 4 - 3) + Data.gratingMiddlePoints.Rows.InsertAt(pointRow3, numOfMiddleRectangles * 4 - 2) + Data.gratingMiddlePoints.Rows.InsertAt(pointRow4, numOfMiddleRectangles * 4 - 1) + + 'Redraw grating + Individual.Panel_Grating.Refresh() + + RemoveHandler Individual.Panel_Recesses.Controls("X_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + RemoveHandler Individual.Panel_Recesses.Controls("X_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Panel_Recesses.Controls.RemoveByKey("X_TextBox") + + RemoveHandler Individual.Panel_Recesses.Controls("Y_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + RemoveHandler Individual.Panel_Recesses.Controls("Y_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Panel_Recesses.Controls.RemoveByKey("Y_TextBox") + + RemoveHandler Individual.Panel_Recesses.Controls("OffX_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + RemoveHandler Individual.Panel_Recesses.Controls("OffX_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Panel_Recesses.Controls.RemoveByKey("OffX_TextBox") + + RemoveHandler Individual.Panel_Recesses.Controls("OffY_TextBox").TextChanged, AddressOf FunctionTextMiddle_Changed + RemoveHandler Individual.Panel_Recesses.Controls("OffY_TextBox").KeyPress, AddressOf FunctionText_KeyPress + Individual.Panel_Recesses.Controls.RemoveByKey("OffY_TextBox") + + Individual.Panel_Recesses.Controls.RemoveByKey("X_Label") + Individual.Panel_Recesses.Controls.RemoveByKey("Y_Label") + Individual.Panel_Recesses.Controls.RemoveByKey("OffX_Label") + Individual.Panel_Recesses.Controls.RemoveByKey("OffY_Label") + + Individual.Panel_Recesses.Controls("Button_Angle_Corner").Enabled = True + Individual.Panel_Recesses.Controls("Button_Angle_Side").Enabled = True + Individual.Panel_Recesses.Controls("Button_Square_Corner").Enabled = True + Individual.Panel_Recesses.Controls("Button_Square_Side").Enabled = True + Individual.Panel_Recesses.Controls("Button_Square_Middle").Enabled = True + + Individual.Button_Square_Middle.FlatAppearance.BorderColor = Color.Black + End Sub +End Class diff --git a/Wardrobe/SolidWorks/Model_3D.vb b/Wardrobe/SolidWorks/Model_3D.vb index c908eb3..e9b7137 100644 --- a/Wardrobe/SolidWorks/Model_3D.vb +++ b/Wardrobe/SolidWorks/Model_3D.vb @@ -165,6 +165,16 @@ Public Class Model_3D ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 0) End If + + ElseIf recessDR("RECESS TYPE") = "MIDDLE SQUARE" Then + inst_ = ExternalClass.instantiate_parts(parentID, "recess_middle_square", "") + + ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH")) + ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH")) + ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT")) + ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS")) + ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET Y")) + ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET X")) End If diff --git a/Wardrobe/SolidWorks/Model_3D_Fill.vb b/Wardrobe/SolidWorks/Model_3D_Fill.vb index 043dbf1..fc8e24a 100644 --- a/Wardrobe/SolidWorks/Model_3D_Fill.vb +++ b/Wardrobe/SolidWorks/Model_3D_Fill.vb @@ -184,6 +184,16 @@ Public Class Model_3D_Fill ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 0) End If + + ElseIf recessDR("RECESS TYPE") = "MIDDLE SQUARE" Then + inst_ = ExternalClass.instantiate_parts(parentID, "recess_middle_square", "") + + ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH")) + ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH")) + ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT")) + ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS")) + ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET Y")) + ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET X")) End If End Sub @@ -439,6 +449,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 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()) @@ -492,7 +503,8 @@ Public Class Model_3D_Fill cornerAngleCounter += 1 - ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" OrElse Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" Then + ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" OrElse Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" _ + OrElse Data.recessData.Rows(j)("RECESS TYPE") = "MIDDLE SQUARE" Then Dim RP As New List(Of Integer()) Dim rec1(1), rec2(1), rec3(1), rec4(1) As Integer @@ -504,30 +516,53 @@ Public Class Model_3D_Fill End If Next cornerRectangleCounter += 1 - Else + ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" Then For k = 0 To Data.gratingPoints.Rows.Count - 1 If Data.gratingPoints.Rows(k)("NAME") = "CS" & numOfSideRectangles & "_" & 1 Then rowIndex = k 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 - rec1(0) = Data.gratingPoints.Rows(rowIndex)("X") * 1000 - rec1(1) = Data.gratingPoints.Rows(rowIndex)("Y") * 1000 + If Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" OrElse Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" Then + rec1(0) = Data.gratingPoints.Rows(rowIndex)("X") * 1000 + rec1(1) = Data.gratingPoints.Rows(rowIndex)("Y") * 1000 - rec2(0) = Data.gratingPoints.Rows(rowIndex + 1)("X") * 1000 - rec2(1) = Data.gratingPoints.Rows(rowIndex + 1)("Y") * 1000 + rec2(0) = Data.gratingPoints.Rows(rowIndex + 1)("X") * 1000 + rec2(1) = Data.gratingPoints.Rows(rowIndex + 1)("Y") * 1000 - rec3(0) = Data.gratingPoints.Rows(rowIndex + 2)("X") * 1000 - rec3(1) = Data.gratingPoints.Rows(rowIndex + 2)("Y") * 1000 + rec3(0) = Data.gratingPoints.Rows(rowIndex + 2)("X") * 1000 + rec3(1) = Data.gratingPoints.Rows(rowIndex + 2)("Y") * 1000 - If Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" Then - rec4(0) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("X") * 1000 - rec4(1) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("Y") * 1000 - Else - rec4(0) = Data.gratingPoints.Rows(rowIndex + 3)("X") * 1000 - rec4(1) = Data.gratingPoints.Rows(rowIndex + 3)("Y") * 1000 + If Data.recessData.Rows(j)("RECESS TYPE") = "SQUARE" Then + rec4(0) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("X") * 1000 + rec4(1) = Data.grossAreaPoints.Rows(Data.recessData.Rows(j)("CORNER") - 1)("Y") * 1000 + ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "SIDE SQUARE" Then + rec4(0) = Data.gratingPoints.Rows(rowIndex + 3)("X") * 1000 + rec4(1) = Data.gratingPoints.Rows(rowIndex + 3)("Y") * 1000 + + End If + + ElseIf Data.recessData.Rows(j)("RECESS TYPE") = "MIDDLE SQUARE" Then + rec1(0) = Data.gratingMiddlePoints.Rows(rowIndex)("X") * 1000 + rec1(1) = Data.gratingMiddlePoints.Rows(rowIndex)("Y") * 1000 + + rec2(0) = Data.gratingMiddlePoints.Rows(rowIndex + 1)("X") * 1000 + rec2(1) = Data.gratingMiddlePoints.Rows(rowIndex + 1)("Y") * 1000 + + rec3(0) = Data.gratingMiddlePoints.Rows(rowIndex + 2)("X") * 1000 + rec3(1) = Data.gratingMiddlePoints.Rows(rowIndex + 2)("Y") * 1000 + + rec4(0) = Data.gratingMiddlePoints.Rows(rowIndex + 3)("X") * 1000 + rec4(1) = Data.gratingMiddlePoints.Rows(rowIndex + 3)("Y") * 1000 End If RP.Add(rec1) diff --git a/Wardrobe/Wardrobe.vbproj b/Wardrobe/Wardrobe.vbproj index 4e2db4c..b3c4169 100644 --- a/Wardrobe/Wardrobe.vbproj +++ b/Wardrobe/Wardrobe.vbproj @@ -116,6 +116,7 @@ +