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); } } }
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(); } }