Presentation is loading. Please wait.

Presentation is loading. Please wait.

© 2006 Autodesk AutoCAD: Secrets Every User Should Know Chapter 8 - AutoLISP by Example: Getting Started.

Similar presentations


Presentation on theme: "© 2006 Autodesk AutoCAD: Secrets Every User Should Know Chapter 8 - AutoLISP by Example: Getting Started."— Presentation transcript:

1 © 2006 Autodesk AutoCAD: Secrets Every User Should Know Chapter 8 - AutoLISP by Example: Getting Started

2 2© 2006 Autodesk Key Topics -Entity Selection and Manipulation -Constructing New Points -String Conversion and Manipulation -Debugging and Troubleshooting Techniques -Annotating and Error-Trapping

3 3© 2006 Autodesk AutoLISP  Based on LISP from 1950s  Good User Language  Can use AutoCAD commands  Can use AutoCAD variables  VLISP Added AutoCAD 200  Uses AutoCAD Commands VBA and VB.NET C++ Programming Tools

4 4© 2006 Autodesk Writing  Text Editor  Visual LISP Editor  NO Word Processors Saving  ASCII Text File .LSP extension  ACADDOC.lspLoads in Each Drawing  ACAD.lsp Loads Only When AutoCAD Fires Up Saving AutoLISP Programs

5 5© 2006 Autodesk Three ways to load AutoLISP  Type it at the command line  or copy/paste to the command line  Load a text file that contains AutoLISP code  (load “program.lsp”)  APPLOAD Startup Suite  Use the load function of the Visual LISP editor Loading Programs

6 6© 2006 Autodesk Start Visual LISP Editor  VLISP or VLIDE  Tools  AutoLISP  Visual LISP Editor Four Windows  Text editor: type your program (more than one can be open)  Visual LISP console: type variable names or pieces of code  Trace window: use while debugging  Build Output window: warnings and error messages Visual LISP Editor

7 7© 2006 Autodesk Visual LISP - Color Coding ColorUsed for Blue AutoLISP functions like /, DEFUN, and SETQ MagentaStrings, which are always between quotation marks BlackUser-created items, such as program variables and function names GreenInteger values TealReal numbers, which must have a decimal point Maroon on grayComments, which are preceded by a semicolon

8 8© 2006 Autodesk VLISP Tools

9 9© 2006 Autodesk AutoLISP by Example Or format like this:

10 10© 2006 Autodesk Program Structure Programs Contain AutoLISP Functions  DEFUN, SETVAR, +, and - Function Name Is Preceded by an Opening Parenthesis  (defun, or (command, or (+ Balance Parentheses Separate Atoms with Spaces or Quotation Marks Functions Are Followed by Arguments, if They’re Necessary

11 11© 2006 Autodesk Breaking Down the Code (defun c:00()Defun is an AutoLISP expression C: means “command” not drive (setvar “osmode” 4143)Setvar is an AutoLISP expression “osmode” is a system variable 4143 is a bit sum setting )Closes opening parenthesis in line 1

12 12© 2006 Autodesk Bit Sum 1, 2, 4, 8, 16, 32, 64, 128, etc. Why 4143? End, Mid, Cen, Nod, Int, and Ext as running osnaps Type OSMODE at the command line Returns 4143 1+2+4+8+32+4098 = 4143.

13 13© 2006 Autodesk Building on the Basics

14 14© 2006 Autodesk System Variables Over 550 in AutoCAD 2007 Examples: APERTURE; AUPREC; LUPREC Some saved in drawing, others in Registry (getvar “aperture”) (setvar “aperture” 3) Environment Variables – Operating System Examples: “MaxHatch” " HideSystemPrinters" Saved in Registry (getenv “MaxHatch”) (setenv “MaxHatch” “100000000”) Background- Variables

15 15© 2006 Autodesk Program Variables Defined by the programmer using SETQ Global(defun C:MID () Retain their value when program terminates Useful for debugging Often Changed to Local Can be used to create a persistent default value Local(defun C:MID (/ os ap m) Return to nil when program terminates !variable at command line to get value Background - Variables

16 16© 2006 Autodesk SETQ

17 17© 2006 Autodesk Deciphering the Code

18 18© 2006 Autodesk Creating New Coordinates Structural Lumber Symbol Get Point1 and Point 2 from User Create Point3 from X of Point 1 and Y of Point2 Create Point4 from X of Point 2 and Y of Point1

19 19© 2006 Autodesk Creating New Coordinate Points - LIST

20 20© 2006 Autodesk Creating New Points - POLAR Dimension Between Walls

21 21© 2006 Autodesk Creating New Points - POLAR Polar pt Angle Distance

22 22© 2006 Autodesk Calculations

23 23© 2006 Autodesk Calculations - More

24 24© 2006 Autodesk Calculations in Programs

25 25© 2006 Autodesk Angles Radians vs. Degrees AutoLISP uses Radians Radian: included angle of arc with length of 1 DegreesRadians 00 90Pi/2 180Pi 2703pi/2 3602pi

26 26© 2006 Autodesk Angles Radian Problems

27 27© 2006 Autodesk Angles Radians vs. Degrees Conversion Functions

28 28© 2006 Autodesk Transparent Commands Two Methods ‘I2M will work for many command functions Call non-command functions as Lisp

29 29© 2006 Autodesk Combining Programs SSECT and RC

30 30© 2006 Autodesk Ten Basic Rules 1.Save as ASCII. 2.Use Equal Number of Opening and Closing Parens. 3.DEFUN Means Define Function; C:ZX Is a Command. 4.Balance Quotation Marks. 5.Backslash Is a Control Character: \\ or / for Folders. 6.Leave Space After Forward Slash for Local Variables. 7.\n Controls New Line in Prompt and Is Lowercase. 8.Use Semicolons for Comments. 9.Get Values at Beginning; Use SETQ to Save Them. 10. Don't Get Discouraged!

31 31© 2006 Autodesk Automatic Loading APPLOAD Startup Suite Any LSP program placed by user ACAD.lsp Loads when AutoCAD starts IF in the path Loads in subsequent drawings IF ACADLSPASDOC=1 ACADDOC.lsp Loads with each drawing IF in the path (There are some others, but you probably don’t want to mess them up)

32 32© 2006 Autodesk Automatic Loading Startup Functions


Download ppt "© 2006 Autodesk AutoCAD: Secrets Every User Should Know Chapter 8 - AutoLISP by Example: Getting Started."

Similar presentations


Ads by Google