The Parametric Square Bar Material window

Quick Notes

Options :

Step-by-step instructions :

Also see :

Warning : If you are using imperial dimensioning, make entries to 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). Also see Units("...") , the startup code function which sets whether distances should be entered in decimal inches or millimeters.


------ 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 , a system piecemark is assigned 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 width ( obj . Width or obj.width ): The distance along the square bar's Y material axis ). A distance is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

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

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 (in the " Units " designated in the startup code) sets the length of the material to be that value when this script is Run.

Example 2: Entering obj.WorkpointSlopeDistance - obj.MaterialSetbackLeftEnd - obj.MaterialSetbackRightEnd sets the length of the material to be calculated by subtracting the " Left & right material setback " from the " Work point distance ." The result is a line of parametric code that reads: obj.OrderlLength = obj.WorkpointSlopeDistance - obj.MaterialSetbackLeftEnd - obj.MaterialSetbackRightEnd .

Work point distance ( obj . WorkpointSlopeDistance or obj.work_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: Entering obj.Point1.Distance(obj.Point2) where obj is the " Object name " sets the work point distance to be calculated from the global coordinates of the two work points (" Point 1 " and " Point 2 "). The result is a line of parametric code that reads: obj.WorkpointSlopeDistance = obj.Point1.Distance(obj.Point2).

Angle of twist ( obj . MaterialTwistAngle or obj.angle_of_twist ): 0 degrees or the positive or negative number ( floating point number ) of degrees of twist about the longitudinal axis ( X material axis ) of the square bar. This axis is defined by the workline of the square bar (see step 3 ).

Entering 0 (zero) results in straight (not twisted) material material being created when this script is Run or Tested . The resulting line of parametric code reads: obj.MaterialTwistAngle = 0.000000 (where obj is the " Object name ").

Entering a specific number ( floating point number ) of degrees sets " Point 1 " of the material to remain fixed while the right end is rotated the number of degrees entered. Validation accepts entries between -3600 and 3600 degrees and can generate twists to .06 degree. Assuming you are looking from the right end toward the left end of the material, a positive entry rotates the material counterclockwise.

Rolling operation ( obj . RollType or obj.roll_type ): "None" or "Camber" or "Weak Axis" or "Strong Axis" . The center of curvature for all of these choices is midway between the left and right ends of the square bar. In the parametric code, the choice you make results in the entry of a string ( "None" or "Camber" or "Weak Axis" or "Strong Axis" ).

"None"
"Camber"
"Weak Axis"
"Strong Axis"

"None" makes the square bar straight (not curved). The resulting line of parametric code reads: obj.RollType = "None" (where obj is the " Object name ").

"Camber" produces parabolic bending along the strong axis of the rolled section with the ends fixed. The " Mid-ordinate " sets the offset at mid-span and the direction (+ or -) of that offset.

"Weak axis" or "S trong axis" produces bending that is circular. The " Mid-ordinate " or " Included Angle " or " Rolling radius " sets the offset at mid-span and the direction (+ or -) of that offset. For " Strong Axis " or " Weak Axis " rolling, the two ends of the square bar are not fixed; that is, if the ends were vertical before the operation they may not be vertical afterwards.

Mid-ordinate ( obj . MidOrdinate or obj.mid_ordinate ): A positive or negative (-) distance ( floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This is the distance that the square bar is to be offset at mid-span as a result of a " Rolling operation " of " Camber " or " Strong Axis " or " Weak Axis ". The sign (+ or -) sets the direction of offset.

Strong axis rolling with a positive mid-ordinate ( +m )
Strong axis rolling with a negative mid-ordinate ( -m )

Weak axis rolling with a positive mid-ordinate
( rolling toward the near side )
Weak axis rolling with a negative mid-ordinate
( rolling toward the near side )

Camber with a positive mid-ordinate ( +m )
Camber with a negative mid-ordinate ( -m )

Example: If you were to enter 100.0 to this field, the resulting line of parametric code would read: obj.MidOrdinate = 100.0 (where obj is the " Object name ").

Included angle ( obj . IncludedAngle or obj.bend_angle ): The positive or negative (-) number ( floating point number ) of degrees that sets the angle of curvature when " Strong axis " or " Weak axis " is the " Rolling operation ."

i = included angle. Extrapolate a circle from the inside curvature of the material, then draw a line along each end of the material. The lines meet at the center of the imaginary circle, and their included angle is the angle entered here.

Example: If you were to enter 10.0 here, the resulting line of parametric code would read: obj.IncludedAngle = 10.0 (where obj is the " Object name ").

Rolling radius ( obj . RollingRadius or obj.bend_radius ): A positive or negative (-) distance ( floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This distance defines the amount of curvature of the square bar when the " Rolling operation " is " Strong Axis " or " Weak Axis ". The smaller the " Rolling radius " (+ or -), the.greater the curvature.

r = rolling radius. If you were to extrapolate a circle from the inside curvature of the material, the distance from any point on the inside curve of the top/bottom flange to the center of the circle is the distance entered here.

Example: If you were to enter 100.0 here, the resulting line of parametric code would read: obj.RollingRadius = 100.0 (where obj is the " Object name " and 100.0 is in the " Units " established in the startup code).

Spiral offset ( obj . SpiralOffset or obj.rolled_offset ): A positive or negative (-) distance ( floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This is the distance that the right end of the square bar is to be offset from " Point 2 " when " Weak axis " or " Strong axis " is the " Rolling operation ."

For a square bar input in a plan view: a positive distance raises the elevation with respect to " Point 2 "; a negative (-) distance lowers the elevation with respect to " Point 2 ."

Example: If you were to enter 10.0 to this field, the resulting line of parametric code would read: obj.SpiralOffset = 10.0 (where obj is the " Object name ").

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 the selected string as the SurfaceFinish attribute for this " Object name " 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 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 set the approximate color of the square bar 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 and obj is the " Object name ".

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.

Centered
  Centered

If this box is checked ( ), the workline of the square bar is centered with respect to its Y material axis (its width ). The result is a line of parametric code that reads: obj.Centered = "Yes" (where obj is the " Object name ").

If the box is not checked ( ), the square bar's top e.g., is along the line established when you added work points (bottom e.g., if you added the square bar from right to left). The result is a line of parametric code that 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 ): A positive or negative (-) distance ( floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This is the distance that the (left or right) end of the square bar is to be displaced from its work point.

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

Entering 0 (zero) under " Left end settings " results in a line of parametric code that reads: obj.MaterialSetbackLeftEnd = 0 (where obj is the " Object name ").

End cut angle ( obj . WebCutLeftEnd ) or ( obj . WebCutRightEnd ): Any angle ( floating point number ) from 89.0 to -89,0 degrees. The angle is cut along the Y material axis (the width) of the bar.

0 (zero) designates a square cut end. If you are viewing the near side of the square bar, a positive angle is measured counterclockwise from a perpendicular bisector to the workline. A negative angle is measured clockwise from a perpendicular bisector to the workline.

Examples: Entering 0 under " Left end settings " results in a line of parametric code that reads: obj.WebCutLeftEnd = 0.000000 (where obj is the " Object name "). If 0 is entered under " Right end settings ," the resulting parametric code reads: obj.WebCutRightEnd = 0.000000 .


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.