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

Grating length ( obj . Length or obj.length ): The length of the grating along its longitudinal axis ( X material axis ). The returned value is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example 1 : Entering a specific distance results in the length of the material being a set value when this script is Run.

Example 2: Entering the expression gr1.Point1.Distance(gr1.Point2) sets the grating length to be calculated from the distance between the two work points (" Point 1 " and " Point 2 "). The resulting line of parametric code reads: gr1.Length = gr1.Point1.Distance(gr1.Point2).

Grating width ( obj . Width or obj.width ): The width of the grating along its Y material axis . The returned value is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example: The expression gr1.BearingBarSpacing * (gr1.NumberOfStringersInGrate-1) + gr1.BearingBarThickness calculates the grating width as follows: [( bearing bar spacing )]( number of bearing bars - 1) + bearing bar thickness . The resulting line of parametric code reads: gr1.Width = gr1.BearingBarSpacing * (gr1.NumberOfStringersInGrate-1) + gr1.BearingBarThickness .

Number of bearing bars ( obj . NumberOfStringersInGrate or obj.num_bbar ): The total number ( integer > 0) of bars that are parallel with the grating's X material axis . Each bearing bar is the " Grating length ."

Bearing bar depth ( obj . BearingBarWidth or obj.bbar_depth ): The distance between the top and bottom edges of any one bearing bar. All bearing bars are this same depth. The end bands are also this same depth. Depth is measured perpendicular to the work line of the grating and is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Bearing bar thickness ( obj . BearingBarThickness or obj.bbar_thick ): The thickness of any one bearing bar. All bearing bars are this same thickness. Thickness is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Changing the thickness entered here recalculates the " Grating width " when gr1.BearingBarSpacing * (gr1.NumberOfStringersInGrate-1) + gr1.BearingBarThickness is entered to that field and gr1 is the " Object name ."

Bearing bar spacing ( obj . BearingBarSpacing or obj.bbar_spa ): The distance between any one bearing bar and the next bearing bar plus the thickness of the one bearing bar. A distance is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Changing the bearing bar spacing recalculates the " Grating width " when gr1.BearingBarSpacing * (gr1.NumberOfStringersInGrate-1) + gr1.BearingBarThickness is entered to that field and gr1 is the " Object name ."

Cross bar depth ( obj . CrossBarWidth or obj.cbar_depth ): The distance measured perpendicular to the workline of the grating between the top and bottom edges of any one cross bar. In other words, this is the Z material axis dimension of the cross bar. All cross bars are this same depth. A distance is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Example: If the grating was laid out in a plan view, then this distance is the difference between the elevation of the top of that cross bar and the bottom of that same cross bar.

Cross bar thickness ( obj . CrossBarThickness or obj.cbar_thick ): The thickness of any one cross bar. All cross bars are this same thickness. Thickness is a floating point number in mm or inches, depending on the startup code Units(' ... ') .

Cross bar spacing ( obj . CrossBarSpacing or obj.cbar_spa ): The distance from the center of one cross bar to the center of the next. A distance is a floating point number in mm or inches, depending on the startup code Units(' ... ') . The example below shows this as the distance between any one cross bar cross bar and the next cross bar plus the thickness of the one cross bar.

Note: The number of cross bars in the grating is determined by the length of the grating and the cross bar spacing. This means, for example, that if you were to increase the cross bar spacing, the number of cross bars might decrease since the " Grating length " would remain the same.

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 define the color of the grating 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 ".


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

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

End cut angle ( obj . LeftEndCutAngle or obj . RightEndCutAngle ):

End band thickness preparation ( obj . LeftEndBandThickness or obj . RightEndBandThickness ): The thickness (a floating point number in the startup code " Units ") of the left/right end band.


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.