Introduction to LISP


LISP (from wikipedia) is the second-oldest high-level programming language in widespread use today (Originally specified in 1958); only Fortran is older (by one year).

Autodesk, the creators of the world's leading CAD software AutoCAD, included the LISP programming as customization option since it's release 2.1 in the year 1986. They called it AutoLISP as it has LISP base upgraded with some CAD specific functions, mostly interfacing CAD objects and input/output functions.


BabaCAD - World's first LISP enabled freeware CAD


More then twenty years, AutoCAD was the only CAD platform enabling customization with LISP programming. Users from all over the world wrote millions of LISP routines and .lsp files became standard for CAD customization. Few years ago AutoCAD released it's first "lite" version of AutoCAD named AutoCAD LT. Many users that bought it not even noticed that LT is not LISP enabled. You cannot open .lsp files nor write your custom commands/functions. After that, some alternative CAD software came out on the market and they started to offer LISP support but not for free.

Now at last, we have CAD+LISP all for free, and it's not some joke. BabaCAD since release 1.3 has LISP support enabled as AddOn/Extension Module (BEM). No registration required, no spamware, no commercials, and no begging for donations. I made it for fun and for my own satisfaction, and I'm truly satisfied if someone find it useful. LISP for BabaCAD is made as separate extension module. Mainly cause I'm planning to improve it, and users will not have to download new versions of BabaCAD, just LISP AddOn.


LISP compatibility


LISP for BabaCAD is mostly compatible with AutoCAD AutoLISP, and you can use existing .lsp files which are available on millions of places on internet. Here I will recommend some useful LISP links where you can find free lisp routines (.lsp files) or you can order custom lisp for yourself.


- BabaCAD upload is a this site's resources with stable/proven lisp routines that are 100% tested on BabaCAD latest release.
- cadtutor.net forum is the most useful lisp resource on the net. There is "Customization" section with LISP/Visual LISP subforum mainly intended for AutoCAD AutoLISP users, but now also available for BabaCAD LISP users.
- Lee Mac - the lisp legend, a well known member of cadtutor.net forum. Guy who helped many users with his lisp functions and suggestions. He has his own website so go there and check it.


Start using LISP in BabaCAD


If you want to use LISP in BabaCAD, first download BabaCAD latest release (minimum required version is 1.3) and then click here to download LISP Extension Module. When you install BabaCAD and LISP extension, then just start BabaCAD clicking on icon from your desktop. To open .lsp file with LISP functions, just type APPLOAD in BabaCAD's commmand line. Hit enter to open File Dialog. Choose your favorite LISP file and then type LISP function in command line. You will also notice a new toolbar with three icons on the most right. You can move toolbar on some other place or flyout and you will see toolbar's name is "LISP examples". Advanced users who are already familiar with LISP for CAD will be very happy cause they will recognize an ability of using custom icons for their LISP routines/programmes. Customization can be done opening bcad.mnu file installed in /Program Files (x86)/BabaCAD/BabaCAD/Support folder. There is brief explanation at the top of the .mnu file of using custom icons for lisp commands. Users can edit their .lsp files using BabaCAD's command LISPEDIT. This command can be used for creating a new lisp file also, by typing new lisp file name when asked for it in command line. Lisp can be used directly in command line also. Type "(setq myvar (* 8.5 7)) in command line and hit enter. Then type !myvar in command line and hit enter, and you will see the result of multiplying two real numbers.

LISP syntax and functions (not finished): LISP function list

List of functions will be bigger with every new release, so please don't give up if you can't find some lisp functions now, cause it would be maybe in the next LISP extension release.

Download LISP extension









Legal Stuff
Trademarks: BabaCAD is a trademark of Mirza Coralic. DXF is a trademark of AutoDesk. Other product names mentioned here are trademarks of their respective owners