# GH_Hatch class

Namespace: [Grasshopper.Kernel.Types](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.kernel.types.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public class GH_Hatch : GH_GeometricGoo<Hatch>, IGH_GeometricGoo, IGH_BakeAwareData, IGH_PreviewData
```

Represents an implementation of a Rhino hatch.

## Constructors

- [GH_Hatch](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/ctor.md): (5 overloads) Default constructor, creates an invalid hatch.

## Properties

- [BackgroundColor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/backgroundcolor.md)
- [BackgroundPlotColor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/backgroundplotcolor.md)
- [BoundaryColor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundarycolor.md)
- [BoundaryColorSource](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundarycolorsource.md)
- [BoundaryPlotColor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundaryplotcolor.md)
- [BoundaryPlotColorSource](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundaryplotcolorsource.md)
- [BoundaryPlotWeightMillimeters](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundaryplotweightmillimeters.md)
- [BoundaryVisible](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundaryvisible.md)
- [BoundingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/boundingbox.md)
- [ClippingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/clippingbox.md)
- [IsGeometryLoaded](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/isgeometryloaded.md): Gets the load state of this hatch object. The hatch is considered to be loaded when the local hatch instance is not null.
- [IsValid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/isvalid.md): Gets the validity of this hatch. If the hatch is referenced but cannot be loaded, the hatch is not valid.
- [IsValidWhyNot](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/isvalidwhynot.md): Gets a string describing the state of "invalidness". If the instance is valid, then this property should return Nothing or String.Empty.
- [Pattern](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/pattern.md)
- [ReferenceID](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/referenceid.md)
- [TypeDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/typedescription.md)
- [TypeName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/typename.md)
- [Value](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/value.md)

## Methods

- [BakeGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/bakegeometry.md)
- [CastFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/castfrom.md): Remote to Local caster function. This stuff is complex, don't concern yourself with casting logic.
- [CastTo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/castto.md): Local to Remote caster function. This stuff is complex, don't concern yourself with casting logic.
- [ClearCaches](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/clearcaches.md): Clears all volatile caches for this instance. The boundingbox is cleared, and if the hatch is referenced, the local instance of the hatch is erased.
- [DrawViewportMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/drawviewportmeshes.md)
- [DrawViewportWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/drawviewportwires.md)
- [Duplicate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/duplicate.md)
- [DuplicateGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/duplicategeometry.md): Create a duplicate of this hatch.
- [DuplicateHatch](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/duplicatehatch.md): Create a duplicate of this hatch.
- [EmitProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/emitproxy.md)
- [GetBoundingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/getboundingbox.md)
- [LoadGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/loadgeometry.md): (2 overloads) If the geometry is referenced and not yet loaded, attempts to load the geometry.
- [Morph](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/morph.md)
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/read.md)
- [ScriptVariable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/scriptvariable.md)
- [ToString](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/tostring.md): Format the hatch using default grasshopper formatting logic.
- [Transform](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/transform.md)
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-hatch/write.md)

## Inherited Members

- From [GH_GeometricGoo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoo-1.md): [IsReferencedGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoo-1/isreferencedgeometry.md)
- From [GH_Goo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1.md): [m_value](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1/m-value.md), [CastTo<Q>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-goo-1/castto.md)
