# InstanceDefinitionGeometry class

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public class InstanceDefinitionGeometry : ModelComponent
```

Represents a block definition in a File3dm. This is the same as Rhino.DocObjects.InstanceDefinition, but not associated with a RhinoDoc.

**Derived types:** [InstanceDefinition](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.instancedefinition.md)

## Constructors

- [InstanceDefinitionGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/ctor.md): Initializes a new block definition.

## Properties

- [ComponentType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/componenttype.md): Returns [ModelComponentType.InstanceDefinition](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponenttype.md).
- [Description](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/description.md): Gets or sets the description of the definition.
- [IsLinkedType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/islinkedtype.md): Returns true if this instance definition is linked to an external source archive, that is, if its [InstanceDefinitionGeometry.UpdateType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/updatetype.md) is [InstanceDefinitionUpdateType.Linked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.instancedefinitionupdatetype.md) or [InstanceDefinitionUpdateType.LinkedAndEmbedded](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.instancedefinitionupdatetype.md).
- [LayerStyle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/layerstyle.md): Specifies how model components (layers, materials, dimension styles, etc.) from linked instance definition files appear in the active model.
- [SkipNestedLinkedDefinitions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/skipnestedlinkeddefinitions.md): This property applies when an instance definition is linked. If true, when reading the file that defines the content of the linked instance definition, skip any linked instance definitions found in that file. If false, when reading the file that defines the content of the linked instance definition, recursively load linked instance definitions found in that file.
- [SourceArchive](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/sourcearchive.md): Gets the full file path for linked instance definitions.
- [SourceArchiveRelativePath](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/sourcearchiverelativepath.md): Gets the source archive path for linked instance definitions relative to the file that contains this definition. Empty if the definition is not linked or no relative path is stored.
- [UnitSystem](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/unitsystem.md): Gets the unit system of the instance definition. If the instance definition was imported from another 3dm file, the unit system may differ from that of the document.
- [UpdateType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/updatetype.md): Gets the relationship between this instance definition's geometry and the source archive that contains the original definition.
- [Url](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/url.md): Gets or sets the URL or hyperlink of the definition.
- [UrlDescription](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/urldescription.md): Gets or sets the description of the URL or hyperlink of the definition.
- [UserStringCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/userstringcount.md): Gets the amount of user strings.

## Methods

- [DeleteAllUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/deletealluserstrings.md): Deletes all user strings attached to this geometry.
- [DeleteUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/deleteuserstring.md): Deletes the user string with the specified key from this geometry.
- [GetObjectIds](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/getobjectids.md): Returns the unique identifiers of all objects that are part of this instance definition's geometry table.
- [GetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/getuserstring.md): Gets user string from this geometry.
- [GetUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/getuserstrings.md): Gets a copy of all (user key string, user value string) pairs attached to this geometry.
- [SetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.instancedefinitiongeometry/setuserstring.md): Attach a user string (key,value combination) to this geometry.

## Inherited Members

- From [ModelComponent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent.md): [ComponentStatus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/componentstatus.md), [DeletedName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/deletedname.md), [HasId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasid.md), [HasIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasindex.md), [HasName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/hasname.md), [Id](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/id.md), [IdIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/idislocked.md), [Index](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/index.md), [IndexIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/indexislocked.md), [InstanceDefinitionModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/instancedefinitionmodelserialnumber.md), [IsComponentStatusLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/iscomponentstatuslocked.md), [IsDeleted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/isdeleted.md), [IsReference](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/isreference.md), [IsSystemComponent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/issystemcomponent.md), [ModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/modelserialnumber.md), [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/name.md), [NameIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/nameislocked.md), [ReferenceModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/referencemodelserialnumber.md), [ClearId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearid.md), [ClearIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearindex.md), [ClearName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/clearname.md), [DataCRC](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/datacrc.md), [LockId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockid.md), [LockIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockindex.md), [LockName](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/lockname.md), [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/tostring.md)
- From [CommonObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject.md): [Disposed](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/disposed.md), [HasUserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/hasuserdata.md), [IsDocumentControlled](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isdocumentcontrolled.md), [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalid.md), [UserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdata.md), [UserDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdictionary.md), [ConstructConstObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/constructconstobject.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/dispose.md), [EnsurePrivateCopy](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/ensureprivatecopy.md), [GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/getobjectdata.md), [IsValidWithLog](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalidwithlog.md), [NonConstOperation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/nonconstoperation.md), [OnSwitchToNonConst](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/onswitchtononconst.md), [ToJSON](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/tojson.md)
