# GH_Component class

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

```cs
public abstract class GH_Component : GH_ActiveObject, IGH_Component, IGH_RenderAwareObject
```

Inherit from this class if you wish to create a custom component. Note that you must provide a public, empty constructor which calls the base class constructor.

**Derived types:** [GH_CleanTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-cleantreecomponent.md), [GH_CleanTreeComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-cleantreecomponent-obsolete.md), [GH_CleanTreeComponent_OSBOLETE_AS_WELL](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-cleantreecomponent-osbolete-as-well.md), [GH_Cluster](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-cluster.md), [GH_Cluster_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-cluster-obsolete.md), [GH_CurvatureGraphComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-curvaturegraphcomponent.md), [GH_CustomPreviewComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-custompreviewcomponent.md), [GH_DataDamComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-datadamcomponent.md), [GH_DocExampleComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-docexamplecomponent.md), [GH_ExplodeTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-explodetreecomponent.md), [GH_ExplodeTreeComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-explodetreecomponent-obsolete.md), [GH_FlattenTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-flattentreecomponent.md), [GH_FlattenTreeComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-flattentreecomponent-obsolete.md), [GH_FlipDataMatrixComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-flipdatamatrixcomponent.md), [GH_GradientControl](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-gradientcontrol.md), [GH_GraftTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-grafttreecomponent.md), [GH_GraftTreeComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-grafttreecomponent-obsolete.md), [GH_GroupGeometryComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-groupgeometrycomponent.md), [GH_IsNullDataComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-isnulldatacomponent-obsolete.md), [GH_Legend](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-legend.md), [GH_MatchTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-matchtreecomponent.md), [GH_MergeGroupComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-mergegroupcomponent.md), [GH_MetaBallComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-metaballcomponent.md), [GH_MetaBallComponentThreshold](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-metaballcomponentthreshold.md), [GH_MetaBallComponentThresholdEx](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-metaballcomponentthresholdex.md), [GH_NamedGroupComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-namedgroupcomponent.md), [GH_PathCompareComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-pathcomparecomponent.md), [GH_PointListComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-pointlistcomponent.md), [GH_PruneTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-prunetreecomponent.md), [GH_ReadFileComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-readfilecomponent.md), [GH_ReplacePathComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-replacepathcomponent.md), [GH_ShiftDataPathComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-shiftdatapathcomponent.md), [GH_SimplifyTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-simplifytreecomponent.md), [GH_SimplifyTreeComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-simplifytreecomponent-obsolete.md), [GH_SmoothNumbersComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-smoothnumberscomponent.md), [GH_SplitGroupComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-splitgroupcomponent.md), [GH_StreamFilterComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-streamfiltercomponent.md), [GH_StreamFilterComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-streamfiltercomponent-obsolete.md), [GH_StreamGateComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-streamgatecomponent.md), [GH_StreamGateComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-streamgatecomponent-obsolete.md), [GH_TaskCapableComponent<T>](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-taskcapablecomponent-1.md), [GH_TextTag3DComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttag3dcomponent.md), [GH_TextTag3DComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttag3dcomponent-obsolete.md), [GH_TextTag3DComponent_OBSOLETE_AS_WELL](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttag3dcomponent-obsolete-as-well.md), [GH_TextTagComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttagcomponent.md), [GH_TextTagComponent_OBSOLETE](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-texttagcomponent-obsolete.md), [GH_TreeSplitComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-treesplitcomponent.md), [GH_TrimTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-trimtreecomponent.md), [GH_UnflattenTreeComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-unflattentreecomponent.md), [GH_UngroupGeometryComponent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.components.gh-ungroupgeometrycomponent.md), [GH_ValueTimeline](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-valuetimeline.md)

## Constructors

- [GH_Component](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/ctor.md): (2 overloads) Custom blank constructor for naughty components.

## Properties

