Browse and download AutoLISP Code and functions.
Submit AutoLISP Code and Tips








GetVectors is a tool for quickly creating dialog images from AutoCAD entities. The image and dialog files created by GetVectors may be pasted into your own programs and modified as needed. GetVectors zooms in to select objects, including hatch objects. Use ViewVectors to view the images.


GetExcel [R10] is an AutoLISP utility for Excel and AutoCAD applications. GetExcel will not close other Excel spreadsheets that are opened. The sub-function CreateLists: in GetExcel now uses the UsedRange method instead of the CurrentRegion method. This makes GetExcel run so much faster than before. The CloseExcel function includes the extensions .xlsx, .xls and .csv. Special credit to Gilles Chanteau from Marseille, France for his program additions.


The GetButtons functions have been added to GetIcon.lsp. You can customize the names of up to 5 buttons. The message may be up to 10 lines. The message and button names may be customized as you wish including other languages.


ViewDcl is a very useful utility for viewing dialogs within dcl files, as you are designing them or just need to view or compare other dialogs. If this type of utility is not part or your preferred AutoLISP and Dialog editor, it is a great utility to have. It can be run on the command line without loading any editor, by just typing "ViewDcl" or the shortcut "Dcl".


Block Library is compatible with Dynamic Blocks. It is a utility for managing blocks by storing blocks and block slides images in Block Library folders. The library of block slide images can be viewed quickly in the Block Libraries, before inserting a block into a drawing. The Match Slide Game is included with Block Library. Copy your favorite slide images to a folder, and enjoy playing the game.


Search is a utility that searches for a word or phrase in files in a folder and shows the filename and the lines where the word or phrase was found. Unlike the Windows Explorer Search, you do not have to open every file and do a find again to see where the word or phrase occurred. From a programming standpoint, it is useful for finding the occurrences and syntax of certain functions. Search requires functions inside of GetIcon.lsp.


AutoCAD Messenger uses the Windows Msg.exe program to send and receive messages between AutoCAD users on a network or server. Messenger.lsp requires a few installation steps near the top of the file, such as customizing the global variables *Shared_Folder$ and *Login_Displayname@. The associated files are Messenger.lsp, and Messenger.dcl.


TM matches Text, Mtext, Attribute and Dimension Text with the selected Text, Mtext, Attribute or Dimension Text. Great for updating old text Bill of Materials into a new block attribute text format. You can copy any Text string without having to re-type the text.
FindReplace is a text utility to find and replace text in the current drawing or in all open drawings. FindReplace.lsp requires the functions inside of OpenDwgsCmds.lsp, OpenDwgsCmds.dvb, Dcl_Tiles.lsp, Dcl_Tiles.dcl and GetIcon.lsp.


Copies previous global selection set at distance and angle. Similar to the array rectangular command. With the COP program hold you finger on the [Enter] button and watch the objects copied and release when you've copied as many as you need. Other options are "N" for New selection or you can change the angle and distance.


PlotDwgs is a plot utility program with several unique options including plotting all open drawings, and plotting a folder of user selected drawings. Drawings may be plotted to a specified size, or by selecting the "Varies" option, the program determines the correct paper size to plot. Also included is the option of plotting all layouts in reverse order, and plotting a folder of user selected drawings in reverse order. The associated files are PlotDwgs.lsp, PlotDwgs.dcl and PlotDwgs.dvb.


DPL, Dimension Polylines, is similar to the Quick Dimension command but it only requires one pick. It can be further customized per your requirements in the DimPL function in the code. DPL also includes GetDimLayer which returns the layer name that's on and has the most dimensions, or the current layer name if there are no dimensions in the drawing.


The Win_Sort function sorts a list of strings or filenames very similar to the way Windows sorts files in folders. It may be used to display filenames in a dialog list. It may also be used in a plot script function to plot a folder of drawings in the Windows sorted order, other than just the acad_strlsort order.


Paul Silva

Here are a few grdraw example functions by Paul Silva. Function 66 draws an animated rolling ball between two splines or curved polylines, one above the other. Function 55 makes a dynamic grid with arrows rotating as the cursor moves across the screen.


ProgressBar contains a set of functions that can be used in loops while processing information. The main functions are ProgressBar, Progress, and EndProgressBar. There are a few example functions to demonstrate the syntax and method of using ProgressBar. PB-Demo is an example for an information message only. PB-Demo1 is an example for a foreach loop. PB-Demo2 is an example for a repeat loop. And PB-Demo3 is an example for a while loop.


Paul Silva has submitted his AutoLISP games Roulette and Puzzle. Check out his creations and have fun playing them. He also has a few other games that he's working on.


Bevel.lsp creates Bevel Dimensions. The dialog function c:BVS, for Bevel Settings, allows the user to customize various Bevel settings. The command functions c:BV and c:Bevel draw a Bevel Dimension. Included is the programming function BV to draw a Bevel. The function Bevel calculates the bevel based upon radian angle of slope. Bevel.lsp requires the functions inside of GetIcon.lsp, Dcl_Tiles.lsp and Text-Box.lsp. The associated files are Bevel.lsp and Bevel.dcl.


Troy is an Asteroids AutoLISP game driven by the grread function. It can be run inside of an existing drawing. When it's finished, it purges all entities, styles and layers it created. You have three ships to use to shoot down as many Troys as possible. Press Q to quit the game before it ends.


Troy-I.lsp has been modified by Vladimir Michl to run on international versions of AutoCAD. It works fine in AutoCAD 2007 Czech. Please visit his website CadStudio for other games and utilities at


LspCom and DclCom are a set of compression utilities to compress AutoLISP and Dialog files. The format of the compressed file makes it difficult for the casual user to edit or modify your AutoLISP and Dialog files.


