Class Bolt
Describes a bolt fastener: The bolt plus any washers and any nuts.
Inherited Members
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 |