• Basic Tutorials
    • Tutorial: Getting Started (AutoLISP)
    • Tutorial: Creating a New Custom Command and Controlling with System Variables (AutoLISP)
    • Tutorial: Creating, Loading, and Opening an AutoLISP File (AutoLISP)
  • Visual LISP Tutorials (Windows only)
    • Tutorial: Garden Path (Visual LISP IDE)
    • Lesson 1: Designing and Beginning the Program (Visual LISP IDE)
    • Lesson 2: Using Visual LISP Debugging Tools (Visual LISP IDE)
    • Lesson 3: Drawing the Path Boundary (Visual LISP IDE)
      • Planning Reusable Utility Functions
      • Converting Degrees to Radians
      • Converting 3D Points to 2D Points
      • Drawing AutoCAD Entities
      • Creating Entities Using ActiveX Functions
      • Using Entmake to Build Entities
      • Using the Command Function
      • Enabling the Boundary Outline Drawing Function
      • Passing Parameters to Functions
      • Working With an Association List
      • Using Angles and Setting Up Points
      • Understanding the ActiveX Code in Gp:drawOutline
      • Ensuring That ActiveX Is Loaded
      • Obtaining a Pointer to Model Space
      • Constructing an Array of Polyline Points
      • Constructing a Variant From a List of Points
      • Putting It All Together (AutoLISP)
      • Wrapping Up Lesson 3
    • Lesson 4: Creating a Project and Adding the Interface (Visual LISP IDE)
      • Modularizing Your Code (AutoLISP)
      • Using Visual LISP Projects
      • Adding the Dialog Box Interface
      • Defining the Dialog Box With DCL
      • Saving a DCL File
      • Previewing a Dialog Box
      • Interacting With the Dialog Box From AutoLISP Code
      • Setting Up Dialog Values
      • Loading the Dialog File
      • Loading a Specific Dialog Into Memory
      • Initializing the Default Dialog Values
      • Assigning Actions to Tiles
      • Starting the Dialog
      • Unloading the Dialog
      • Determining What to Do Next
      • Putting the Code Together
      • Updating a Stubbed-Out Function
      • Providing a Choice of Boundary Line Type
      • Cleaning Up
      • Running the Application
      • Wrapping Up Lesson 4
    • Lesson 5: Drawing the Tiles (Visual LISP IDE)
      • Introducing More Visual LISP Editing Tools
      • Matching Parentheses
      • Completing a Word Automatically
      • Completing a Word by Apropos
      • Getting Help With a Function (AutoLISP)
      • Adding Tiles to the Garden Path
      • Applying Some Logic
      • Applying Some Geometry
      • Drawing the Rows
      • Drawing the Tiles in a Row
      • Looking at the Code (AutoLISP)
      • Testing the Code
      • Wrapping Up Lesson 5
    • Lesson 6: Acting With Reactors (Visual LISP IDE)
      • Reactor Basics
      • Reactor Types
      • Designing Reactors for the Garden Path
      • Selecting Reactor Events for the Garden Path
      • Planning the Callback Functions
      • Planning for Multiple Reactors
      • Attaching the Reactors
      • Storing Data With a Reactor
      • Updating the C:GPath Function
      • Adding Reactor Callback Functions
      • Cleaning Up After Your Reactors
      • Test Driving Your Reactors
      • Examining Reactor Behavior in Detail
      • Wrapping Up Lesson 6
    • Lesson 7: Putting It All Together (Visual LISP IDE)
      • Planning the Overall Reactor Process
      • Reacting to More User-Invoked Commands
      • Storing Information Within the Reactor Objects
      • Adding the New Reactor Functionality
      • Adding Activity to the Object Reactor Callback Functions (AutoLISP)
      • Designing the Gp:command-ended Callback Function
      • Handling Multiple Entity Types
      • Using ActiveX Methods in Reactor Callback Functions
      • Handling Nonlinear Reactor Sequences
      • Coding the Command-ended Function
      • Updating Gp:Calculate-and-Draw-Tiles
      • Modifying Other Calls to Gp:Calculate-and-Draw-Tiles
      • Redefining the Polyline Boundary
      • Looking at the Functions in Gppoly.lsp
      • Understanding the Gp:RedefinePolyBorder Function (AutoLISP)
      • Understanding the Gp:FindMovedPoint Function
      • Understanding the Gp:FindPointInList Function
      • Understanding the Gp:recalcPolyCorners Function
      • Understanding the Gp:pointEqual, Gp:rtos2, and Gp:zeroSmallNum Functions
      • Wrapping Up the Code (AutoLISP)
      • Building an Application
      • Starting the Make Application Wizard
      • Wrapping Up the Tutorial