# RhinoObject class

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

```cs
public class RhinoObject : ModelComponent
```

Represents an object in the document.

RhinoObjects should only ever be creatable by the RhinoDoc.

**Derived types:** [AnnotationObjectBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.annotationobjectbase.md), [BrepObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.brepobject.md), [ClippingPlaneObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.clippingplaneobject.md), [CurveObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.curveobject.md), [DetailViewObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.detailviewobject.md), [ExtrusionObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.extrusionobject.md), [GripObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.gripobject.md), [HatchObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.hatchobject.md), [InstanceObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.instanceobject.md), [LightObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.lightobject.md), [MeshObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.meshobject.md), [MorphControlObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.morphcontrolobject.md), [NamedViewWidgetObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.namedviewwidgetobject.md), [PointCloudObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.pointcloudobject.md), [PointObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.pointobject.md), [ProxyObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.proxyobject.md), [SubDObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.subdobject.md), [SurfaceObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.surfaceobject.md), [TextDotObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.textdotobject.md)

## Properties

- [Attributes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/attributes.md): Gets or sets the object attributes.
- [ComponentType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/componenttype.md): Returns [ModelComponentType.ModelGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponenttype.md).
- [Document](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/document.md): Gets the document that owns this object.
- [EditPointGripsOn](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/editpointgripson.md): true when the grips this object has on are edit points, of either kind.
- [EnabledGripsId](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/enabledgripsid.md): Which kind of grips this object currently has on.
- [Geometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/geometry.md): Gets the underlying geometry for this object. All rhino objects are composed of geometry and attributes.
- [GripsOn](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gripson.md): Gets or sets the activation state of object default editing grips.
- [GripsSelected](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gripsselected.md): true if grips are turned on and at least one is selected.
- [GroupCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/groupcount.md): Number of groups object belongs to.
- [HasDynamicTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/hasdynamictransform.md): True if the object has a dynamic transformation
- [HasSubobjectMaterials](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/hassubobjectmaterials.md): Will be true if the object contains sub object meshes with materials that are different than the top level object.
- [Id](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/id.md): Every object has a Guid (globally unique identifier, also known as UUID, or universally unique identifier). The default value is Guid.Empty. When an object is added to a model, the value is checked. If the value is Guid.Empty, a new Guid is created. If the value is not null but it is already used by another object in the model, a new Guid is created. If the value is not Guid.Empty and it is not used by another object in the model, then that value persists. When an object is updated, by a move for example, the value of ObjectId persists. This value is the same as the one returned by this.Attributes.ObjectId.
- [InstanceDefinitionModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/instancedefinitionmodelserialnumber.md): When a component is in a model as part of the information required for a linked instance definition, this value identifies the linked instance definition reference model.
- [IsDeletable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isdeletable.md): Some objects cannot be deleted, like grips on lights and annotation objects.
- [IsDeleted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isdeleted.md): true if the object is deleted. Deleted objects are kept by the document for undo purposes. Call RhinoDoc.UndeleteObject to undelete an object.
- [IsHidden](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ishidden.md): An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
- [IsInstanceDefinitionGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isinstancedefinitiongeometry.md): true if the object is used as part of an instance definition.
- [IsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/islocked.md): An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
- [IsNormal](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isnormal.md): An object must be in one of three modes: normal, locked or hidden. If an object is in normal mode, then the object's layer controls visibility and selectability. If an object is locked, then the object's layer controls visibility by the object cannot be selected. If the object is hidden, it is not visible and it cannot be selected.
- [IsPictureFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ispictureframe.md): Returns true if the object is a picture frame. A picture frame object is an object that displays a texture map in all views.
- [IsReference](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isreference.md): Gets a value indicating if an object is a reference object. An object from a work session reference model is a reference object and cannot be modified. An object is a reference object if, and only if, it is on a reference layer.
- [IsSolid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/issolid.md): Returns true if object is a closed solid, otherwise false.
- [Name](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/name.md): Rhino objects have optional text names. More than one object in a model can have the same name and some objects may have no name.
- [NextRuntimeSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/nextruntimeserialnumber.md): (static) Gets the runtime serial number that will be assigned to the next Rhino Object that is created.
- [ObjectType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/objecttype.md): Gets the Rhino-based object type.
- [ReferenceModelSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/referencemodelserialnumber.md): When a component is in a model for reference, this value identifies the reference model.
- [RenderMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/rendermaterial.md): Gets the render material associated with this object or null if there is none. This does not pay attention to the material source and will not check parent objects or layers for a RenderMaterial.
- [RuntimeSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/runtimeserialnumber.md): Gets the objects runtime serial number.
- [SubobjectMaterialComponents](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/subobjectmaterialcomponents.md)
- [UsePreviewMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/usepreviewmesh.md): True when the display should draw this object's preview mesh instead of its render or analysis mesh.
- [Visible](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/visible.md): Gets the object visibility.
- [WorksessionReferenceSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/worksessionreferenceserialnumber.md): Obsolete - use ReferenceModelSerialNumber

