예제 #1
0
 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;
 }
예제 #2
0
 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);
     }
 }