ObjectAttributesColorSource Property |
Namespace: Rhino.DocObjects
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; rhino_object.CommitChanges(); // 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); doc.Views.Redraw(); 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 rhino_object.CommitChanges() # 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) doc.Views.Redraw() return Result.Success if __name__ == "__main__": RunCommand()