- [ClippingBox](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/clippingbox.md): Gets the clipping box for all preview geometry drawn by this component and all associated parameters.
- [DataComparison](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/datacomparison.md): Gets or sets the data matching algorithm for this component
- [HelpDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/helpdescription.md): Override this method if you want the help topic content to be more than the Component description.
- [Hidden](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/hidden.md): Gets or sets the hidden flag for this component. Does not affect Hidden flags on parameters associated with this component.
- [InConstructor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/inconstructor.md): Gets the constructor flag for this instance. If InConstructor = True, it means the component is still registering parameters and the layout is not yet complete.
- [InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/instancedescription.md)
- [IsBakeCapable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/isbakecapable.md)
- [IsDataProvider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/isdataprovider.md): Components are never Data providers. Only the output parameters can be considered to be providers.
- [IsPreviewCapable](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/ispreviewcapable.md): If a single parameter is PreviewCapable, so is the component. Override this property if you need special Preview flags.
- [IsValidPrincipalParameterIndex](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/isvalidprincipalparameterindex.md): Gets whether the MasterParameterIndex property identifies a valid parameter.
- [Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/locked.md): Gets or sets the Locked state for this Component. This also sets locked states for all input and output parameters.
- [Message](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/message.md): Gets or sets a custom message to be displayed underneath the component. This message is not serialized and should be assigned on every solution anew.
- [Params](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/params.md): Gets the parameter manager object for this component.
- [PrincipalParameterIndex](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/principalparameterindex.md): Gets or sets the principal parameter index override. Negative indices or indices larger than or equal to the input parameter count will be ignored and regular principal parameter detection will kick in.
- [ProcessorTime](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/processortime.md): Gets the total processor time (profiler) spend by this component and all input parameters.
- [RunCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/runcount.md): Gets a value indicating how many times the SolveInstance method was called on this component during the last solution. This property will return -1 if no valid runcount is available.
- [RuntimeMessageLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/runtimemessagelevel.md): Returns the worst case runtime warning level of me and all my parameters

## Methods

- [AddedToDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/addedtodocument.md): Overrides the AddedToDocument method and delegates the call to all parameters.
- [AfterSolveInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/aftersolveinstance.md): Override this method if you want to be called after the last call to SolveInstance.
- [AppendAdditionalComponentMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/appendadditionalcomponentmenuitems.md): Override this function if you want to insert some custom menu items in your derived Component class. Items will be added between List Matching items and parameter menus.
- [AppendAdditionalMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/appendadditionalmenuitems.md): Adds typical component type items to the context menu:Data comparison types; Custom (overridden) items; Nested input parameter context menu items; Nested output parameter context menu items
- [AppendRenderGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/appendrendergeometry.md): (obsolete) Append all geometry associated with this component to a render queue.
- [AssignInitCodeToInputParameter](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/assigninitcodetoinputparameter.md): Utility function for parsing and assigning init codes. This only works for standard parameter types.
- [BakeGeometry](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/bakegeometry.md): (2 overloads)
- [BeforeSolveInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/beforesolveinstance.md): Override this method if you want to be called before the first call to SolveInstance.
- [ClearData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/cleardata.md): Clear the data inside this component and all output parameters.
- [ClearRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/clearruntimemessages.md): Clears all runtime messages in me and my parameters
- [CollectData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/collectdata.md): Calls CollectData on all input parameters and makes sure the Component and all associated parameters are left in a valid state.
- [ComputeData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/computedata.md): Compute all data and fill out all output parameters.
- [CreateAttributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/createattributes.md): Create new attributes.
- [DependsOn](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/dependson.md): Returns True is any one of my input parameters depends on the source.
- [DocumentAngleTolerance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/documentangletolerance.md): (static) Gets the Angle tolerance (in radians) for the currently active Rhino document.
- [DocumentContextChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/documentcontextchanged.md): Overrides the DocumentContextChanged method and delegates the call to all parameters.
- [DocumentTolerance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/documenttolerance.md): (static) Gets the Absolute tolerance for the currently active Rhino document.
- [DrawViewportMeshes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/drawviewportmeshes.md): Draw preview meshes for this component and all associated parameters.
- [DrawViewportWires](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/drawviewportwires.md): Draw preview wires for this component and all associated parameters.
- [ExpireDownStreamObjects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/expiredownstreamobjects.md): Expire all objects that depend on any of the output parameters.
- [GenerateDefaultHTML](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/generatedefaulthtml.md): Creates the default component help topic, including all parameter lists.
- [GenerateParameterHelp](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/generateparameterhelp.md): (2 overloads) Create an HTML string that lists names and descriptions for input and output parameters.
- [HtmlHelp_Source](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/htmlhelp-source.md): Return a String which contains HTML formatted source for the help topic. If you want to pass a URL that points to a remote page, then prefix the URL with a GOTO: tag, like so: GOTO:http://www.YourWebAddressHere.com
- [IsolateObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/isolateobject.md): Sever the connections of all input and output parameters.
- [MovedBetweenDocuments](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/movedbetweendocuments.md): Overrides the MovedBetweenDocuments method and delegates the call to all parameters.
- [PostConstructor](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/postconstructor.md): The PostConstructor is called from within each constructor. DO NOT OVERRIDE THIS unless you know what you are doing.
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/read.md): Read all required data for deserialization from an IO archive.
- [RegisterInputParams](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/registerinputparams.md): Declare all your input parameters here.
- [RegisterOutputParams](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/registeroutputparams.md): Declare all your output parameters here.
- [RegisterRemoteIDs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/registerremoteids.md): Registers all my input parameters with the UUID_LookUpTable
- [RemovedFromDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/removedfromdocument.md): Overrides the RemovedFromDocument method and delegates the call to all parameters.
- [RuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/runtimemessages.md): Gets the list of cached runtime messages that were recorded during solver-time processes. For components, the set of runtime messages also includes input and output parameters.
- [SolveInstance](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/solveinstance.md): This function will be called (successively) from within the ComputeData method of this component.
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-component/write.md): Write all required data for deserialization to an IO archive.

