AutoLISP_Developers_Guide

introduction
  autolisp and visual lisp
    what visual lisp offers
    working with visual lisp and autocad
  using visual lisp documentation
  related documents
using the visual lisp environment
  getting started
    starting visual lisp
    exploring the visual lisp user interface
      introducing the visual lisp text editor
      other visual lisp windows
    touring the visual lisp menus
      variable menu contents
      visual lisp menu summary
    understanding the console window
    understanding the visual lisp text editor
    loading and running autolisp programs
      running selected lines of code
      using extended autolisp functions
    exiting visual lisp
  developing programs with visual lisp
    getting organized
    using the console window
      understanding console behavior
        using the console window history
        interrupting commands and clearing the console input area
      using the console window with multiple drawings
      using the console shortcut menu
      logging console window activity
    using the text editor
      editing a file
        undoing your last change
        creating automatic backup files
        restoring from a backup file
        editing an existing file
      using the text editor shortcut menu
      using keyboard shortcuts in the text editor
        correcting text
        selecting text
        navigation shortcuts
        indenting shortcuts
      moving and copying text
      searching for text
        choosing search options
        repeating an earlier search
        replacing text
      bookmarking text
    using console and editor coding aids
      understanding visual lisp color coding
      using the apropos feature
        using the results of an apropos search
      letting visual lisp help you complete words
        completing a word by matching
        completing a word by apropos
      getting help for autolisp functions
    formatting code with visual lisp
      understanding visual lisp formatting styles
        plane style
        wide style
        narrow style
        column style
      applying formatting options
        close parenthesis style
        insert form-closing comment
        preserve existing line breaks
        split comments
        long list format style
        setting case for symbols
      applying visual lisp comment styles
      saving and restoring formatting options
      formatter restrictions
      formatting shortcut keys
    checking for syntax errors
      checking the balance of parentheses
      using color coding to detect syntax errors
      using the check command to look for syntax errors
        finding the location of the syntax error in your program
  debugging programs
    introducing visual lisp debugging features
    learning by example
      stepping through the debugging example
        setting a breakpoint to interrupt program execution
        stepping through the program
        monitoring the evaluation results of an expression
        continuing program execution
        running in animate mode
    using the visual lisp debugging features
      starting a debugging session
      understanding break loops
        continuable break loops
        non-continuable break loops
      using breakpoints
        changing breakpoint highlight colors
        disabling breakpoints temporarily
        listing and viewing the breakpoints in your program
        life cycle of a breakpoint
    using visual lisp data inspection tools
      using the watch window
        using the watch toolbar
        using the watch item shortcut menu
      understanding the trace stack window
        stack element lists
        viewing the current trace stack
        displaying information on a trace stack element
        using the frame binding window
        understanding keyword frames
        understanding special function call frames
        viewing an error trace stack
      using the symbol service dialog box
        using the symbol service toolbar
        understanding symbol flags
      using inspect windows
        using the inspect window
        understanding object element list formats
        common inspect commands
        copying inspect objects to the *obj* ide global variable
        handling errors in the inspect command
        closing all inspect windows
      viewing autocad drawing entities
        viewing entities in the drawing database
        viewing symbol tables in the drawing database
        viewing blocks in the drawing database
        viewing selected objects in a drawing
        viewing extended data
  building applications
    compiling and linking programs
      using the compiler
      compiling a program from a file
        choosing a compiler mode
        identifying the input file
        naming an output file
      walking through a compile example
      loading and running compiled programs
        loading extended autolisp functions
      linking function calls
    making application modules
      creating a new application
        understanding the output from make application
      loading and running visual lisp applicationsbuilding applications:making application modules:loading and running vlisp applications
      changing application options
      rebuilding an application
      updating an application
    designing for a multiple document environment
      understanding namespaces
      running an application in its own namespace
        accessing external objectarx functions from a separate-namespace vlx
        making functions available to documents
        making separate-namespace functions available to other vlx applications
        referencing variables in document namespaces
      sharing data between namespaces
      handling errors in an mdi environment
        handling errors in a vlx application running in its own namespace
      limitations on using autolisp in an mdi environment
  maintaining visual lisp applications
    managing multiple lisp files
      understanding visual lisp projects
        lisp, fas, and other file types
    defining a project
      assigning project properties
        selecting the files to include in a project
        identifying the path name of project files
        changing the order in which visual lisp loads files
        choosing compiler build options
      using the project window to work with project files
        selecting multiple project members
        loading project files
        compiling and recompiling project files
        editing project files
        saving and closing the projectclosing:projects
    working with existing projects
      opening a project
      finding a string in project source files
      including a project in a visual lisp application
    optimizing application code
      defining build options
      choosing a compilation mode
        analyzing for optimization correctness
      choosing a link mode
      understanding safe optimization
        optimization conditions bypassed by safe optimization
        safe optimization warning messages
        compiler checking of optimizing conditions
  working with activex
    using activex objects with autolisp
    understanding the autocad object model
      object properties
      object methods
      collections of objects
    accessing autocad objects
      using the inspect tool to view object properties
      moving forward from the application object
      summarizing the process
      performance considerations
    using visual lisp functions with activex methods
      determining the visual lisp function you need
      determining how to call a function
      converting autolisp data types to activex data types
        working with variants
        working with safearrays
        using safearrays with variants
        converting other autolisp data types for activex methods
      viewing and updating object properties
        reading object properties
        updating object properties
        determining whether an object is available for updating
      using activex methods that return values in arguments
      listing an object's properties and methods
        determining if a method or property applies to an object
      working with collection objects
        retrieving member objects in a collection
      releasing objects and freeing memory
      converting object references
        converting between enames and vla-objects
        obtaining one object identifier from another
      handling errors returned by activex methods
    using activex to interact with other applications
      importing a type library
        coding hints for using vlax-import-type-library
      establishing a connection to an application
      coding a sample application
      using activex without importing a type library
        calling an activex method with vlax-invoke-methodvlax-invoke-method functioncalling activex methodsactivex:methodsactivex:interacting with other applications:calling activex methods with vlax-invoke-method
        obtaining an activex property with vlax-get-property
        updating an activex property with vlax-put-property
  advanced topics
    attaching reactors to autocad drawings
      understanding reactor types and events
        reactor callback events
      defining callback functions
        defining object reactor callback functions
      creating reactors
        using object reactors
        attaching data to reactor objects
      working with reactors in multiple namespaces
      querying, modifying, and removing reactors
        inspecting reactors
        querying reactors using function calls
        modifying reactors
        removing reactors
      transient versus persistent reactors
        opening a drawing containing persistent reactors
      reactor use guidelines
