Yes. Here's a quick example. More would need to be done to autoscale the circle based on the screen size but this should get you started.
using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Geometry;
using aGi = Autodesk.AutoCAD.GraphicsInterface;
namespace MyTest
{
public class testing
{
private DBObjectCollection m_mrkers = new DBObjectCollection();
private IntegerCollection intColl = new IntegerCollection();
[CommandMethod("TempCirc")]
public void tempcirc()
{
Document doc = Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
doc.CommandWillStart += new CommandEventHandler(doc_CommandWillStart);
Point3d ctrPt = new Point3d(100,100,0);
Circle circ = new Circle(ctrPt, Vector3d.ZAxis, 5);
circ.ColorIndex = 1;
aGi.TransientManager.CurrentTransientManager.AddTransient(circ, aGi.TransientDrawingMode.DirectTopmost, 128, intColl);
m_mrkers.Add(circ);
}
void doc_CommandWillStart(object sender, CommandEventArgs e)
{
if (e.GlobalCommandName.Contains("REGEN"))
{
ClearMarkers();
Document doc = Application.DocumentManager.MdiActiveDocument;
doc.CommandWillStart -= new CommandEventHandler(doc_CommandWillStart);
}
}
private void ClearMarkers()
{
aGi.TransientManager.CurrentTransientManager.EraseTransient(m_mrkers[0], intColl);
m_mrkers[0].Dispose();
m_mrkers.Clear();
}
}
}