Quick Notes on Parametric Modules

Functionality keys for attributes :

  • read-only : You can read the attribute from an object in the model, but cannot write data to the object.
  • Updatable : You can write the attribute to an object selected with a Python script -- see mem1.Update() .
  • not updatable : You cannot write this attribute to an existing object in the model.

Modules documented in Quick Notes (this HTML page):

  assembly FloatComparison param shape
  bnt_plate grate plate_layout shr_stud
  bolt_add grate_trd point sqr_bar
  clevis hole_add Point3D Tools
  cons_circle Layout3D rect_plate turnbuckle
  cons_line Math3D RFI version
  deck member rnd_bar view
  dialog mtrl_cut rnd_plate weld_add
  Drawing mtrl_fit roll_plate  
  flat_bar mtrl_list rolled_section  

Modules or packages containing modules documented elsewhere (other HTML pages):

  CNC FloatComparison MainMaterial sds2
  Commands GroupMember MaterialBase SelectionDialog
  Component Hash MaterialBaseWidgets StandardDetail
  CustomProperties IFC MemberBase SurfaceFinish
  DesignCalcs job MergeMaterial Transform3D
  Designable Kiss model Uuid  
  evu Line3D Output UserDefinedConnection  
Feedback   Locator Polygon WebBrowser  

Also see :

PR 41458 All parametric material add features, e.g. rect_plate.RectPlate, rolled_section.RolledSection, etc., can be converted to a MaterialBase.BuiltinMaterial instance via a new method BuiltinMaterialAddFeature(). From there, all the normal MaterialBase and BuiltinMaterial APIs, like polygon generation, apply. For example:

import Polygon
import rect_plate
from sds2.obj import vis_pt

rp = rect_plate.RectPlate()
rp.Width = 6.
rp.Thickness = .25
rp.color = 'Medium_material'
rp.WorkpointSlopeDistance = 12.
builtin = rp.BuiltinMaterialAddFeature()
poly = builtin.CreatePolygons()
with Polygon.Preview(poly) as preview:
vis_pt((0,0,0))
(v2017)


The assembly module

Defining the object :

assm1 = Assembly() begins code for adding an assembly to a member.

assm1.Member = MemberLocate("status line") or a member object. Sets the member the assembly is added to.

Object attributes :

assm1.AssemblyName = the name (a "string") of an assembly in your current Job.

assm1.LocationPoint = PointLocate("Locate a point") or a point object

assm1.Rotation = (X, Y, Z) member coordinates.

Methods and functions :

assm1.Add() adds the assembly.

AssemblyList() returns a list of the assemblies in your current Job.

Exceptions :

assembly.error


The bnt_plate module

Defining the object :

bp1 = BntPlate() begins code for adding bent plate as a submaterial.

bp1.Member = MemberLocate("status line") or a member object. Sets the member the bent plate is to be added to.

memadd1=Member('Misc Bent Plate') begins code for adding bent plate as a member .

Object attributes :

bp1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

bp1.Point2 = PointLocate("Locate 1st point") or a point object.( Not updatable )

bp1.MaterialGrade = a string ("A36" or "A572" or etc.). ( Not updatable )

bp1.Centered = "Yes" or "No". ( Not updatable )

bp1.Thickness = a positive distance. ( Not updatable )

bp1.IncludedAngle = a number of degrees.( Not updatable )

bp1.RollingRadius = a positive distance.( Not updatable )

bp1.BentPlateLeg = a positive distance.( Not updatable )

bp1.BentPlateOSL = a positive distance. ( Not updatable )

bp1.WorkpointSlopeDistance = a positive distance. ( Not updatable )

bp1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

bp1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

bp1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

bp1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

bp1.FlangeCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

bp1.FlangeCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

bp1.OrderLength = a positive distance. ( Not updatable )

bp1.MaterialType = "Bent plate". ( Not updatable )

bp1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

bp1.ImperialDescription or bp1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

bp1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the bp1.ImperialDescription or bp1.MetricDescription.

bp1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

bp1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

bp1.MaterialRoute1Description = a "string" for "MULT CUTTING #".( Not updatable )

bp1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

bp1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

bp1.MaterialRoute4Description = a "string" for "REMARKS". (( Not updatable )

bp1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

bp1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from bp1.Point1. For bent plates added as submaterial only. ( Not updatable )

bp1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = bp1`.BuiltinMaterialAddFeature()

bp1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

bp1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

bp1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

bp1.ShowWindow() = "Yes" or "No".

bp1.Add() adds the bent plate as a submaterial.

memadd1.Add() adds the bent plate as a miscellaneous member.

bp1.Rotate(bp1.Member, (X, Y, Z)) rotates the bent plate.

bp1.Erase() erases the parametrically added bent plate.

bp1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

bnt_plate.error -- see Feature > Add Python Code > except .


The bolt_add module

Defining the object :

bolt1 = Bolt() begins the bolt code.

bolt1.Material = MtrlLocate("Select material to bolt") or a material object. This applies to Add Bolt .

bolt1.Match = MtrlLocate("Select material to bolt to") or a list of material objects. This only applies to an Add Bolt operation.

bolt1.Holes = MtrlLocate("Select material to bolt to") or etc. This applies to Bolt Single Ply .

bolt1.Member = MemberLocate("Select a member") or etc. This applies to Add Bolt Point to Point .

Object attributes :

bolt1.HeadPoint = PointLocate("Locate 1st point") or a point object. For Add Bolt Point to Point .

bolt1.NutPoint = PointLocate("Locate 1st point") or a point object. For Add Bolt Point to Point .

bolt1.Diameter = a positive distance.

bolt1.Length = a positive distance.

bolt1.Grip = a positive distance.

bolt1.PrimaryNutType = "None" or "Heavy hex" or "Heavy square" or "Jam".

bolt1.PrimaryNutGrade = a string ("A563" or etc.).

bolt1.SecondaryNutType = "None" or "Heavy hex" or "Heavy square" or "Jam".

bolt1.SecondaryNutGrade = a string ("A563" or etc.).

bolt1.BoltType = "A325N" or "325SC" or etc.

bolt1.IsFieldBolt = "Shop" or "Field".

bolt1.IsTensionControl = "Yes" or "No".

bolt1.Boltless = "Yes" or "No".

bolt1.SurfaceFinish = "Black" or "Mechanically galvanized" or "Hot dipped galvanized".

bolt1.HillsideWasherAngle = a number of degrees.

bolt1.PrimaryHeadWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.PrimaryHeadWasher.GradeDescription = a string ("F436" or etc.).

bolt1.PrimaryHeadWasher.Quantity = an integer >= 0.

bolt1.PrimaryHeadWasher.Thickness = a positive distance.

bolt1.PrimaryHeadWasher.Width = a positive distance.

bolt1.PrimaryHeadWasher.Rotation = a number of degrees.

bolt1.SecondaryHeadWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.SecondaryHeadWasher.GradeDescription = a string ("F436" or etc.).

bolt1.SecondaryHeadWasher.Quantity = an integer >= 0.

bolt1.SecondaryHeadWasher.Thickness = a positive distance.

bolt1.SecondaryHeadWasher.Width = a positive distance.

bolt1.SecondaryHeadWasher.Rotation = a number of degrees.

bolt1.TertiaryHeadWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.TertiaryHeadWasher.GradeDescription = a string ("F436" or etc.).

bolt1.TertiaryHeadWasher.Quantity = an integer >= 0.

bolt1.TertiaryHeadWasher.Thickness = a positive distance.

bolt1.TertiaryHeadWasher.Width = a positive distance.

bolt1.TertiaryHeadWasher.Rotation = a number of degrees.

bolt1.PrimaryNutWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.PrimaryNutWasher.GradeDescription = a string ("F436" or etc.).

bolt1.PrimaryNutWasher.Quantity = an integer >= 0.

bolt1.PrimaryNutWasher.Thickness = a positive distance.

bolt1.PrimaryNutWasher.Width = a positive distance.

bolt1.PrimaryNutWasher.Rotation = a number of degrees.

bolt1.SecondaryNutWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.SecondaryNutWasher.GradeDescription = a string ("F436" or etc.).

bolt1.SecondaryNutWasher.Quantity = an integer >= 0.

bolt1.SecondaryNutWasher.Thickness = a positive distance.

bolt1.SecondaryNutWasher.Width = a positive distance.

bolt1.SecondaryNutWasher.Rotation = a number of degrees.

bolt1.TertiaryNutWasher.Type = "None" or "Hardened" or "Square plate" or "Round plate" or "Flat" or "Bevel" or "Load" or "Hillside".

bolt1.TertiaryNutWasher.GradeDescription = a string ("F436" or etc.).

bolt1.TertiaryNutWasher.Quantity = an integer >= 0.

bolt1.TertiaryNutWasher.Thickness = a positive distance.

bolt1.TertiaryNutWasher.Width = a positive distance.

bolt1.TertiaryNutWasher.Rotation = a number of degrees.

bolt1.ShowWindow = "Yes" or "No".

bolt1.SuppressWarnings = "Yes" or "No".

bolt1.Direction = "In" or "Out".

Methods (adding, etc.):

bolt1.AddMatch() adds bolts through matching holes.

bolt1.AddOnePly() adds bolts through holes in one ply of material only.

bolt1.AddPointToPoint() adds bolts point to point.

Exceptions :

bolt_add.error


The clevis module

Defining the object :

cv1 = Clevis() begins the clevis code.

cv1.Member = MemberLocate("status line") or a member object. Sets the member the clevis is to be added to.

memadd1=Member('Misc Clevis') begins code for adding a clevis as a member.

Object attributes :

cv1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

cv1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

cv1.SectionSize = a string ("CLEVIS_1" or etc.) from the local shape file. ( Not updatable )

cv1.Grip = a positive distance. ( Not updatable )

cv1.PinDiameter = a positive distance. ( Not updatable )

cv1.RodDiameter = a positive distance. ( Not updatable )

cv1.ThreadType = "None" or "Left handed" or "Right handed". ( Not updatable )

cv1.MaterialType = "Clevis". ( Not updatable )

cv1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

cv1.ImperialDescription or cv1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

cv1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the cv1.ImperialDescription or cv1.MetricDescription.

cv1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized".( Not updatable )

cv1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

cv1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

cv1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

cv1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

cv1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

cv1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.)

cv1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from cv1.Point1. For clevises added as submaterial only. ( Not updatable )

cv1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = cv1`.BuiltinMaterialAddFeature()

cv1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

cv1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

cv1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

cv1.ShowWindow() = "Yes" or "No".

cv1.Add() adds the clevis as a submaterial.

memadd1.Add() adds the clevis as a miscellaneous member.

cv1.Rotate(cv1.Member, (X,Y,Z)) rotates the clevis.

cv1.Erase() erases the parametrically added clevis.

cv1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

clevis.error


The cons_circle module

Defining the object :

cc1 = ConsCircle() begins the construction circle code.

Object attributes :

cc1.Center = PointLocate("Locate a point") or (X, Y, Z) or a point object. ( Not updatable )

cc1.Radius = a distance. ( Not updatable )

cc1.Diameter = a distance. ( Not updatable )

cc1.PenNumber = "White" or "Red" or "Yellow" or "Green" or "Cyan" or "Blue" or "Magenta". ( Not updatable )

Note: A parametric construction circle accepts radius or diameter as an attribute. If both attributes are used, diameter is ignored.

Methods :

cc1.Add() adds the construction circle.

cc1.Erase() erases the parametrically added construction circle.

Exceptions :

cons_circle.error


The cons_line module

Defining the object :

cl1 = ConsLine() begins the construction line code.

Object attributes :

cl1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

cl1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

cl1.Rotation = degrees with respect to screen coordinates. ( Not updatable )

cl1.PenNumber = "White" or "Red" or "Yellow" or "Green" or "Cyan" or "Blue" or "Magenta". ( Not updatable )

Note: A construction line can be defined by a first point and either a second point or an angle. If a second point is defined in the code, the angle is ignored.

Methods (adding, etc.):

cl1.Add() adds the construction line.

cl1.Intersect(cl2) returns the global X, Y, Z coordinates of the intersection of two construction lines.

cl1.Translate(dx, dy) . dx is the distance along the construction line object (cl1) from cl1.Point1 in the direction of cl1.Point2. The dy distance is perpendicular to dx.

cl1.Erase() erases the parametrically added construction line.

Exceptions :

cons_line.error


The deck module

Defining the object :

dk1 = Deck() begins code for adding decking as a submaterial.

dk1.Member = MemberLocate("status line") or a member object. Sets the member the decking is to be added to.

memadd1=Member('Misc Decking') begins code for adding decking as a member .

Object attributes :

dk1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

dk1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

dk1.NumberOfRibs = an integer > 0. ( Not updatable )

dk1.RibWidth = a positive distance. ( Not updatable )

dk1.RibDepth = a positive distance. ( Not updatable )

dk1.RibSpacingCenterToCenter = a positive distance. ( Not updatable )

dk1.BaseWidth = a positive distance. ( Not updatable ))

dk1.Width = a positive distance. ( Not updatable )

dk1.Length = a positive distance. ( Not updatable )

dk1.Thickness = a positive distance. ( Not updatable )

dk1.LeftEndCutAngle = a number of degrees. ( Not updatable )

dk1.RightEndCutAngle = a number of degrees. ( Not updatable )

dk1.MaterialType = "Decking". ( Not updatable )

dk1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

dk1.ImperialDescription or dk1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

dk1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the dk1.ImperialDescription or dk1.MetricDescription.

dk1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

dk1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

dk1.MaterialRoute1Description = a "string" for "MULT CUTTING #". (Not updatable)

dk1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

dk1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

dk1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

dk1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

dk1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from dk1.Point1. For decking added as submaterial only. ( Not updatable )