## Methods

- [CommitChanges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/commitchanges.md): Moves changes made to this RhinoObject into the RhinoDoc.
- [CopyHistoryOnReplace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/copyhistoryonreplace.md): Gets the setting of the CopyOnReplace field in this object's history
- [CreateMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/createmeshes.md): Create meshes used to render and analyze surface and polysurface objects.
- [CreateSections](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/createsections.md): Generate section curves by intersecting a plane with an object of type Brep, Extrusion, SubD ,Mesh or Block Instance.
- [CreateSlices](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/createslices.md): Generate slices by intersecting a plane with an object of type Brep, Extrusion, SubD , Mesh, or Block Instance.
- [CustomRenderMeshesBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/customrendermeshesboundingbox.md): Returns the bounding box of custom render primitives for this object .
- [DeleteHistoryRecord](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/deletehistoryrecord.md): For expert use only. Deletes existing history record
- [Description](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/description.md): Get a brief description of a object, including it's attributes and geometry.
- [DestroyMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/destroymeshes.md): Destroys cached meshes of type meshType
- [DuplicateGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/duplicategeometry.md): Constructs a deep (full) copy of the geometry.
- [EnableCustomGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/enablecustomgrips.md): Turns on/off the object's editing grips.
- [EnableEditPointGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/enableeditpointgrips.md): Turns on edit point grips, the ones the EditPtOn command turns on.
- [EnableGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/enablegrips.md): Turns on grips of one particular kind, replacing grips of any other kind.
- [EnableVisualAnalysisMode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/enablevisualanalysismode.md): Used to turn analysis modes on and off.
- [FromRuntimeSerialNumber](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/fromruntimeserialnumber.md): (static) Get a Rhino object for a unique runtime serial number
- [GetActiveVisualAnalysisModes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getactivevisualanalysismodes.md): Gets a list of currently enabled analysis modes for this object.
- [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getboundingbox.md): Called when Rhino wants the bounding box of this object. Viewpoert can be null. This is the default base class version that will go through to the C++ base class if it is called from the custom object
- [GetCustomRenderMeshParameter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getcustomrendermeshparameter.md): Query the object for the value of a given named custom render mesh parameter.
- [GetDynamicTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getdynamictransform.md): While an object is being dynamically transformed (dragged, rotated, ...), the current transformation can be retrieved and used for creating dynamic display.
- [GetFillSurfaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getfillsurfaces.md): (3 overloads, static) Return list of fill surfaces if any for object and clipping plane.
- [GetGrips](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getgrips.md): Returns grips for this object If grips are enabled. If grips are not enabled, returns null.
- [GetGroupList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getgrouplist.md): Allocates an array of group indices of length GroupCount. If [RhinoObject.GroupCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/groupcount.md) is 0, then this method returns null.
- [GetHighlightedSubObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gethighlightedsubobjects.md): Gets a list of all highlighted sub-objects.
- [GetMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getmaterial.md): (4 overloads) Gets material that this object uses based on it's attributes and the document that the object is associated with. In the rare case that a document is not associated with this object, null will be returned.
- [GetMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getmeshes.md): Get existing meshes used to render and analyze surface and polysurface objects.
- [GetRenderMaterial](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getrendermaterial.md): (4 overloads) Gets the RenderMaterial that this object uses based on it's attributes and the document that the object is associated with. If there is no RenderMaterial associated with this object then null is returned. If null is returned you should call GetMaterial to get the material used to render this object.
- [GetRenderMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getrendermeshes.md): (static, obsolete) Gets the render meshes of some objects.
- [GetRenderMeshesWithUpdatedTCs](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getrendermesheswithupdatedtcs.md): (static, obsolete) Gets the render meshes of some objects.
- [GetRenderMeshParameters](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getrendermeshparameters.md): (2 overloads) Returns the meshing parameters that this object uses for generating render meshes. If this object does not have per-object meshing parameters, then the document's meshing parameters are returned.
- [GetRenderPrimitiveList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getrenderprimitivelist.md): (2 overloads, obsolete) Build custom render mesh(es) for this object.
- [GetSelectedSubObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getselectedsubobjects.md): Get a list of all selected sub-objects.
- [GetSubObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/getsubobjects.md): Explodes the object into sub-objects. It is up to the caller to add the returned objects to the document.
- [GetTextureChannels](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gettexturechannels.md): Get a list of the texture mapping channel Id's associated with object.
- [GetTextureMapping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gettexturemapping.md): (2 overloads) Get objects texture mapping
- [GetTightBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/gettightboundingbox.md): (3 overloads) Gets a world XY-plane aligned tight bounding box from a collection of Rhino objects.
- [HasCustomRenderMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/hascustomrendermeshes.md): Returns true if the object will has a set of custom render primitives - ie, CustomRenderMeshes will return non-null.
- [HasHistoryRecord](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/hashistoryrecord.md): Returns whether this object has a history record
- [HasTextureMapping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/hastexturemapping.md): Returns true if this object has a texture mapping form any source (pluginId)
- [Highlight](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/highlight.md): Modifies the highlighting of the object.
- [HighlightSubObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/highlightsubobject.md): Highlights a sub-object.
- [HistoryChildren](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/historychildren.md): Gets the ids of the child Rhino objects of this object.
- [HistoryParents](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/historyparents.md): Gets the ids of the parent Rhino objects of this object.
- [InVisualAnalysisMode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/invisualanalysismode.md): (2 overloads) Reports if any visual analysis mode is currently active for an object.
- [IsActiveInViewport](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isactiveinviewport.md): Determine if this object is active in a particular viewport.
- [IsHighlighted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ishighlighted.md): Check highlight state.
- [IsMeshable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ismeshable.md): Returns true if the object is capable of having a mesh of the specified type
- [IsSelectable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isselectable.md): (2 overloads) Reports if an object can be selected.
- [IsSelected](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/isselected.md): Check selection state.
- [IsSubObjectHighlighted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/issubobjecthighlighted.md): Determines if a sub-object is highlighted.
- [IsSubObjectSelectable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/issubobjectselectable.md): Reports if a sub-object can be selected.
- [IsSubObjectSelected](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/issubobjectselected.md): Check sub-object selection state.
- [MemoryEstimate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/memoryestimate.md): Computes an estimate of the number of bytes that this object is using in memory. Note that this is a runtime memory estimate and does not directly compare to the amount of space take up by the object when saved to a file.
- [MeshCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/meshcount.md): RhinoObjects can have several different types of meshes and different numbers of meshes. A b-rep can have a render and an analysis mesh on each face. A mesh object has a single render mesh and no analysis mesh. Curve, point, and annotation objects have no meshes.
- [MeshObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/meshobjects.md): (4 overloads, static) Meshes Rhino objects.
- [ObjectFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/objectframe.md): (2 overloads)
- [OnAddToDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onaddtodocument.md): This call informs an object it is about to be added to the list of active objects in the document.
- [OnDeleteFromDocument](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ondeletefromdocument.md): This call informs an object it is about to be deleted. Some objects, like clipping planes, need to do a little extra cleanup before they are deleted.
- [OnDraw](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ondraw.md): Called when Rhino wants to draw this object
- [OnDuplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onduplicate.md): Called when this a new instance of this object is created and copied from an existing object
- [OnPick](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onpick.md): Called to determine if this object or some sub-portion of this object should be picked given a pick context.
- [OnPicked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onpicked.md): Called when this object has been picked
- [OnSelectionChanged](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onselectionchanged.md): Called when the selection state of this object has changed
- [OnSpaceMorph](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/onspacemorph.md): Called when a space morph has been applied to the geometry. Currently this only works for CustomMeshObject instances
- [OnTransform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/ontransform.md): Called when a transformation has been applied to the geometry
- [RenderMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/rendermeshes.md): Returns a set of custom render primitives for this object. Some providers - Displacement in particular - compute their meshes asynchronously. Until that work finishes, this method returns the object's ordinary render mesh instead of the custom one and reports that by setting [RenderMeshProvider.Flags.Incomplete](https://developer.rhino3d.com/api/rhinocommon/type/rhino.render.customrendermeshes.rendermeshprovider.flags.md) in `flags`. That mesh is valid geometry but does not yet reflect the provider, so a caller that measures it will see the object as it was beforehand. Test for the flag rather than trusting the first result.
- [Select](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/select.md): (3 overloads) Selects an object.
- [SelectSubObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/selectsubobject.md): (2 overloads) Reports if an object can be selected.
- [SetCopyHistoryOnReplace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/setcopyhistoryonreplace.md): If this object has a history record, the CopyOnReplace field is set When an object is replaced in a document and the old object has a history record with this field set, the history record is copied and attached to the new object. That allows a descendant object to continue the history linkage after it is edited.
- [SetCustomRenderMeshParameter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/setcustomrendermeshparameter.md): Set the named custom render mesh parameter value for this object.
- [SetHistory](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/sethistory.md): For expert use only. Sets the history record that describes how this object was created. This information is used to update this object when Rhino history is enabled and an input object changes.
- [SetObjectFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/setobjectframe.md): (2 overloads, obsolete)
- [SetRenderMeshParameters](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/setrendermeshparameters.md): Sets the per-object meshing parameters for this object. When set, this object will use these meshing parameters when generating a render mesh, instead of those provided by the document.
- [SetTextureMapping](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/settexturemapping.md): (2 overloads) Sets texture mapping and mapping object transform for a channel
- [ShortDescription](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/shortdescription.md): Gets a localized short descriptive name of the object.
- [ShortDescriptionWithClosedStatus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/shortdescriptionwithclosedstatus.md): Gets a localized short descriptive name of the object, along with it's open/closed status.
- [SupportsRenderPrimitiveList](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/supportsrenderprimitivelist.md): (2 overloads, obsolete) Determines if custom render meshes will be built for a particular object.
- [TryGetGumballFrame](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/trygetgumballframe.md): If a Rhino object has been manipulated by Rhino's gumball, and the gumball is not in its default position, then the object's repositioned gumball frame is returned.
- [TryGetGumballFrameForCurrentAlignment](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/trygetgumballframeforcurrentalignment.md): Gets the gumball frame for this object under the current gumball alignment mode (Object / World / CPlane). For Object mode the frame always reflects the object's orientation (including any user relocation in that mode). For World and CPlane mode the frame is only returned when the user has manually repositioned the gumball for this object; if it has never been moved in that mode, the method returns false. Sub-object selections are not taken into account; this is a whole-object helper.
- [TryGetRenderPrimitiveBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/trygetrenderprimitiveboundingbox.md): (2 overloads, obsolete) Get the bounding box for the custom render meshes associated with this object.
- [UnhighlightAllSubObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/unhighlightallsubobjects.md): Removes highlighting from all sub-objects.
- [UnselectAllSubObjects](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/unselectallsubobjects.md): Removes selection from all sub-objects.

## Events

- [AnalysisModeChanged](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject/analysismodechanged.md): (static) Called when the visual analysis mode of a [RhinoObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.rhinoobject.md) changes.

## 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), [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), [IsComponentStatusLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/iscomponentstatuslocked.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), [NameIsLocked](https://developer.rhino3d.com/api/rhinocommon/type/rhino.docobjects.modelcomponent/nameislocked.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)
