All recesses fixed to work accordingly to all different forms of SW instancing

This commit is contained in:
Anton 2021-04-20 13:43:42 +02:00
parent f2502e8a59
commit 9840dc3375
4 changed files with 54 additions and 58 deletions

Binary file not shown.

View File

@ -118,13 +118,12 @@ Public Class Individual_3D
inst_ = ExternalClass.instantiate_parts(parentID, "recess_rectangle", "")
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
If recessDR("CORNER") = 1 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, gratingParameters("WIDTH") - squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
@ -134,8 +133,6 @@ Public Class Individual_3D
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ElseIf recessDR("CORNER") = 2 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, gratingParameters("WIDTH") - squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, gratingParameters("LENGTH") - squareL)
@ -145,8 +142,6 @@ Public Class Individual_3D
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ElseIf recessDR("CORNER") = 3 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, gratingParameters("LENGTH") - squareL)
@ -155,8 +150,6 @@ Public Class Individual_3D
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS"))
Else
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)

View File

@ -87,7 +87,7 @@ Public Class Multiple_3D
inst_ = ExternalClass.instantiate_parts(parentID, "recess_rectangle", "")
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
@ -98,12 +98,12 @@ Public Class Multiple_3D
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ElseIf recessDR("CORNER") = 2 Then
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0)
@ -111,7 +111,7 @@ Public Class Multiple_3D
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ElseIf recessDR("CORNER") = 3 Then
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0)
@ -122,7 +122,7 @@ Public Class Multiple_3D
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS"))
End If
@ -170,30 +170,30 @@ Public Class Multiple_3D
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
If recessDR("SIDE") = 1 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - 2)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - 2)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET") - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 90)
ElseIf recessDR("SIDE") = 2 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - recessDR("OFFSET") + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 180)
ElseIf recessDR("SIDE") = 3 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - 2)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0 + 2)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - recessDR("OFFSET") + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 270)
Else
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET") - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 0)
@ -202,12 +202,12 @@ Public Class Multiple_3D
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_LENGTH", inst_, recessDR("LENGTH") + gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH") + gratingParameters("LOADBAR_THICKNESS") * 2)
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"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET Y") - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET X") - gratingParameters("LOADBAR_THICKNESS"))
End If
End Sub

View File

@ -119,75 +119,78 @@ Public Class Multiple_3D_Simplified
inst_ = ExternalClass.instantiate_parts(parentID, "recess_rectangle", "")
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW)
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, squareW - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
If recessDR("CORNER") = 1 Then
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0 + gratingParameters("LOADBAR_THICKNESS"))
ElseIf recessDR("CORNER") = 2 Then
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - squareW + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL + gratingParameters("LOADBAR_THICKNESS"))
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0 + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, 0 + gratingParameters("LOADBAR_THICKNESS"))
ElseIf recessDR("CORNER") = 3 Then
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - squareL + gratingParameters("LOADBAR_THICKNESS"))
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, 0 + gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS") * 2)
Else
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
'Position
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_POS", inst_, squareL - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_V_EDGEBAR_BOTTOM", inst_, 0)
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_H_EDGEBAR_POS", inst_, squareW - gratingParameters("LOADBAR_THICKNESS") * 2)
End If
ElseIf recessDR("RECESS TYPE") = "ANGLE" Then
Dim endX As Decimal = gratingParameters("LOADBAR_THICKNESS") / Math.Sin(Math.Atan(recessDR("LENGTH") / recessDR("WIDTH")))
Dim endY As Decimal = gratingParameters("LOADBAR_THICKNESS") / Math.Sin(Math.Atan(recessDR("WIDTH") / recessDR("LENGTH")))
inst_ = ExternalClass.instantiate_parts(parentID, "recess_angle", "")
ExternalClass.modify_parameter_value("DP_EDGEBAR_HEIGHT", inst_, gratingParameters("LOADBAR_HEIGHT"))
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
If recessDR("CORNER") = 1 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - endX)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH") - endY)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 90)
ElseIf recessDR("CORNER") = 2 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH") - endY)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH") - endX)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 180)
ElseIf recessDR("CORNER") = 3 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - endX)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH") - endY)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 270)
Else
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH") - endY)
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH") - endX)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 0)
@ -201,29 +204,29 @@ Public Class Multiple_3D_Simplified
ExternalClass.modify_parameter_value("DP_EDGEBAR_THICKNESS", inst_, gratingParameters("LOADBAR_THICKNESS"))
If recessDR("SIDE") = 1 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW)
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - 2 - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH") - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - 2)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 90)
ElseIf recessDR("SIDE") = 2 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH") - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH") - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, Data.gratingW - recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 180)
ElseIf recessDR("SIDE") = 3 Then
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0)
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("WIDTH") - 2 - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("LENGTH") - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, 0 + 2)
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, Data.gratingL - recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 270)
Else
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH"))
ExternalClass.modify_parameter_value("DP_LENGTH", inst_, recessDR("LENGTH") - gratingParameters("LOADBAR_THICKNESS"))
ExternalClass.modify_parameter_value("DP_WIDTH", inst_, recessDR("WIDTH") - gratingParameters("LOADBAR_THICKNESS") * 2)
ExternalClass.modify_parameter_value("DP_OFFSET_W", inst_, recessDR("OFFSET"))
ExternalClass.modify_parameter_value("DP_OFFSET_L", inst_, 0)
ExternalClass.modify_parameter_value("DP_ROTATION", inst_, 0)