dk1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = dk1`.BuiltinMaterialAddFeature()

dk1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

dk1.GUID returns the GUID (Global Unique Identifier) of the material object. ( read-only )

dk1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

dk1.ShowWindow() = "Yes" or "No".

dk1.Add() adds the decking as a submaterial.

memadd1.Add() adds the decking as a miscellaneous member.

dk1.Rotate(dk1.Member, (X,Y,Z)) rotates the decking.

dk1.Erase() erases the parametrically added decking.

dk1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

deck.error


The dialog module

Much of the dialog module replaces deprecated code from the param module. Information that is truly new is marked .

Defining the dialog object :

from dialog import Dialog imports the Dialog class.

Dialog0 = Dialog("Title") defines the dialog object. The argument -- "Title" -- is optional.

Feature > Add Functions > Dialog Box :

Entry1 = IntEntry( parent, "Dictionary item name", label="Prompt string", default="Default value") creates an IntEntry object and assigns it to the variable Entry1 , thus creating an integer entry field that allows the entry of positive or negative whole numbers.

Entry1 = FloatEntry( parent, "Dictionary item name", label="Prompt string", default="Default value") creates a FloatEntry object and assigns it to the variable Entry1 , thus creating a floating point entry field that allows the entry of floating point numbers, which are numbers with decimal points in them.

Entry1 = DimensionEntry(parent, "Dictionary item name", style="style", label="Prompt string", default="Default value") Note that style="style" may be omitted. If this is done, the style number 4 ("dim") is used, and the display follows the primary dimension " Units ." The value assigned to default= may be a dimension ( "1-2 1/2" -- note the quotes), a float ( 12.5 ) or an integer ( 12 ).

Entry1 = StrEntry(parent, "Dictionary item name", label="Prompt string", default="Default value") creates a StrEntry object and assigns it to the variable Entry1 , thus creating a string entry field that allows the entry of text.

Entry1 = DateEntry( parent, "Dictionary item name", label="Prompt string", default="Default value" ) creates a DateEntry object and assigns it to the variable Entry1 , thus creating a string entry field that allows the entry of a date .

Menu1 = Combobox(parent, "Dictionary item name", "List", label="Prompt string", default="Default value") creates a Combobox object and assigns it to the variable Menu1 , thus creating a field with a selection menu ( ).

Check_boxes1 = CheckButtons(parent, "Dictionary item name", "List", label="Prompt string", default="Default value") creates a CheckButtons object and assigns it to the variable Check_boxes1 , thus creating one or more check box options that can be checked ( ) or unchecked ( ).

Check_box1 = Checkbox( parent, "Dictionary item name", label="Prompt string", default="Default value" ) creates a Checkbox object and assigns it to the variable Check_box1 , thus creating a single check box option that returns True for checked ( ) or False for unchecked ( ).

Entry1 = ReadOnlyEntry(parent, label="Prompt string", displayed_value="Default value") creates a ReadOnlyEntry object and assigns it to the variable Entry1 , thus creating a read-only field.

Header_line1 = Label( parent, "Header Line" ) creates a Label object and assigns it to the variable Header_line1 , thus placing a header line in whatever frame is defined.

Image1 = Image( parent, "/path/image.gif" ) creates an Image object and assigns it to the variable Image1 , thus placing the .gif or .ppm or .pgm or .png or .jpg image whose path is defined in quotes.

File_browse1 = ChooseFile( parent, "Dictionary item name", label="Prompt string", save=False, default="Default value" ) creates a ChooseFile object and assigns it to the variable File_browse1 . save=False makes the " Browse " button associated with this field into a tool for returning a file path, rather than writing to a file.

File_save1 = ChooseFile( parent, "Dictionary item name", label="Prompt string", save=True, default="Default value" ) creates a ChooseFile object and assigns it to the variable File_save1 . save=True makes the " Browse " button associated with this field into a tool for writing to a file.

Group_title1 = Frame( parent, "Group title") creates a Frame object and assigns it to the variable Group_title1 .

Column1 = Column( parent )
Entry2 = StrEntry( Column2, ... )
Entry3 = StrEntry( Column2, ... )
Column4 = Column( parent )
Entry5 = StrEntry( Column4, ... )
Entry6 = StrEntry( Column4, ... )
is a code block for defining two side-by-side columns, each with two string entry fields. Two of the entry fields ( Entry2 and Entry3 ) have the left column, Column1 , as their parent. The other two entry fields ( Entry5 and Entry6 ) have the right column, Column4 , as their parent.

Tabset1 = Tabset( parent )
Tab2 = Tab( Tabset1, "Tab Name" )
Entry3 = StrEntry( Tab2, 'x', label="Entry 1:", default="xxx" )
Tab4 = Tab( Tabset1, "Tab Name" )
Entry5 = StrEntry( Tab4, 'y', label="Entry 2:", default="yyy" )
is a code block for defining a tabset with two tabs, each of which as a single string entry field. The parent of Tabset1 is Dlg0 in the following script. The left tab ( Tab2 ) and the right tab ( Tab4 ) each has Tabset1 as its parent. One entry field ( Entry3 ) has Tab2 as its parent. The other entry field ( Entry5 ) has Tab4 as its parent.

Mtrl_browse1 = ChooseMtrl(parent_frame, "Dictionary item name", "List", label="Prompt string", default="Default value") creates a ChooseMtrl() object and assigns it to the variable Mtrl_browse1 , thus creating a field for selecting section sizes.

Dlg0.done() creates a dictionary from the dialog object.

Objects you can add to a dialog box using a text editor :

Dlg0.Run() is an alternative to Dlg0.done() . It returns True (if the user clicks "OK") or False (if the user clicks "Cancel").

Entry = Radio(parent, "var_name", choices, label="string", default=item in choices) creates a Radio object and assigns it to the variable Entry , thus creating a field with radio buttons, which allows only one item at a time to be selected.

Entry = Text( parent, "var_name", default="String" ) creates a Text object and assigns it to the variable Entry , thus creating an area for muli-line text entry.

Methods for disabling and validation of dialog fields :

Entry1.DisableOtherIf(Entry2, "expression that returns True or False") applies a DisableOtherIf() method to the dialog object Entry1 . The first argument, Entry2 , is the field that will be disabled when the quoted expression in the second argument is False. Related methods for disabling, enabling : obj.DisableIf() , obj.EnableIf() , obj.EnableOtherIf() .

Entry.ValidateRange(lower_limit, upper_limit) applies a ValidateRange() method to the Entry dialog object. The dialog object can be a IntEntry or FloatEntry or Dimension Entry object. The lower_limit or upper_limit can be an integer or floating point number. A " Value must be ... " message that is based on the entered range displays when the entry is outside the specified range and the user hovers the offending entry.

Entry.Validate("string expression", "string message") . The entry that the user makes is valid when the "string expression" is True. The string expression may be a range (such as "0 <= var <= 100" ) or a prohibited value (such as "var1 != var2" ) or multiple prohibited values (such as "var not in ['xxx', 'yyy', 'zzz']&quot ). The " string message " displays when the field entry is invalid and the user hovers the entry.

Entry.PopupValidate(variable_from_def, "string message") . The first argument calls a function defined using def . When writing the validation expression for that function, use the Get() method to get the current value of the field. The " string message " pops up as a warning when the field entry is invalid (returns False).


The Drawing module

The Drawing constructor to return a drawing reference object :

d = Drawing(arg1, arg2) returns a drawing reference object of the type arg1 whose name is arg 2 . arg1 can be one of the following drawing types: "detail" "Detail Sheet" "Gather Sheet" "Erection Sheet" "Submaterial" "Erection View". arg2 can be a string that is the name of the particular drawing type specified by arg 1 .

Passing a DrawingReference object to the Drawing constructor :

d = Drawing(dlist[0])

To return a list of drawing reference objects :

dlist = GetAlldetails() returns a list of drawing reference objects for details.

dlist = GetAllSubmaterial() returns a list of drawing reference objects for submaterials.

dlist = GetAllErectionViews() returns a list of drawing reference objects for erection views.

dlist = GetAllDetailSheets() returns a list of drawing reference objects for detail sheets.

dlist = GetAllErectionSheets() returns a list of drawing reference objects for erection sheets.

dlist = GetAllGatherSheets() returns a list of drawing reference objects for gather sheets.

Attributes :

Drawing(dlist).size returns the actual drawing size, in the form length * height , as reported on the Drawing Data window. read-only

Drawing(dlist).scale returns the " Drawing scale " (float) reported on the Drawing Data window. read-only

Drawing(dlist).date_of_revision returns the " Date of revision " reported on the Drawing Data window. read-only

Drawing(dlist).last_printed returns the " Last printed " date reported in Drawing Data . read-only

Drawing(dlist).detail_complete returns the " Detail complete " date reported in Drawing Data . read-only

Drawing(dlist).sent_for_approval returns the " Sent for approval " date reported in Drawing Data . read-only

Drawing(dlist).received_approval returns the " Received approval " date reported in Drawing Data . read-only

Drawing(dlist).approval_status returns the " Approval status " (string) in Drawing Data ("Not reviewed" or "Approved" or "Rejected" or "Revise and resubmit" or "Approved as noted"). read-only

Drawing(dlist).in_shop returns the " In shop " date reported in Drawing Data . read-only

Drawing(dlist).fabricated returns the " Fabricated " date reported in Drawing Data . read-only

Drawing(dlist).actual_ship_date returns the " Actual ship date " reported in Drawing Data . read-only

Drawing(dlist).erected returns the " Erected " date reported in Drawing Data . read-only

Drawing(dlist).drawing_name returns the name (string) of the drawing or sheet. read-only

Drawing(dlist).revision returns the " Sheet revision " reported in Drawing Data . read-only

Drawing(dlist).member_type the " Member type " in Drawing Data ("Beam" or "Column" or "Vertical Brace" or "Horizontal Brc" or "Misc" or "Interactive"). ( read-only )

Methods :

Drawing(dlist).GetPiecemarks() returns a list of all drawing reference objects on a sheet.

Drawing(dlist).GetReferrers() returns a list of drawing reference objects that the drawing reference object is on.


The flat_bar module

Defining the object :

fbar1 = FlatBar() begins code for adding flat bar as a submaterial.

fbar1.Member = MemberLocate("status line") or a member object. Sets the member the flat bar is to be added to.

memadd1=Member('Misc Flat Bar') begins code for adding flat bar as a member.

Object attributes :

fbar1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

fbar1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

fbar1.MaterialGrade = a string ("A36" or "A572" or etc.). ( Not updatable )

fbar1.Centered = "Yes" or "No". ( Not updatable )

fbar1.RollType = "None" or "Camber" or "Weak Axis" or "Strong Axis". ( Not updatable )

fbar1.Width = a positive distance. ( Not updatable )

fbar1.Thickness = a positive distance. ( Not updatable )

fbar1.MaterialTwistAngle = a positive or negative (-) number of degrees. ( Not updatable )

fbar1.MidOrdinate = a positive distance. ( Not updatable )

fbar1.IncludedAngle = a number of degrees. ( Not updatable )

fbar1.RollingRadius = a positive distance. ( Not updatable )

fbar1.SpiralOffset = a positive distance. ( Not updatable )

fbar1.WorkpointSlopeDistance = a positive distance. ( Not updatable )

fbar1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

fbar1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

fbar1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

fbar1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

fbar1.OrderLength = a positive distance. ( Not updatable )

fbar1.MaterialType = "Flat bar". ( Not updatable )

fbar1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable)

fbar1.ImperialDescription or fbar1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

fbar1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the fbar1.ImperialDescription or fbar1.MetricDescription.

fbar1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

fbar1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

fbar1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

fbar1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

fbar1.MaterialRoute3Description = a "string" for "JOB COST CODE". (Not updatable)

fbar1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

fbar1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

fbar1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from fbar1.Point1. For flat bars added as submaterial only. ( Not updatable )

fbar1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = fbar1`.BuiltinMaterialAddFeature()

fbar1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

fbar1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

fbar1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

fbar1.ShowWindow() = "Yes" or "No".

fbar1.Add() adds the flat bar as a submaterial.

memadd1.Add() adds the flat bar as a miscellaneous member.

fbar1.Rotate(fbar1.Member, (X, Y, Z)) rotates the flat bar.

fbar1.Erase() erases the parametrically added flat bar.

fbar1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

flat_bar.error -- see Feature > Add Python Code > except .


The FloatComparison module

Functions :

EqualsAbsoluteTolerance(num1, num2, tol) or feq(num1, num2, tol) . The two required arguments ( num1 , num2 ) are compared as floating point numbers. True is returned if their values are equivalent within the specified or default tolerance. False is returned if their values are different. The third argument ( tol ) is the tolerance and is optional. When a tolerance is not specified, the default is .0001.

NotEqualAbsoluteTolerance(num1, num2, tol) or fne(num1, num2, tol) returns True if the two floating point numbers, num1 and num2 , are not closer together than the specified tolerance or a tolerance of .0001. False is returned if they are the same.

LessThanAbsoluteTolerance(num1, num2, tol) or flt(num1, num2, tol) returns True if the first floating point number, num1 , is less than the second floating point number, num2 , so long as the two numbers are not closer together than the third argument, which is the specified tolerance ( tol ). If there is no third argument, the two floating point numbers are evaluated to the default tolerance, which is .0001. False is returned if the two numbers are closer together than the tolerance, or if the first number is greater than the second.

GreaterThanAbsoluteTolerance(num1, num2, tol) or fgt(num1, num2, tol) returns True if the first floating point number, num1 , is greater than the second floating point number, num2 , unless the two numbers are closer together than the specified tolerance ( tol ). False is returned if the two numbers are closer together than the tolerance, or if the first number is less than the second. A tolerance of .0001 is the default, which is applied when the optional third argument is not specified.

LessThanEqualsAbsoluteTolerance(num1, num2, tol) or fle(num1, num2, tol) returns True if num1 <= num2 within the specified tolerance or the default tolerance of .0001, which applies when there is no third argument. Otherwise, False is returned.

GreaterThanEqualsAbsoluteTolerance(num1, num2, tol) or fge(num1, num2, tol) returns True if num1 >= num2 within the specified tolerance or the default tolerance of .0001. Otherwise, False is returned.


The grate module

Defining the object :

gr1 = Grate() begins code for adding grating as a submaterial.

gr1.Member = MemberLocate("status line") or a member object. Sets the member the grating is to be added to.

memadd1=Member('Misc Grating') begins code for adding grating as a member .

Object attributes :

gr1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

gr1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

gr1.NumberOfStringersInGrate = an integer > 0. ( Not updatable )

gr1.BearingBarWidth = a positive distance. ( Not updatable )

gr1.BearingBarThickness = a positive distance. ( Not updatable )

gr1.BearingBarSpacing = a positive distance. ( Not updatable )

gr1.CrossBarWidth = a positive distance. ( Not updatable )

gr1.CrossBarThickness = a positive distance. ( Not updatable )

gr1.CrossBarSpacing = a positive distance. ( Not updatable )

gr1.LeftEndCutAngle = a number of degrees. ( Not updatable )

gr1.RightEndCutAngle = a number of degrees. ( Not updatable )

gr1.LeftEndBandThickness = a positive distance. ( Not updatable )

gr1.RightEndBandThickness = a positive distance. ( Not updatable )

gr1.Length = a positive distance. ( Not updatable )

gr1.Width = a positive distance. ( Not updatable )

gr1.MaterialType = "Grating". ( Not updatable )

gr1.MaterialUsageDescription = the material usage description (a "string"). (Not updatable)

gr1.ImperialDescription or gr1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

gr1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the gr1.ImperialDescription or gr1.MetricDescription.

gr1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

gr1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

gr1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable)

gr1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

gr1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

gr1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

gr1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

gr1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from gr1.Point1. For grating added as submaterial only. ( Not updatable )

gr1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = gr1`.BuiltinMaterialAddFeature()

gr1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

gr1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

gr1.Member returns the member number (an integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

gr1.ShowWindow() = "Yes" or "No".

gr1.Add() adds the grating as a submaterial.

memadd1.Add() adds the grating as a miscellaneous member.

gr1.Rotate(gr1.Member, (X,Y,Z)) rotates the grating.

gr1.Erase() erases the parametrically added grating.

gr1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

grate.error -- see Feature > Add Python Code > except .


The grate_trd module

Defining the object :

gt1 = GrateTrd() begins code for adding grating tread as a submaterial.

gt1.Member = MemberLocate("status line") or a member object. Sets the member the grating tread is to be added to.

memadd1=Member('Misc Grating Tread') begins code for adding grating tread as a member .

Object attributes :

gt1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

gt1.Point2 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

gt1.NumberOfStringersInGrate = an integer > 0. ( Not updatable )

gt1.BearingBarWidth = a positive distance. ( Not updatable )

gt1.BearingBarThickness = a positive distance. ( Not updatable )

gt1.BearingBarSpacing = a positive distance. ( Not updatable )

gt1.NosingWidth = a positive distance. ( Not updatable )

gt1.CrossBarWidth = a positive distance. ( Not updatable )

gt1.CrossBarThickness = a positive distance. ( Not updatable )

gt1.CrossBarSpacing = a positive distance. ( Not updatable )

gt1.EndPlatesThickness = a positive distance. ( Not updatable )

gt1.EndPlatesDepth = a positive distance. ( Not updatable )

gt1.BoltDiameter = a positive distance. ( Not updatable )

gt1.HolesVerticalDistance = a positive distance. ( Not updatable )

gt1.HolesHorizontalDistance = a positive distance. ( Not updatable )

gt1.HolesHorizontalSpacing = a positive distance. ( Not updatable )

gt1.Length = a positive distance. ( Not updatable )

gt1.Width = a positive distance. ( Not updatable )

gt1.MaterialType = "Grating tread". ( Not updatable )

gt1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable)

gt1.ImperialDescription or gt1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

gt1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the gt1.ImperialDescription or gt1.MetricDescription.

gt1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

gt1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable)

builtin = gt1`.BuiltinMaterialAddFeature()

