protected override Result RunCommand(RhinoDoc doc, RunMode mode) { var analysis_mode = VisualAnalysisMode.Find(typeof(SampleCsZAnalysisMode)); if (analysis_mode != null) { foreach (var obj in doc.Objects) { obj.EnableVisualAnalysisMode(analysis_mode, false); } doc.Views.Redraw(); } RhinoApp.WriteLine("Z-Analysis is off."); return(Result.Success); }
protected override Result RunCommand(RhinoDoc doc, RunMode mode) { var analysis_mode = VisualAnalysisMode.Find(typeof(SampleCsZAnalysisMode)); if (null == analysis_mode) { analysis_mode = VisualAnalysisMode.Register(typeof(SampleCsZAnalysisMode)); } if (null == analysis_mode) { RhinoApp.WriteLine("Unable to register Z-Analysis mode."); return(Result.Failure); } const ObjectType filter = ObjectType.Surface | ObjectType.PolysrfFilter | ObjectType.Mesh; var rc = RhinoGet.GetMultipleObjects("Select objects for Z analysis", false, filter, out var obj_refs); if (rc != Result.Success) { return(rc); } var count = 0; foreach (var obj_ref in obj_refs) { var obj = obj_ref.Object(); // see if this object is already in Z-Analysis mode if (obj.InVisualAnalysisMode(analysis_mode)) { continue; } if (obj.EnableVisualAnalysisMode(analysis_mode, true)) { count++; } } doc.Views.Redraw(); RhinoApp.WriteLine("{0} object(s) set into Z-Analysis mode.", count); return(Result.Success); }
protected override Result RunCommand(RhinoDoc doc, RunMode mode) { var zebra_id = VisualAnalysisMode.RhinoZebraStripeAnalysisModeId; var analysis_mode = VisualAnalysisMode.Find(zebra_id); if (null == analysis_mode) { return(Result.Failure); } var go = new GetObject(); go.SetCommandPrompt("Select surfaces or polysurfaces for Zebra analysis"); go.GeometryFilter = ObjectType.Surface | ObjectType.PolysrfFilter; go.SubObjectSelect = false; go.GetMultiple(1, 0); if (go.CommandResult() != Result.Success) { return(go.CommandResult()); } foreach (var obj_ref in go.Objects()) { var obj = obj_ref.Object(); if (null == obj) { return(Result.Failure); } obj.EnableVisualAnalysisMode(analysis_mode, true); } doc.Views.Redraw(); return(Result.Success); }