• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
blog.draftsperson.net

blog.draftsperson.net

the art of technical drawing

blog.draftsperson.net

ARCTOCIRCLE LISP: Convert Arcs, Circles and Ellipses

August 6, 2026

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

  1. Load the routine with APPLOAD, or put it on your support file search path.
  2. Type ARCTOCIRCLE and pick an arc to close it into a circle.
  3. Type CIRCLETOARC, pick a circle, then pick the two points on it that bound the arc you want to keep.
  4. Type CIRCLETOELLIPSE and 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.
  • CIRCLETOARC needs 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 SCALE on one axis.
  • Each conversion is one undo group.

Download and details

NameArcCircle — convert between arcs, circles and ellipses
DownloadArcCircle.lsp — 9.5 KB, plain AutoLISP source. Downloads directly; no zip to unpack.
TypeAutoCAD AutoLISP routine
CommandsARCTOCIRCLE, CIRCLETOARC, CIRCLETOELLIPSE
Requiresnothing beyond a CAD platform with AutoLISP.
Source size9.5 KB, 241 lines
Error handlingYes — a *error* handler restores every system variable it changed, on cancel as well as on error.
UndoThe whole operation is wrapped in a single undo group, so one U reverses all of it.
CompatibilityAutoCAD (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.
AuthorYZ, August 2026
LicenceFree 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

Filed Under: AutoLISP Routines

Primary Sidebar

Subscribe to our Youtube Channel

Post CAD drafting jobs on Freelancer.com. and get some free money to do this.

Categories

  • American Steel Industry (4)
  • AutoCAD Articles & Reference (30)
  • AutoCAD Bugs & Problems (19)
  • AutoCAD Tips (29)
  • AutoCAD Tutorials (54)
  • AutoLISP Routines (328)
  • AutoLISP Tutorials (15)
  • CAD Standards (7)
  • Civil 3D (7)
  • Civil Drafting (4)
  • Dimensions (2)
  • Drafting Funnies (71)
  • Drafting History (9)
  • Drafting Standards (84)
  • Electrical Drafting (2)
  • General IT reference (7)
  • Geometry (15)
  • GIS (2)
  • Hatch Patterns (12)
  • Office Life Hacks (3)
  • PT (1)
  • Revit Tutorials (54)
  • Steel Detailing (14)
  • Structural Drafting (26)
  • Technical Dictionary (61)
  • Useful Website Links (19)

Footer

Free downloads

  • Free AutoLISP routines
  • Free hatch patterns
  • SHX fonts & text styles
  • Numbering LISP collection
  • ISO 3098B font

Reference charts

  • AWS weld symbols chart
  • Steel detailing chart
  • Hole & slot sizes
  • Bolt edge distance
  • ANSI & ARCH paper sizes
  • How to fold an A1 drawing

Useful links

  • CAD blocks (DWG)
  • Revit families
  • structuraldrafter.com
  • cad-corner.com
  • About
  • Privacy policy

Provided for free with no warranty · Log in