gt1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

gt1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

gt1.MaterialRoute3Description = a "string" for "JOB COST CODE". (Not updatable )

gt1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

gt1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

gt1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from gt1.Point1. For grating treads added as submaterial only. ( Not updatable )

gt1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = gt1`.BuiltinMaterialAddFeature()

gt1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

gt1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

gt1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

gt1.Add() adds the grating tread as a submaterial.

memadd1.Add() adds the grating tread as a miscellaneous member.

gr1.ShowWindow() = "Yes" or "No".

gt1.Rotate(gt1.Member, (X,Y,Z)) rotates the grating tread.

gt1.Erase() erases the parametrically added grating tread.

gt1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

grate_trd.error -- see Feature > Add Python Code > except .


The hole_add module

Defining the object :

hole1 = Hole() begins the hole add code.

hole1.Material = MtrlLocate("Locate Material") or a material object. Sets the material the hole(s) are to be added to.

hole1.Holes = HoleLocate("Locate holes to match") or a hole object. Sets the hole(s) to be matched to the material.

Hole group attributes :

hole1.Point = PointLocate("Locate 1st point") or a point object. ( Not updatable )

hole1.HoleType = "Standard Round" or "Short Slot" or "Oversized Round" or "Long Slot" or "Cope Hole" or "Erection Pin Hole" or "Anchor Bolt Hole" or "Plug Weld Hole". ( Not updatable )

hole1.face = Not Applicable . As of SDS2 software v7.300, specifying a face is no longer necessary for adding holes. When a face is not specified, a hole will be added perpendicular to the first polygon which is found to contain the specified point.

hole1.ShouldBeValid = "Yes" or "No". ( Not updatable )

hole1.ReferenceOffsetX = a positive or negative (-) distance. ( Not updatable )

hole1.ReferenceOffsetY = a positive or negative (-) distance. ( Not updatable )

hole1.SpacingX = a positive distance. ( Not updatable )

hole1.SpacingY = a positive distance. ( Not updatable )

hole1.GroupRotation = a number of degrees. ( Not updatable )

hole1.Locate = "Above Left" or "Above" or "Above Right" or "Center Left" or "Center" or "Center Right" or "Below Left" or "Below" or "Below Right". ( Not updatable )

hole1.Columns = an integer > 0. ( Not updatable )

hole1.Rows = an integer > 0. ( Not updatable )

hole1.BoltType = "Auto" or "A325N" or etc. ( Not updatable )

hole1.BoltDiameter = a positive distance. ( Not updatable )

hole1SlotRotation = a positive or negative (-) number of degrees. ( Not updatable )

hole1.SlotLength = a positive distance (see hole1.CalculateSlotLength() ). ( Not updatable )

hole1.Diameter = a positive distance (see hole1.CalculateHoleSize() ).

hole1.BothSides = "Yes" or "No". Applies to hollow sections. ( Not updatable )

Methods (adding, etc):

hole1.CalculateSlotLength() = a positive distance based on the input bolt diameter and slot hole type (see " hole1.SlotLength ").

hole1.CalculateHoleSize() = a positive distance based on the input bolt diameter and hole type (see " hole1.Diameter ").

hole1.HolesAdded() returns a list of parametrically added holes that you can use to match holes.

hole1.ShowWindow = "Yes" or "No".

hole1.Create() adds the hole group.

Exceptions :

hole_add.error -- see Feature > Add Python Code > except .


The Layout3D module

layout = Layout3D() assigns the variable name layout to be the Layout3D object.

layout.add_node( Point3D, radius, optional_vector ) assigns a node to the Layout3D object, which is named layout in this example. A script requires a distinct xxx.add_node() line for each node. The first argument for any one node, Point3D , is a Point3D object that defines the global coordinates of that node. The second argument, radius , is a floating point number that defines the length of the bend radius at that node. The third argument, optional_vector , uses a vector in the form Point3D(x, y, z) to set a direction that is perpendicular to the next node in the script. Be aware that the layout.set_depth_vectors() method (described below) must be used if you choose not to enter the optional_vector .

layout.clear() clears all the nodes from the Layout3D object, which is named layout in this example.

layout.pop_node() clears the last node from the Layout3D object, which is named layout in this example.

layout.set_depth_vectors(Point3D, boolean) sets the direction of the entire layout when layout.add_node() does not include a vector. The first argument, Point3D , is a vector in the form Point3D (x, y, z) that defines the directional component of the layout. The vector must define a direction that is perpendicular to the plane of the first three points of the layout, or the parametric will generate errors. The second argument, boolean , is either True or False. True allows the material to be twisted. False keeps the round bar from being twisted.

obj.layout = layout assigns the Layout3D object named layout as the .layout attribute of obj , where obj is a parametric round bar or weld object.


The Math3D module

Angle(v1, v2) or v1.Angle(v2) returns the angle (in radians) between the two vectors, v1 and v2, where v1 and v2 are Point3D objects.

AngleLinePlane((p, u), (q, n)) returns the angle (in radians) between the line (p, u) and the plane (q, n), where p, u, q and n are all Point3D objects. For the (p, u) line, p is a point on the line, u is a vector that defines the direction of the line from p. For the (q, n) plane, q is a point on the plane, n is a vector that is normal to the plane.

AnglePlanes((p, u), (q, v)) returns the angle between plane (p, u) and plane (q, v), where p, u, q and v are Point3D objects. For the (p, u) plane, p is a point on the plane, u is a vector. Similarly, for the (q, v) plane, q is a point, and v is a vector that sets the directions of the plane from that point.

Bisector(v1, v2) returns a unit vector that bisects the two vectors, v1 and v2, where v1 and v2 are Point3D objects. The unit vector is output in the form Point3D(x, y, z), where the sum of the squares of x, y and z equal one (x^2 + y^2 + z^2 = 1).

ClosestPointOnLine(p, (q, v)) returns the closest Point3D to the point p on line (q, v), where p, q and v are all Point3D objects . For the (q, v) line, q is a point, and v sets the direction of the line with respect to that point.

ClosestPointOnPlane(p, (q, n)) returns the closest Point3D to the point p that is on the plane (q, n), where p, q and n are all Point3D objects . For the (q, n) plane, q is a point on the plane, and n is a vector that is normal to that plane.

ClosestPointsBetweenLines((p, u), (q, v), accy=0.0001) returns the closest Point3D on line (p, u) to line (q, v) and the closest Point3D on line (q, v) to line (p, u), where p, u, q and v are Point3D objects. The third argument (accy=some_number) is optional; if omitted, the accuracy is 0.0001.

Cross(v1, v2) returns the vector product of two vectors (v1 and v2), where v1 and v2 are Point3D objects. The vector product is output in the form Point3D(x, y, z).

Distance(p1, p2) or p1.Distance(p2) returns the distance between two points, p1 and p2, where p1 and p2 are Point3D objects.

DistancePointLine(p, (q, v)) returns the distance between the point p and the line (q, v), where p, q and v are all Point3D objects. For the (q, v) line, q is a point on the line, and v is the vector that sets the direction in which the line proceeds through that point.

DistancePointPlane(p, (q, n)) returns the distance that the point p is from the plane (q, n), where p, q and v are all Point3D objects. For the (q, n) plane, q is a point on the plane, and n is a vector that is normal to that plane.

DistanceSquared(p1, p2) or p1.DistanceSquared(p2) returns the distance between two points, p1 and p2, where p1 and p2 are Point3D objects.

Dot(v1, v2) returns the scalar product between the two vectors (v1 and v2), which are Point3D objects . The scalar product is equal to the product of the lengths of the vectors.

EpsilonEquals(v1, v2, tolerance) or p1.EpsilonEquals(v2, tolerance) .

FloatEquals() is the same as EpsilonEquals().

Interpolate(v1, v2, percent) returns a Point3D object that is the specified percentage of the sum of two vectors (v1 + v2). The third argument (percent) is required and gives best results when less than 1.0.

IntersectLinePlane((p, u), (q, n), accy=0.0001) returns the intersection of the line (p, u) and the plane (q, n). It returns (p, u) if the line is on the plane. It returns (None, None) if the line does not intersect the plane. It returns (Point3D, None) if the line intersects the plane at one point. The third argument (accy=some_number) is optional; if omitted, the accuracy is 0.0001.

IntersectPlanes((p, v), (q, u), accy=0.0001) returns the intersection of two planes, (p, v) and (q, u). It returns (None, None, None) if the planes don't intersect. It returns (Point3D, Point3D, None) if the planes intersect in a line. It returns (p, v) if the planes intersect in a plane. The third argument (accy=some_number) is optional; if omitted, the accuracy is 0.0001.

IsParallel(v1, v2) or v1.IsParallel(v2) returns True or False. The arguments v1 and v2 are Point3D objects.

Isperpendicular(v1, v2) or v1.Isperpendicular(v2) returns True or False. The arguments v1 and v2 are Point3D objects.

Length(v1) returns the length of the vector (v1), where v1 is a Point3D object. Magnitude(v1) and Length(v1) are the same.

LengthSquared(v1) returns the square of the length of the vector (v1), where v1 is a Point3D object.

Magnitude(v1) is the same as Length(v1).

PlaneToPoint(p, (q, n)) returns the vector from the plane (q, n) to the point p, where p, q and n are Point3D objects. For the (q, n) plane, q is a point on the plane, n is a vector that is normal to the plane.

Point3D lets you define a Point3D object. The general form of a Point3D object is Point3D(x, y, z).

PointOnLineSegment(p, (l, r), accy=0.0001, l_inclusive=True, r_inclusive=True) returns True if p is on the line segment (l, r), where p, l and r are Point3D objects. For the (l, r) line segment, l and r are its left and right end points. accy=some_number is optional; if omitted, the accuracy is 0.0001. l_inclusive=True/False and/or r_inclusive=True/False control whether the left and/or right end points are considered to be a part of the line; if both are omitted, the line segment is considered to include both end points (i.e. True is the default).

PointOnPlane(p, (q, n), accy=0.0001) returns True if p is on the plane (q, n), where p, q and n are Point3D objects. For the (q, n) plane, q is a point on the plane, and n is a vector that is normal to the plane. The third argument (accy=some_number) is optional; if omitted, the accuracy is 0.0001.

PointToPlane(p, (q, n)) returns the vector from the point p to the plane (q, n), where p, q and n are Point3D objects. For the (q, n) plane, q is a point on the plane, and n is a vector that is normal to the plane.

ScalarProjection(v1, v2) returns the length of first vector (v1) projected onto the second vector (v2) and scaled according to the cosine of the angle between the two vectors. The arguments v1 and v2 can be Point3D objects in the form Point3D(x, y, z).

Unit(v1) returns the unit vector of the vector v1, where v1 is a Point3D object.

VectorProjection(v1, v2)

math is a Python module that is imported when you import the Math3D module.


The member module

Selecting 1 or more members:

MemberLocate("status string") selects a member (returns a member object) if the user left-clicks ( Select ). Right-click ( Menu ) returns member.error: Member selection is cancelled .

Member(mem_num) is the member in your current Job that has been assigned the member number (integer > 0) referenced in parentheses ( mem_num ).

MultiMemberLocate("prompt string") creates a list of member objects from the members that the user selects. If there is already a selection (for example, due to Advanced Selection ), the user can press the Enter key (or right-click and choose " OK ") to create the list from that pre-selection.

obj.modelobject can be used to return a model object, whose attributes can be read/written to using parametric code contained in the model module.

memadd1 =

Member('Type') begins a member add operation. ' Type ' = 'Beam' or 'Column' or 'VBrace' or 'HBrace' or 'Joist' or 'Girt' or 'Purlin' or 'Misc Rolled Section' or 'Misc Rectangular Plate' or 'Misc Round Plate' or 'Misc Bent Plate' or 'Misc Rolled Plate' or 'Misc Flat Plate Layout' or 'Misc Bent Plate Layout' or 'Misc Round Bar' or 'Misc Square Bar' or 'Misc Flat Bar' or 'Misc Grating' or 'Misc Grating Tread' or 'Misc Decking' or 'Misc Shear Stud' or 'Misc Clevis' or 'Misc Turnbuckle'

Member custom properties:

MemberProperties(mem_obj) returns a dictionary of the custom properties -- including the properies, log and notes -- that are assigned to the member object (mem_obj). read-only

MemberPropertySet(mem_obj, "field" or "Notes", "setting") sets the member custom property ("field") on the member object (mem_obj) to a setting ("setting"), or appends a note ("Notes") whose string is the setting ("setting").

utes:

mem1.MemberNumber returns the member number (integer > 0) of the member. ( read-only )

mem1.Piecemark = a string (the member piecemark). ( Not updatable )

mem1.ManufacturingGUID returns the member object's manufacturing GUID. read-only

mem1.MrpUniqueIdentifier returns the member object's FabTrol GUID that was assigned when a FabTrol Export was run. read-only

mem1.Galvanized returns "Yes" or "No". read-only

mem1.QuantityOnDetail returns the quantity (integer >= 0) of members in the model that are under the same member mark. read-only

mem1.OverallDimensions returns X, Y, Z member axes distances. read-only

mem1.WorkpointToWorkpointSlope returns the member's length as calculated from the X, Y and Z global coordinates of its work points. read-only

mem1.MaterialDetailLength returns the actual length of the member main material. ( read-only )

mem1.WorkpointToWorkpointLevel returns the member's length as calculated from the X, Y global coordinates of its work points. read-only

mem1.PlaneAngleOfRotation returns the number of degrees of rotation from horizontal in an X, Y plane. read-only

mem1.MemberSlope returns the number of (+) or (-) degrees that the member slopes from horizontal. read-only

mem1.Type returns "Beam" or "Column" or "Vertical Brace" or "Horizontal Brc" or "Joist" or "Girt" or "Purlin" or "Misc" or "Stair" or "Custom" read-only

Main material attributes:

mem1.FlangeWidth returns the " Flange width " reported in the local shape file for C or WT or W member main material. This is the " Short side depth " for HSS/TS member main material. read-only

mem1.Depth returns the " Depth " reported in the local shape file for C, pipe, WT or W member main material. This is the " Long side depth " for HSS/TS member main material. ( read-only )

mem1.FlangeGage returns the " Flange gage " reported in the local shape file for C, WT or W member main material. read-only

mem1.MomentOfInertiaXAxis returns the " Moment of inertia " reported in the local shape file for C, L, pipe, WT, HSS/TS or W member main material. read-only

mem1.kDistanceDetail returns the " k distance " reported in the local shape file for C, L, WT or W member main material. ( read-only )

mem1.MaterialType returns the " Material type " (W flange, etc.) reported in the local shape file. read-only

mem1.NominalDepth returns the " Nominal depth " reported in the local shape file for C, pipe, WT, W or joist material. ( read-only )

mem1.SectionSize = the " Section size " reported in the local shape file for the member main material.

mem1.FlangeThickness returns the " Flange thickness " reported in the local shape file for C, WT, or W material. read-only

mem1.Thickness returns the " Material thickness " reported in the local shape file for L material, " Wall thickness " for pipe or HSS/TS material. read-only

mem1.WebThickness returns the " Web thickness " reported in the local shape file for C, WT or W material. read-only

mem1.WeightPerFoot returns the " Weight per foot/meter " reported in the local shape file for C, L, pipe, WT, HSS/TS, W or joist member main material. read-only

Angle main material attributes:

mem1.AngleLegTurnedUp returns "Yes" or "No" depending on whether the box is checked ("Yes") or not checked ("No") for " Angle leg turned up " on a vertical brace. read-only

mem1.Depth returns the " Long leg depth " reported in the local shape file (for angle member main material). read-only

mem1.LongLegOfAngleIsVertical returns "Yes" or "No". Only angle vertical braces with unequal legs can return "Yes". read-only

mem1.LongLegGage1 returns the " Single column long leg gage " reported in the local shape file for L member main material with a single column of bolts on the long leg. read-only

mem1.LongLegGage2 returns the " Double column long leg first gage " reported in the local shape file for L member main material with a double column of bolts on the long leg. read-only

mem1.LongLegGage3 returns the " Double column long leg second gage " reported in the local shape file for L member main material with a double column of bolts on the long leg. read-only

mem1.SL_depth returns the " Short leg depth " reported in the local shape file (for angle member main material). ( read-only )

mem1.ShortLegGage1 returns the " Single column short leg gage " reported in the local shape file for L member main material with a single column of bolts on the short leg. read-only

mem1.ShortLegGage2 returns the " Double column short leg first gage " reported in the local shape file for L member main material with a double column of bolts on the short leg. read-only

mem1.ShortLegGage3 returns the " Double column short leg second gage " reported in the local shape file for L member main material with a double column of bolts on the short leg. read-only

Status settings:

mem1.RevisionLevel = any "string" from the " Short Revision Description " column in Job Options > Member Revisions . This attribute can write to or read from the " Short revision description " status in Member Status Review .

mem1.TypeDescription = any "string" up to 22 characters. This attribute can write to or read from the " Member description " in Member Status Review .

mem1.Category = any "string" from Home > Project Settings > Fabricator > Member Categories. This attribute can write to or read from the " Member category " status in Member Status Review .

mem1.IsExisting = "Yes" or "No". This attribute can write to or read from the " Existing member " status set in Member Status Review .

mem1.DateModelCompleted = a date ("in quotes"). This attribute can write to or read from the " Model completed " status in Member Status Review.

mem1.MarkedForHold = "Held" or "Not held". This attribute can write to or read from the " Member hold status " status in Member Status Review.

mem1.DateMemberWasHeld = a date ("in quotes"). This attribute can write to or read from the " Date held " status in Member Status Review.

mem1.DescriptionOfHold = any "string" up to 29 characters. This attribute can write to or read from the " Reason for member hold " status in Member Status Review.

mem1.DateSentForApproval = a date ("in quotes"). This attribute can write to or read from the " Submitted for approval " status in Member Status Review.

mem1.DateReceivedApproval = a date ("in quotes"). This attribute can write to or read from the " Received from approval " status in Member Status Review .

mem1.ApprovalStatus = "Approved" or "Rejected" or "Revise and resubmit" or "Approved as noted" or "Not reviewed". This attribute can write to or read from " Approval status " in Member Status Review.

mem1.ProjectedDateToShop = a date ("in quotes"). This attribute can write to or read from the " Projected fabrication complete " status in Member Status Review .

mem1.ActualDateToShop = a date ("in quotes"). This attribute can write to or read from the " Released for fabrication " status in Member Status Review.

mem1.DateFabricationCompleted = a date ("in quotes").This attribute can write to or read from the " Projected fabrication complete " status in Member Status Review .

mem1.ProjectedDateToShip = a date ("in quotes"). This attribute can write to or read from the " Projected shipped date " status in Member Status Review.

mem1.ActualDateShipped = a date ("in quotes"). This attribute can write to or read from the " Actual ship date " status in Member Status Review.

mem1.DateReceivedAtJobsite = a date ("in quotes"). This attribute can write to or read from the " Received on job site " status in Member Status Review.

mem1.DateErected = a date ("in quotes"). This attribute can write to or read from the " Erected " status in Member Status Review .

mem1.Route1Description = a "string" from routing configuration 1.

mem1.Route2Description = a "string" from routing configuration 2.

mem1.Route3Description = a "string" from routing configuration 3.

mem1.Route4Description = a "string" from routing configuration 4.

Member attributes for beams:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("W18x40" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "HZ." or "VT." for an angle beam.

memadd1.DoubleMaterial = "Yes" or 'No" for a channel or angle beam.

memadd1.CenterMaterial = "Yes" or "No".

memadd1.ToeIO = "In" or "Out" for a single channel or angle beam.

memadd1.Configuration = "Star" or "Back to back" for a double angle beam.

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the beam (a "string").

memadd1.Rotation = the positive or negative (-) number of degrees that the beam is rotated.)

mem1.RollingOperation = "None" or "Camber annotation" or "Weak axis" or "Strong axis" or "Camber" or "Camber (Both)".

mem1.MidOrdinate = a positive or negative (-) distance.

mem1.IncludedAngle = a positive or negative (-) number of degrees.

mem1.RollingRadius = a positive or negative (-) distance.

memadd1.Camber = 0 or a positive or negative (-) distance. read-only

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Auto standard" or "Plain end".

memadd1.RightEnd.InputConnectionType = "Auto standard" or "Plain end".

memadd1.LeftEnd.MemberRotationType = "Auto" or "Web Vertical" or "Web Normal" or "Hip and Valley".

memadd1.RightEnd.MemberRotationType = "Auto" or "Web Vertical" or "Web Normal" or "Hip and Valley".

mem1.LeftEnd.WebDoublerPlate returns "Yes" or "No". read-only

mem1.CompositeBeamSlabSpacing returns the " Slab Width " entered for the beam on its edit window. read-only

Member attributes for columns:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object. On a column, this is the bottom end work point.

memadd1.RightEnd.Location = PointLocate("Locate 1st point") or a point object. On a column, this is the top end work point.

memadd1.SectionSize = a string ("W18x40" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "Normal" or "Reversed" for an angle column.

memadd1.DoubleMaterial = "Yes" or "No" for an angle or channel column.

memadd1.ToeIO = "In" or "Out" for a single angle or channel column.

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the column (a "string").

memadd1.Configuration = "Star" or "Back to back" for a double angle column.

memadd1.Rotation = a positive or negative (-) number of degrees that the column is rotated.

memadd1.ColumnErectionPinHole = "Automatic" or "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Auto standard" or "Plain end".

memadd1.RightEnd.InputConnectionType = "Auto standard" or "Plain end".

Member attributes for horizontal braces:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("L6x4x3/8" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "To gusset" or "Outstanding" for an angle brace.

memadd1.DoubleMaterial = "Yes" or "No" for an angle brace.

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the brace (a "string").

memadd1.SideOfGusset = "Near side" or "Far side" for an angle, tee, other braces.

memadd1.LongSide = "HZ." or "VT." for an HSS/TS brace.

memadd1.OneGageLineOfBoltsOnBrace = "Yes" or "No" for an angle brace.

memadd1.StaggerBoltsAtAngleBraceConnections = "Yes" or "No" for an angle brace.

memadd1.UserInputMinGussetThickness = a positive distance.

memadd1.PlaceAngleBracesOnNeutralAxisDescription = "Automatic" or "Yes" or "No" for an angle brace.

memadd1.StitchPlateGap = a positive distance, for double-angle or double-channel braces.

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Hbrace plate" or "Plain end".

memadd1.RightEnd.InputConnectionType = "Hbrace plate" or "Plain end".

Member attributes for vertical braces:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("L6x4x3/8" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "To gusset" or "Outstanding" for an angle brace.

memadd1.WebOrient = "HZ." or "VT." for a wide flange vertical brace.

memadd1.StemOrientation = "HZ." or "VT." for a tee vertical brace.

memadd1.StemDirection = "Up" or "Down" for a stem vertical tee vertical brace.

memadd1.DoubleMaterial = "Yes" or "No" for an angle brace.

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the brace (a "string").

memadd1.SideOfGusset = "Near side" or "Far side" for an angle, tee, other braces.

memadd1.Configuration = "Star" or "Back to back" for a double angle vertical brace.

memadd1.LongSide = "HZ." or "VT." for an HSS/TS brace.

memadd1.OneGageLineOfBoltsOnBrace = "Yes" or "No" for an angle brace.

memadd1.StaggerBoltsAtAngleBraceConnections = "Yes" or "No" for an angle brace.

memadd1.UserInputMinGussetThickness = a positive distance.

memadd1.PlaceAngleBracesOnNeutralAxisDescription = "Automatic" or "Yes" or "No" for an angle brace.

memadd1.StitchPlateGap = a positive distance, for double-angle or double-channel braces.

memadd1.StitchPlateSpacing = a positive distance, for double-angle or double-channel braces.

memadd1.StitchPlateNumber = a positive distance, for double-angle double-channel braces.

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Vbrace plate" (vertical brace only) or "Plain end".

memadd1.RightEnd.InputConnectionType = "Vbrace plate" (vertical brace only) or "Plain end".

Member attributes for joists:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("28LH10" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.ErectionSequence = the sequence of the joist (a "string").

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Seated" or "Plain end".

memadd1.RightEnd.InputConnectionType = "Seated" or "Plain end".

mem1.BC_width returns the " Bottom chord width " reported in the local shape file. read-only

mem1.BearingDepth returns the " Bearing depth " reported in the local shape file. read-only

mem1.brg_thick returns the " Bearing thickness " reported in the local shape file. read-only

mem1.brg_width returns the " Bearing width " reported in the local shape file. read-only

mem1.TC_width returns the " Top chord width " reported in the local shape file. read-only

mem1.series returns " Material type ". read-only

mem1.max_brg returns the " Maximum bearing " reported in the local shape file. read-only

mem1.min_brg returns the " Minimum bearing " reported in the local shape file. read-only

Member attributes for girts (legacy):

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("C7x9.8" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "HZ." or "VT."

memadd1.ToeIO = "Up" or "Down".

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the girt (a "string").

memadd1.Rotation = the positive or negative (-) number of degrees that the girt is rotated.

memadd1.Camber = 0 or a positive or negative (-) distance. ( Not updatable )

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Plain end"

memadd1.RightEnd.InputConnectionType = "Plain end"

Member attributes for purlins:

memadd1.LeftEnd.Location = PointLocate("Locate 1st point") or a point object.

memadd1.RightEnd.Location = PointLocate("Locate 2nd point") or a point object.

memadd1.SectionSize = a string ("C7x9.8" or etc.) from the local shape file.

memadd1.Piecemark = a string (the member piecemark). ( Not updatable )

memadd1.LongLegOfAngleIsVertical = "HZ." or "VT."

memadd1.ToeIO = "Up" or "Down".

memadd1.MaterialGrade = a string ("A36" or "A572" or etc.).

memadd1.ErectionSequence = the sequence of the purlin (a "string").

memadd1.Rotation = the positive or negative (-) number of degrees that the purlin is rotated.

memadd1.Camber = 0 or a positive or negative (-) distance. ( Not updatable )

memadd1.SwapEnds = "Yes" or "No".

memadd1.LeftEnd.InputConnectionType = "Plain end".

memadd1.RightEnd.InputConnectionType = "Plain end".

Member attributes for stairs:

CenterOffset returns the stair's " Center offset dimension ". ( read-only )

MaterialDescription returns the stringer material. read-only

NumberOfRisers returns an integer > 0. read-only

ShopAssembled returns "Yes" or "No". read-only

StringerNosing returns the " Stringer nosing dimension " of the stair. read-only

StringerSurfaceFinish returns "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". read-only

ThicknessAtLanding returns the " Thickness at landing " of the stair. read-only

TreadSchedule returns a stair tread object from Home > Project Settings > Fabricator > Stair Treads . See the documentation for the fab module. read-only

TreadSchedule. tread_type returns "Bent plate" or "Bolted" or "Continuous" or "Plate" read-only

TreadSurfaceFinish returns "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". read-only

(see below for left/right end stair attributes)

Left/right end member attributes:

Note: The right-end equivalents of these attributes substitute ".RightEnd" for ".LeftEnd" in the attribute string.

NODES
mem1.LeftEnd.Nodes returns a list of member numbers that the end frames to. ( read-only )

LEFT/RIGHT END CUTS
mem1.LeftEnd.AngleOfWebEndCut = a positive or negative (-) number of degrees.

mem1.LeftEnd.AngleOfFlangeEndCut = a positive or negative (-) number of degrees.

mem1.LeftEnd.EndPreparation = "Mill Cut" or "Square Cut" or "Standard Cut" or "Bevel Cut".

LEFT/RIGHT SETBACKS
mem1.LeftEnd.ConnectionSetbackFlag = "Yes" or "No".

mem1.LeftEnd.ConnectionSetback = the distance from the face of the connection to the member main material.

mem1.LeftEnd.AutoMaterialSetback = "Yes" or "No"..

mem1.LeftEnd.MaterialSetback = the distance from the end of the member main material to the work point.

mem1.LeftEnd.FieldClearanceFlag = "Yes" or "No".

mem1.LeftEnd.FieldClearance = the distance from the end of the main material (or the connection material) to the face of the supporting member.

mem1.LeftEnd.AutoMinusDimension = "Yes" or "No".

mem1.LeftEnd.MinusDimension = the distance from the end of the main material (or the connection material) to the left-end work point.

mem1.LeftEnd.OffsetFramingDistanceToWorkpoint = a distance in decimal inches or millimeters. Used to calculate mem1.MaterialDetailLength from mem1.WorkpointToWorkpointSlope. ( Not updatable )

LEFT/RIGHT LOADS
mem1.LeftEnd.AutoCompressionLoadCalculation = "Yes" or "No".

mem1.LeftEnd.CompressionLoad = the compression load in kips or kN. Only beams or braces can report a value other than 0.0.

mem1.LeftEnd.AutoMomentLoad = "Yes" or "No".

mem1.LeftEnd.MomentForce = the moment load. Only beams or columns can report a value other than 0.0.

mem1.LeftEnd.AutoShearLoad = "Yes" or "No".

mem1.LeftEnd.ShearLoad = the shear load in kips or kN. Only beams can report a value other than 0.0.

mem1.LeftEnd.AutoTensionLoadCalculation = "Yes" or "No".

mem1.LeftEnd.TensionLoad = the tension load in kips or kN. Only beams or braces can report a value other than 0.0.

LEFT/RIGHT END STAIR ATTRIBUTES
Note: The following examples of left end stair attributes are for the near side stringer. For a far side stringer, substitute "FarSide" for "NearSide" in the attribute string. Also, you can substitute ".RightEnd" for ".LeftEnd" to get right-end equivalents.

mem1.LeftEnd.NearSideEndCondition returns "No return" or "Return" or "Bolt to floor". read-only

mem1.LeftEnd.NearSideCopeDepthTop returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSideCopeLengthTop returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSideCopeDepthBottom returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSideCopeLengthBottom returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSidCapPlateThickness returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSideSupportToWorkpoint returns a distance in decimal inches or millimeters. ( read-only )

mem1.LeftEnd.NearSideSlabToTopReturn returns a distance in decimal inches or millimeters. read-only

mem1.LeftEnd.NearSideReturnLocation returns the global coordinates of the farthest point on the top of the return (in this example, the far left point at the top of the near side return). read-only

OTHER LEFT/RIGHT MEMBER ATTRIBUTES
mem1.LeftEnd.DihedralAngle returns the angle of the member to the supporting member. ( read-only )

mem1.LeftEnd.Rotation returns a positive or negative (-) number of degrees from vertical. read-only

Methods and functions :

MemberAllocated() returns the number of members allocated in your current Job.

MarkMemberForProcess(obj) , where obj can be a member object or member number. This marks the member (obj) for Process and Create Solids .

memadd1.Add() adds the parametric member.

mem1.Update() updates the member object (mem1) with attributes in the code.

mem1.Material(i) returns a material object for the i'th material on the member.

mem1.Shape() returns a shape object.

mem1.TranslateToGlobal(dx, dy, dz) . dx, dy, dz are member coordinate distances. This method returns global coordinate distances.

mem1.TranslateToLocal(arg1) , where arg1 is a tuple or point defined by global coordinates. The function returns member coordinates.

mem1.MainMaterial() returns main material of member as a material object.

mem1.MainMaterials() returns a list of generic material objects that are the member object's (mem1's) main materials.

GroupMemberCreate(mem_list, main_mem, "Yes") creates a group member. The first argument (mem_list, ..., ...) is a list of member objects or member numbers. The second argument (..., main_mem, ...) is a member object or member number that sets the " Main member ." The third argument (..., ..., "Yes") is optional; it generates a yes-no warning in the event that the script attempts to group a member that is already a part of a group member.

mem1.MainMaterial().Erase() deletes member main material.

Exceptions :

member.error -- see Feature > Add Python Code > except .


The mtrl_cut module

Defining the object :

mcut1 = MtrlCut() begins the material cut code.

mcut1.Material = MtrlLocate("Locate mtrl to cut") or a material object. Sets the material to be cut.

Attributes :

mcut.Rotate = (xrot, yrot, zrot). The arguments xrot , yrot and zrot are numbers of degrees. This sets the face of the material to be cut. ( Not updatable )

mcut1.DepthIn = the negative (-) distance the cut is made in to the material from the plane of the work points. ( Not updatable )

mcut1.DepthOut = the positive distance the cut is made out from the plane of the work points. ( Not updatable )

mcut1.Points.append(arg1, arg2) sets the location of one point of the cut layout. arg1 sets the global coordinates of the point (for example: mcut1.Material.Location + mcut1.Material.TranslateToGlobal(X, Y, Z) ). The corner radius is arg 2 . Each point of the cut layout is a separate line in the parametric code. ( Not updatable )

Methods :

mcut1.Cut("Layout") adds the cut layout.


The mtrl_fit module

Defining the object :

mfit1 = MtrlFit() begins the material fit code.

mfit1.Material = MtrlLocate("Locate mtrl to fit") or a material object. Sets the material to be cut.

mfit1.To = MtrlLocate("Locate mtrl to fit to") or a list of material objects. Sets the material(s) to be cut around.

Object attributes :

mfit1.CutClear = a positive or negative (-) distance. This applies to mfit1.Fit("Cope") or mfit1.Fit("Exact") or mfit.Fit("Notch") or mfit.Fit("Mitre") or mfit.Fit("Frame")

mfit1.FrameType = "Plain" or "Shop weld" or "Field weld". This applies to mfit.Fit("Frame") only.

mfit1.EndClear = a positive or negative (-) distance. This applies to mfit.Fit("Frame") only.

Methods :

mfit1.ShowWindow = "Yes" or "No".

mfit1.Fit("Cope") or mfit1.Fit("Exact") or mfit.Fit("Notch" ) or mfit.Fit("Mitre") or mfit1.Fit("Frame") performs whatever fit operation is named within parenthesis or quotes.

Exceptions :

mtrl_fit.error -- see Feature > Add Python Code > except .


The mtrl_list module

MtrlByGuid ( mem_num, GUID) can be used to access a material by its GUID.

MtrlLocate("prompt") or MtrlLocate("prompt", "Hole") or MtrlLocate("prompt", "Weld") or MtrlLocate("prompt", "Fit") or MtrlLocate("prompt", "Weld To") returns a list for an Add Hole or Add Bolt or Fit or Add Weld operation. Returns None if the user right-clicks ( Menu ) and chooses " Cancel ".

MtrlLocate("prompt string", "Single") returns a material object if the user left-clicks ( Select ). Returns None if the user right-clicks ( Menu ) and chooses " Cancel ".

modelobject() returns model object.

MtrlProperties(mtrl_obj) returns a dictionary of the custom properties -- including the properties, log and notes -- that are assigned to the material object (mtrl_obj). read-only

MtrlPropertySet(mtrl_obj, "field" or "Notes", "setting") sets the material custom property ("field") on the material object (mtrl_obj) to the "setting", or appends a note ("Notes") whose string is the setting ("setting").

mtrl.HoleList() returns a list of holes (hole_list objects) in a material object. Click here for information on available hole_list object attributes

mtrl.MainMaterial returns "Yes" or "No". read-only

HoleLocate("prompt string") returns a list of hole objects if the user selects one or more holes and then right-clicks ( Menu ) and chooses " OK ". Returns None if the user right-clicks ( Menu ) and chooses " Cancel ".


The param module

ClearSelection() clears the selection list so that a member that was previously selected using MemberLocate() can be selected again.

RedrawScreen() invokes a Redraw as the Python script is Run .

SelectionAdd(mem) adds the member object (mem) to the selection.

SelectionRemove(mem) removes the member object (mem) from the selection.

SelectionToggle(mem) toggles the selection state of the member object (mem).

select_multiple_files("/filefolder/subfolder") launches the " Open " dialog so that the person who is running the script can select one or more files. The selected files are returned as full paths.

StationType() returns "Ultimate Edition" or "Modeling Edition" or "Drafting Edition" or "Basic Edition" according to the module in which a Python script that includes this function is Run . read-only

yes_or_no ("prompt string", "button 1", "button 2") returns a value or string for whichever button is pressed when the Python script is Run . The "prompt string" is the prompt message that appears in the dialog. The second and third arguments are optional. When there is no second or third argument, this function opens an ok-cancel dialog that returns 1 (for " OK ") or 0 (for " Cancel ").

Prompt(Int) or Prompt(float) or Prompt(dim) or Prompt(string)

Prompt(default_value, "prompt string") returns a dimension, number or string if the user presses " OK " on the dialog this code opens. Returns ResponseNotOK if the user presses " Cancel " on that dialog. For a dimension prompt, default_value must be in quotes ("1-0", ). For an integer, default_value must be an integer (1, ). For a float, default_value must include a decimal point (1.0, ). For a string, default_value must be in quotes ("string", ). The "prompt string" is the name of the entry field.

Warning("string") opens a read-only dialog with an "OK" button on it. Pressing the "OK" button returns no value or string. The "string" is a message to the user who Runs the parametric.

NonBlockingWarning("string" ) functions like Warning("string") , but does not block a process.

Units :

Units("metric" or "feet" or "inch" "inch-fraction" or "inch-decimal") sets whether you make entries in inches.decimals or millimeters.decimals when you input values to a Python script.

dim("dim") converts a hyphenated dimension or a dimension written with fractions into decimal inches so that Python can interpret the value.

dim_print() converts a dimension expressed in decimal inches into a hyphenated dimension with fractions so that a person can easily interpret the value when it is printed.

EraseParametric

Exceptions :

param.ResponseNotOK -- see Feature > Add Python Code > except .


The plate_layout module
( flat plate layout & bent plate layout )

Defining the object :

ply1 = PlateLayout() begins code for adding a flat plate layout as a submaterial.

ply1 = BntPlateLayout() begins code for adding bent plate layout as a submaterial.

ply1.Member = MemberLocate("status line") or a member object. Sets the member the flat plate is to be added to.

Object attributes :

ply1.pts.append((arg1, arg2)) . In the following example, arg1 (the point's location) is shown in green and arg 2 (the corner radius) is shown in red : ply.pts.append( ( Member.LeftEnd.Location + obj.Member.TranslateToGlobal(30.0, 0.0, 2.0) , 0.5 ) )

ply1.MaterialGrade = a string ("A36" or "A572" or etc.).

ply1.MaterialOriginPoint = "FS" or "NS" or "Center".

ply1.Thickness = a positive distance.

ply1.MaterialType = "Plate". read-only

ply1.MaterialUsageDescription = the material usage description (a "string").

ply1.ImperialDescription or ply1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

ply1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type; "No" or not including this line applies the ply1.ImperialDescription or ply1.MetricDescription.

ply1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized".

ply1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values.

ply1.MaterialRoute1Description = a "string" for "MULT CUTTING #".

ply1.MaterialRoute2Description = a "string" for "LABOR CODE".

ply1.MaterialRoute3Description = a "string" for "JOB COST CODE".

ply1.MaterialRoute4Description = a "string" for "REMARKS".

ply1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

ply1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from the first point. For flat plate layout or bent plate layout added as submaterial only.

ply1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = ply1`.BuiltinMaterialAddFeature()

