Three small conversions that AutoCAD has no command for. ARCTOCIRCLE completes an arc into the full circle it is part of. CIRCLETOARC goes the other way, cutting a circle back to an arc between two points picked on it. CIRCLETOELLIPSE turns a circle into an ellipse of the same size, ready to be squashed one way.
What ArcCircle does
All three keep the layer, colour, linetype, lineweight and thickness of what they replace. That is the whole point of them — drawing a new one by hand means setting all of that again, and getting one of them wrong is how a drawing ends up with a circle on the wrong layer that nobody notices until it plots.
How to use it
- Load the routine with
APPLOAD, or put it on your support file search path. - Type
ARCTOCIRCLEand pick an arc to close it into a circle. - Type
CIRCLETOARC, pick a circle, then pick the two points on it that bound the arc you want to keep. - Type
CIRCLETOELLIPSEand pick a circle.
How it works
Properties are copied by name, not by copying the entity data. The obvious way to rebuild an arc as a circle is to take its DXF list and drop the start and end angles — but that carries group -1 and group 5 across with it, the entity name and the handle, and entmake will not accept either. Naming the properties you actually want is the only version that works.
Colour has to be read carefully. Reading it with (assoc 62 ...) looks right and fails on the commonest case of all: a BYLAYER object has no group 62 at all. The colour comes back nil, and handing nil to CHPROP stops with a bad-argument error on a perfectly ordinary object.
The ellipse is built in one operation. Doing it with the ELLIPSE command, then CHPROP to put the properties back, then ERASE to remove the original, is three commands and three chances to leave the drawing half-converted. One entmake does all of it.
Type guards have to test what the object is now. An ellipse was a polyline before Release 14, so a guard that checks for POLYLINE never fires on a modern drawing — and worse, a LINE passes straight through it and is then read as a circle, producing an ellipse from whatever numbers happened to be in the data.
Notes and limits
- Properties carry across — layer, colour, linetype, lineweight and thickness.
CIRCLETOARCneeds two points on the circle, and keeps the arc between them counter-clockwise.- The ellipse starts as a circle. Squash it afterwards with grips or
SCALEon one axis. - Each conversion is one undo group.
Download and details
| Name | ArcCircle — convert between arcs, circles and ellipses |
| Download | ArcCircle.lsp — 9.5 KB, plain AutoLISP source. Downloads directly; no zip to unpack. |
| Type | AutoCAD AutoLISP routine |
| Commands | ARCTOCIRCLE, CIRCLETOARC, CIRCLETOELLIPSE |
| Requires | nothing beyond a CAD platform with AutoLISP. |
| Source size | 9.5 KB, 241 lines |
| Error handling | Yes — a *error* handler restores every system variable it changed, on cancel as well as on error. |
| Undo | The whole operation is wrapped in a single undo group, so one U reverses all of it. |
| Compatibility | AutoCAD (any release with AutoLISP), BricsCAD, ZWCAD, GstarCAD, ProgeCAD and other IntelliCAD-based platforms. AutoCAD LT needs a LISP enabler. No .NET, no ObjectARX, no installer. |
| Author | YZ, August 2026 |
| Licence | Free to use, supplied “as is” with no warranty. |
References
- CROSSHAIR LISP — centre-mark the circle you have just made
- CIRC2MASK LISP — turn circles into wipeouts
- More free AutoLISP routines on this site
- Wisey’s Steel Shapes — free structural steel section drawing program