Represents a hatch in planar boundary loop or loops. This is a 2d entity with a plane defining a local coordinate system. The loops, patterns, angles, etc are all in this local coordinate system. The Hatch object manages the plane and loop array Fill definitions are in the HatchPattern or class derived from HatchPattern Hatch has an index to get the pattern definition from the pattern table.
Constructors
Hatch
#Protected constructor for internal use.
Parameters:
| info (SerializationInfo) | Serialization data. |
| context (StreamingContext) | Serialization stream. |
Properties
Gets or sets the hatch pattern base point
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
HasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
HasUserData
Gets true if this class has any custom information attached to it through UserData.
IsDeformable
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
IsDocumentControlled
If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to "IsReadOnly" will throw a NotSupportedException.
Overrides: CommonObject.IsDocumentControlled
IsShallowDuplicate
Is this instance a 'shallow copy'. Shallow copies are no different than regular instances with the exception that they will convert to complete independent 'deep' copies if a non const operation is perform on the instance (something that mutates the internal data)
ObjectType
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
Gets or sets the index of the pattern in the document hatch pattern table.
Gets or sets the relative rotation of the pattern.
Gets or sets the scaling factor of the pattern.
UserData
List of custom information that is attached to this class.
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
Methods
ComponentIndex
If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index.
Returns: This object's component index. If this object is not a sub-piece of a larger geometric entity, then the returned index has m_type = ComponentIndex.InvalidType and m_index = -1.
ConstructConstObject
Assigns a parent object and a sub-object index to this.
public static Hatch Create(Plane hatchPlane, Curve outerLoop, IEnumerable<Curve> innerLoops, int hatchPatternIndex, double rotationRadians, double scale)
Create a hatch with a given set of outer and inner loops
public static Hatch[] Create(Curve curve, int hatchPatternIndex, double rotationRadians, double scale, double tolerance)
Constructs an array of hatches from one curve.
public static Hatch[] Create(Curve curve, int hatchPatternIndex, double rotationRadians, double scale)
obsoleteUse version that takes a tolerance parameter instead
Constructs an array of hatches from one curve.
public static Hatch[] Create(IEnumerable<Curve> curves, int hatchPatternIndex, double rotationRadians, double scale, double tolerance)
Constructs an array of hatches from a set of curves.
Parameters:
| curves (IEnumerable<Curve>) | An array, a list or any enumerable set of Curve. |
| hatchPatternIndex (int) | The index of the hatch pattern in the document hatch pattern table. |
| rotationRadians (double) | The relative rotation of the pattern. |
| scale (double) | A scaling factor. |
| tolerance (double) |
Returns: An array of hatches. The array might be empty on error.
Exceptions:
| ArgumentNullException | If curves is null. |
public static Hatch[] Create(IEnumerable<Curve> curves, int hatchPatternIndex, double rotationRadians, double scale)
obsoleteUse version that takes a tolerance parameter instead
Constructs an array of hatches from a set of curves.
Parameters:
| curves (IEnumerable<Curve>) | An array, a list or any enumerable set of Curve. |
| hatchPatternIndex (int) | The index of the hatch pattern in the document hatch pattern table. |
| rotationRadians (double) | The relative rotation of the pattern. |
| scale (double) | A scaling factor. |
Returns: An array of hatches. The array might be empty on error.
Exceptions:
| ArgumentNullException | If curves is null. |
[ConstOperation]
public void CreateDisplayGeometry(HatchPattern pattern, double patternScale, out Curve[] bounds, out Line[] lines, out Brep solidBrep)
Generate geometry that would be used to draw the hatch with a given hatch pattern
Parameters:
| pattern (HatchPattern) | |
| patternScale (double) | |
| bounds (out Curve[]) | |
| lines (out Line[]) | |
| solidBrep (out Brep) |
public static Hatch CreateFromBrep(Brep brep, int brepFaceIndex, int hatchPatternIndex, double rotationRadians, double scale, Point3d basePoint)
Create a hatch from a planar face of a Brep
DataCRC
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quick way to see if two objects are not identical.
Parameters:
| currentRemainder (uint) | The current remainder value. |
Returns: CRC of the information the defines the object.
DeleteAllUserStrings
public void DeleteAllUserStrings()
Parameters:
| key (string) |
Dispose
public void Dispose()
Actively reclaims unmanaged resources that this instance uses.
Dispose
Overridden in order to destroy local display cache information
Parameters:
| disposing (bool) |
Overrides: CommonObject.Dispose
Returns: An object of the same type as this, with the same properties and behavior.
DuplicateShallow
Constructs a light copy of this object. By "light", it is meant that the same underlying data is used until something is done to attempt to change it. For example, you could have a shallow copy of a very heavy mesh object and the same underlying data will be used when doing things like inspecting the number of faces on the mesh. If you modify the location of one of the mesh vertices, the shallow copy will create a full duplicate of the underlying mesh data and the shallow copy will become a deep copy.
Returns: An object of the same type as this object.
This behavior is overridden by implementing classes.
EnsurePrivateCopy
public void EnsurePrivateCopy()
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
Decomposes the hatch pattern into an array of geometry.
Returns: An array of geometry that formed the appearance of the original elements.
Gets 2d curves that define the boundaries of the hatch
Parameters:
| outer (bool) | true to get the outer curves, false to get the inner curves |
Gets 3d curves that define the boundaries of the hatch
Parameters:
| outer (bool) | true to get the outer curves, false to get the inner curves |
GetBoundingBox
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
Parameters:
| accurate (bool) | If true, a physically accurate bounding box will be computed. If not, a bounding box estimate will be computed. For some geometry types there is no difference between the estimate and the accurate bounding box. Estimated bounding boxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes. |
Returns: The bounding box of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
GetBoundingBox
Aligned Bounding box solver. Gets the plane aligned bounding box.
GetBoundingBox
Aligned Bounding box solver. Gets the plane aligned bounding box.
Parameters:
| plane (Plane) | Orientation plane for BoundingBox. |
Returns: A BoundingBox in plane coordinates.
GetBoundingBox
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
Parameters:
| xform (Transform) | Transformation to apply to object prior to the BoundingBox computation. The geometry itself is not modified. |
Returns: The accurate bounding box of the transformed geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
Get gradient fill information for this hatch. If the "GradientType" for the fill is None, then this hatch doesn't have any gradient fill.
GetObjectData
[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
Parameters:
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
Parameters:
| key (string) | id used to retrieve the string. |
Returns: string associated with the key if successful. null if no key was found.
GetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
Returns: A new collection.
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
Parameters:
| log (out string) | A textual log. This out parameter is assigned during this call. |
Returns: true if this object is valid; false otherwise.
MakeDeformable
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
Returns: false if object cannot be converted to a deformable object. true if object was already deformable or was converted into a deformable object.
MemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
Returns: An estimated memory footprint.
NonConstOperation
protected override void NonConstOperation()
Destroy cache handle
Overrides: CommonObject.NonConstOperation
OnSwitchToNonConst
protected override void OnSwitchToNonConst()
Is called when a non-constant operation occurs.
Overrides: CommonObject.OnSwitchToNonConst
Rotate
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
Scale
Scales the object by the specified factor. The scale is centered at the origin.
Parameters:
| scaleFactor (double) | The uniform scaling factor. |
Returns: true if geometry successfully scaled.
Scale the hatch's pattern
Parameters:
| xform (Transform) |
Parameters:
| fill (ColorGradient) |
SetUserString
Attach a user string (key,value combination) to this geometry.
Constructs a Brep representation of this hatch.
Returns: A Brep representation of this hatch if successful, null otherwise.
ToJSON
Create a JSON string representation of this object
Parameters:
| options (SerializationOptions) |
Transform
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
Parameters:
| xform (Transform) | Transformation to apply to geometry. |
Returns: true if geometry successfully transformed.
Translate
Translates the object along the specified vector.
Translate
Translates the object along the specified vector.
Parameters:
| translationVector (Vector3d) | A moving vector. |
Returns: true if geometry successfully translated.