# GH_Timer class

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

```cs
public class GH_Timer : GH_ActiveObject, IGH_InstanceGuidDependent
```

## Constructors

- [GH_Timer](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/ctor.md)

## Properties

- [AllowModeSwitching](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/allowmodeswitching.md): Override this property and return false to disable switching between manual and scheduled modes.
- [AllowTargetLocking](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/allowtargetlocking.md): Override this property and return false to disable target locking UI.
- [ComponentGuid](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/componentguid.md)
- [DisplayIcon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/displayicon.md): Override this property and return true to include the icon in the attributes.
- [DisplayUserName](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/displayusername.md): Override this property and return false to not include the user name in the attributes.
- [Exposure](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/exposure.md)
- [GlobalTimerBlock](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/globaltimerblock.md): (static) Gets the global timer block state.
- [Icon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/icon.md)
- [IconCapableUI](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/iconcapableui.md)
- [InstanceDescription](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/instancedescription.md)
- [Interval](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/interval.md): Gets or sets the interval (in milliseconds between timer ticks). Any interval less than or equal to zero results in a manual timer.
- [IntervalString](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/intervalstring.md)
- [IsDataProvider](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/isdataprovider.md)
- [LockTargets](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/locktargets.md): Gets or sets whether the target objects ought to be locked while not triggered by this timer. This property does not itself perform any locking/unlocking, that is the responsibility of the caller.
- [Manual](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/manual.md): Gets whether updates must be triggered manually or whether they are automatically scheduled. Negative interval values imply a manual trigger.
- [TargetCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/targetcount.md): Gets the number of targets directly specified by this trigger.
- [Targets](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/targets.md): Gets the targets directly specified by this trigger.
- [TargetsRecursive](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/targetsrecursive.md): Gets the target specified by this trigger, and by any other trigger which is referenced by this trigger.
- [TimerComponentID](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/timercomponentid.md): (static)

## Methods

- [AddTarget](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/addtarget.md): (2 overloads)
- [AppendAdditionalMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/appendadditionalmenuitems.md)
- [AppendMenuItems](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/appendmenuitems.md)
- [CleanTargetList](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/cleantargetlist.md): Remove all targets which can no longer be resolved. You typically don't want to call this as objects may have been deleted but may be re-instated via UNDO again. There's no real harm in having 'dirty' targets.
- [CollectData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/collectdata.md)
- [CreateAttributes](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/createattributes.md)
- [DependsOn](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/dependson.md)
- [DestroyBlockIcon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/destroyblockicon.md): (static)
- [EnsureBlockIcon](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/ensureblockicon.md): (static)
- [ExpireTargets](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/expiretargets.md): (2 overloads) Expire all target objects, but do not start a new solution.
- [HtmlHelp_Source](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/htmlhelp-source.md)
- [InstanceGuidsChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/instanceguidschanged.md)
- [LockAllTargetObjects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/lockalltargetobjects.md): Lock all target objects if the [GH_Timer.LockTargets](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/locktargets.md) property is set to true.
- [Read](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/read.md)
- [RemoveTarget](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/removetarget.md): (2 overloads)
- [UnlockAllTargetObjects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/unlockalltargetobjects.md): Unlock all target objects.
- [Write](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.special.gh-timer/write.md)

## Inherited Members

- From [GH_ActiveObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject.md): [Locked](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/locked.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), [ProcessorTime](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/processortime.md), [RuntimeMessageLevel](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/runtimemessagelevel.md), [AddRuntimeMessage](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/addruntimemessage.md), [ClearData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/cleardata.md), [ClearRuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/clearruntimemessages.md), [ComputeData](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/computedata.md), [ExpireDownStreamObjects](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/expiredownstreamobjects.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), [RegisterRemoteIDs](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/registerremoteids.md), [RuntimeMessages](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-activeobject/runtimemessages.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), [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), [AddedToDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/addedtodocument.md), [DestroyIconCache](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/destroyiconcache.md), [DocumentContextChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/documentcontextchanged.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), [IsolateObject](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/isolateobject.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), [MovedBetweenDocuments](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/movedbetweendocuments.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), [RemovedFromDocument](https://developer.rhino3d.com/api/gh1/type/grasshopper.kernel.gh-documentobject/removedfromdocument.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)
