Class Material
Material is the base class for all material types.
Inheritance
Inherited Members
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 |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.Double |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.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 |
---|---|
System.String |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.Double |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.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 group member 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 |
IsCNCDownloaded
True if a cnc download file has been generated for this material.
Declaration
public bool IsCNCDownloaded { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
IsCNCScribeOntoOther
True if this material can be scribed onto other materials it attaches to
Declaration
public bool IsCNCScribeOntoOther { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
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 |
---|---|
System.Boolean |
IsInABM
Indicator if the material should be included in the ABM
Declaration
public bool IsInABM { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.Boolean |
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 |
---|---|
System.Boolean |
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 |
---|---|
System.Boolean |
Piecemark
Piecemark is the string identifying any material identical to this material.
Declaration
public string Piecemark { get; set; }
Property Value
Type | Description |
---|---|
System.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
Declaration
public int Quantity { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
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 |
---|---|
System.Nullable<System.DateTime> |
RevisionLevel
Declaration
public int RevisionLevel { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Route1
The Mult. Cutting # routing. Assign these from the first list in the routing table on DesignData.SDS2.Database.Job.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.Database.Job.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.Database.Job.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.Database.Job.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 |
---|---|
System.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 group member 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 |
---|---|
System.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 |
---|---|
System.Boolean |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member 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 |
---|---|
System.Boolean |
Exceptions
Type | Condition |
---|---|
InvalidValueException | InvalidValueException thrown when the material is invalid. |
NotLockedException | Thrown when the group member is unlocked while setting the property. |
Weight
The weight of the material.
Declaration
public double Weight { get; }
Property Value
Type | Description |
---|---|
System.Double |
Remarks
In pounds
Methods
Dispose(Boolean)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
System.Boolean | disposing |
Finalize()
Declaration
protected void Finalize()
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 |