The Parametric Round 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 , 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()

Bar diameter ( obj . BarDiameter or obj.bar_diameter ): The cross-sectional distance from one edge of the bar to the other as measured through the bar's center. A distance is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example: Entering a specific distance sets the diameter of the material to be that specific 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 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 ") sets the length of the material to be calculated 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 points ( Point1 and Point2 ). The resulting line of parametric code reads: obj.WorkpointSlopeDistance = obj.Point1.Distance(obj1.Point2).

Angle of twist ( obj . MaterialTwistAngle or obj.angle_of_twist ): 0 degrees or the positive or negative (-) number of degrees of twist about the longitudinal axis ( X material axis ) of the round bar. This axis is defined by the workline of the round 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 ( 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.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 these choices (except None ) is midway between the left and right ends of the round 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 round bar straight (not curved). The resulting line of parametric code reads: obj.RollType = "None" (where obj is the " Object name ").

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

"Weak Axis" or "Strong Axis" rolling of the round bar produces bending that is circular. The " Mid-ordinate " or " Included Angle " or " Rolling radius " sets the amount of offset at mid-span and the direction (+ or -) of that offset. For " Strong Axis " or " Weak Axis " rolling, the two ends of the round 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 round bar is 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 38.0 , the resulting line of parametric code would read: obj.MidOrdinate = 38.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: An entry of 10.0 made here results in a line of parametric code that reads: 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 sets the amount of curvature of the round bar when " Strong Axis " or " Weak Axis " has been selected as the " Rolling operation ." 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 , 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 round bar is to be offset from " Point 2 ." It applies when " Weak axis " or " Strong axis " is the " Rolling operation ."

For a round 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 45.0 , the resulting line of parametric code would read: obj.SpiralOffset = 45.0 (where obj is the " Object name " and 45.0 is in the " Units " established in the startup code).

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 ' are based on their surface finish. Solid erection views in ' Drawing Editor on

Example: Selecting Yellow Zinc results in a line of parametric code that reads: obj.Finish = "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 round 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 ): or ( "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 round bar is centered with respect to its Y material axis (its diameter). 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 round bar's top or bottom edge runs along the workline. 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 ): The positive or negative (-) distance (a floating point number in the startup code " Units ") that you want the (left or right) end of the round bar to be displaced from its work point.

A positive distance brings the (left or right) end of the round bar 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) under " Left end settings " results in a line of parametric code that reads: obj.MaterialSetbackLeftEnd = 0.00000 (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 diameter) of the bar.

0 (zero) designates a square cut end. If the left end the round bar is toward the left on your computer screen: 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.00000 (where obj is the " Object name "). If 0 is entered under " Right end settings ," the resulting parametric code reads: obj.WebCutRightEnd = 0.000000 .

Thread type ( obj . ThreadTypeLeftEnd ) or ( obj . ThreadTypeRightEnd ): "None" or "Left handed" or "Right handed" . Other than in the Report Writer and on the Round Bar Material window, this information is not referenced in SDS2 programs.

Example: Selecting Left handed results in a line of parametric code that reads: obj.ThreadTypeLeftEnd = "Left handed" (where obj is the " Object name ").

Thread length ( obj . ThreadLengthLeftEnd ) or ( obj . ThreadLengthRightEnd ): The distance (in the startup code " Units ") from the left or right end of the material to where you want the threaded area to end. The following illustration shows how Modeling represents the threaded area when the round bar is displayed in solid opaque form. This does not affect auto detailing .

tl = thread 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.