ply1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

ply1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing etc.):

ply1.ShowWindow() = "Yes" or "No".

ply1.Add() adds the plate.

ply1.Rotate(ply1.Member, (X, Y, Z)) rotates the plate.

ply1.Erase() erases the parametrically added plate.

ply1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

plate_layout -- see Feature > Add Python Code > except .


The point module

pt1 =

Point(0, 180, 0) defines a point's global coordinates.

PointLocate("status string", optional_rubber_band_point) returns global coordinates of the point that the user left-clicks ( Locate ). Returns None if the user right-clicks ( Return ). The optional_rubber_band_pt gives a "rubber band" for second point location.

obj.Member.LeftEnd.Location returns a point, the global coordinates of the left-end work point of member.

obj.Member.RightEnd.Location returns a point, the global coordinates of the right-end work point of member.

Point attributes :

pt1.X = X global coordinate of the point.

pt1.Y = Y global coordinate of the point.

pt1.Z = Z global coordinate of the point.

Methods :

pt1.Distance(obj.Point2) returns the distance between pt1 and obj.Point2

pt1.Distance(Point(X, Y, Z)) returns the distance between pt1 and Point(X, Y, Z)

Exceptions :

point.error -- see Feature > Add Python Code > except .


The Point3D module

Defining a Point3D object:

Point3D(x, y, z). The arguments x, y, z are floating point numbers corresponding to x, y, z global coordinates.

Point3D(point object).

Point3D(list or tuple). Lists and tuples are built-in Python objects.

Point3D attributes:

p1.x returns the X global coordinate of p1, where p1 is a Point3D object.

p1.y returns the Y global coordinate of p1, where p1 is a Point3D object.

p1.z returns the Z global coordinate (elevation) of p1, where p1 is a Point3D object.

Functions and methods :

Angle(v1, v2) or v1.Angle(v2) returns the angle (in radians) between the two vectors, v1 and v2, where v1 and v2 are Point3D objects.

Bisector(v1, v2) or v1.Bisector(v2) returns a unit vector that bisects the two vectors, v1 and v2, where v1 and v2 are Point3D objects. The unit vector is output as a Point3D object in the form Point3D(x, y, z), where the sum of the squares of x, y and z equal one (x^2 + y^2 + z^2 = 1).

Cross(v1, v2) or v1.Cross(v2) returns the vector product of two vectors (v1 and v2), where v1 and v2 are Point3D objects. The vector product is output in the form Point3D(x, y, z).

Distance(p1, p2) or p1.Distance(p2) returns the distance between two points, p1 and p2, where p1 and p2 are Point3D objects.

DistanceSquared(p1, p2) or p1.DistanceSquared(p2) returns the distance between two points, p1 and p2, where p1 and p2 are Point3D objects.

Dot(v1, v2) or v1.Dot(v2) returns the scalar product between two vectors, v1 and v2, which are Point3D objects. The scalar product is equal to the product of the lengths of the vectors.

EpsilonEquals(p1, p2, tolerance) or p1.EpsilonEquals(p2, tolerance) .

FloatEquals() is the same as EpsilonEquals().

Interpolate(p1, p2, percent) or p1.Interpolate(p2, percent) returns a Point3D object that is the specified percentage of the sum of two vectors (v1 + v2). The third argument (percent) is required and gives best results when less than 1.0.

IsParallel(v1, v2) or v1.IsParallel(v2) returns True or False. The arguments v1 and v2 are Point3D objects.

Isperpendicular(v1, v2) or v1.Isperpendicular(v2) returns True or False. The arguments v1 and v2 are Point3D objects.

Length(v1) returns the length of the vector (v1), where v1 is a Point3D object. Magnitude(v1) and Length(v1) are the same.

LengthSquared(v1) returns the square of the length of the vector (v1), where v1 is a Point3D object.

Magnitude(v1) is the same as Length(v1).

ScalerProjection(v1, v2) returns the length of first vector (v1) projected onto the second vector (v2) and scaled according to the cosine of the angle between the two vectors. The arguments v1 and v2 can be Point3D objects in the form Point3D(x, y, z).

Unit(v1) returns the unit vector of the vector v1, where v1 is a Point3D object.

VectorProjection()


The rect_plate module

Defining the object :

rp1 = RectPlate() begins code for adding rectangular plate as a submaterial.

rp1.Member = MemberLocate("status line") or a member object. Sets the member the rectangular plate is to be added to.

memadd1=Member('Misc Rectangular Plate') begins code for adding rectangular plate as a member.

Object attributes :

rp1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

rp1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

rp1.MaterialGrade = a string ("A36" or "A572" or etc.). ( Not updatable )

rp1.MaterialOriginPoint = "FS" or "Center" or "NS". ( Not updatable)

rp1.TopOperationTypeLeftEnd = "None" or "Cope" or "Clip". ( Not updatable )

rp1.TopOperationTypeRightEnd = "None" or "Cope" or "Clip". ( Not updatable)

rp1.TopLengthLeft = length of top, left-end cope/clip. ( Not updatable )

rp1.TopLengthRight = length of top, right-end cope/clip. ( Not updatable )

rp1.TopCopeLeft = width of top, left-end cope. ( Not updatable )

rp1.TopCopeRight = width of top, right-end cope. ( Not updatable )

rp1.TopClipLeft = width of top, left-end clip. ( Not updatable )

rp1.TopClipRight = width of top, right-end clip. ( Not updatable )

rp1.BottomOperationTypeLeftEnd = "None" or "Cope" or "Clip". ( Not updatable )

rp1.BottomOperationTypeRightEnd = "None" or "Cope" or "Clip". ( Not updatable )

rp1.BottomLengthLeft = length of bottom, left cope/clip. ( Not updatable )

rp1.BottomLengthRight = length of bottom, right cope/clip. ( Not updatable )

rp1.BottomCopeLeft = width of bottom, left-end cope. ( Not updatable )

rp1.BottomCopeRight = width of bottom, right-end cope. ( Not updatable )

rp1.BottomClipLeft = width of bottom, left-end clip. ( Not updatable )

rp1.BottomClipRight = width of bottom, right-end clip. ( Not updatable )

rp1.Width returns a positive distance. ( Not updatable )

rp1.Thickness returns a positive distance. ( Not updatable )

rp1.WorkpointSlopeDistance = a positive or negative (-) distance. ( Not updatable )

rp1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

rp1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

rp1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

rp1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

rp1.OrderLength = a positive distance. ( Not updatable )

rp1.MaterialType = "Plate". ( Not updatable )

rp1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable)

rp1.ImperialDescription or rp1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

rp1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type; "No" or not including this line applies the rpl1.ImperialDescription or rpl1.MetricDescription.

rp1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

rp1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable)

rp1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable)

rp1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

rp1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

rp1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

rp1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

rp1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from rp1.Point1. For rectangular plates added as submaterial only. ( Not updatable )

