Click or drag to resize

ObjectAttributesObjectColor Property

If ON::color_from_object == ColorSource, then color is the object's display color.

Namespace:  Rhino.DocObjects
Assembly:  RhinoCommon (in RhinoCommon.dll)
Since: 5.0
public Color ObjectColor { get; set; }

Property Value

Type: Color
using System.Drawing;
using Rhino;
using Rhino.DocObjects;
using Rhino.Geometry;
using Rhino.Input;
using Rhino.Commands;

namespace examples_cs
  public class ModifyObjectColorCommand : Command
    public override string EnglishName { get { return "csModifyObjectColor"; } }

    protected override Result RunCommand(RhinoDoc doc, RunMode mode)
      ObjRef obj_ref;
      var rc = RhinoGet.GetOneObject("Select object", false, ObjectType.AnyObject, out obj_ref);
      if (rc != Result.Success)
        return rc;
      var rhino_object = obj_ref.Object();
      var color = rhino_object.Attributes.ObjectColor;
      bool b = Rhino.UI.Dialogs.ShowColorDialog(ref color);
      if (!b) return Result.Cancel;

      rhino_object.Attributes.ObjectColor = color;
      rhino_object.Attributes.ColorSource = ObjectColorSource.ColorFromObject;

      // an object's color attributes can also be specified
      // when the object is added to Rhino
      var sphere = new Sphere(Point3d.Origin, 5.0);
      var attributes = new ObjectAttributes();
      attributes.ObjectColor = Color.CadetBlue;
      attributes.ColorSource = ObjectColorSource.ColorFromObject;
      doc.Objects.AddSphere(sphere, attributes);

      return Result.Success;
from System.Drawing import *
from Rhino import *
from Rhino.DocObjects import *
from Rhino.Geometry import *
from Rhino.Input import *
from Rhino.Commands import *
from Rhino.UI.Dialogs import ShowColorDialog
from scriptcontext import doc

def RunCommand():
  rc, obj_ref = RhinoGet.GetOneObject("Select object", False, ObjectType.AnyObject)
  if rc <> Result.Success:
    return rc
  rhino_object = obj_ref.Object()
  color = rhino_object.Attributes.ObjectColor
  b, color = ShowColorDialog(color)
  if not b: return Result.Cancel

  rhino_object.Attributes.ObjectColor = color
  rhino_object.Attributes.ColorSource = ObjectColorSource.ColorFromObject

  # an object's color attributes can also be specified
  # when the object is added to Rhino
  sphere = Sphere(Point3d.Origin, 5.0)
  attributes = ObjectAttributes()
  attributes.ObjectColor = Color.CadetBlue
  attributes.ColorSource = ObjectColorSource.ColorFromObject
  doc.Objects.AddSphere(sphere, attributes)

  return Result.Success

if __name__ == "__main__":
See Also