Last updated July 27, 2026
The Best of LISP Collection is a grab-bag of thirteen AutoLISP files from different authors, bundled into a single free download. The copyright dates in the file headers run from 1990 to 2001, and the routines cover a spread of everyday drafting chores: flattening stray 3D geometry back to Z=0, mending broken lines and arcs, repeat-copying at a set spacing, rotating objects to match another entity, and a handful of layer utilities. It is one of many free downloads in our LISP routine library.
Because it is a compilation rather than one program, you can cherry-pick. Most files stand alone, and each one that carries an author credit is listed below, since these are third-party routines collected together rather than a single author’s work.
What it does in practice
The stand-outs are the repair tools. FLATTEN, by Mark Middlebrook of Daedalus Consulting, sets the Z coordinates of lines, polylines, circles, arcs, text, block inserts, points and solids to zero, which fixes drawings where round-off errors or a stray elevation stop object snaps from finding intersections. HEAL, by Andrew Bichard, rejoins two collinear lines into one, merges two concentric arcs of the same radius, and if you pick the same arc twice it closes it into a full circle. It refuses to heal entities that differ in type, layer, linetype, colour or thickness, and tells you why.
The productivity side includes CC, a continuous-copy command that repeats a copy at a fixed angle and distance every time you press Enter, and ROT from TimeSavers for CAD, which rotates a selection so a baseline you pick takes on the angle of another line. INSUL1, written by Andrew Nielsen of Melbourne, draws a batt insulation symbol as a joined polyline on an INSULATION layer, sized between three picked points. EXDWG simply opens Windows Explorer at the current drawing’s folder.
Command reference
Commands below are spelt as defined in the source; AutoCAD does not care about case when you type them.
| File | Command(s) | Purpose | Credited author |
|---|---|---|---|
| SUBROUT1.LSP | none (support library) | Shared subroutines (error handling, system-variable save and restore, layer creation) loaded by HEAL.LSP | Uncredited |
| cc.lsp | cc, s0, s15, s20, s30, s45, s60, s75, s160, on, off | Continuous copy at a set angle and spacing; snap-angle presets; turn all layers on or off | Uncredited |
| Dimcl.lsp | dimcl | Replaces a dimension extension line with a line in a centreline linetype (options for linetype and ltscale) | TimeSavers for CAD (2001) |
| EXDWG.LSP | ExDWG | Opens Windows Explorer at the current drawing folder | Uncredited |
| Flatten$.lsp | FLATTEN | Sets Z coordinates of common entity types to zero (v2.1, 1994) | Mark Middlebrook, Daedalus Consulting |
| flatten.lsp | none | Fragment defining a PP_FLATTEN function; depends on helper functions not included, so it will not run as supplied | Uncredited |
| HEAL.LSP | heal | Rejoins broken collinear lines, concentric arcs and elliptical arcs; closes an arc into a circle | Andrew Bichard (1997–98) |
| Insul1.lsp | INSUL1 | Draws a batt insulation symbol as a joined polyline on an INSULATION layer | Andrew Nielsen, Melbourne |
| KillStates.lsp | killstates | Strips saved layer-state data (extended data registered to “RAK”) from every layer | Uncredited |
| layfil.lsp | layfil (an rlf alias is defined but calls a function the file does not contain) | Deletes all layer filters from the drawing | Uncredited |
| Rot2ent.lsp | rot | Rotates a selection so a picked baseline matches the angle of another line | TimeSavers for CAD (2001) |
| oxref0.fas | unknown | Compiled FAS file; cannot be read, purpose unknown | Uncredited |
| Spacer.VLX | unknown | Compiled VLX; internal strings show only that it loads a compiled module named spacer2, purpose unknown | Uncredited |
How to load it
Extract the zip to a folder on your AutoCAD support file search path, then load whichever files you want with APPLOAD. Add the ones you use daily to the APPLOAD Startup Suite so they load with every drawing. Two wrinkles specific to this collection:
- HEAL.LSP loads SUBROUT1.LSP automatically. Keep both files together; if SUBROUT1.LSP is not on the search path, HEAL asks you to locate it manually.
- cc.lsp ends by trying to load two files, midpick and match, that are not in the archive. Its commands still define correctly, but expect a load error message afterwards.
If loading LISP files is new to you, the AutoLISP guide covers APPLOAD and the Startup Suite in more detail.
Step-by-step usage
FLATTEN
Type FLATTEN. It explains itself, then asks “Do you want to continue <Y>:”. Accept, then “Choose entities to FLATTEN” – press Enter to select everything in the drawing. It reports how many entities were flattened, how many were skipped, and highlights any skipped entities that still have a non-zero Z. Type U to undo the lot if you change your mind.
HEAL
Type HEAL, then answer “Select first side of heal:” and “Select second side of heal:”. If the two picks are aligned lines or matching concentric arcs on the same layer with the same properties, they become one entity; otherwise the routine reports exactly what differs.
CC (continuous copy)
Type CC, select objects, then give an angle and a distance. Each press of Enter at the “Distance to Copy/Exit” prompt places another copy offset from the last one, so you can march a detail across a drawing; enter a new distance to change the spacing, or E to finish.
Compatibility notes
These routines were written for Release 12 through 2001-era AutoCAD (the FLATTEN header states it requires Release 12). AutoLISP has shipped with every full version of AutoCAD for decades, so the plain .lsp files should still load, but treat “written for” as exactly that – they have not been tested on current releases. Other points worth knowing:
- AutoCAD LT only gained AutoLISP in LT 2024, and DCL dialog boxes are not supported on LT. The support library in this collection references a dialog file (supp.dcl) that is not even included in the archive, so run this collection on full AutoCAD. See what runs on AutoCAD LT for the detail.
- ExDWG calls Windows Explorer, so it is Windows-only.
- The off command turns off every layer except the current one — the routine accepts AutoCAD’s default No when asked whether to turn the current layer off.
- oxref0.fas and Spacer.VLX are compiled and cannot be inspected before running; load them only if you are comfortable doing so.
Download
| Name: | The Best of LISP Collection |
| Description: | This is a “Best of Lisp” collection containing 13 lisp routines. Various different Lisp routines from a lisp that opens windows explorer to the current drawing directory, to a lisp routine that rotates a selection to a entity of your choosing. |
| Type: | AutoCAD AutoLISP Routine |
| Author: | Anon |
| File Size: | 19 Kb |
| Cost: | Free |
| Worked on: | AutoCAD |
| Download File: | BestOfLisp.zip |
Related routines
- Zero Elevation – another approach to forcing geometry back to Z=0, if FLATTEN does not cover your entity types.
- Numbering LISP Routine Collection – another multi-routine bundle, this one focused on sequential numbering.
- Draw Architectural Walls – pairs naturally with INSUL1 when drawing wall and roof sections.