public static void DeleteToolObject() { if (ToolObject == null) { return; } using (var doclock = Application.DocumentManager.MdiActiveDocument.LockDocument()) using (Transaction tr = Database.TransactionManager.StartTransaction()) foreach (var item in ToolObject.Curves) { TransientManager.CurrentTransientManager.EraseTransient(item, new IntegerCollection()); item.Dispose(); } ToolObject = null; }
public static void RegenToolObject(Tool tool, bool hasTool, Location location, bool isFrontPlaneZero) { if (ToolObject != null && (hasTool != ToolObject.HasTool || !location.IsDefined)) { DeleteToolObject(); } if (ToolObject == null && location.IsDefined) { ToolObject = hasTool ? ToolObject.CreateToolObject(tool, isFrontPlaneZero) : ToolObject.CreateToolObject(); } if (ToolObject != null) { DrawToolObject(location); } }