rp1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = rp1`.BuiltinMaterialAddFeature()

rp1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

rp1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

rp1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

rp1.ShowWindow() = "Yes" or "No".

rp1.Add() adds the rectangular plate as a submaterial.

memadd1.Add() adds the rectangular plate as a miscellaneous member.

rp1.Rotate(rp1.Member, (X, Y, Z)) rotates the rectangular plate.

rp1.Erase() erases the parametrically added rectangular plate.

rp1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

rect_plate.error -- see Feature > Add Python Code > except .


The RFI module

Functions :

CreateRFI("arg") runs Create RFI and can return a dictionary. "arg" is optional, and can be a file name or a file path. When "arg" is a file name, the file is placed in the data directiory that is used by the current version of the SDS2 program you are running. See these examples .


The rnd_bar module

Defining the object :

rbar1 = RndBar() begins code for adding round bar as a submaterial.

rbar1.Member = MemberLocate("status line") or a member object. Sets the member the round bar is to be added to.

memadd1=Member('Misc Round Bar') begins code for adding round bar as a member .

Object attributes :

rbar1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

rbar1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

rbar1.MaterialGrade = a string ("A36" or "A572" or etc.). ( Not updatable )

rbar1.Centered = "Yes" or "No". ( Not updatable )

rbar1.RollType = "None" or "Camber" or "Weak Axis" or "Strong Axis". ( Not updatable )

rbar1.BarDiameter = a positive distance. ( Not updatable )

rbar1.MaterialTwistAngle = a positive or negative (-) number of degrees. ( Not updatable )

rbar1.MidOrdinate = a positive or negative (-) distance. ( Not updatable )

rbar1.IncludedAngle = a positive or negative (-) number of degrees. ( Not updatable )

rbar1.RollingRadius = a positive or negative (-) distance. ( Not updatable )

rbar1.SpiralOffset = a positive or negative (-) distance. ( Not updatable )

rbar1.WorkpointSlopeDistance = a positive distance. ( Not updatable )

rbar1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

rbar1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

rbar1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

rbar1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

rbar1.ThreadTypeLeftEnd = "None" or "Right handed" or "Left handed". ( Not updatable)

rbar1.ThreadTypeRightEnd = "None" or "Right handed" or "Left handed". (Not updatable )

rbar1.ThreadLengthLeftEnd = a positive distance. ( Not updatable )

rbar1.ThreadLengthRightEnd = a positive distance. ( Not updatable )

rbar1.OrderLength = a positive distance. ( Not updatable )

rbar1.MaterialType = "Round bar". ( Not updatable )

rbar1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

rbar1.ImperialDescription or rbar1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

rbar1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the rbar1.ImperialDescription or rbar1.MetricDescription.

rbar1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

rbar1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. (Not updatable)

rbar1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

rbar1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

rbar1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

rbar1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

rbar1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

rbar1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from rbar1.Point1. For round bars added as a submaterial only. ( Not updatable )

rbar1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = rbar1`.BuiltinMaterialAddFeature()

rbar1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

rbar1.layout = a Layout3D object. You can use this instead of rbar1.OrderLength .

rbar1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

rbar1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

rbar1.ShowWindow() = "Yes" or "No".

rbar1.Add() adds the round bar as a submaterial.

memadd1.Add() adds the round bar as a miscellaneous member.

rbar1.Rotate(rbar1.Member, (X, Y, Z)) rotates the round bar. This applies to round bar added as submaterial only.

rbar1.Erase() erases the parametrically added round bar.

rbar1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

rnd_bar.error -- see Feature > Add Python Code > except .


The rnd_plate module

Defining the object :

rpl1 = RndPlate() begins code for adding round plate as a submaterial.

rpl1.Member = MemberLocate("status line") or a member object. Sets the member the round plate is to be added to.

memadd1=Member('Misc Round Plate') begins code for adding round plate as a member .

Object attributes :

rpl1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

rpl1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

rpl1.MaterialGrade = a string ("A36" or "A572" or etc.). ( Not updatable)

rpl1.MaterialOriginPoint = "FS" or "Center" or "NS". ( Not updatable )

rpl1.PlateDiameter = a positive distance. ( Not updatable )

rpl1.Thickness = a positive distance. ( Not updatable )

rpl1.MaterialType = "Round plate". ( Not updatable )

rpl1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

rpl1.ImperialDescription or rpl1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

rpl1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the rpl1.ImperialDescription or rpl1.MetricDescription.

rpl1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

rpl1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. (Not updatable)

rpl1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

rpl1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

rpl1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

rpl1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

rpl1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

rpl1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from rpl1.Point1. For round plates added as submaterial only. ( Not updatable )

rpl1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = rpl1`.BuiltinMaterialAddFeature()

rpl1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

rpl1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

rpl1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

rpl1.ShowWindow() = "Yes" or "No".

rpl1.Add() adds the round plate as a submaterial.

memadd1.Add() adds the round plate as a miscellaneous member.

rpl1.Rotate(rpl1.Member, (X, Y, Z)) rotates the round plate.

rpl1.Erase() erases the parametrically added round plate.

rpl1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

rnd_plate.error -- see Feature > Add Python Code > except .


The roll_plate module

Defining the object :

rldp1 = RollPl() begins code for adding rolled plate as a submaterial.

rldp1.Member = MemberLocate("status line") or a member object. Sets the member the rolled plate is to be added to.

memadd1=Member('Misc Rolled Plate') begins code for adding rolled plate as a member .

Object attributes :

rldp1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

rldp1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

rldp1.MaterialGrade = a string ("A36" or "A572" or etc.) ( Not updatable )

rldp1.Centered = "Yes" or "No". ( Not updatable )

rldp1.RollType = "Continuous Rolling" or "Segmented Bending" ( Not updatable )

rldp1.Width = a positive distance. ( Not updatable )

rldp1.Thickness = a positive distance. ( Not updatable )

rldp1.IncludedAngle = any positive number of degrees between .1 and 360. ( Not updatable )

rldp1.OutsideRadius = a positive distance. ( Not updatable )

rldp1.TaperRadius = a positive distance. Do not include this line if a taper is not required. (Not updatable)

rldp1.BendSegments = 0 or an integer of 3 or greater. ( Not updatable )

rldp1.WorkpointSlopeDistance = a positive distance. This applies to rolled plate added as a submaterial only. ( Not updatable )

rldp1.OrderLength = a positive distance. ( Not updatable )

rldp1.MaterialType = "Rolled plate". ( Not updatable )

rldp1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

rldp1.ImperialDescription or rldp1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

rldp1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the rldp1.ImperialDescription or rldp1.MetricDescription.

rldp1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

rldp1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

rldp1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

rldp1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

rldp1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

rldp1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

rldp1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

rldp1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from rldp1.Point1. For rolled plates added as submaterial only. ( Not updatable )

rldp1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = rldp1`.BuiltinMaterialAddFeature()

rldp1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

rldp1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

rldp1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

rldp1.ShowWindow() = "Yes" or "No".

rldp1.Add() adds the rolled plate as a submaterial.

memadd1.Add() adds the rolled plate as a miscellaneous member.

rldp1.Rotate(rldp1.Member, (X, Y, Z)) rotates the rolled plate.

rldp1.Erase() erases the parametrically added rolled plate.

rldp1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

roll_plate.error -- see Feature > Add Python Code > except .


The rolled_section module

Defining the object :

rl1 = RolledSection() begins code for adding a rolled section as a submaterial.

rl1.Member = MemberLocate("status line") or a member object. Sets the member the rolled section is to be added to.

memadd1=Member('Misc Rolled Section') begins code for adding a rolled section as a member .

Object attributes :

rl1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

rl1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

rl1.SectionSize = a string ("W18x40" or etc.) from the local shape file. ( Not updatable )

rl1.MaterialGrade = a string ("A36" or "A572" or etc.). (Not updatable)

rl1.Centered = "Yes" or "No". ( Not updatable )

rl1.TopOperationTypeLeftEnd or rl1.TopOperationTypeRightEnd or rl1.BottomOperationTypeLeftEnd or rl1.BottomOperationTypeRightEnd = "None" or "Cope plain" or "Cope shop weld" or "Cope field weld" or "Cut flange width" or "Cut flange flush" or "Clip flange" or "Notch" or "Notch NS/FS" or "FEMA Cope field weld" or "FEMA Cope shop weld". ( Not updatable)

when "Cope plain" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = a positive distance. ( Not updatable )

rl1.TopCopeLeft or rl1.TopCopeRight or rl1.BottomCopeLeft or rl1.BottomCopeRight = a positive distance. ( Not updatable )

when "Cope shop weld" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = 0 or a positive distance. ( Not updatable )

rl1.TopCopeLeft or rl1.TopCopeRight or rl1.BottomCopeLeft or rl1.BottomCopeRight = a positive distance. ( Not updatable )

rl1.TopWebLeft or rl1.TopWebRight or rl1.BottomWebLeft or rl1.BottomWebRight = 0 or a positive distance. ( Not updatable )

when "Cope field weld" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = 0 or a positive distance. ( Not updatable )

rl1.TopCopeLeft or rl1.TopCopeRight or rl1.BottomCopeLeft or rl1.BottomCopeRight = a positive distance. ( Not updatable )

when "Cut flange width" is the top/bottom left/right operation:

rl1.TopLengthNSLeft or rl1.TopLengthNSRight or rl1.BottomLengthNSLeft or rl1.BottomLengthNSRight = 0 or a positive distance. ( Not updatable )

rl1.TopLengthFSLeft or rl1.TopLengthFSRight or rl1.BottomLengthFSLeft or rl1.BottomLengthFSRight = 0 or a positive distance. ( Not updatable )

rl1.TopFlangeWidthLeft or rl1.TopFlangeWidthRight or rl1.BottomFlangeWidthLeft or rl1.BottomFlangeWidthRight = a positive distance. ( Not updatable )

when "Cut flange flush" is the top/bottom left/right operation:

rl1.TopLengthNSLeft or rl1.TopLengthNSRight or rl1.BottomLengthNSLeft or rl1.BottomLengthNSRight = a positive distance. ( Not updatable )

rl1.TopLengthFSLeft or rl1.TopLengthFSRight or rl1.BottomLengthFSLeft or rl1.BottomLengthFSRight = a positive distance. ( Not updatable )

when "Notch" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = a positive distance. ( Not updatable )

rl1.TopWidthLeft or rl1.TopWidthRight or rl1.BottomWidthLeft or rl1.BottomWidthRight = a positive distance.

when "Notch NS/FS" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = a positive distance. ( Not updatable )

rl1.TopWidthLeft or rl1.TopWidthRight or rl1.BottomWidthLeft or rl1.BottomWidthRight = a positive distance. ( Not updatable )

when "FEMA cope field weld" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = 0 or a positive distance. ( Not updatable )

rl1.TopFEMAReEntrantLengthLeft or rl1.TopFEMAReEntrantLengthRight or rl1.BottomFEMAReEntrantLengthLeft or rl1.BottomFEMAReEntrantLengthRight = a positive distance. ( Not updatable )

rl1.TopFEMAReEntrantDepthLeft or rl1.topFEMAReEntrantDepthRight or rl1.BottomFEMAReEntrantDepthLeft or rl1.BottomFEMAReEntrantDepthRight = a positive distance. ( Not updatable )

rl1.TopFEMAFlangeFlushLengthLeft or rl1.TopFEMAFlangeFlushLengthRight or rl1.BottomFEMAFlangeFlushLengthLeft or rl1.BottomFEMAFlangeFlushLengthRight ( Not updatable)

rl1.TopReEntrantRadiusLeft or rl1.TopReEntrantRadiusRight or rl1.BottomReEntrantRadiusLeft or rl1.BottomReEntrantRadiusRight ( Not updatable)

rl1.TopGrooveAngleLeft or rl1.TopGrooveAngleRight or rl1.BottomGrooveAngleLeft or rl1.BottomGrooveAngleRight (Not updatable )

rl1.TopReEntrantHoleDistanceLeft or rl1.TopReEntrantHoleDistanceRight or rl1.BottomReEntrantHoleDistanceLeft or rl1.BottomReEntrantHoleDistanceRight ( Not updatable)

when "FEMA cope shop weld" is the top/bottom left/right operation:

rl1.TopLengthLeft or rl1.TopLengthRight or rl1.BottomLengthLeft or rl1.BottomLengthRight = 0 or a positive distance. ( Not updatable )

rl1.TopFEMAReEntrantLengthLeft or rl1.TopFEMAReEntrantLengthRight or rl1.BottomFEMAReEntrantLengthLeft or rl1.BottomFEMAReEntrantLengthRight = a positive distance. ( Not updatable )

rl1.TopFEMAReEntrantDepthLeft or rl1.TopFEMAReEntrantDepthRight or rl1.BottomFEMAReEntrantDepthLeft or rl1.BottomFEMAReEntrantDepthRight = a positive distance. ( Not updatable )

rl1.TopFEMAClipLeft or rl1.TopFEMAClipRight or rl1.BottomFEMAClipLeft or rl1.BottomFEMAClipRight = 0 or a positive distance. ( Not updatable )

rl1.TopFEMAFlangeFlushLengthLeft or rl1.TopFEMAFlangeFlushLengthRight or rl1.BottomFEMAFlangeFlushLengthLeft or rl1.BottomFEMAFlangeFlushLengthRight (Not updatable )

rl1.TopReEntrantRadiusLeft or rl1.TopReEntrantRadiusRight or rl1.BottomReEntrantRadiusLeft or rl1.BottomReEntrantRadiusRight ( Not updatable )

rl1.TopGrooveAngleLeft or rl1.TopGrooveAngleRight or rl1.BottomGrooveAngleLeft or rl1.BottomGrooveAngleRight ( Not updatable )

rl1.TopReEntrantHoleDistanceLeft or rl1.TopReEntrantHoleDistanceRight or rl1.BottomReEntrantHoleDistanceLeft or rl1.BottomReEntrantHoleDistanceRight ( Not updatable )

rl1.IsLongLegVerticalMaterial = "HZ." or "VT." (for angles). ( Not updatable )

rl1.ToeInOrOut returns "In" or "Out" (for channels or angles). ( Not updatable )

rl1.RollType = "None" or "Camber" or "Weak Axis" or "Strong Axis". ( Not updatable )

rl1.MomentConnectionWebSetbackLeftEnd = a positive distance. ( Not updatable )

rl1.MomentConnectionWebSetbackRightEnd = a positive distance. ( Not updatable )

rl1.MaterialTwistAngle = a positive or negative (-) number of degrees. ( Not updatable )

rl1.MidOrdinate = a positive or negative (-) distance. ( Not updatable )

rl1.IncludedAngle = a positive or negative (-) number of degrees. ( Not updatable )

rl1.RollingRadius = a positive or negative (-) distance. ( Not updatable )

rl1.SpiralOffset = a positive or negative (-) distance. ( Not updatable )

rl1.WorkpointSlopeDistance = a positive distance. ( Not updatable )

rl1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

rl1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

rl1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

rl1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

rl1.FlangeCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

rl1.FlangeCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

rl1.LeftEndCutAngle = "Standard Cut" or "Square Cut" or "Bevel Cut" or "Mill Cut". ( Not updatable )

rl1.RightEndCutAngle = "Standard Cut" or "Square Cut" or "Bevel Cut" or "Mill Cut"( Not updatable )

rl1.OrderLength = a positive distance. ( Not updatable )

rl1.MaterialType = "Angle" or "Pipe" or "W flange" or "W Tee" or "Channel" or "HSSTS" ( Not updatable )

