Show / Hide Table of Contents

    Class Material

    Material is the base class for all material types.

    Inheritance
    object
    Material
    BoltMaterial
    Decking
    FlatBar
    Grating
    GratingTread
    Plate
    PythonMaterial
    Rail
    RectangularPlateEnd
    ReferenceObjectAreaLayout
    ReferenceObjectPerimeterLayout
    RoundBar
    ShapeMaterial
    ShearOrThreadedStud
    SquareBar
    StandardPart
    TurnedShellLayout
    TurnedSolidLayout
    Inherited Members
    object.GetType()
    object.MemberwiseClone()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    Namespace: DesignData.SDS2.Model
    Assembly: DesignData.SDS2.Model.dll
    Syntax
    public class Material

    Properties

    ABM_ID

    The ABM id for this material

    Declaration
    public string ABM_ID { get; set; }
    Property Value
    Type Description
    string
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    ABM_Length

    ABM length. Applicable when not using point to point length for the ABM.

    Declaration
    public double ABM_Length { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    ABM_Name

    Name of the ABM this material is on

    Declaration
    public string ABM_Name { get; }
    Property Value
    Type Description
    string
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    ABM_Note

    ABM note for this material

    Declaration
    public string ABM_Note { get; set; }
    Property Value
    Type Description
    string
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    ABM_PointToPointLength

    ABM point to point length. Applicable when using point to point length for the ABM.

    Declaration
    public double ABM_PointToPointLength { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    Color

    Get the color of the material

    Declaration
    public Color Color { get; set; }
    Property Value
    Type Description
    Color

    CustomPropertyMapHandle

    A handle to the custom properties for this material.

    Declaration
    public CustomPropertyMapHandle CustomPropertyMapHandle { get; }
    Property Value
    Type Description
    CustomPropertyMapHandle

    Description

    A description of the material. This is either a default, automatically generated, description or one entered by the user. If you set this, it will become a user description.

    Declaration
    public string Description { get; set; }
    Property Value
    Type Description
    string
    Remarks

    This string maxes out at 22 characters. SDS2 will cut off any text after that.

    Finish

    The surface finish of the material

    Declaration
    [Obsolete("Model.Material.Finish return type enum is deprecated. Use the SurfaceFinish property for the new type Setup.SurfaceFinish", false)]
    public MaterialSurfaceFinish Finish { get; set; }
    Property Value
    Type Description
    MaterialSurfaceFinish
    Remarks

    For BoltMaterial, this property is ignored. And BoltFinish should be used.

    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    Grade

    Returns a steel grade, or null if not applicable

    Declaration
    public SteelGrade Grade { get; }
    Property Value
    Type Description
    SteelGrade
    Remarks

    To set a grade look for the Grade property on the derived class. You'll need to choose a grade from an appropriate grade list for that material type. Which can be found in a static property, on that class, called AvailableSteelGrades.

    Handle

    The database handle for this object

    Declaration
    public MaterialHandle Handle { get; }
    Property Value
    Type Description
    MaterialHandle

    Holes

    The list of holes drilled into this material.

    Declaration
    public HoleList Holes { get; }
    Property Value
    Type Description
    HoleList

    IsAutoSurfaceFinish

    When true, IsAutoSurfaceFinish indicates the material follows the finish set for the member. When false, the finish can be different from the member finish.

    Declaration
    public bool IsAutoSurfaceFinish { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotLockedException

    Thrown when the material is unlocked while setting the property.

    IsBent

    Returns true if a bend operation was applied to the material.

    Declaration
    public bool IsBent { get; }
    Property Value
    Type Description
    bool

    IsCNCDownloaded

    True if a cnc download file has been generated for this material.

    Declaration
    public bool IsCNCDownloaded { get; }
    Property Value
    Type Description
    bool

    IsCNCScribeOntoOther

    True if this material can be scribed onto other materials it attaches to

    Declaration
    public bool IsCNCScribeOntoOther { get; }
    Property Value
    Type Description
    bool

    IsDummy

    A dummy material is assigned a submaterial mark prefix of d. In other words, dummy materials are assigned piecemarks such as d1, d2, d3, etc. Dummy material is not included in reports (such as the Joist Report or Connection Calculations or Expanded Connection Design Calculations), and it is not listed in any member's bill of material. Dummy material does appear on member details, but is not automatically included in the member bill of material and is not called out or dimensioned on the member detail. Detail Submaterial cannot detail dummy material.

    Declaration
    public bool IsDummy { get; set; }
    Property Value
    Type Description
    bool

    IsFitted

    Returns true if a fit operation was applied to the material.

    Declaration
    public bool IsFitted { get; }
    Property Value
    Type Description
    bool

    IsInABM

    Indicator if the material should be included in the ABM

    Declaration
    public bool IsInABM { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    IsMain

    If true, then this material is "main" material. Meaning that things are assembled by attaching them to this material.

    Declaration
    public bool IsMain { get; set; }
    Property Value
    Type Description
    bool

    IsStretched

    Returns true if a stretch operation was applied to the material.

    Declaration
    public bool IsStretched { get; }
    Property Value
    Type Description
    bool

    IsSystem

    True if a material was generated by the system and has not been modified by the user. False if it's been modified by the user, or was originally created by the user. The distinction between system and user is about whether material is created inside process, by software (system), or if it's created by the user outside of process either through the API or with builtin tools.

    Declaration
    public bool IsSystem { get; }
    Property Value
    Type Description
    bool

    IsUserDescription

    True if the description set is a user set description, or set through the API

    Declaration
    public bool IsUserDescription { get; }
    Property Value
    Type Description
    bool

    MaterialUse

    An enumeration-like value describing why this material is being used in the job

    Declaration
    public MaterialUse MaterialUse { get; }
    Property Value
    Type Description
    MaterialUse
    Remarks

    This is not a user facing field

    Piecemark

    Piecemark is the string identifying any material identical to this material.

    Declaration
    public string Piecemark { get; set; }
    Property Value
    Type Description
    string
    Remarks

    Piecemarks are assigned automatically, and should not typically be otherwise assigned. Piecemarks are typically composed of a prefix string from setup indicating the material type followed by a number.

    Exceptions
    Type Condition
    MaterialException

    Assigning a piecemark may throw an exception if the piecemark is already in use.

    Quantity

    Material is the base class for all material types.

    Declaration
    public int Quantity { get; }
    Property Value
    Type Description
    int

    ReferenceLocation

    The offset from the materials origin point to the materials origin reference point.

    Declaration
    public Point3D ReferenceLocation { get; set; }
    Property Value
    Type Description
    Point3D

    RevisionDate

    The last date this was revised

    Declaration
    public DateTime? RevisionDate { get; }
    Property Value
    Type Description
    DateTime?

    RevisionLevel

    Material is the base class for all material types.

    Declaration
    public int RevisionLevel { get; }
    Property Value
    Type Description
    int

    Route1

    The Mult. Cutting # routing. Assign these from the first list in the routing table on DesignData.SDS2.Setup.RoutingDefinitions.

    Declaration
    public RoutingDefinition Route1 { get; set; }
    Property Value
    Type Description
    RoutingDefinition
    Remarks

    The definition of this routing could change in the future

    Exceptions
    Type Condition
    InvalidValueException

    If the type of routing set is not correct: You can't set a routing value from Route2 to Route1, for example.

    Route2

    The labor code routing. Assign these from the second list in the routing table on DesignData.SDS2.Setup.RoutingDefinitions.

    Declaration
    public RoutingDefinition Route2 { get; set; }
    Property Value
    Type Description
    RoutingDefinition
    Remarks

    The definition of this routing could change in the future

    Exceptions
    Type Condition
    InvalidValueException

    If the type of routing set is not correct: You can't set a routing value from Route2 to Route1, for example.

    Route3

    The job cost code routing. Assign these from the third list in the routing table on DesignData.SDS2.Setup.RoutingDefinitions.

    Declaration
    public RoutingDefinition Route3 { get; set; }
    Property Value
    Type Description
    RoutingDefinition
    Remarks

    The definition of this routing could change in the future

    Exceptions
    Type Condition
    InvalidValueException

    If the type of routing set is not correct: You can't set a routing value from Route2 to Route1, for example.

    Route4

    The remarks routing. Assign these from the fourth list in the routing table on DesignData.SDS2.Setup.RoutingDefinitions.

    Declaration
    public RoutingDefinition Route4 { get; set; }
    Property Value
    Type Description
    RoutingDefinition
    Remarks

    The definition of this routing could change in the future

    Exceptions
    Type Condition
    InvalidValueException

    If the type of routing set is not correct: You can't set a routing value from Route2 to Route1, for example.

    SurfaceArea

    The surface area around the whole material. This will not subtract out holes but it will subtract out material cuts and clips

    Declaration
    public double SurfaceArea { get; }
    Property Value
    Type Description
    double
    Remarks

    In square inches

    SurfaceFinish

    The surface finish of the material

    Declaration
    public SurfaceFinish SurfaceFinish { get; set; }
    Property Value
    Type Description
    SurfaceFinish
    Remarks

    For BoltMaterial, this property is ignored. And BoltFinish should be used.

    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    ToGlobalCoordinates

    Position and orientation of the material in global coordinates

    Declaration
    public Matrix ToGlobalCoordinates { get; set; }
    Property Value
    Type Description
    Matrix

    ToMemberCoordinates

    Position and orientation of the material with respect to the member

    Declaration
    public Matrix ToMemberCoordinates { get; }
    Property Value
    Type Description
    Matrix

    Usage

    The usage description for this material. This can be taken from a table in setup, or it can be set it any 29 character (or shorter) string.

    Declaration
    public string Usage { get; set; }
    Property Value
    Type Description
    string
    Remarks

    This must be 29 characters or shorter.

    UseAutoLengthInABM

    False iff the ABM length is static data that does not change. Otherwise, the length is calculated dynamically by SDS2 as it changes.

    Declaration
    public bool UseAutoLengthInABM { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    UsePointToPointLengthInABM

    True iff ABM length is based on the material's point to point length. Otherwise, ABM length is based on the standard ABM length.

    Declaration
    public bool UsePointToPointLengthInABM { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    InvalidValueException

    InvalidValueException thrown when the material is invalid.

    NotLockedException

    Thrown when the material is unlocked while setting the property.

    Weight

    The weight of the material.

    Declaration
    public double Weight { get; }
    Property Value
    Type Description
    double
    Remarks

    In pounds

    Methods

    Dispose(bool)

    Material is the base class for all material types.

    Declaration
    protected virtual void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    Drill(HolePattern)

    Create holes on the material given the hole pattern specification.

    Drill will return the subset of holes in the pattern that are on a face of the material and are far enough from any other holes on the material. Drill will replace existing holes with no diameter, i.e. "marks", with actual holes.

    Drill can be called on material that has not been added to the job, i.e. "standalone" material, or called on material that has been added to a transaction. Drill should not be mixed with other hole transactions such as edit. References to previous holes should be considered invalid after Drill.

    Declaration
    public HoleList Drill(HolePattern pattern)
    Parameters
    Type Name Description
    HolePattern pattern
    Returns
    Type Description
    HoleList

    ~Material()

    Material is the base class for all material types.

    Declaration
    protected ~Material()

    Get(MaterialHandle)

    Get a Material object from a MaterialHandle for the current job.

    Declaration
    public static Material Get(MaterialHandle handle)
    Parameters
    Type Name Description
    MaterialHandle handle
    Returns
    Type Description
    Material

    GetSurface()

    Retrieve material polygons.

    Declaration
    public Surface GetSurface()
    Returns
    Type Description
    Surface
    Back to top