Drawing on a surface

Assuming that I am on a front view. I would like to draw a circle on a surface at a given X and Z coordinate where the center is on the surface. I would also like the circle oriented with the surface at the X,Y,Z coordinate,

If the surface is irregular, I just want the best match–whatever the slope is at the center point.

How would I go about doing that?

There are different ways to do this, your description is not 100% specific. I assume from the above that your surface is planar and parallel to Front but not on the X zero plane, and you want your circle centered on World XZ coordinates (i.e. Front XY), but on the surface.

You could, in the Front view, set the CPlane to the surface you see, with its origin at world 0, and simply start the circle command and place the center at your desired XY. This is what I recommend you NOT do, as you have reset the CPlane in the Front view, and unless you are very careful to set it back afterwards, that could cause mistakes.

I personally would do this in a perspective view, in one of two ways:

  1. The same as above, use CPlane Surface set the CPlane to the surface you want, put the origin to world 0 and then just create your circle at the XY coordinates desired. The advantage to this is if you have the grid on, you actually SEE the CPlane change and where it is located, which is not the case when you change, say, the elevation in an ortho viewport.

  2. A variant of the above is to first set the CPlane to Front in the Perspective viewport and then use CPlane Elevation to set it concurrent to the surface you want. Then draw your circle.

If you have a non-planar surface, but the circle center needs to be at the projection of specific world or CPlane coordinates, I would use a little construction geometry. Again, one of two ways:

  1. Create a point in Front view at your XY coordinates - this will lie on the XZ plane.
    Project the point to the surface in Front view with the Project command.
    In Perspective viewport, use CPlane Surface and snap to the point. On curved surfaces, this will orient the plane “normal” (perpendicular) to the surface at that point. Then draw your circle at the origin. Delete the point(s).

  2. Create the projected point as above. Then use Line>Normal and create a small line segment snapping to the point on the surface. Then Circle>AroundCurve, use the line as the curve and snap to the point on the surface. Delete the line and the point.

Sometimes it’s just easier to create some quick construction geometry and delete it afterwards than trying to get the coordinate system set up to some funny angle for a one-shot deal… However, if you need that coordinate system for other things, by all means set it up and save it so you can recall it when needed.