Show / Hide Table of Contents

    Class HolePattern

    HolePattern encapsulates information to create holes in the model. The local coordinate system of a HolePattern is an XY plane that can be translated to global coordinates and used to create holes on materials.

    Inheritance
    object
    HolePattern
    Inherited Members
    object.GetType()
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    Namespace: DesignData.SDS2.Model
    Assembly: DesignData.SDS2.Model.dll
    Syntax
    public sealed class HolePattern

    Constructors

    HolePattern()

    HolePattern encapsulates information to create holes in the model. The local coordinate system of a HolePattern is an XY plane that can be translated to global coordinates and used to create holes on materials.

    Declaration
    public HolePattern()

    Properties

    BoltDiameter

    Bolt diameter, in inches, for the pattern.

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

    Throw when passed a negative diameter.

    CombineOnDetail

    Indicates if this pattern should be combined with others, when possible, on details.

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

    DrillBothSidesOfHollowSection

    Indicates if this pattern should be drilled through both sides of hollow section materials.

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

    GlobalHoles

    Hole locations in global coordinates.

    Declaration
    public Point3DList GlobalHoles { get; }
    Property Value
    Type Description
    Point3DList

    HoleDiameter

    Hole diameter, in inches, for the pattern.

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

    Throw when passed a negative diameter.

    HoleType

    The hole type for the pattern

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

    IsAutoPreferredBoltType

    Specifies if the preferred bolt type for the pattern should use the default bolt type defined in setup.

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

    Assigning PreferredBoltType to null will turn on IsAutoPreferredBoltType. Setting it to a non-null bolt type will turn off IsAutoPreferredBoltType.

    IsMatchable

    Indicates if this pattern can be used to "match" against other material, which would create a corresponding hole on that material in line with this hole. If this is false, then this hole will be ignored during hole matching.

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

    IsValidCNC

    Indicates if this pattern can be downloaded to a CNC file If this is false, then the pattern will not appear in the CNC file which is one way to avoid error messages for holes that would otherwise generate errors.

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

    LocalHoles

    Hole locations in local coordinates.

    Declaration
    public Point2DList LocalHoles { get; set; }
    Property Value
    Type Description
    Point2DList

    MaximumSurfaceGap

    Maximum gap between pattern and material surface that will allow pattern to drill holes.

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

    Throw when passed a negative gap.

    PlugType

    Hole plug type for this pattern

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

    PreferredBoltType

    The bolt type for the pattern

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

    Assigning PreferredBoltType to null will turn on IsAutoPreferredBoltType. Setting it to a non-null bolt type will turn off IsAutoPreferredBoltType.

    Exceptions
    Type Condition
    InvalidValueException

    Throw when passed a bolt type that is not defined in setup.

    SlotLength

    Slot length, in inches, for the pattern.

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

    Throw when passed a negative length.

    SlotRotation

    Slot rotation, in radians, for the pattern.

    Declaration
    public double SlotRotation { get; set; }
    Property Value
    Type Description
    double

    ToGlobalCoordinates

    Represents the transformation from the pattern in local coordinates to global coordinates.

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

    Methods

    AddLocalHole(Point2D)

    Add a hole location in local coordinates to the pattern.

    Declaration
    public void AddLocalHole(Point2D hole)
    Parameters
    Type Name Description
    Point2D hole

    ~HolePattern()

    HolePattern encapsulates information to create holes in the model. The local coordinate system of a HolePattern is an XY plane that can be translated to global coordinates and used to create holes on materials.

    Declaration
    protected ~HolePattern()

    GetHashCode()

    HolePattern encapsulates information to create holes in the model. The local coordinate system of a HolePattern is an XY plane that can be translated to global coordinates and used to create holes on materials.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int
    Overrides
    object.GetHashCode()

    GetOperations()

    A deep copy of the the machine/tool operations for the hole pattern

    Declaration
    public HoleMachineOperations GetOperations()
    Returns
    Type Description
    HoleMachineOperations
    Remarks

    The pattern HoleType must be set to StandardRound at the time of drilling into a material for the operations to apply.

    GridPattern(HolePatternRelativeGridPosition, int, double, double, int, double, double)

    Factory to create a HolePattern for the grid patterns that the SDS2 hole create tool supports. This will return a hole pattern with (x_count * y_count) locations even if some of the locations overlap due to how the spacing is defined.

    Declaration
    public static HolePattern GridPattern(HolePatternRelativeGridPosition grid_position, int x_count, double x_offset, double x_spacing, int y_count, double y_offset, double y_spacing)
    Parameters
    Type Name Description
    HolePatternRelativeGridPosition grid_position

    Specifies how 1, 2, or 4 grids of holes are positioned relative to the pattern origin.

    int x_count

    The number of horizontal columns in a pattern.

    double x_offset

    The distance along the x axis the first column is from the origin.

    double x_spacing

    The distance along the x axis between columns.

    int y_count

    The number of vertical rows in a pattern.

    double y_offset

    The distance along the y axis the first row is from the origin.

    double y_spacing

    The distance along the y axis between rows.

    Returns
    Type Description
    HolePattern

    HoleMatchedPattern()

    Return a new pattern that is suitable to be used as a hole match to this pattern. The returned pattern will use StandardRound holes with nominal dimensions based on the this pattern and there will be no operations applied. If this pattern is not Matchable then the returned pattern will have no holes.

    Declaration
    public HolePattern HoleMatchedPattern()
    Returns
    Type Description
    HolePattern

    SetNominalHoleDimensions(HoleType, BoltType, double)

    Set the hole diameter and slot length based on the hole type, bolt type and bolt diameter. Also, sets the hole type, bolt type, and bolt diameter to the specified values.

    Declaration
    public void SetNominalHoleDimensions(HoleType holeType, BoltType boltType, double boltDiameter)
    Parameters
    Type Name Description
    HoleType holeType
    BoltType boltType
    double boltDiameter

    SetOperations(HoleMachineOperations)

    A deep copy of the the machine/tool operations for the hole pattern

    Declaration
    public void SetOperations(HoleMachineOperations operations)
    Parameters
    Type Name Description
    HoleMachineOperations operations
    Remarks

    The pattern HoleType must be set to StandardRound at the time of drilling into a material for the operations to apply.

    Back to top