Пример #1
0
        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);
        }
Пример #2
0
        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);
        }