Example #1
0
        public static void SelectInWindowCommand()
        {
            //todo Finish this later..
            using (var tr = new QuickTransaction()) {
                var sel = tr.GetSelection();
                if (sel.Status != PromptStatus.OK || sel.Value.Count == 0)
                {
                    tr.WriteLine("No objects were selected in the first place.");
                    return;
                }
                var window = tr.GetSelection();
                if (window.Status != PromptStatus.OK || window.Value.Count == 0)
                {
                    return;
                }

                var a   = sel.Value.GetObjectIds();
                var win = window.Value.GetObjectIds();

                tr.SetImpliedSelection(SelectionSet.FromObjectIds(a.Intersect(win).ToArray()));

                /*foreach (var entity in s.Value.GetObjectIds().Select(o=>o.GetObject(tr))) {
                 *
                 *  }*/
                tr.Commit();
            }
        }
Example #2
0
        public static void AnyToPolyCommand()
        {
            using (var tr = new QuickTransaction()) {
                PromptSelectionOptions psOpts = new PromptSelectionOptions {
                    MessageForAdding = "\nSelect lines to convert: ", MessageForRemoval = "\n...Remove lines: "
                };
                var psRes = tr.GetSelection(psOpts);
                if (psRes.Status != PromptStatus.OK)
                {
                    return;
                }
                var sel     = psRes.Value.GetObjectIds().Select(o => o.GetObject(tr)).ToList();
                var circles = sel.TakeoutWhereType <Entity, Circle>().ToSelectionSet();
                var elipses = sel.TakeoutWhereType <Entity, Ellipse>().ToSelectionSet();
                var l       = new List <SelectionSet>();

                if (sel.Count > 0)
                {
                    tr.SetSelected(sel.ToSelectionSet());
                    tr.Command("_.pedit", "_m", sel.ToSelectionSet(), "", "_j", "", "_j", "", "_j", "", "");
                    //l.Add(tr.SelectPrevious().Value);
                }
                if (elipses.Count > 0)
                {
                    using (var trr = new QuickTransaction()) {
                        trr.SetSelected(elipses);
                        CommandLineHelper.ExecuteStringOverInvoke("E2P ");
                        //trr.StringCommand("E2P ");
                        // l.Add(trr.SelectImplied().Value);
                        trr.Commit();
                    }
                }

                if (circles.Count > 0)
                {
                    using (var trr = new QuickTransaction()) {
                        trr.SetSelected(circles);
                        CommandLineHelper.ExecuteStringOverInvoke("C2P ");
                        //l.Add(trr.SelectImplied().Value);
                        trr.Commit();
                    }
                }


                tr.Commit();
            }
        }