Tailoring AutoLISP – DCL -Diesel – 2nd Edition for AutoCAD; now includes scripts.

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).

As with all of our e-books:

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

Table of contents

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

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)

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 , and maintains a Weblog at worldcadaccess.com/typepad.com

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.