DrawExcel is designed to draw basic spreadsheets without merged cells. Adjust the range for the Starting and Ending cells to not include merged cells. Headings and Titles can later be added in AutoCAD. Save the Excel spreadsheet in the view that you want to draw. Then close Excel. DrawExcel requires functions inside of GetIcon.lsp. The associated files are DrawExcel.lsp and DrawExcel.dcl.


Dcl_Tiles R12 is a set of utilities and functions for AutoLISP and DCL dialog control based upon the Dcl_Tiles dialog control method. Several of the edit and list functions allow the user to add or edit in both architectural and decimal formats. It includes the function tabs_tile, which displays displays tabs in an image tile, and the function vector_text that displays text in an image tile. Also included is the Progress_Bar function along with other useful dialog control functions. Dcl_Tiles requires functions inside of GetIcon.lsp. This revision the TitleBar$ variable was added to customize lists with Other. Revised ListArch to return a real number string and revised List functions to ignore blanks if included in a list.


kitoX Toolset is 100% free. For a description of the kitoX Toolset application visit A direct download is available at


Paul Silva

This routine selects lines and breaks them into 3 equal lengths. The middle length is erased and replaced by two other lines with a 60 degree inclination forming a triangle. Once finished, repeat routine to continue with the same procedure, doing a fractal. It is best if you have a polygon or some symmetrical shapes. All polylines must be exploded into line segments.


Groups has several functions to create, explode, and purge unused groups quickly. It also includes the function UniqueName, which creates a unique name based upon the date and time it was created.


Text-Box draws a polyline Text Box outlining Text, Mtext and Dimensions. The polyline can be offset a certain distance to use to trim other objects. A label can be created by rounding the corners of the rectangle. It can also be used to calculate the widths for columns for a Bill of Material or a Table of information.


DimStyles has been revised for Architectural ticks. The dialog displays the Dim Scale, Architectural Scale, Text Height, and the Mview Zoom Scale. The user only needs to select one of the common Scales from a dropdown list or enter another scale as needed. It creates and sets Dimension Styles for Linear, Angular, Diameter, Ordinate and Radial styles. DimStyles.lsp may be easily customized by editing the SetDimVars function, and in the "Exceptions to SetDimVars" areas. DimStyles requires functions inside of GetIcon.lsp and Dcl_Tiles.lsp.


The Dimension Leader function includes the option of horizontal or vertical Mtext, and is justified as upper right or upper left based upon the users choice of text direction. The user picks the leader from and to points, the direction of text, and then fills in the Mtext information. The function adjusts the leader to align with the top line of the Mtext, using the user's selected points. The user may easily add or delete Mtext lines without affecting the location of the leader.


Dimension Match and Update utility that should have been included with the AutoCAD's Match Properties command. DM makes the current dimension style based on the dimension selected. You may then update other dimensions, text or mtext to that style, or continue dimensioning using the style of the selected dimension.


Icons of the Crazy Cartoon Guys to be used by the GetIcon.lsp Get? functions. These icons were created by GetVectors.lsp. Use any of the icon names displayed by the c:Cartoons function as an icon for the GetIcon.lsp Get? functions.

Slides of the Crazy Cartoon Guys that may be used by the Match Slides game in Block Library. After loading Blk_Lib.lsp type "Match" or "Mat" to run the game.

Juan Lavric

LITIO.lsp is a program for designing and unfolding of sheet metal parts such as ducts, rectangle to round transitions, cylinders, cones, pipe intersections, connections, bifurcations, elbows, etc. It is intended for applications for HVAC, hoppers, cyclones, dust extractions, ducts, conveying systems, silos, piping, etc. Make your developments directly in AutoCAD 2000 or later with no need of DXF conversions.


Aaron Strom

Watson4 is a productive AutoCAD tool! With the addition of LOOKDB to look at drawings in a batch, and some sorting revisions, Watson4 can be used as a detail referencing agent. Visit website for more information, and to download a trial version.


OpenDwgsCmds is a set of functions designed to execute a list of commands and functions on all open drawings. The CDC function, Current Drawing Commands, allows you to test these commands and functions on the current drawing. The ODC function, Open Drawings Commands, executes these commands and functions on all open drawings. There are several programming utilities included.


SayIt is a utility that allows AutoCAD to speak using the Windows speech program. The applications are up to your imagination, and can also include dialog messages. Included is an example to add to your AcadDoc.lsp file that will be executed when AutoCAD starts up.


Scrs is a Script Creator utility that allows you to create scripts on the fly. You can test your script in the current drawing before running it on a folder of drawings or dxf files. The script is saved as C:\Temp\Temp.scr. The associated files are Scrs.lsp and Scrs.dcl.


MatInv.lsp includes a few associate list functions by Tihomir Bojanic from Novi Sad, Serbia.


DelDupLine.lsp by Tihomir Bojanic deletes duplicate and small lines within a defined length passed to the function. Use the c:TestDL function to test out DelDupLine.lsp.








In the tutorial for "Getting Started with Dcl Dialogs", there are examples of all of the basic dcl tiles with an accompanying AutoLISP program to load and control the dialogs. The approach is learning by examples. The tutorial is intended for all AutoLISP programmers, from the novice to the advanced. AutoLISP programmers will find DclCalcs very beneficial while designing dialogs. Additional utilities are included to enhance the programming and control of Dcl Dialogs.


DclDemo06 is a dcl dialog demo program written by Phillip Norman. Among some of its main features are examples of how to use some common dcl dialog tiles and the AutoLISP code to drive them, how to make two clusters of radio_buttons behave as one cluster, how to align list items in columns in a list_box, and how to use the system registry to store the dialog box screen location. For additional information open the Readme.txt file.