A jig may very well be what you want.
In case you've decided against it, you need to update the transient graphics in the point monitor. I have a call to this method in my point monitor, and I pass it a list of drawables, as well as the last point. In the future I'll be adding text and such to the list of drawables, but for now it's a circle and a rubberband line.
I want to convert it into a jig, but jigs bend my mind in funny directions. Someday perhaps.
private static void UpdateTransGraphics(List<Drawable> drawables, Point3d originPt, Point3d lastPt, Point3dCollection rubberBandPoints )
{
// Displace each of our drawables
Matrix3d mat =
Matrix3d.Displacement(originPt.GetVectorTo(lastPt));
// Update their graphics
Circle cir = drawables[0] as Circle;
if (cir != null)
{
cir.Center = lastPt;
TransientManager
.CurrentTransientManager.UpdateTransient(cir,
new IntegerCollection
()); }
// draw the rubberband
Polyline rBand = drawables[1] as Polyline;
if (rBand != null && rubberBandPoints.Count>0)
{
rBand.Reset(false,0);
for (int i = 0; i < rubberBandPoints.Count; i++)
{
Point2d pt
= new Point2d
(rubberBandPoints
[i
].X, rubberBandPoints
[i
].Y); rBand.AddVertexAt(i, pt, 0, 0, 0);
}
rBand.AddVertexAt(rubberBandPoints.Count, lastPt.Convert2D(), 0, 0, 0);
TransientManager
.CurrentTransientManager.UpdateTransient(rBand,
new IntegerCollection
()); }
Debug.WriteLine("Updated " + drawables.Count + " transgraphics");
}