Show / Hide Table of Contents

    Class Bolt

    Describes a bolt fastener: The bolt plus any washers and any nuts.

    Inheritance
    object
    Bolt
    Inherited Members
    object.GetType()
    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 sealed class Bolt

    Constructors

    Bolt()

    Creates a new Bolt object, this must be added to a Member, in a Transaction and that transaction must be committed before this will be in the model.

    Declaration
    public Bolt()

    Properties

    BoltType

    Bolt setup information currently used on bolt

    Declaration
    public BoltType BoltType { get; set; }
    Property Value
    Type Description
    BoltType
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    BreakoutNutAndWasherOnBill

    If true, then nuts and washers are broken out into their own lines on the bill of material.

    Declaration
    public bool BreakoutNutAndWasherOnBill { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    CombineMaterialPlateWashers

    If true, then washers will be combined based on the PlateWasherCombinationMethod setting. If false, then each bolt will get its own plate washer.

    Declaration
    public bool CombineMaterialPlateWashers { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    ConnectionEnd

    The end of the member this is a connection for, if ConnectionBolt is true. If ConnectionBolt is false, this will just be MemberEnd.Left

    Declaration
    public MemberEnd ConnectionEnd { get; }
    Property Value
    Type Description
    MemberEnd

    ConnectionMember

    The member this connection comes from, if ConnectionBolt is true. If ConnectionBolt is false, this will be null.

    Declaration
    public MemberBrief ConnectionMember { get; }
    Property Value
    Type Description
    MemberBrief
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    CustomPropertyMapHandle

    A handle to the custom properties for this bolt.

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

    Diameter

    The diameter of the bolt shaft.

    Declaration
    public double Diameter { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Finish

    The finish type of the bolt

    Declaration
    public BoltFinish Finish { get; set; }
    Property Value
    Type Description
    BoltFinish
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GripLength

    The distance between the inside of the bolt head and inside of the nut

    Declaration
    public double GripLength { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Guid

    The SDS2 Guid/UUID for this bolt.

    Declaration
    public Guid? Guid { get; }
    Property Value
    Type Description
    Guid?
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Handle

    The database handle for this object

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

    HillsideWasherAngle

    The angle from perpendicular of the fastener axis to the fastened material surface.

    Declaration
    public double HillsideWasherAngle { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsBoltless

    If true then this bolt has only a bolt head

    Declaration
    public bool IsBoltless { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsConnectionBolt

    True if this bolt was created for an SDS2 designed connection

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

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsFieldBolt

    True if this is a bolt to be installed in the field, false if it's to be installed in the shop

    Declaration
    public bool IsFieldBolt { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsHeadless

    If true, then this bolt has no bolt head.

    Declaration
    public bool IsHeadless { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsSystemGenerated

    Indicates if a bolt was added by the system, during process, or if it was added by an interactive tool. Bolts created by custom members and components are considered system.

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

    True if this bolt was created by the system.

    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    IsTensionControl

    True if this is a tension control bolt

    Declaration
    public bool IsTensionControl { get; set; }
    Property Value
    Type Description
    bool
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Length

    The length of the bolt shaft

    Declaration
    public double Length { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    MaterialUnderHead

    Retrieve the material under the head of this bolt

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

    For some bolt types, like point to point, this may be null

    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    MaterialUnderNut

    Retrieve the material under the nut of this bolt

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

    For some bolt types, like point to point, this may be null

    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Nuts

    The list of nuts. This list is a copy, so modifying this list will not remove, add, or reorder nuts. Use AddNut and RemoveNut if you need to do so.

    Declaration
    public NutList Nuts { get; }
    Property Value
    Type Description
    NutList
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    PlateWasherCombinationMethod

    Return the plate washer method set.

    Declaration
    public PlateWasherCombinationMethod PlateWasherCombinationMethod { get; set; }
    Property Value
    Type Description
    PlateWasherCombinationMethod
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    PointUnderHead

    This is the point under the head of the bolt relative to the member the bolt is on. To get the global point, use ToGlobalCoordinates.Transform on this point.

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

    PointUnderNut

    This is the point under the nut of the bolt relative to the member the bolt is on. To get the global point, use ToGlobalCoordinates.Transform on this point.

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

    Rotation

    The rotation of the bolt

    Declaration
    public double Rotation { get; set; }
    Property Value
    Type Description
    double
    Exceptions
    Type Condition
    NotAddedException

    Thrown when setting data on the object without having added it to a transaction

    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    ToGlobalCoordinates

    The position and orientation of the bolt in global coordinates.

    Declaration
    public Matrix ToGlobalCoordinates { get; }
    Property Value
    Type Description
    Matrix
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    ToMemberCoordinates

    The position and orientation of the bolt in member coordinates.

    Declaration
    public Matrix ToMemberCoordinates { get; set; }
    Property Value
    Type Description
    Matrix
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherHeadPrimary

    Primary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherHeadPrimary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherHeadSecondary

    Secondary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherHeadSecondary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherHeadTertiary

    Tertiary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherHeadTertiary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherNutPrimary

    Primary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherNutPrimary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherNutSecondary

    Secondary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherNutSecondary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WasherNutTertiary

    Tertiary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer WasherNutTertiary { get; }
    Property Value
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    WashersUnderHead

    A list of washers on this bolt under the nut with some positive quantity and non WasherType.None. Note that modifying the list will not add, remove, or re-order the washers on the bolt.

    Declaration
    public WasherList WashersUnderHead { get; }
    Property Value
    Type Description
    WasherList

    WashersUnderNut

    A list of washers on this bolt under the nut with some positive quantity and non WasherType.None. Note that modifying the list will not add, remove, or re-order the washers on the bolt.

    Declaration
    public WasherList WashersUnderNut { get; }
    Property Value
    Type Description
    WasherList
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    Methods

    AddNut()

    Added a nut into the first free slot. There are two nuts allowed for each bolt, this will find the first of those two that's set to NutType.None and put in a NutType.HeavyHex and return it. If all slots are full, this will return null.

    Declaration
    public Nut AddNut()
    Returns
    Type Description
    Nut

    AddWasherHead()

    Added a washer into the first free slot. There are three washers allowed for each bolt (ignoring the Quantity field), this will find the first of those three that's set to WasherType.None and put in a WasherType.Hardened or set with quantity 0 and set to a quantity of 1 and return it. If all slots are full, this will return null.

    Declaration
    public Washer AddWasherHead()
    Returns
    Type Description
    Washer

    AddWasherNut()

    Added a washer into the first free slot. There are three washers allowed for each bolt (ignoring the Quantity field), this will find the first of those three that's set to WasherType.None and put in a WasherType.Hardened or set with quantity 0 and set to a quantity of 1 and return it. If all slots are full, this will return null.

    Declaration
    public Washer AddWasherNut()
    Returns
    Type Description
    Washer

    ~Bolt()

    Describes a bolt fastener: The bolt plus any washers and any nuts.

    Declaration
    protected ~Bolt()

    FindMaterialUnderHead()

    See documentation for FindMaterialUnderHead, it's the same but this looks under the head not the nut

             If there's only one material along the bolt's grip, these will return the same material.
    
    Declaration
    public Material FindMaterialUnderHead()
    Returns
    Type Description
    Material
    Exceptions
    Type Condition
    InvalidOperationException

    thrown if this bolt hasn't been added to a member, or it's been added but that hasn't been committed yet. This is a requirement because this needs to know what member the bolt is on to know the global location of the bolt since bolts are always relative to a member's coordinate system.

    FindMaterialUnderNut()

    Scan the space under the bolt's nut to see if there's a material there. If so, regardless of holes, we'll return that and you can set it to MaterialUnderNut if it also passes your checks.

             Bolt mybolt;
             mybolt.MaterialUnderNut = mybolt.FindMaterialUnderNut();
    
    Declaration
    public Material FindMaterialUnderNut()
    Returns
    Type Description
    Material

    true a material if one was found and used. null if none could be found.

    Exceptions
    Type Condition
    InvalidOperationException

    thrown if this bolt hasn't been added to a member, or it's been added but that hasn't been committed yet. This is a requirement because this needs to know what member the bolt is on to know the global location of the bolt since bolts are always relative to a member's coordinate system.

    GetNuts()

    The list of nuts. This list is a copy, so modifying this list will not remove, add, or reorder nuts. Use AddNut and RemoveNut if you need to do so.

    Declaration
    public NutList GetNuts()
    Returns
    Type Description
    NutList
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetSurface()

    The Surface, or polygons, for this bolt, in bolt local coordinates. To get these into global coordinates, transform by the bolt transform, then by the member transform.

    Declaration
    public Surface GetSurface()
    Returns
    Type Description
    Surface
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherHeadPrimary()

    Primary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherHeadPrimary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherHeadSecondary()

    Secondary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherHeadSecondary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherHeadTertiary()

    Tertiary washer under the bolt head. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherHeadTertiary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherNutPrimary()

    Primary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherNutPrimary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherNutSecondary()

    Secondary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherNutSecondary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWasherNutTertiary()

    Tertiary washer under the nut. A washer with WasherType.None indicates there is no washer.

    Declaration
    public Washer GetWasherNutTertiary()
    Returns
    Type Description
    Washer
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    GetWashersUnderHead()

    A list of washers on this bolt under the nut with some positive quantity and non WasherType.None. Note that modifying the list will not add, remove, or re-order the washers on the bolt.

    Declaration
    public WasherList GetWashersUnderHead()
    Returns
    Type Description
    WasherList

    GetWashersUnderNut()

    A list of washers on this bolt under the nut with some positive quantity and non WasherType.None. Note that modifying the list will not add, remove, or re-order the washers on the bolt.

    Declaration
    public WasherList GetWashersUnderNut()
    Returns
    Type Description
    WasherList
    Exceptions
    Type Condition
    NotLockedException

    Thrown when reading or writing the property of a bolt that was added to a transaction but is unlocked

    RemoveNut(Nut)

    This will clear the slot represented by the nut passed in.

    Declaration
    public void RemoveNut(Nut nut)
    Parameters
    Type Name Description
    Nut nut

    RemoveWasher(Washer)

    This will clear the slot represented by the washer passed in.

    Declaration
    public void RemoveWasher(Washer washer)
    Parameters
    Type Name Description
    Washer washer
    Back to top