The Parametric Bent Plate Material window

Also see :

Quick Notes

Warning : If your startup code specifies imperial Units('...') , make entries to distance fields on this window in decimal inches, not fractions. Also, do not use hyphens (-). If you enter a fraction using integers, Python truncates the results of the division operation to an integer (examples: 1/8 = 0 ; 5/4 = 1 ). If you enter fractions with decimal points, Python calculates the precise decimal value (examples: 1.0/8.0 = .125 ; 5.0/4.0 = 1.25 ). If you enter a hyphen, Python interprets the hyphen as a minus sign (examples: 1-2 = -1 ; 3-2 = 1 ). See numbers (floating point numbers and integers).

Tips :

To enter a dimension string and convert it to a floating point distance that is properly factored based on the startup code Units('...') , you can use the dim("...") function. See the warning above for an explanation of why the dim() function is needed.


------ General settings ------

Piecemark: You can add a line of code such as obj.MinorMark = "xxx" or obj.Piecemark = "xxx" in a text editor.

For submaterials ( obj .MinorMark or obj.mark ):

If you Run a script that does not include obj.MinorMark , SDS2 piecemarking looks for materials in the current Job that are physically identical to this material and assigns to this material the same submaterial mark assigned to those materials. If no matching materials are found, piecemarking assigns this material a submaterial mark using the appropriate piecemark prefix listed in Home > Project Settings > Fabricator > Member and Material Piecemarking > the " Prefixes " tab.

If you Run a script with obj.MinorMark = "xxx" , SDS2 piecemarking applies that submaterial mark ( xxx ) to the parametrically added material if no other material has yet been assigned that mark. It also applies that mark ( xxx ) if other materials that have that mark ( xxx ) are exactly like the parametrically added material. If the model contains materials with a different submaterial mark ( yyy ) that are exactly like the parametrically added material, the submaterial mark of those materials ( yyy ) is re-named to that of the parametrically added material ( xxx ). If the model contains materials with the same submaterial mark that the script designates to be assigned to the parametrically added material ( xxx ) and those materials are different than the parametrically added material, the submaterial mark in the script is not applied -- instead you get a warning and the parametrically added material is assigned a different submaterial mark using the appropriate piecemark prefix listed in Home > Project Settings > Fabricator > Member and Material Piecemarking > the " Prefixes " tab .

For miscellaneous members ( obj .Piecemark or obj.piecemark ):

If you Run a script that does not include an obj.Piecemark , SDS2 piecemarking assigns a system piecemark to the parametrically added member.

If you Run a script with an obj.Piecemark , be careful. You are responsible for ensuring that members that have been assigned the same user piecemark are physically the same. SDS2 piecemarking does not do this for you.

Tip 1: A Python script can read the submaterial mark of a material as shown in the following example.

# Prints the piecemark of the material the user selects. 
from mtrl_list import MtrlLocate 
mtrl1 = MtrlLocate("Select material", "Single") 
print("The material piecemark is: ", mtrl1.MinorMark)

Tip 2: A script can also read member piecemarks (user or system).

# Prints the piecemark of the member that the user selects. 
from member import MemberLocate 
from param import ClearSelection 
mem1 = MemberLocate("Select a member") 
print("The piecemark is: ", mem1.Piecemark)
ClearSelection()

Material thickness ( obj .Thickness or obj.thick ): The thickness of the plate material (its dimension along its Z material axis ). The thickness is a floating point number in mm or inches, depending on the startup code Units('...') .

Example 1: Entering a specific distance sets the thickness of the material to be that specific set value when this script is Run.

Example 2: Entering obj.Member.WebThickness (where obj is the " Object name ") sets the thickness of the bent plate to be the web thickness of the " Member ." The result is a line of parametric code that reads: obj.Thickness = obj.Member.WebThickness .

Material length ( obj .OrderLength or obj.length ): The distance from the furthest point on the material's left end to the furthest point on the material's right end. A distance is a floating point number in mm or inches, depending on the startup code Units('...') . This distance is measured parallel with the material's longitudinal axis ( X material axis ).

Example 1: Entering a specific distance sets the length of the material to be that value when this script is Run.

Example 2: Entering obj.WorkpointSlopeDistance - obj.MaterialSetbackLeftEnd - obj.MaterialSetbackRightEnd (where obj is the " Object name ") calculates the length of the material by subtracting the " Left & right material setback " from the " Work point distance ." The result is a line of parametric code that reads: obj.OrderLength = obj.WorkpointSlopeDistance - obj.MaterialSetbackLeftEnd - obj.MaterialSetbackRightEnd .

Work point distance ( obj .WorkpointSlopeDistance or obj.wk_pt_dist ): The distance between " Point 1 " and " Point 2 " (see step 3 ). A distance is a floating point number in mm or inches, depending on the startup code Units('...') .

Example 1: The function obj.Point1.Distance(obj1.Point2) calculates the work point distance from the global coordinates of the two work points ( Point1 and Point2 ). The resulting line of parametric code reads: obj.WorkpointSlopeDistance = obj.Point1.Distance(obj1.Point2) .

Length leg 1 ( obj .BentPlateLeg or obj.leg ): The distance measured parallel with leg 1 as shown in cross section from the edge of leg 1 to the workline established in step 3 . A distance is a floating point number in mm or inches, depending on the startup code Units('...') . This is the length of the leg of the bent plate that remains fixed if you change the " Bend angle ."

Note: Unless you rotate the material around its Z axis, the leg 1 length dimension is measured perpendicular to the workline established in step 3 . If you rotate the material around its Z axis, the leg 1 length dimension is still measured perpendicular to the length of the material (to its X material axis).