## Inherited Members

- From [GH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject.md): [IconCapableUI](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/iconcapableui.md), [MutableNickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/mutablenickname.md), [Phase](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/phase.md), [AddRuntimeMessage](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/addruntimemessage.md), [AppendMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/appendmenuitems.md), [ExpireSolution](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/expiresolution.md), [Menu_AppendBakeItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendbakeitem.md), [Menu_AppendEnableItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendenableitem.md), [Menu_AppendPreviewItem](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendpreviewitem.md), [Menu_AppendRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendruntimemessages.md), [Menu_AppendWarningsAndErrors](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/menu-appendwarningsanderrors.md), [SDKCompliancy](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/sdkcompliancy.md)
- From [GH_DocumentObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject.md): [m_attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/m-attributes.md), [Attributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/attributes.md), [ComponentGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/componentguid.md), [Exposure](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/exposure.md), [Icon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon.md), [IconDisplayMode](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icondisplaymode.md), [Icon_24x24](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon-24x24.md), [Icon_24x24_Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/icon-24x24-locked.md), [Internal_Icon_24x24](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/internal-icon-24x24.md), [Obsolete](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/obsolete.md), [AttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/attributeschanged.md), [DisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/displayexpired.md), [ObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/objectchanged.md), [PingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/pingdocument.md), [PreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/previewexpired.md), [SolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/solutionexpired.md), [DestroyIconCache](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/destroyiconcache.md), [ExpirePreview](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/expirepreview.md), [GetValue](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/getvalue.md), [Menu_AppendObjectHelp](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjecthelp.md), [Menu_AppendObjectName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjectname.md), [Menu_AppendObjectNameEx](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendobjectnameex.md), [Menu_AppendPublish](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/menu-appendpublish.md), [OnAttributesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onattributeschanged.md), [OnDisplayExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/ondisplayexpired.md), [OnObjectChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onobjectchanged.md), [OnPingDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onpingdocument.md), [OnPreviewExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onpreviewexpired.md), [OnSolutionExpired](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/onsolutionexpired.md), [RecordUndoEvent](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/recordundoevent.md), [SetIconOverride](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/seticonoverride.md), [SetValue](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/setvalue.md), [TriggerAutoSave](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/triggerautosave.md), [ValuesChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/valueschanged.md)
- From [GH_InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription.md): [Category](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/category.md), [Description](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/description.md), [HasCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/hascategory.md), [HasSubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/hassubcategory.md), [InstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/instanceguid.md), [Keywords](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/keywords.md), [Name](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/name.md), [NickName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/nickname.md), [SubCategory](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/subcategory.md), [CopyFrom](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/copyfrom.md), [NewInstanceGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/newinstanceguid.md), [ReadFull](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/readfull.md), [WriteFull](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-instancedescription/writefull.md)