using the autolisp language
  autolisp basics
    autolisp expressions
      autolisp function syntax
    autolisp data types
      integers
      reals
      strings
      lists
      selection sets
      entity names
      vla-objects
      file descriptors
      symbols and variables
        protected symbols
    autolisp program files
      formatting autolisp code
        spaces in autolisp code
      comments in autolisp program files
        visual lisp comment styles
      color coding
    autolisp variables
      displaying the value of a variable
      nil variables
      predefined variables
    number handling
    string handling
    basic output functions
      displaying messages
        exiting quietly
      control characters in strings
      wild-card matching
    equality and conditional
    list handling
      point lists
      dotted pairs
    symbol and function handling
      using defun to define a function
        compatibility of defun with previous versions of autocad
      c:xxx functions
        adding commands
        redefining autocad commands
      local variables in functions
        local variables versus global variables
        example using local variables
      functions with arguments
        special forms
    error handling in autolisp
      using the *error* function
      catching errors and continuing program execution
  using autolisp to communicate with autocad
    accessing commands and services
      command submission
        foreign language support
        pausing for user input
        passing pick points to autocad commands
        undoing commands issued with the command function
      system and environment variables
      configuration control
    display control
      controlling menus
      control of graphics and text windows
      control of low-level graphics
    getting user input
      the getxxx functions
      control of user-input function conditions
        input options for user-input functions
        keyword options
        arbitrary keyboard input
        input validation
    geometric utilities
      object snap
      text extents
    conversions
      string conversions
      angular conversion
      ascii code conversion
      unit conversion
        converting from inches to meters
        the unit definition file
      coordinate system transformations
        point transformations
    file handling
      file search
      accessing drawing properties
      accessing help files
    device access and control
      accessing user input
      calibrating tablets
  using autolisp to manipulate autocad objects
    selection set handling
      selection set filter lists
        wild-card patterns in filter lists
        filtering for extended data
        relational tests
        logical grouping of filter tests
        selection set manipulation
      passing selection sets between autolisp and objectarx applications
    object handling
      entity name functions
        entity handles and their uses
        entity context and coordinate transform data
        entity access functions
      entity data functions
        deleting an entity
        obtaining entity information
        modifying an entity
        adding an entity to a drawing
        creating complex entities
        working with blocks
        anonymous blocks
      entity data functions and the graphics screen
      old-style polylines and lightweight polylines
        processing curve-fit and spline-fit polylines
      non-graphic object handling
        symbol table objects
        dictionary objects
    extended data - xdata
      organization of extended data
      registration of an application
      retrieval of extended data
      attachment of extended data to an entity
      management of extended data memory use
      handles in extended data
    xrecord objects
    symbol table and dictionary access
      symbol tables
      dictionary entries
        accessing autocad groups
