Seems like it’s question week, Anyway, I have to workflows to get this shape.
Long way
create a truncated cone, boolean it out of a cylinder and then boolean the result out of the target cylinder. This gives me a nice center on top.
Short way
Chamfer the cylinder
Problem
When using the second approach the result does not have a center on the top, which shape-wise would be logical, if a circular shape with a center is chamfered, why would the result not have a center as well?
Yeah, unfortunately, chamfer creates a degree 3 surface, and thus the upper edge is a degree 3 NURBS curve not recognized as a circle. Funny thing is the lower edge (where it meets the cylinder body) still is considered as a circle. Don’t know if this can be tuned up…
A workaround would be to extract the chamfer surface, dupborder on it, simplify the resulting curves, (they should become circles), Loft between them, delete the curves and the original surface, then join the result. As the Loft is made between two circle objects, you will get a center snap…
The above procedure can be macroed/scripted, I think, otherwise it might be even better to write a “chamfer cylinder” function from scratch… May be able to look at that later today.
Edit - just retested, the center snap on the top surface IS working here with a chamfer surface… Don’t know why it didn’t when I first tried…