# GH_InstanceReference 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_InstanceReference : GH_GeometricGoo<InstanceReferenceGeometry>, IGH_GeometricGoo, IGH_BakeAwareData, IGH_PreviewData, IGH_PreviewMeshData, IGH_RenderAwareData
```

Represents block instance reference. Wraps the functionality of the [InstanceReferenceGeometry](https://mcneel-apidocs-rhinocommon-7f6eb10c6967.herokuapp.com/api/rhinocommon/type/rhino.geometry.instancereferencegeometry/) type.

## Constructors

- [GH_InstanceReference](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/ctor.md): (7 overloads) Default constructor.

## Properties

- [BoundingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/boundingbox.md)
- [ClippingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/clippingbox.md)
- [InstanceDefinition](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/instancedefinition.md)
- [IsGeometryLoaded](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/isgeometryloaded.md): Gets the load state of this instance reference object. The instance reference is considered to be loaded when the local instance is not null.
- [IsReferencedGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/isreferencedgeometry.md): Gets a value indicating whether or not this geometry is referenced. Not all IGH_GeometricGoo implementations support referenced geometry.
- [IsValid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/isvalid.md): Gets the validity of this instance reference. If the instance reference is referenced but cannot be loaded, the instance reference is not valid.
- [IsValidWhyNot](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/isvalidwhynot.md): Gets a string describing the state of "invalidness". If the instance is valid, then this property should return Nothing or String.Empty.
- [ModelTransform](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/modeltransform.md)
- [ReferenceID](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/referenceid.md)
- [TypeDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/typedescription.md)
- [TypeName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/typename.md)

## Methods

- [IGH_RenderAwareData.AppendRenderGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/appendrendergeometry.md)
- [BakeGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/bakegeometry.md)
- [CastFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/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-instancereference/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-instancereference/clearcaches.md): Clears all volatile caches for this instance. The boundingbox is cleared, and if the instance reference is referenced, the local instance of the instance reference is erased.
- [IGH_PreviewMeshData.DestroyPreviewMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/destroypreviewmeshes.md)
- [DrawViewportMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/drawviewportmeshes.md)
- [DrawViewportWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/drawviewportwires.md)
- [Duplicate](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/duplicate.md)
- [DuplicateGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/duplicategeometry.md): Create a duplicate of this GH_InstanceReference.
- [DuplicateInstanceReference](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/duplicateinstancereference.md): Create a duplicate of this GH_InstanceReference.
- [EmitProxy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/emitproxy.md)
- [GetBoundingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/getboundingbox.md)
- [IGH_PreviewMeshData.GetPreviewMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/getpreviewmeshes.md)
- [LoadGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/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-instancereference/morph.md)
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/read.md)
- [ScriptVariable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/scriptvariable.md)
- [ToString](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/tostring.md): Format the instance reference using default grasshopper formatting logic.
- [Transform](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/transform.md)
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-instancereference/write.md)

## Inherited Members

- From [GH_GeometricGoo<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoo-1.md): [Value](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.types.gh-geometricgoo-1/value.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)