working with programmable dialog boxes
  designing dialog boxes
    dialog box components
    using dcl to define dialog boxes
      the base.dcl and acad.dcl files
      referencing dcl files
      dcl syntax
        tile definitions
        tile references
        attributes and attribute values
        comments in dcl files
    displaying dialog boxes with visual lisp
      preview error handling
      semantic auditing of dcl files
    adjusting the layout of dialog boxes
      distributing tiles in a cluster
      adjusting the space between tiles
      adjusting space at the right side or bottom
      fixing the spacing around a boxed row or column
      customizing exit button text
    design guidelines
      aesthetics and ergonomics
      consistent design and clear language
      user control
      forgiving errors
      providing help
      users with disabilities
      using capitalization
      avoiding abbreviations
      layout
      size and placement
      disabling tiles
      nesting dialog boxes
      closing a dialog box for user selection
      providing defaults
      handling keyboard input
      international language considerations
      guidelines for predefined tiles and clusters
        buttons
        clusters
        edit boxes
        image buttons and image tiles
        list boxes
        radio buttons, radio rows, and radio columns
        sliders
        text
        toggles
      error handling in dialog boxes
        error tiles
        alert boxes
  managing dialog boxes
    controlling dialog boxes with autolisp programs
      quick overview
      functions restricted when a dialog box is open
    action expressions and callbacks
      action expressions
      callback reasons
        default and dcl actions
    handling tiles
      initializing modes and values
      changing modes and values at callback time
      handling radio clusters
      handling sliders
      handling edit boxes
    nesting dialog boxes
    functions for hiding dialog boxes
      requesting a password
    list boxes and pop-up lists
      list operations
      processing list elements
    image tiles and buttons
      creating images
      handling image buttons
    application-specific data
    dcl error handling
      setting the auditing level to affect error messages
    dialog box function summary
      function sequence
      the sample block definition dialog box
  programmable dialog box reference
    tile attributes
      attribute types
      restricted attributes
      user-defined attributes
    synopsis of predefined attributes
    dcl attribute catalog
    action
    alignment
    allow_accept
    aspect_ratio
    big_increment
    children_alignment
    children_fixed_height
    children_fixed_width
    color
    edit_limit
    edit_width
    fixed_height
    fixed_width
    fixed_width_font
    height
    initial_focus
    is_bold
    is_cancel
    is_default
    is_enabled
    is_tab_stop
    key
    label
    layout
    list
    max_value
    min_value
    mnemonic
    multiple_select
    password_char
    small_increment
    tabs
    tab_truncate
    value
    width
    functional synopsis of dcl tiles
      predefined active tiles
      tile clusters
      decorative and informative tiles
      text clusters
      dialog box exit buttons and error tiles
      restricted tiles
    dcl tile catalog
    boxed_column
    boxed_radio_column
    boxed_radio_row
    boxed_row
    button
    column
    concatenation
    dialog
    edit_box
    errtile
    image
    image_button
    list_box
    ok_only
    ok_cancel
    ok_cancel_help
    ok_cancel_help_errtile
    ok_cancel_help_info
    paragraph
    popup_list
    radio_button
    radio_column
    radio_row
    row
    slider
    text
    text_part
    toggle
    spacer
    spacer_0
    spacer_1
    programmable dialog box function synopsis
      dialog box opening and closing functions
      tile- and attribute-handling functions
      list box and pop-up list-handling functions
      image tile-handling functions
      application-specific data-handling function
appendixes
  autolisp function synopsis
    category summary
    basic functions
      application-handling functions
      arithmetic functions
      equality and conditional functions
      error-handling functions
      function-handling functions
      list manipulation functions
      string-handling functions
      symbol-handling functions
    utility functions
      conversion functions
      device access functions
      display control functions
      file-handling functions
      geometric functions
      query and command functions
      user input functions
    selection set, object, and symbol table functions
      extended data-handling functions
      object-handling functions
      selection set manipulation functions
      symbol table and dictionary-handling functions
    memory management functions
    visual lisp extensions to autolisp
      activex collection manipulation functions
      activex data conversion functions
      activex method invocation functions
      activex object-handling functions
      activex property-handling functions
      curve measurement functionsautolisp:curve measurement functionsautolisp:visual lisp extended functions:curve measurement functions
      dictionary functions
      functions for handling drawing objects
    reactor functions
    vlx namespace functions
    namespace communication functions
    windows registry functions
  visual lisp environment and formatting options
    window attributes options
      syntax coloring
      configure current
      set current window to prototype
      set all windows to prototype
      font
    environment options
      general options dialog box
        general tab (general options dialog box)
        diagnostic tab (general options dialog box)
      visual lisp format options
        base formatting options in the format options dialog box
        additional formatting options in the format options dialog box
      page format options in the page setup dialog box
        justification and substitution codes in the page setup dialog box
    save settings (tools menu)
  autolisp error codes
    error codes
Your Ad Here