The Parametric Flat Bar Material window

Quick Notes

Options :

Also see :

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 bar material being added/edited. This is the flat bar's 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 will result in the thickness of the material being 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 flat bar to be the web thickness of the " Member ." The result is a line of parametric code that reads obj.Thickness = obj.Member.WebThickness .

Example 3: Entering obj.Member.FlangeThickness sets the thickness of the flat bar equal to the flange thickness of the " Member ." The resulting line of parametric code reads: obj.Thickness = obj.Member.FlangeThickness .

Material width ( obj . Width or obj.width ): The width of the bar stock being added/edited. This distance is measured along the flat bar's Y material axis . The width is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example 1: Entering a specific distance (in the " Units " designated in the startup code) will result in the width of the material being that specific set value when this script is Run.

Example 2: Entering obj.Member.FlangeWidth - obj.Member.WebThickness) /2.0 + 3.0 (where obj is the " Object name ") sets the flat bar width to be half the flange width of the " Member " minus half the web thickness of the " Member " plus 3.0 inches or millimeters (depending on the " Units " in the startup code). The resulting line of parametric code reads: obj.Width = obj.Member.FlangeWidth - obj.Member.WebThickness) /2.0 + 3.0.

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. This distance is measured parallel with the material's longitudinal axis ( X material axis ). The length is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example 1: Entering a specific distance will result in the length of the material being a set 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 resulting line of parametric code reads: obj.OrderLength = 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) sets the work point distance to be calculated from the global coordinates of the two work points ( Point1 and Point2 ). The resulting line of parametric code 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 flat bar. This axis is defined by the workline of the flat bar (see step 3 ).

Entering 0 (zero) makes the material straight, not twisted. The result is a line of parametric code that reads: obj.MaterialTwistAngle = 0.000000 (where obj is the " Object name ").

Entering a specific number of degrees causes " Point 1 " of the material to remain fixed, while the right end is rotated the number of degrees entered. Validation accepts entries between -3600.0 and 3600.0 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 will be midway between the left and right ends of the flat bar. In the parametric code, the choice you make is designated with a string ( "None" or "Camber" or "Weak Axis" or "Strong Axis" ).

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

"None" makes the flat 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 flat bar with the ends fixed. The " Mid-ordinate " sets the offset at mid-span and the direction (+ or -) of that offset.

"Weak Axis" or "Strong Axis" produce 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. The two ends of the flat 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 (a floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This distance is the flat bar 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 far side )

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

Example: If you were to enter 100.0 , 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 " has been selected as 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 will 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 , 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 (a floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This distance defines the amount of curvature of the flat bar. It applies when the " Rolling operation " is " Strong Axis " or " Weak Axis ".

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 , 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 (a floating point number ) in mm or inches, depending on the startup code Units(' ... ') . This is the distance that you want the right end of the flat bar to be offset from " Point 2 ." It applies when " Weak axis " or " Strong axis " is the " Rolling operation ."

For a flat 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 18.0 , the resulting line of parametric code would read: obj.SpiralOffset = 18.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 '' or ' Solid Stick + 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 define the color of the flat bar when it is displayed in one of the three solid forms .

The predefined 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 flat bar is centered with respect to its Y material axis (its width ). The resulting parametric code reads: obj.Centered = "Yes" (where obj is the " Object name ").

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

A positive distance entered here brings the (left or right) end of the flat 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 under " Left end settings " results in a line of parametric code that reads: obj.MaterialSetbackLeftEnd = 0.000000 (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 will be 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 flat 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 :

     

"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.