# ObjectTable class

Namespace: [Rhino.DocObjects.Tables](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.docobjects.tables.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public sealed class ObjectTable : RhinoDocCommonTable<RhinoObject>, ICollection<RhinoObject>
```

## Properties

- [BoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/boundingbox.md): Gets the bounding box for all objects (normal, locked and hidden) in this document that exist in "model" space. This bounding box does not include objects that exist in layout space.
- [BoundingBoxVisible](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/boundingboxvisible.md): Gets the bounding box for all visible objects (normal and locked) in this document that exist in "model" space. This bounding box does not include hidden objects or any objects that exist in layout space.
- [ComponentType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/componenttype.md)
- [Document](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/document.md): Gets the document that owns this object table.
- [HistoryRecordCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/historyrecordcount.md): Returns the amount of history records in this document.

## Methods

- [Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/add.md): (3 overloads) Adds geometry that is not further specified. This is meant, for example, to handle addition of sets of different geometrical entities.
- [AddAngularDimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addangulardimension.md): (3 overloads) Adds an angular dimension object to the document.
- [AddArc](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addarc.md): (3 overloads)
- [AddBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addbox.md): (3 overloads) Adds a box to the object table, as an extrusion.
- [AddBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addbrep.md): (4 overloads)
- [AddCentermark](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addcentermark.md): Adds an ordinate dimension object to the document.
- [AddCircle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addcircle.md): (3 overloads)
- [AddClippingPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addclippingplane.md): (5 overloads)
- [AddClippingPlaneSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addclippingplanesurface.md)
- [AddCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addcurve.md): (3 overloads)
- [AddEllipse](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addellipse.md): (3 overloads)
- [AddExplodedInstancePieces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addexplodedinstancepieces.md)
- [AddExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addextrusion.md): (3 overloads)
- [AddHatch](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addhatch.md): (3 overloads)
- [AddInstanceObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addinstanceobject.md): (3 overloads) Adds an instance object to the document.
- [AddLeader](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addleader.md): (10 overloads)
- [AddLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addline.md): (5 overloads) Adds a line object to Rhino.
- [AddLinearDimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addlineardimension.md): (3 overloads) Adds a linear dimension object to the document.
- [AddMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addmesh.md): (4 overloads)
- [AddMorphControl](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addmorphcontrol.md): (3 overloads)
- [AddOrderedPointCloud](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addorderedpointcloud.md): (2 overloads) Adds a point cloud object to the document.
- [AddOrdinateDimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addordinatedimension.md): Adds an ordinate dimension object to the document.
- [AddPictureFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addpictureframe.md): Creates a PictureFrame object from a plane and a path to an image file, Note, a PictureFrame object is just a Plane surface or mesh that has a material with a texture assigned to it that displays in all display modes.
- [AddPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addpoint.md): (7 overloads) Adds a point object to the document.
- [AddPointCloud](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addpointcloud.md): (6 overloads) Adds a point cloud object to the document.
- [AddPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addpoints.md): (4 overloads) Adds multiple points to the document.
- [AddPolyline](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addpolyline.md): (3 overloads)
- [AddRadialDimension](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addradialdimension.md): (3 overloads) Adds a radial dimension object to the document.
- [AddRectangle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addrectangle.md): (3 overloads) Adds a rectangle to the object table.
- [AddRhinoObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addrhinoobject.md): (11 overloads)
- [AddSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addsphere.md): (3 overloads)
- [AddSubD](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addsubd.md): (3 overloads) Adds a SubD object to Rhino.
- [AddSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addsurface.md): (3 overloads)
- [AddText](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addtext.md): (11 overloads)
- [AddTextDot](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/addtextdot.md): (5 overloads) Adds a text dot object to Rhino.
- [AllObjectsSince](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/allobjectssince.md): Gets all the objects that have been added to the document since a given runtime serial number.
- [AnySelectedObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/anyselectedobjects.md): Fast existence test for the current selection, with a reference breakdown, that does NOT materialize the selected objects. This is equivalent to testing whether [ObjectTable.FindByFilter(ObjectEnumeratorSettings)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbyfilter.md) with NormalObjects, ActiveObjects, ReferenceObjects, IncludeLights and SelectedObjectsFilter would return any objects (and whether any of them are reference objects / reference blocks), but it uses the fast selection iterator and stops at the first match instead of building a RhinoObject[] of the entire selection. Intended for selection-change UI guards (e.g. the Layers panel).
- [Delete](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/delete.md): (7 overloads) Deletes object from document. The deletion can be undone by calling UndeleteObject().
- [DeleteGrip](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/deletegrip.md): (3 overloads) Deletes a grip object.
- [DeleteGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/deletegrips.md): (4 overloads) Deletes one or more grip objects.
- [Duplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/duplicate.md): (3 overloads) Same as TransformObject(objref, ON_Xform.Identity, false)
- [Find](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/find.md): (2 overloads) Please use FindId().
- [FindByCrossingWindowRegion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbycrossingwindowregion.md): (2 overloads) Finds objects bounded by a polyline region
- [FindByDrawColor](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbydrawcolor.md): Finds all objects whose draw color matches a given color.
- [FindByFilter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbyfilter.md): Same as GetObjectList but converts the result to an array.
- [FindByGroup](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbygroup.md): Finds all RhinoObjects that are in a given group.
- [FindByLayer](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbylayer.md): (2 overloads) Finds all RhinoObjects that are in a given layer.
- [FindByObjectType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbyobjecttype.md)
- [FindByUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbyuserstring.md): (3 overloads) Finds all objects whose UserString matches the search patterns.
- [FindByWindowRegion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findbywindowregion.md): (2 overloads) Finds objects bounded by a polyline region
- [FindClippingPlanesForViewport](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findclippingplanesforviewport.md): (2 overloads) Finds all of the clipping plane objects that actively clip a viewport.
- [FindGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findgeometry.md): Same as FindId, but returns the Geometry property directly, if it exists.
- [FindId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/findid.md): Uses the object guid to find a rhino object. Deleted objects cannot be found by id. The guid is the value that is stored on RhinoObject.Id In a single document, no two active objects have the same guid. If an object is replaced with a new object, then the guid persists. For example, if the _Move command moves an object, then the moved object inherits it's guid from the starting object. If the Copy command copies an object, then the copy gets a new guid. This guid persists through file saving/opening operations. This function will not find grip objects.
- [GetEnumerator](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getenumerator.md)
- [GetObjectIdList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getobjectidlist.md): Returns an enumerable based on a [ObjectEnumeratorSettings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.objectenumeratorsettings.md) filter.
- [GetObjectList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getobjectlist.md): (3 overloads) Returns an enumerable based on a [ObjectEnumeratorSettings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.objectenumeratorsettings.md) filter.
- [GetObjectsByType<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getobjectsbytype.md): (2 overloads) Returns Rhino object by type.
- [GetSelectedObjectCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getselectedobjectcount.md): Compute the current number of selected objects
- [GetSelectedObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getselectedobjects.md)
- [GetSelectedObjectTypes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/getselectedobjecttypes.md): What geometry types are currently selected
- [GripUpdate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/gripupdate.md): Altered grip positions on a RhinoObject are used to calculate an updated object that is added to the document.
- [Hide](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/hide.md): (6 overloads)
- [InvalidateBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/invalidateboundingbox.md): Destroys the cached scene bounding box so that it will be regenerated again from scratch next time the view is regenerated
- [Lock](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/lock.md): (3 overloads) If objref.Object().IsNormal() is true, then the object will be locked.
- [ModifyAttributes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/modifyattributes.md): (3 overloads) Modifies an object's attributes. Cannot be used to change object id.
- [ModifyRenderMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/modifyrendermaterial.md): (3 overloads) Modifies an object's render material assignment, this will set the objects material source to ObjectMaterialSource.MaterialFromObject.
- [ModifyTextureMapping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/modifytexturemapping.md): (3 overloads)
- [MostRecentObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/mostrecentobject.md): Gets the most recently added object that is still in the Document.
- [ObjectCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/objectcount.md): Returns the number objects that pass a filter.
- [PickObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/pickobjects.md): Pick one or more objects based on a given pick context
- [Purge](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/purge.md): (2 overloads) Removes object from document and deletes the pointer. Typically you will want to call Delete instead in order to keep the object on the undo list.
- [Replace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/replace.md): (39 overloads) Replaces one object with new curve object.
- [ReplaceInstanceObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/replaceinstanceobject.md): (2 overloads) Replaces the underlying instance definition of an instance object.
- [Select](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/select.md): (15 overloads) Select or deselects a single object.
- [SelectedObjectsExist](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/selectedobjectsexist.md): Quick way to test if any objects are currently selected
- [SelectGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/selectgrips.md): (2 overloads) Selects or deselects a collection of grips in one pass, so a native CRhinoOnChangeObjectSelectState watcher sees one change rather than one per grip.
- [SetSelectedObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/setselectedobjects.md): Set object selection.
- [Show](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/show.md): (3 overloads) If Object().IsHidden() is true, then the object will be returned to normal (visible and selectable) mode.
- [ICollection<RhinoObject>.Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/system-collections-generic-icollection-rhino-docobjects-rhinoobject-add.md)
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/transform.md): (3 overloads) Constructs a new object that is the transformation of the existing object and deletes the existing object if deleteOriginal is true.
- [TransformWithHistory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/transformwithhistory.md): (3 overloads) Constructs a new object that is the transformation of the existing object and records history of the transformation if history recording is turned on. If history recording is not enabled, this function will act the same as Transform(objectId, xform, false)
- [TryFindPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/tryfindpoint.md): Finds the location of a point, if a point exists in the document.
- [Undelete](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/undelete.md): (2 overloads)
- [Unlock](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/unlock.md): (3 overloads) If Object().IsLocked() is true, then the object will be returned to normal (visible and selectable) mode.
- [UnselectAll](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.tables.objecttable/unselectall.md): (2 overloads) Unselect objects.

## Inherited Members

- From [CommonComponentTable<T>](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1.md): [Count](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/count.md), [Clear](https://developer.rhino3d.com/api/rhinocommon/type/rhino.fileio.commoncomponenttable-1/clear.md)
