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.
Inherited Members
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
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.