Exemplo n.º 1
0
        private ObjectId PickSingleEnt()
        {
            using (AcadApp.DocumentManager.MdiActiveDocument.LockDocument())
            {
                using (Transaction tr = AcadFuncs.GetActiveDoc().TransactionManager.StartTransaction())
                {
                    PromptEntityResult prmpt_ret = AcadFuncs.GetEditor().GetEntity("Chọn một đối tượng line");
                    if (PromptStatus.Cancel == prmpt_ret.Status)
                    {
                        tr.Abort();
                        tr.Dispose();
                        return(ObjectId.Null);
                    }

                    ObjectId obj_id = prmpt_ret.ObjectId;
                    tr.Commit();

                    return(obj_id);
                }
            }
        }
Exemplo n.º 2
0
        public void AddXdata()
        {
            using (Transaction tr = AcadFuncs.GetActiveDb().TransactionManager.StartTransaction())
            {
                RegAppTable reg_app = tr.GetObject(AcadFuncs.GetActiveDb().RegAppTableId, OpenMode.ForRead) as RegAppTable;
                if (null == reg_app)
                {
                    tr.Dispose();
                    return;
                }

                if (!reg_app.Has(XDATA_APP))
                {
                    RegAppTableRecord reg_app_rcd = new RegAppTableRecord();
                    reg_app_rcd.Name = XDATA_APP;

                    reg_app.UpgradeOpen();
                    reg_app.Add(reg_app_rcd);
                    tr.AddNewlyCreatedDBObject(reg_app_rcd, true);
                }

                PromptEntityResult prmpt_ent_ret = AcadFuncs.GetEditor().GetEntity("Chọn 1 entity:");
                Entity             ent           = tr.GetObject(prmpt_ent_ret.ObjectId, OpenMode.ForRead) as Entity;
                if (null == ent)
                {
                    tr.Dispose();
                    return;
                }

                ent.UpgradeOpen();
                ResultBuffer buffer = new ResultBuffer();
                buffer.Add(new TypedValue((int)DxfCode.ExtendedDataRegAppName, XDATA_APP));
                buffer.Add(new TypedValue((int)DxfCode.ExtendedDataReal, 100.0));
                ent.XData = buffer;

                tr.Commit();
            }
        }