Esempio n. 1
0
        selectEntity(string message, string reject, out bool escape)
        {
            escape = true;
            ObjectId idEnt = ObjectId.Null;

            BaseObjs.acadActivate();
            PromptEntityOptions PEOS = new PromptEntityOptions(message);

            PEOS.SetRejectMessage(reject);
            PEOS.AddAllowedClass(typeof(Line), true);
            PEOS.AddAllowedClass(typeof(Arc), true);
            PEOS.AddAllowedClass(typeof(Polyline), true);
            PEOS.AllowNone = false;

            PromptEntityResult PER = BaseObjs._editor.GetEntity(PEOS);

            if (PER.Status == PromptStatus.OK)
            {
                try
                {
                    using (Transaction tr = BaseObjs.startTransactionDb())
                    {
                        Entity ENT = (Entity)tr.GetObject(PER.ObjectId, OpenMode.ForRead);
                        idEnt  = ENT.ObjectId;
                        escape = false;
                        tr.Commit();
                    }
                }
                catch (System.Exception ex)
                {
                    BaseObjs.writeDebug(ex.Message + " Select.cs: line: 635");
                }
            }
            return(idEnt);
        }
Esempio n. 2
0
        selectEntity(System.Type classType, string message, string reject, out Point3d pnt3dPicked, out PromptStatus ps)
        {
            Entity ent = null;

            BaseObjs.acadActivate();
            PromptEntityOptions peos = new PromptEntityOptions(message);

            peos.SetRejectMessage(reject);
            peos.AddAllowedClass(classType, true);
            peos.AllowNone = true;

            PromptEntityResult per = BaseObjs._editor.GetEntity(peos);

            pnt3dPicked = per.PickedPoint;
            ps          = per.Status;

            switch (ps)
            {
            case PromptStatus.OK:
                try
                {
                    using (Transaction tr = BaseObjs.startTransactionDb())
                    {
                        ent = (Entity)tr.GetObject(per.ObjectId, OpenMode.ForRead);
                        tr.Commit();
                    }
                }
                catch (System.Exception ex)
                {
                    BaseObjs.writeDebug(ex.Message + " Select.cs: line: 599");
                }
                break;
            }
            return(ent);
        }
Esempio n. 3
0
        selectEntity(string message, out bool escape)
        {
            escape = false;
            Entity ent = null;

            BaseObjs.acadActivate();
            PromptEntityOptions peos = new PromptEntityOptions(message);

            peos.AllowNone = false;

            PromptEntityResult per = BaseObjs._editor.GetEntity(peos);

            if (per.Status == PromptStatus.OK)
            {
                using (Transaction tr = BaseObjs.startTransactionDb())
                {
                    ent = (Entity)tr.GetObject(per.ObjectId, OpenMode.ForRead);
                    tr.Commit();
                }
            }
            else
            {
                escape = true;
            }
            return(ent);
        }
Esempio n. 4
0
        selectEntity(List <Type> tps, string message, string reject, out Point3d pnt3dPicked)
        {
            Entity ENT = null;

            BaseObjs.acadActivate();
            PromptEntityOptions PEOS = new PromptEntityOptions(message);

            PEOS.SetRejectMessage(reject);
            PEOS.AllowNone = false;
            foreach (Type tp in tps)
            {
                PEOS.AddAllowedClass(tp, true);
            }

            PromptEntityResult PER = BaseObjs._editor.GetEntity(PEOS);

            pnt3dPicked = PER.PickedPoint;

            switch (PER.Status)
            {
            case PromptStatus.Cancel:
            case PromptStatus.Error:
                break;

            case PromptStatus.OK:

                try
                {
                    using (Transaction tr = BaseObjs.startTransactionDb())
                    {
                        ENT = (Entity)tr.GetObject(PER.ObjectId, OpenMode.ForRead);
                        tr.Commit();
                    }
                }
                catch (System.Exception ex)
                {
                    BaseObjs.writeDebug(ex.Message + " Select.cs: line: 565");
                }
                break;
            }
            return(ENT);
        }