rl1.MaterialUsageDescription = the material usage description (a "string"). (Not updatable )

rl1.ImperialDescription or rl1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

rl1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the rl1.ImperialDescription or rl1.MetricDescription.

rl1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

rl1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

rl1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

rl1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

rl1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable)

rl1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

rl1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

rl1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from rl1.Point1. For rolled sections added as a submaterial only. ( Not updatable )

rl1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = rl1`.BuiltinMaterialAddFeature()

rl1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

rl1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

rl1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

rl1.ShowWindow() = "Yes" or "No".

rl1.Add() adds the rolled section as a submaterial.

memadd1.Add() adds the rolled section as a miscellaneous member.

rl1.Rotate(rl1.Member, (X, Y, Z)) rotates the rolled section.

rl1.Erase() erases the parametrically added rolled section.

rl1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

rolled_section.error -- see Feature > Add Python Code > except .


The shape module

sh 1 =

mem1.Shape() defines the shape to be that of mem1.

Shape("W10x33") defines the shape as the section size in quotes.

Shape(idx) defines the shape as the index number in the local shape file.

Shape attributes for C , cold formed C , L , HSS round , WT , ST , HSS rectangular , W , S or joist :

sh1.section_size or sh1.SectionSize returns the section size for C, cold formed C, L, pipe, WT, ST, HSS/TS, W, S or joist material.

sh1.nom_depth or sh1.NominalDepth returns the " Nominal depth " reported in the local shape file for C, cold formed C, pipe, WT, ST, W, S or joist material.

sh1.depth or sh1.Depth returns the " Depth " reported in the local shape file for C, cold formed C, pipe, WT, ST, S or W material.

sh1.weight or sh1.WeightPerFoot returns the " Weight per foot/meter " reported in the local shape file for C, cold formed C, L, pipe, HSS/TS, WT, ST, S, W or joist material.

sh1.k or sh1.kDistanceDetail returns the " k distance (detail) " reported in the local shape file for C, L, WT, ST, S or W material.

sh1.design_k or sh1.kDistanceDesign returns the " k distance (design) " reported in the local shape file for C, L, WT, ST, S or W material.

sh1.Ix or sh1.MomentOfInertiaXAxis returns the " Moment of inertia " reported in the local shape file for C, cold formed C, L, pipe, HSS/TS, WT, ST, S or W material.

sh1.tf or sh1.FlangeThickness returns the " Flange thickness " reported in the local shape file for C, WT, ST, S or W material.

sh1.tw or sh1.WebThickness returns the " Web thickness " reported in the local shape file for C, cold formed C, WT, ST, S or W material.

sh1.bf or sh1.FlangeWidth returns the " Flange width " reported in the local shape file for C, cold formed C, WT, ST, S or W material.

sh1.gage or sh1.FlangeGage returns the " Flange gage " reported in the local shape file for C, cold formed C, WT, ST, S or W material.

Shape attributes for angle material :

sh1.LL_depth or sh1.Depth returns the " Long leg depth " reported in the local shape file.

sh1.SL_depth or sh1.FlangeWidth returns the " Short leg depth " reported in the local shape file.

sh1.SL_gage or sh1.ShortLegGage1 returns the " Single column short leg gage " reported in the local shape file for L material with a single column of bolts on the short leg.

sh1.SL_dbl_gage1 or sh1.ShortLegGage2 returns the " Double column short leg first gage " reported in the local shape file for L material with a double column of bolts on the short leg.

sh1.SL_dbl_gage2 or sh1.ShortLegGage3 returns the " Double column short leg second gage " reported in the local shape file for L material with a double column of bolts on the short leg.

sh1.LL_gage or sh1.LongLegGage1 returns the " Single column long leg gage " reported in the local shape file for L material with a single column of bolts on the long leg.

sh1.LL_dbl_gage1 or sh1.LongLegGage2 returns the " Double column long leg first gage " reported in the local shape file for L material with a double column of bolts on the long leg.

sh1.LL_dbl_gage2 or sh1.LongLegGage3 returns the " Double column long leg second gage " reported in the local shape file for L material with a double column of bolts on the long leg.

sh1.thick or sh1.FlangeWidth returns the " Material thickness " reported in the local shape file for L material.

Shape attributes for HSS round or HSS rectangular material only :

sh1.long_depth or sh1.Depth returns the " Long side depth " reported in the local shape file.

sh1.short_depth or sh1.FlangeWidth returns the " Short side depth " reported in the local shape file.

sh1.tf or sh1.FlangeThickness returns the " Wall thickness " reported in the local shape file.

Shape attributes for joist material :

sh1.BC_width or sh1.FlangeThickness returns the " Bottom chord width " reported in the local shape file.

sh1.brg_depth or sh1.BearingDepth returns the " Bearing depth " reported in the local shape file.

sh1.brg_width or sh1.WebThickness returns the " Bearing width " reported in the local shape file.

sh1.brg_thick or sh1.kDistanceDetail returns the " Bearing thickness " reported in the local shape file.

sh1.gage or sh1.FlangeGage returns the " Gage " reported in the local shape file.

sh1.max_brg or sh1.LongLegGage1 returns the " Maximum bearing " reported in the local shape file.

sh1.min_brg or sh1.MinimumBearing returns the " Minimum bearing " reported in the local shape file.

sh1.series or sh1.JoistTypeDescription returns " Material type " reported in the local shape file.

sh1.TC_width or sh1.FlangeWidth returns the " Top chord width " reported in the local shape file.

Shape attributes for welded plate wide flange :

sh1.TopFlangeThickness or sh1.LongLegGage2 returns the " Top flange thickness " reported in the local shape file for the welded plate wide flange material.

sh1.TopFlangeWidth or sh1.LongLegGage1 returns the " Top flange width " reported in the local shape file.

sh1.TopFlangeGage or sh1.FlangeGage returns the " Top flange gage " reported in the local shape file.

sh1.TopFlangeWeldSize or sh1.ShortLegGage2 returns the " Top flange weld size " reported in the local shape file.

sh1.BtmFlangeThickness or sh1.ShortLegGage1 returns the " Bottom flange thickness " reported in the local shape file.

sh1.BtmFlangeWidth or sh1.LongLegGage3 returns the " Bottom flange width " reported in the local shape file.

sh1.BtmFlangeGage or sh1.MinimumBearing returns the " Bottom flange gage " reported in the local shape file.

sh1.BtmFlangeWeldSize or sh1.ShortLegGage3 returns the " Bottom flange weld size " reported in the local shape file.

Methods :

sh1.Type() returns "W flange" or "Channel" or "Angle" or "W Tee" or "Pipe" or "Tube" or "Welded Plate Wide Flange" or "Welded Plate Box" or "Joist" or "Cold Formed C" or "Cold Formed Z" or "S Shape" or "S Tee" or "Clevis" or "Turnbuckle".

Exceptions :

shape.error -- see Feature > Add Python Code > except .


The shr_stud module

Defining the object :

ss1 = ShrStud() begins code for adding a shear stud as a submaterial.

ss1.Member = MemberLocate("status line") or a member object. Sets the member the shear stud is to be added to.

memadd1=Member('Misc Shear Stud') begins code for adding a shear stud as a member.

Object attributes :

ss1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

ss1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

ss1.Diameter = a positive distance. ( Not updatable )

ss1.HeadThickness = a positive distance. ( Not updatable )

ss1.HeadDiameter = a positive distance. ( Not updatable )

ss1.Length = a positive distance. ( Not updatable )

ss1.MaterialType = "Shear stud". ( Not updatable )

ss1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable)

ss1.ImperialDescription or ss1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

ss1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the ss1.ImperialDescription or ss1.MetricDescription.

ss1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

ss1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable)

ss1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable )

ss1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

ss1.MaterialRoute3Description = a "string" for "JOB COST CODE". (Not updatable )

ss1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

ss1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

ss1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from ss1.Point1. For shear studs added as a submaterial only. ( Not updatable )

ss1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = ss1`.BuiltinMaterialAddFeature()

ss1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

ss1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

ss1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

ss1.ShowWindow() = "Yes" or "No".

ss1.Add() adds the shear stud as a submaterial.

memadd1.Add() adds the shear stud as a miscellaneous member.

ss1.Rotate(ss1.Member, (X, Y, Z)) rotates the shear stud.

ss1.Erase() erases the parametrically added shear stud.

ss1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

shr_stud.error -- see Feature > Add Python Code > except .


The sqr_bar module

Defining the object :

sbar1 = SqrBar() begins code for adding square bar as a submaterial.

sbar1.Member = MemberLocate("status line") or a member object.

