tailoring autolisp -
      dcl - diesel

2nd Edition updated for AutoCAD 2008;
now includes scripts

General CADD Pro
Generic CADD 6
Architectural Desktop

- - -

- PayPal
-By mail

Table of Contents
-Tailoring AutoLISP - DCL - Diesel

About the Author
Ralph Grabowski

Sample Pages

Click thumbnail for full-size view.

Chapter 1


 - - -

 Chapter 2


 - - -

Chapter 3


 - - -

Chapter 4


 - - -

Chapter 5


 - - -

Chapter 6


 - - -

Chapter 7



about the author

Ralph Grabowski has authored and co-authored 100+ books on CAD management, ArchiCAD, AutoCAD, Generic CADD, IntelliCAD, MicroStation, TurboCAD, VDraft, Visio, HTML, and VRML. He is the editor of two e-newsletters, upFront.eZine and iCommunique .

Mr Grabowski received his B.A.Sc ('80) degree in civil engineering from the University of British Columbia. He currently works and lives in the beautiful Central Fraser Valley region of British Columbia, Canada.

You can visit his Web site at upfrontezine.com



Tailoring AutoLISP - DCL -Diesel is a the companion ebook to Tailoring AutoCAD. It's for all users of AutoCAD, from Release 13 through to 2008, who want to learn about AutoLISP, DCL, Diesel, and scripts. 

The 180-page e-book is shows you how to use these AutoCAD programming:

  • Introduction to the AutoLISP programming language.
  • Intensive step-by-step tutorials on writing useful code with LISP.
  • Concise AutoLISP reference (new in the second edition).
  • Thorough explanation of DCL (dialog control language).
  • Exhaustive reference of DCL tiles and attributes -- more accurate than Autodesk's own documentation.
  • Reference of dialog-related AutoLISP functions.
  • Understanding Diesel.
  • Using Diesel in menu and toolbar macros, and with AutoLISP.
  • Tutorial on writing and running scripts (new in the second edition).

Note that chapters 1, 2, 3, 6, 7, and  8 appeared previously in Tailoring AutoCAD 2006.

As with all of our e-books:

  • All illustrations in full color.
  • Formatted for printing on standard 8.5x11 paper.
  • Margins designed for three-hole punching. 

ordering the book

To order the 180-page Tailoring AutoLISP - DCL - Diesel mini-eBook:

  • Web Download Price: Sent to you by email in Acrobat PDF format: US$27.00 (750KB download).
  • On CD in Acrobat PDF format: add US%.00 for shipping. 
  • Add US$25 for CD delivery by FedEx.
  • Bulk pricing available; contact the editor.

You may make payment in US$, Euro, Yen, British pounds, CDN$, and other currencies. (Will be converted to US$ funds.)

Check or Money Order

Make cheque payable to 'upFront.eZine Publishing, Ltd.'

  • US funds drawn on a bank with its address in the USA.
  • Equivalent Canadian funds drawn on a bank in Canada (incl. GST).
  • Equivalent British funds drawn on a bank in Great Britain.
  • Equivalent Euro funds drawn on a bank in Europe.

By Mail
You may mail payment to:

      "Tailoring AutoLISP - DCL - Diesel"
      upFront.eZine Publishing, Ltd.
      34486 Donlyn Avenue
      Abbotsford BC
      V2S 4W7     Canada

also available as eBooks:

Tailoring Dynamic Blocks US$9.90
Tailoring Quick Calc US$5.40
Tailoring Visual Styles US$11.10
Tailoring CUI US$9.60
Tailoring AutoCAD Rendering US$21.00
Tailoring AutoCAD 2007 US$30.70


I welcome your feedback for correcting and improving the text. Send your email to editor @ upfrontezine . com  

table of contents

(Note: Chapters 1, 2, 3, 6, 7, and 8 appeared previously in Tailoring AutoCAD 2006.)

Part I - AutoLISP

chapter 1 introduction to autolisp

A Brief History of AutoLISP, Starting AutoLISP: Adding Two Numbers, AutoLISP in Commands, Remembering the Result: SetQ, Guided Tour of AutoLISP Functions, Math Functions, Geometric Functions, Conditional Functions, String and Conversion Functions, External Command Functions, Accessing System Variables, GetXXX Functions, Selection Set Functions, Object Manipulation Functions, Advanced AutoLISP Functions

 chapter 2 your first autolisp program

Why Write Programs?, The Id Command, Planning the Attack, Obtaining the Coordinates, Placing the Text, Putting Them Together, An Alternative to LISP Programming, Sprucing Up Code, Conquering Feature Bloat, Wishlist Item #1: Naming AutoLISP Programs, Wishlist Item #2: Saving AutoLISP Programs to Disk, Wishlist Item #3: Automatically Loading AutoLISP Programs, Wishlist #4: Using Car and Cdr, Saving Data to Files, Three Steps to Writing Data Files, Step 1: Opening Files, Step 2: Writing Data to Files, Step 3: Closing Files, Putting It Together, Wishlist #5: Specifying Layers, Wishlist #6: Setting the Text Style

 chapter 3 concise lisp function reference

AutoLISP Functions, Others, Constant, VisualLisp Functions, VisualLISP/ActiveX Functions, VisualLIPS Reactor Functions

 Part II - Dialog Control Language

chapter 4 introduction to dcl

History of DCL, What Dialog Boxes Are Made Of, Your First DCL File, DCL Programming Structure, Start Dialog Box Definition, Dialog Box Title, OK Button, Basic LISP Code to Load and Run Dialog Boxes, Testing the DCL Code, Displaying System Variable Data, Adding the Complimentary LISP Code, Clustering Text, Supplying the Variable Text, Leaving Room for Variable Text, Fixing the Button Width, Centering the Button, Testing the Dialog Box, Defining the Command

Examples of DCL Coding, Buttons, Making Buttons Work, Check Boxes, Radio Buttons, Clusters, Columns and Rows, Boxed Row, Boxed Row with Label, Special Tiles for Radio Buttons

Debugging DCL, Dcl_Settings, DCL Error Messages, Semantic error(s) is DCL file, Dialog has neither an OK nor a CANCEL button, Error in dialog file "filename.dcl", line n, Dialog too large to fit on screen, Additional Resources

 chapter 5 dcl reference

Alphabetical Summary of DCL Tiles, Alphabetical Summary of DCL Attributes, Tile Reference, Dialog, Name, Label, Initial Focus, Key, Exiting Dialog Boxes, Button, Label, Mnemonic , Action, Key, Is_Cancel, Is_Default, Is_Enable, Is_Tab_Stop, Width & Height, Fixed_Height & Fixed_Width, Alignment, Prefabricated Button Assemblies, Ok_Only, Ok_Cancel, Ok_Cancel_Help, Ok_Cancel_Help_Errtile, Ok_Cancel_Help_Info, Radio_Button, Label, Value, Multiple Radio Buttons, Toggle, Label, Value, Other Attributes, Image_Button, Key, Aspect_Ratio, Height, & Width , Color, Edit_Box, Label, Mnemonic , Value, Password_Char, Fixed_Width_Font, Edit_Limit, Edit_Width, Other Attributes, List_Box, List, Tabs, Tab_Truncate, Fixed_Width_Font, Value, Multiple_Select, Height, Width, Other Attributes, Popup_List, Label, Mnemonic, List, Tabs, Tab_Truncate, Value , Other Attributes, Slider, Label & Mnemonic , Layout, Max_Value , Min_Value, Big_Increment, Small_Increment, Value, Height, Width, Fixed_Height & Fixed Width, Alignment, Text, Label, Value, is_bold, height & width, Fixed_Height & Fixed Width, Alignment, Text_Part, Concatenation, Paragraph, Errtile, Spacer, Spacer_0, Spacer_1, Image, Key, Value and Mnemonic , Color , Aspect_Ratio, Height, & Width , Column, Label, Height & Width, Children_Fixed_Height, Children_Fixed_Width, & Children_Alignment, Boxed_Column, Radio-Column & Boxed_Radio_Column, Value, Row & Boxed_Row, Other Attributes, Radio_Row & Boxed_Radio_Row, Value, Base.Dcl, Normal Default Widget,

Styles of Clusters, Styles of Radio Clusters, Horizontal and Vertical Blocks of Running Text, Pre-built Arrays of Dialog Buttons, Top and Bottom Subassemblies, Color Selection, Common Spacers, Dialog Retirement Buttons, Audit Level, Error Reporting Tiles, Miscellaneous , Primitive Widgets, Acad.Dcl

AutoLISP Functions for Dialog Boxes, Alphabetical List of AutoLISP Functions for Dialog Boxes, Dialog Boxes Displayed by AutoLISP Functions, Load_Dialog, New_Dialog, Start_Dialog, Done_Dialog, Term_Dialog, Unload_Dialog, Get_Tile, Set_Tile, Get_Attr, Mode_Tile, Action_Tile, Client_Data_Tile, Start_List, Add_List, End_List, Start_Image, Slide_Image, Fill_Image, Vector_Image, DimX_Tile & DimY_Tile, End_Image, Dialog Boxes Displayed by AutoLISP Functions, Alert, Help, Acad_HelpDlg, AcadColorDlg, Acad_TrueColorDlg, InitDia

Part III - Diesel

chapter 6 introduction to diesel

Is Diesel a Programming Language? , The History of Diesel, What Diesel Does, Concise List of Diesel Functions, Math Functions, Logic Functions, Numeric Conversion Functions, String (Text) Functions, System Functions, ModeMacro: Displaying Text on the Status Bar, Reporting Values of System Variables , Error Messages, $? , $(functionName)?? , $(functionName,??) , $(++) , Debugging Diesel, Using Variables

Diesel Functions, Math Functions, + (Addition), - (Subtraction), * (Multiplication), / (Division), Logic Functions, = (Equal), < (Less than), > (Greater Than), != (Not Equal), <= (Less Than or Equal), >= (Greater Than or Equal), and (Logical Bitwise AND), eq, if, or (Logical Bitwise Or), xor (Logical Bitwise Xor), Conversion Functions, angtos, fix, rtos, String Functions, index, nth, strlen, substr, upper, System Functions, edtime, eval, getenv, getvar, linelen, Diesel Programming Tips


chapter 7 diesel in menus and lisp

Parsing the Name Macro, $(if, ... !.), $(eq, ... 1),, $(getvar,attmode),, &Normal, Parsing Diesel in Macros, Bitcode Macros, Diesel in AutoLISP, Via the Setvar Function, Concatenate Two Diesel Strings, Via the MenuCmd Function

Part IV - Scripts

chapter 8 scripts

(No Appendices)

opyright 2007 by upFront.eZine Publishing, Ltd. All rights reserved worldwide.