public void RemoveEntity() { if (this is SimplePipeJoint) { OwnSolution.SimplePipeJoints.Remove(this.BaseObjectId); } else { OwnSolution.MultiPipeJoints.Remove(this.BaseObjectId); } //delete group using (Autodesk.AutoCAD.ApplicationServices.DocumentLock docLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument()) { Database db = HostApplicationServices.WorkingDatabase; using (Transaction tr = db.TransactionManager.StartTransaction()) { Group g = (Group)tr.GetObject(this.BaseObjectId, OpenMode.ForWrite); foreach (var item in g.GetAllEntityIds()) { tr.GetObject(item, OpenMode.ForWrite).Erase(); } g.Erase(); tr.Commit(); tr.Dispose(); } } }
private void InvokeCommandMethod(Action method) { using (Autodesk.AutoCAD.ApplicationServices.DocumentLock doclock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument()) { Interaction.SetActiveDocFocus(); method(); } }
public void RemoveSelf() { //remove self Delete(); Database db = Autodesk.AutoCAD.ApplicationServices.Core.Application.DocumentManager.MdiActiveDocument.Database; using (Autodesk.AutoCAD.ApplicationServices.DocumentLock docLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument()) { using (Transaction tr = db.TransactionManager.StartTransaction()) { tr.GetObject(BaseObjectId, OpenMode.ForWrite).Erase(); tr.Commit(); tr.Dispose(); } } }
public void UpdateScale() { Autodesk.AutoCAD.EditorInput.Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database; using (Autodesk.AutoCAD.ApplicationServices.DocumentLock docLock = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument()) { using (Transaction trans = ed.Document.Database.TransactionManager.StartTransaction()) { DBObject obj = trans.GetObject(this.BaseObjectId, OpenMode.ForWrite); BlockReference block = (BlockReference)obj; block.ScaleFactors = new Scale3d(HeatSourceLayoutApp.globalProperty.BlockScale); trans.Commit(); trans.Dispose(); } } }