memadd1=Member('Misc Square Bar) begins code for adding square bar as a member .

Object attributes :

sbar1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

sbar1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

sbar1.MaterialGrade = a string ("A36" or "A572" or etc.). (Not updatable)

sbar1.Centered = "Yes" or "No". ( Not updatable )

sbar1.RollType = "None" or "Camber" or "Weak Axis" or "Strong Axis". ( Not updatable )

sbar1.Width = a positive distance. ( Not updatable )

sbar1.MaterialTwistAngle = a positive or negative (-) number of degrees. ( Not updatable )

sbar1.MidOrdinate = a positive or negative (-) distance. ( Not updatable )

sbar1.IncludedAngle = a positive or negative (-) number of degrees. ( Not updatable )

sbar1.RollingRadius = a positive or negative (-) distance. ( Not updatable )

sbar1.SpiralOffset = a positive or negative (-) distance. ( Not updatable )

sbar1.WorkpointSlopeDistance = a positive distance. ( Not updatable )

sbar1.MaterialSetbackLeftEnd = a positive or negative (-) distance. ( Not updatable )

sbar1.MaterialSetbackRightEnd = a positive or negative (-) distance. ( Not updatable )

sbar1.WebCutLeftEnd = a positive or negative (-) number of degrees. ( Not updatable )

sbar1.WebCutRightEnd = a positive or negative (-) number of degrees. ( Not updatable )

sbar1.OrderLength = a positive distance. ( Not updatable )

sbar1.MaterialType = "Square bar". ( Not updatable )

sbar1.MaterialUsageDescription = the material usage description (a "string"). ( Not updatable )

sbar1.ImperialDescription or sbar1.MetricDescription = the material description (a "string"). Not including this line applies the standard (auto) description. ( Not updatable )

sbar1.IsUserDescription = "Yes" or "No". "Yes" applies a standard (auto) description according to the material type. Set this to "No" if you want to apply the sbar1.ImperialDescription or sbar1.MetricDescription.

sbar1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

sbar1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. ( Not updatable )

sbar1.MaterialRoute1Description = a "string" for "MULT CUTTING #". ( Not updatable)

sbar1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

sbar1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

sbar1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

sbar1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

sbar1.ReferencePointOffset = (X, Y, Z). X, Y and Z are positive or negative floating point numbers signifying global coordinates. Sets the dimension reference point offset from sbar1.Point1. For square bar added as a submaterial only. ( Not updatable )

sbar1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = sbar1`.BuiltinMaterialAddFeature()

sbar1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

sbar1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

sbar1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc):

sbar1.ShowWindow() = "Yes" or "No".

sbar1.Add() adds the square bar as a submaterial.

memadd1.Add() adds the rolled plate as a miscellaneous member.

sbar1.Rotate(sbar1.Member, (X, Y, Z)) rotates the square bar.

sbar1.Erase() erases the parametrically added square bar.

sbar1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

sqr_bar.error -- see Feature > Add Python Code > except .


The Tools module

Example :

# Runs Create RFI.
from Tools import *
RunTool("Create RFI")

Functions :

RunTool("string") can run any tool found in Settings > Toolbar Configuration in Modeling . The "string" sets which tool is run, is compared with the list found in Toolbar Configuration , and can be any of the following: " Add Grid Line " " Open View " " Revert " " Save View As " " Save Area " " Delete View " " Create RFI " " Clear Mode Stack " " Mode Return " " Exit " " Edit " " Delete " " Failed Connections "

" Connections Below Minimum Setup " " Bolt Diameters Changed by System " " Non-Square Cut Ends " " Beam Web Doublers " " Shear Loads Below Minimum Setup " " Connections Changed by System " " Non-AISC Single-Plate Shear Connections " " Indeterminate Ends " " Plain Connection Ends " " Braces with Different Thickness Gussets " " Graphical Connections "

" Combine/Break Apart " " Remove " " Change from User to System " " Change from System to User "

" USER/Force to System Connections " " Beams from Input to Auto Shear Load " " Beams from Input to Auto Moment Load " " Vertical Braces from Input to Auto Tension Load " " Input to Auto Minus Dim and Field Clearance " " Input to Auto Material Setback " " Steel Grade " " USER Main Material to System Main Material " " System Main Material to USER Main Material " " Graphically Altered to System Connections " " System to Graphically Altered Connections " " Downloaded Rotations to Non-downloaded Rotations "

" Plan View " " Section View " " Isometric View " " Reference Elevation " " Relative Depth " " Undo View Change " " Clear View Buffer " " Redraw " " Display Options " " Retain View " " Previous Retained View " " Next Retained View " " Show Detail " " Rotate View "

" Solids Mode " " Toggle Stick/Solid " " Change All to Stick " " Change All to Solid Opaque " Change All to Solid Transparent " " Change All to Solid Transparent Main " " Stick " " Solid Opaque " " Solid Transparent " " Solid Transparent Main "

" Navigate Once " " Navigation Mode " " Center " " Translate " " Zoom In 10% " " Zoom Out 10% " " Zoom In to Region " " Zoom Out to Region " " Zoom to Fit " " Unzoom " " Pan " " Pan Up " " Pan Down " " Pan Right " " Pan Left " " Rotate " " Rotate X " " Rotate Y " " Zoom In to Pointer " " Zoom Out to Pointer " " Zoom In to Center " " Zoom Out to Center " " Seek to Face " " Seek to Point " " Plumb View "

" Surface Mode " " Snap to Surface " " Snap to Farside Surface " " Snap to Adjacent Surface "

" Status Display " " Update Attributes " " Display Center of Mass and Weight " " VRML Export " " Save Assembly " " Add Assembly " " Ruler "

" Construction Line Mode " " Construction Line Add " " Construction Line Add Material " " Construction Line Edit " " Construction Line Edit All " " Construction Line Erase " " Construction Line Erase All "

" Construction Circle Mode " " Construction Circle Add " " Construction Circle Edit " " Construction Circle Edit All " " Construction Circle Erase " " Construction Circle Erase All "

" Member Mode " " Member Edit " " Member Edit by Piecemark " " Member Edit by Number " " Member Edit - No Change All "

"Select Members by Member Number" "Select All Members by Piecemark" "Select All Members in View by Piecemark"

" Break Member Apart " " Recombine Members " " Member Erase " " Member Erase by Piecemark " " Member Erase by Member Number " " Member Copy " " Member Move/Stretch " " Move/Stretch Include Material " " Member - Set Exploded View Position " " Member - Clear Explode View Position "

" Member Add Beam " " Member Add Column " " Member Add Horizontal Brace " " Member Add Vertical Brace " " Member Add Joist " " Member Add Girt " " Member Add Purlin " " Member Add Miscellaneous " " Add Stair " " Member Add - Prompt for member type "

" Member Sequence Mode " " Set Member Sequence with Input " " Repeat Sequence without Input " " Show Member Sequence " " Set Member Sequence by Area "

" Mark Member for Processing " " Mark All Members for Processing " " Mark Member for detailing " " Mark All Member for detailing "

" Isolate Member Mode " " Isolate Member by Location " " Isolate Member by Piecemark " " Isolate Member by Number "

" Group Member Create " " Group Member Edit " " Group Member Edit by Piecemark " " Add Member to " " Remove Member from " " Ungroup Group Member " " Isolate Group Member Mode " " Isolate Group Member by Location " " Isolate Group Member by Piecemark "

" Material Mode " " Material Edit " " Erase Material " " Material Copy " " Move Material " " Rotate Material " " Stretch Material " " Set Material Reference Point " " Find Material " " CNC - Download by Location " " Material Fit Mode " " Material Exact Fit " " Material Fit Mitre " " Material Fit Cope " " Material Fit Notch " " Material Fuse " " Cut on Plane " " Cut Layout " " Chamfer " " Bend on Line " " Bend on Radius Point " " Frame " " Add Material "

" Material Add Existing Material " " Material Add Rolled Section " " Material Add Rectangular Plate " " Material Add Round Plate " " Material Add Bent Plate " " Material Add Rolled Plate " " Material Add Flat Plate Layout " " Material Add Bent Plate Layout " " Material Add Round Bar " " Material Add Square Bar " " Material Add Flat Bar " " Material Add Grating " " Material Add Grating Tread " " Material Add Decking " " Material Add Shear or Threaded Stud " " Material Add Turned Solid Element " " Material Add Turned Shell Element " " Material Add Clevis Element " " Material Add Turnbuckle Element "

" Hole Mode " " Add Hole " " Hole Edit " " Hole Erase " " Hole - Set Reference Point " " Hole Match "

" Bolt Mode " " Bolt Add " " Bolt Add point to point " " Bolt Add Single Ply " " Bolt Edit " " Bolt Erase " " Bolt Check "

" Weld Mode " " Weld Add " " Weld Edit " " Weld Erase "

" Run Parametric " " Erase Parametric " " Python Prompt "

" Auto Point " " Point Location Configuration " " Angle " " Base Construction Line " " Base Grid Line " " Base Member Line " " Center of Screen " " Dx/Dy Offset " " Exact Point " " Free Point " " Intersection Construction Line " " Intersection Cons Line/Member " " perpendicular " " Tangent to Construction Circle " " Vertex Point "

" Process and Create Solids " " Process Selected Members " " Create Solids for Selected Members "

" Detail Members " " Detail Submaterial " " Detail Erection Views "

" Report Writer " " Run Report Writer Report "

" Bill of Material Report 1 by detail " " Bill of Material Report 1 by Sheet " " Bill of Material Report 2 by detail " " Bill of Material Report 2 by Sheet " " Bill of Material Report 3 by detail " " Bill of Material Report 3 by Sheet " " Bill of Material Report Print Order by detail " " Bill of Material Report Print Order by Sheet "

" Check Report " " Check Plot " " Clash Report "

" Design Calculations " " Field Bolts for Members " " Field Bolts for Members by Sequence " " Field Bolts for Members by Zone " " Field Bolts For Members by Seq., Select by Sheet " " Field Bolts For Members by Zone, Select by Sheet " " Field Bolts Point to Point " " Field Bolts Point to Point by Sequence " " Field Bolts Point to Point by Zone " " Field Bolts Point To Point by Sheet " " Field Bolt Summary " " Field Bolt Summary by Zone " " Field Bolt Summary by Sequence " " Field Bolt Listing From Sheet BOM " " Field Bolt Summary From Sheet BOM "

" Joist Report "

" Material Summary, Select by Detail " " Material Summary, Select by Sheet " " Material Summary by Sequence, Select by detail " " Material Summary by Sequence, Select by Sheet " " Material Summary by Zone, Select by Detail " " Material Summary by Zone, Select by Sheet "

" Member Revisions by Member " " Members in Member Revisions "

" Plate Report by Thickness " " Plate Report by Hole Size "

" Sheet Loading Report for Details " " Sheet Loading Report for Submaterials " " Sheet List, Select by Detail " " Sheet List, Select by Sheet "

" Shop Bolt Report " " Shop Bolt Report by Zone " " Shop Bolt Report by Sequence " " Shop Bolt Summary " " Shop Bolt Summary by Zone " " Shop Bolt Summary by Sequence " " Shop Bolt Listing From Sheet BOM " " Shop Bolt Summary From Sheet BOM "

" Job Standards " " Global Standards "

" Status Report by Detail " " Status Report by Sheet " " Status Report by Category " " Status Report by Proximity "

" Submaterial Piecemark List " " Submaterial Piecemark List, by Sequence " " Submaterial Piecemark List, by Zone " " Submaterial Piecemark List, Select by Submaterial " " Shape File Report " " Shape File Comparison Report "

" Plotting " " Computer Numerically Controlled " " Bill Interchange Format " " DesignLINK " " DXF " " Estimating/Production " " FabTrol Export " " KISS Export " " Export Model " " EJE Export "

" User and Site Options " " Toolbar Configuration " " Keyboard Shortcut Editor " " Mode Configuration " " Context Menu Editor " " Load Configuration " " Save Configuration "

" User Defined Connections " " Auto Standard Connections " " Schedule of Minimums for Structural Members " " Schedule of Minimums for Single-Plate Shear Connections " " Flange Plate Clearances " " Non Auto Standard Field Clearances "

" Wide Flange Grades " " Plate Grades " " Flat Bar Grades " " Round and Square Bar Grades " " WT Grades " " Channel Grades " " Angle Grades " " Pipe Grades " " HSS / TS Grades " " Shear and Threaded Stud Grades "

" Bolt Settings " " Bolt Specifications " " Nut and Washer Schedule " " Washer Settings " " Weld Design Settings " " Design Settings " " Reaction Factors " " Plate Design Settings " Base/Cap Plate Schedule " " Job North " " Revision Level, Zone and Sequence " " Member, Material, Bolt and Weld Colors " " Predefined Colors " " Job Custom Properties " " Event Logging "

" Bill of Material Layout " " Sheet Loading Settings " " Advance Material Report Criteria " " Advance Material Report Layout " " Dimension Settings " " Drawing Presentation " " Line Weights " " General Presentation " " Bolt Detailing Settings " " Member and Material Piecemarking " " Connection Erectability Settings " " Member Detailing Settings " " Member View Defaults " " Erection View Detailing Options " " Member Descriptions " " Detailing Symbol Settings " " Center Marking " " Position and Match Marks " " Stair Treads " " Category Settings " " User Routing Settings " " FabTrol Setup " " KISS Setup " " DXF Export Configuration " " DXF Import Configuration "

" Std Fab Connections - Standard Clip Angle Settings " " Std Fab Connections - Bent Plate Settings " " Std Fab Connections - Shear Plate Settings " " Std Fab Connections - End Plate Settings " " Std Fab Connections - Beam Seat Settings " " Std Fab Connections - Joist Connection Settings " " Std Fab Connections - Cap Plate Settings " " Std Fab Connections - Gusset Plate Settings " " Std Fab Connections - Column Splice Settings " " Std Fab Connections - Miscellaneous Connection Angles " " Std Fab Connections - Miscellanous Connection Tees " " Std Fab Connections - Miscellaneous Connection Flats " " Heavy gage, bolted " " Heavy gage, welded " " Wide gage, bolted " " Narrow gage, bolted " " Wide gage, welded " " Narrow gage, welded " " Single, bolted " " Single, welded to supported member " " Single, welded to supporting member " " Double, welded to supporting member "

" Toggle Z-filtering " " Status Display Toggle " " Clip This Member View " " Unclip This Member View " " Status Configuration "

" User defined mode # 1 " " User-defined mode # 2 " " User-defined mode # 3 " " User-defined mode # 4 "

" Selection Mode " " Clear Selection " " Restore Selection " " Advanced Selection " " Advanced selection from file " " Set Selection Filter Expression "

Note: For RunTool("string") to return True, the "string" you enter must exactly match the tool name shown in Toolbar Configuration in Modeling . Also, RunTool() will return False if the tool is disabled.


The turnbuckle module

Defining the object :

tbk1 = Turnbuckle() begins the turnbuckle code.

tbk1.Member = MemberLocate("status line") or a member object. Sets the member the turnbuckle is to be added to.

memadd1=Member('Misc Turnbuckle') begins code for adding a turnbuckle as a member .

Object attributes :

tbk1.Point1 = PointLocate("Locate 1st point") or a point object. ( Not updatable )

tbk1.Point2 = PointLocate("Locate 2nd point") or a point object. ( Not updatable )

tbk1.SectionSize = a string ("TB3/8x6," or etc.) from the local shape file. ( Not updatable )

tbk1.ThreadTypeLeftEnd = "None" or "Right handed" or "Left handed". ( Not updatable )

tbk1.ThreadTypeRightEnd = "None" or "Right handed" or "Left handed". ( Not updatable )

tbk1.MaterialType = "Turnbuckle". ( Not updatable )

tbk1.SurfaceFinish = "None" or "Sand Blasted" or "Red Oxide" or "Yellow Zinc" or "Gray Oxide" or "Blued Steel" or "Galvanized". ( Not updatable )

tbk1.MaterialColor3d = (red, green, blue) values from 0 to 255 or a "string" from Predefined Colors that links to r, g, b values. (Not updatable )

tbk1.MaterialRoute1Description = a "string" for "MULT CUTTING #". (Not updatable )

tbk1.MaterialRoute2Description = a "string" for "LABOR CODE". ( Not updatable )

tbk1.MaterialRoute3Description = a "string" for "JOB COST CODE". ( Not updatable )

tbk1.MaterialRoute4Description = a "string" for "REMARKS". ( Not updatable )

tbk1.MinorMark = a "string" that is the submaterial mark to be applied to the parametrically added material.

tbk1.ReferencePointOffset = a positive or negative (-) distance in global coordinates from cv1.Point1. This applies to turnbuckle added as submaterial only. ( Not updatable )

tbk1. dummy = "Yes" generates the parametrically added material as dummy material.

builtin = tbk1`.BuiltinMaterialAddFeature()

tbk1.Piecemark = a "string" that is the user piecemark to be applied to the parametrically added miscellaneous member.

tbk1.GUID returns the GUID (Global Unique Identifier) of the material. read-only

tbk1.Member returns the member number (integer > 0) that the material belongs to. read-only

Methods (adding, rotation, erasing, etc.):

tbk1.ShowWindow() = "Yes" or "No".

tbk1.Add() adds the turnbuckle as a submaterial.

memadd1.Add() adds the turnbuckle as a miscellaneous member.

tbk1.Rotate(tbk1.Member, (X,Y,Z)) rotates the turnbuckle.

tbk1.Erase() erases the parametrically added turnbuckle.

tbk1.Translate(dx, dy, dz) . The arguments dx, dy, dz are material coordinate distances. This method returns global coordinate distances.

Exceptions :

turnbuckle.error -- see Feature > Add Python Code > except .


The version module

Functions :

CurrentVersion() returns the current SDS2 version.

VersionCompare('arg1', 'arg2') returns 1 for arg1 > arg2, -1 for arg1 < arg2, 0 for arg1 = arg2.

Exceptions :

version.error -- see Feature > Add Python Code > except .


The view module

Defining the object :

vw1 = View() begins the adding of a user or preset view.

vw1.Member or vw1.Material = the member or material object to add the user view to.

Object attributes :

vw1.Point1 = PointLocate( "Locate 1st point") or a point object.

vw1.Point2 = PointLocate( "Locate 1st point") or a point object.

vw1.Face = "Top Face" or "Web NS" or "Bottom Face" or "Web FS" or "NS Face" (for plates only) or "FS Face" (for plates only). Sets the placement of the user view.

vw1.DepthCheckIn = the distance into the user or preset view.

vw1.DepthCheckOut = the distance out of the user or preset view.

Methods (adding):

vw1.Add("preset_string") adds the preset view, where "preset_string" = "MAIN VIEW" or "TOP FLANGE VIEW" or "BOTTOM FLANGE VIEW" or "FACE A VIEW" or "FACE C VIEW" or "MAIN VIEW, CROSS SECTION" or "LEFT END VIEW" or "BOTTOM END VIEW" or "RIGHT END VIEW" or "TOP END VIEW" or "MAIN VIEW, CENTER CROSS SECTION, RIGHT TO LEFT" or "MAIN VIEW, CENTER CROSS SECTION, LEFT TO RIGHT" or "MAIN VIEW, CENTER CROSS SECTION, BOTTOM TO TOP" or "MAIN VIEW, CENTER CROSS SECTION, TOP TO BOTTOM" or "BOTTOM VIEW" or "TOP VIEW".

vw1.Add() adds the user view.

Exceptions :

view.error -- see Feature > Add Python Code > except .


The weld_add module

Defining the object :

weld1 = Weld() begins the weld code.

weld1.Material = MtrlLocate("Locate mtrl to fit to") OR a material object. Sets the material to be welded.

weld1.WeldTo = MtrlLocate("Locate mtrl to fit to") OR a list of material objects. Sets the material(s) to weld to.

Object attributes :

weld1.WeldTypeSingleOrDouble = OBSOLETE (no longer supported).

weld1.Type = "Fillet" or "Square groove" or "Bevel groove" or "V groove" or "J groove" or "U groove" or "Flare bevel groove" or "Flare V groove" or "Plug" or "Backing weld". ( Not updatable )

weld1.Size = a positive distance. ( Not updatable )

weld1.Length = a positive distance. ( Not updatable )

weld1.LeftSetback = a positive distance. ( Not updatable )

weld1.RightSetback = a positive distance. ( Not updatable )

weld1.WeldSymbolFinishSymbol = a 1-character string ("g" or etc). ( Not updatable )

weld1.WeldAllAround = "Yes" or "No". ( Not updatable )

weld1.FieldWeld = "Yes" or "No". ( Not updatable )

weld1.StaggerDescription = "Yes" or "No". ( Not updatable )

weld1.StaggerLength = a positive distance. ( Not updatable )

weld1.StaggerSpacing = a positive distance. ( Not updatable )

weld1.LeftTermination = a positive distance. ( Not updatable )

weld1.RightTermination returns a positive distance. ( Not updatable )

weld1.NonPrequalifiedWeld = "Yes" or "No". ( Not updatable )

weld1.JointDesignation = a 1-character string ("a" or etc.)

weld1.RootOpening = a positive distance. ( Not updatable )

weld1.RootFace = a positive distance. ( Not updatable )

weld1.GrooveAngle = a positive or negative (-) number of degrees (-75 to 75). ( Not updatable )

weld1.FilletBackupWeld = "Yes" or "No". ( Not updatable )

weld1.WeldContourDescription = "None" or "Flush" or "Convex" or "Concave". ( Not updatable )

weld1.MaximumGap = a positive distance. ( Not updatable )

weld1.WeldInside = "Yes" or "No". ( Not updatable )

weld1.JointType = "None" or "B butt joint" or "C corner joint" or "T T-joint" or "BC butt or corner joint" or "TC T- or corner joint" or "BTC butt, T-, or corner joint". ( Not updatable )

weld1.PenNumber = "None" or "L limited thickness, full-pen" or "U unlimited thickness, full-pen" or "P partial-pen". ( Not updatable )

weld1.Process = "None" or "S submerged arc welding (SAW)" or "G gas metal arc welding (GMAW)" or "F flux cored arc welding (FCAW)". ( Not updatable )

weld1.Position = "None" or "F flat" or "H horizontal" or "V vertical" or "OH overhead". (Not updatable )

weld1.TailText = a string. (Not updatable )

weld1.layout = a Layout3D object. You can use this instead of weld1.WeldTo .

Adding the weld :

weld1.ShowWindow = "Yes" or "No".

weld1.create() adds the weld.

Exceptions :

weld_add.error -- see Feature > Add Python Code > except .