Length leg 2 ( obj .BentPlateOSL or obj.osl ): The distance measured parallel with leg 2 as shown in cross section from the edge of leg 2 to the workline established in step 3 . A distance is a floating point number in mm or inches, depending on the startup code Units('...') . This distance is the length of the leg of the bent plate that is repositioned if you change the " Bend angle ."

Bend radius ( obj .RollingRadius or obj.bend_radius ): This distance defines the length of the bend and is shared by both legs. It does not influence the bend angle . A distance is a floating point number in mm or inches, depending on the startup code Units('...') .

Visualizing the bend radius: If you were to extrapolate a circle from the inside curvature of the bend on the bent plate, then the distance from any point on the inside curve of the bend to the center of the circle would be the distance that you would enter here.

Bend angle ( obj .IncludedAngle or obj.bend_angle ): The positive or negative (-) floating point number of degrees ( 360.0 to -360.0 ) defining the angle of the bend in the bent plate.

This angle is measured counterclockwise from a line tangent to the near side surface of leg 1 of the bent plate. It determines the position of a tangent line along the near side surface of leg 2 of the bent plate. Changing the " Bend angle " repositions leg 2 with respect to leg 1 of the bent plate. Leg 1 remains fixed.

Steel grade ( obj .MaterialGrade or obj.grade ): Any steel grade ( "A36" or "A572" or etc.) from the list of Steel Grades for Plates & Bar Stock can be selected on the menu ( ) for this field.

Example: Selecting A36 results in a line of parametric code that reads: obj.MaterialGrade = "A36" (where obj is the " Object name " and "A36" is a string from the aforementioned setup table).

Surface finish ( obj .SurfaceFinish or obj.finish ): "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized" can be selected on the list box ( ) for this field. The choice you make here assigns a string as the SurfaceFinish attribute in the parametric code.

Sand Blasted Red Oxide Yellow Zinc
Gray Oxide Blued Steel Galvanized
The colors of materials on Drawing Editor erection views in ' Solid ' are based on to their surface finish.

Example: Selecting Yellow Zinc results in a line of parametric code that reads: obj.SurfaceFinish = "Yellow Zinc" (where obj is the " Object name ").

Also note: When you export a KISS file using Model as the " Data source ," surface finish data on materials are compiled into the P lines in the KISS download. Surface finish data can also be output to a fabtrol_assembly_parts_list.XSR file.

Color ( obj .MaterialColor3d or obj.color ): A "named_color" or a custom color . The choice you make here assigns three values (RGB values) from 0 to 255, which define the color of the bent plate when it is displayed in one of the three solid forms .

The "named_colors" are set up on the Predefined Colors window. The color swatch next to the list box ( ) displays the color that is selected. Example: Selecting Medium_beam results in a line of parametric code that reads: obj.MaterialColor3d = "Medium_beam" (where obj is the " Object name ").

Select Custom Color (last option on the menu) to launch your operating system's color picker and define any color you like. Example: Selecting a custom color results in a line of parametric code that reads: obj.MaterialColor3d = (r, g, b) where r or g or b is an integer value from 0 to 255.

Centered ( obj .Centered or obj.centered ): ( "Yes" ) or ( "No" ). The choice you make here results in the entry of a string ( "Yes" or "No" ) to the parametric code.

If this box is checked ( ), the bent plate is centered with respect to its work points . The resulting line of parametric code reads: obj.Centered = "Yes" (where obj is the " Object name ").

If the box is not checked ( ), the near-side surface of leg 1 of the bent plate aligns with the bent plate's work points (if the bent plate was not rotated around the Z axis). The resulting line of parametric code reads: obj.Centered = "No" (where obj is the " Object name ").


------ Left end settings ------ | ------ Right end settings ------

Tip : The left end is the " Point 1 " end of this material.

Material setback ( obj .MaterialSetbackLeftEnd or obj .MaterialSetbackRightEnd ): The positive or negative (-) distance that you want the (left or right) end of the bent plate to be displaced from its work point. A distance is a floating point number in mm or inches, depending on the startup code Units('...') .

A positive distance brings the (left or right) end of the plate back in toward the opposite end of the material from " Point 1 " (for left setback) or " Point 2 " (for right setback) if " Material length " is calculated using the expression obj.WorkpointSlopeDistance - obj.MaterialSetbackLeftEnd - obj.MaterialSetbackRightEnd .

Entering 0 (zero) to this field under " Left end settings " results in a line of parametric code that reads: obj.MaterialSetbackLeftEnd = 0.000000 (where obj is the " Object name "). If 0 is entered under " Right end settings ," the resulting line of parametric code reads: obj.MaterialSetbackRightEnd = 0.000000 .

Leg 1 cut angle ( obj .WebCutLeftEnd or obj .WebCutRightEnd ): Any positive or negative (-) angle from 89 to -89 degrees. The cut is made along the leg 1 length.

Leg 2 cut angle ( obj .FlangeCutLeftEnd or obj .FlangeCutRightEnd ) : Any positive or negative (-) angle from 89 to -89 degrees. The cut is made along the leg 2 length.


Bottom row of buttons :

" General Information " opens the Parametric General Information window so that you can assign a " Description " or " Material usage description " or " Material routing " to this material. Making entries to the Parametric General Information window adds extra lines to the parametric code. Those extra lines override default settings.

"OK" (or the Enter key) closes this window and saves your changes to RAM.

"Cancel" (or the Esc key) closes this window without saving any changes.

"Reset" undoes all changes made to this window since you first opened it. The window remains open.