Course Title: Mastering the Visual LISP Integrated Development Environment (IDE)

Size: px
Start display at page:

Download "Course Title: Mastering the Visual LISP Integrated Development Environment (IDE)"

Transcription

1 Las Vegas, Nevada, December 3 6, 2002 Speaker Name: R. Robert Bell Course Title: Mastering the Visual LISP Integrated Development Environment (IDE) Course ID: CP42-1 Course Outline: The introduction of the Visual LISP IDE in AutoCAD 2000 added some powerful tools for the Visual LISP (AutoLISP ) programmer. The VLIDE is not simply a pretty text editor with parenthesis checking, although that feature alone is of great benefit. Would you like to understand the other benefits the VLIDE delivers? This course will explain the following features: Programming Aids o Console o Inspect feature o Trace command and window o Symbol Service feature o Apropos feature o Project feature o Application Wizard Debugging Tools o Break on Error o Watch o Breakpoints/Stepping o Animate Formatting Options o Expression styles o Closing paren styles o List styles o Comment styles o Miscellaneous options

2 Mastering the Visual LISP Integrated Development Environment (IDE) Here is the code that will be used during the class: ; Trace.lsp v1.0 Demonstrates the Trace function. To be run from the console. (trace I:Double) (Test) View the trace window. (untrace I:Double) ; (defun I:Double (Number) (* Number 2)) (defun Test (/ Number) (setq Number 1) (repeat 10 (setq Number (I:Double Number))) (princ)) ; Symbol.lsp v1.0 Demonstrates changing a variable's value using the Symbol Service. Run the function once from the console. (Test 2) Observe the return value. Place a breakpoint at the beginning of the expression (* 2 inpnum). Run the function again. (Test 2) When you reach the breakpoint, use the Symbol Service to change inpnum to 4. ; (defun Test (inpnum) (* 2 inpnum)) The following code will be used to demonstrate the Project feature. ; EntSelF.lsp from AcadX.com ; (defun I:EntSelF (Msg ; selection prompt Filter ; filter list / EntN ; (entsel) list pbdist ; pickbox size in drawing units PtPick ; point of selection from (entsel) sspick) ; selection set (setvar "ErrNo" 0) ; clear ErrNo for loop (while (and (not (setq EntN (if Msg ; if selection prompt 2

3 Mastering the Visual LISP Integrated Development Environment (IDE) (entsel Msg) ; then (entsel) w/prompt (entsel)))) ; while no selection (or no exit) (/= 52 (getvar "ErrNo")))) ; if null response (cond (EntN ; if not exit (setq pbdist (abs ; return absolute number, get pixel ratio (/ (* (/ (getvar "PickBox") (cadr (getvar "ScreenSize"))) (getvar "ViewSize")) ; apply to viewsize (in units) (sin (* 0.25 pi)))) ; at 45 PtPick (cadr EntN)) ; get point of pick (if (setq sspick (ssget "_C" ; if entities in crossing (polar PtPick (* 1.25 pi) pbdist) ; lower left (polar PtPick (* 0.25 pi) pbdist) ; upper right Filter)) ; match filter, if any (cons (ssname sspick 0) (list PtPick)))))) ; then return first entity as (entsel) ; AttGet.lsp from AcadX.com ; (defun I:AttGet (Ent AttTag / DxfVal ; entity type Done) ; flag to exit loop (while (not Done) ; loop until done (cond ((and (= "ATTRIB" (setq DxfVal (cdr (assoc 0 Ent)))) ; if sub-entity is an attdef (= (cdr (assoc 2 Ent)) AttTag)) ; and matching attribute (setq Done T)) ; then exit loop ((= "SEQEND" DxfVal) ; if at end of block's entities (setq Done T ; then exit loop Ent nil))) ; clear entity data (if (not Done) ; if not done (setq Ent (entget (entnext (cdr (assoc -1 Ent))))))) ; then get next entity Ent) ; return entity data ; Sheet.lsp Displays the value of the Sheet# attribute. ; (defun C:Sheet (/ eblk eatt) (setq eblk (I:EntSelF "\nselect titleblock: " ; get titleblock '((2. "Title Block")))) ; filter for specific name (cond (eblk ; if titleblock selected (setq eatt (I:AttGet (entget (car eblk)) "SHEET#")) ; get value of Sheet# (alert (strcat "Sheet number: " (cdr (assoc 1 eatt)))))) ; display value (princ)) ; clean exit 3

4 Mastering the Visual LISP Integrated Development Environment (IDE) The following code is used to demonstrate the 5 commenting styles. ; Comment.lsp v1.0 Return the active document's name. Used to demonstrate the 5 commenting styles. ; (defun C:Test () ;;; returns a string (vla-get-name ; get name (vla-get-activedocument ;; ThisDrawing (vlax-get-acad-object)))) ;_ closes defun 4

5 Mastering the Visual LISP Integrated Development Environment (IDE) Speaker s Name: R. Robert Bell Course ID: CP42-1 Course Outline: This course will explain many of the features, tools, and options in the VLIDE. The student will have a better understanding of how the VLIDE is useful. Expectations You will learn about the VLIDE: Programming aids. Debugging tools. Formatting options. Who Is R. Robert Bell? Network Administrator for MW Consulting Engineers (A/E/C) since Writing code since AutoLISP since AutoCAD v2.5 Visual LISP since 1999 AUGI VBA Guild Moderator and self-admitted Autodesk newsgroup junkie. Member of AcadX.com, helping you customize AutoCAD. Image courtesy of Berke Breathed

6 Now, About You How many wrote most of their code in AutoLISP? What text editor did you use? How many have written lots of AutoLISP code since AutoCAD 2000, and are comfortable with the VLIDE? How many program in other languages, such as VB(A)? Programming Features of the VLIDE Console Inspect feature Trace command and window Symbol Service feature Apropos feature Project feature Application Wizard The Console Perform expressions Examine variables Recall previous actions with <Tab> Clear the window

7 The Inspect Feature Examine variables (usually during a breakpoint). Expression results. Copy object to *obj*. Drill-down for more information. The Trace Command and Window (trace func) (untrace func) Many prefer watches and breakpoints. (vl-bt), for the diehards. (defun *Error* (Err) (if (not (member Err '("console break" "Function cancelled" "quit / exit abort"))) (vl-bt)) (princ)) The Symbol Service Feature Permits you to see/change the value of a symbol. Add the symbol to the Watch Window. If the symbol is a USUBR, you can use Show Definition to display the code.

8 The Apropos Feature Searches the symbol table. Even sees symbols that are local to functions. Match by prefix option. Use WCMatch style filtering. Use the help button to see the help file for SUBRs. The Project Feature Use to manage the files for an application. Files are loaded in the order listed. Assign compile options for the project (FAS files). The Application Wizard The wizard makes compiling a Visual LISP application easy. The defaults are usually sufficient for average applications. Note: Contrary to documentation, VBA projects are not accessible.

9 Debugging Tools of the VLIDE Break on Error Watch Breakpoints/Stepping Animate The Watch Window You can watch: The value of a variable. The result of an expression. The last value/result. Using Breakpoints You may set breakpoints wherever you want. Use the <F9> key, or the toolbar button. Show the last break source. Debug on Entry into a function by Symbol Service. You may also deactivate breakpoints, instead of simply removing them.

10 Manually Stepping Thru Your Code Stepping is active when: Errors occur and Break on Error is set. Reaching an enabled breakpoint. Step options: Step into. Step over. Step out. Continue. Reset. Quit. The Animate Feature This will run your code, lineby-line, at a specified interval. Understanding the Formatting Options You may modify the options so that your code is formatted the way you like (in most cases). It is possible to format your code with the touch of a button.

11 Plane Style (for Expressions) (I:AttGet Ent AttTag) All the arguments are on the same line. All the arguments are separated by a single space. Affected by: Right Text Margin. Printing length must be less than Approximate Line Length. Wide Style (for Expressions) (I:AttGet Ent AttTag) First argument on the same line. Remaining arguments lined up below. Affected by: 1 st element (I:AttGet above) must be a SYM. Maximum Wide-Style Car Length for the SYM. Narrow Style (for Expressions) (I:AttGet Ent AttTag) All arguments on a new line. Affected by: Narrow Style Indentation determines number of spaces for the indent.

12 Column Style (for Expressions) (cond (test1 ; code ;) (test2 ; code ;) (test3 ; code ;)) All elements are positioned in a column. You will see this on quoted lists and (cond) expressions. Close At the Same Line Pros: Results in compact code. Cons: Must rely on paren checker to determine nesting. Moves argument/local variable parens right 1 space. (defun C:Test () (vla-get-name (vla-get-activedocument (vlax-get-acad-object)))) Close With Inner Indentation (defun C:Test () (vla-get-name (vla-get-activedocument (vlax-get-acad-object) Pros: ) Helps to see nesting level. ) ) Cons: Opening/closing parens do not line up. Unnecessarily long code.

13 Close With Outer Indentation Pros: Helps to see nesting level. Opening/closing parens line up. Cons: Unnecessarily long code. (defun C:Test () (vla-get-name (vla-get-activedocument (vlax-get-acad-object) ) ) ) Insert Form-Closing Comment (defun C:Test () (vla-get-name (vla-get-activedocument (vlax-get-acad-object) ) ;_ closes vla-get-activedocument ) ;_ closes vla-get-name ) ;_ closes defun Automatically adds a comment to lonely closing parens. Does not change if the statement is changed. Lots of deleting if you want to clean them up. Additional Format Options Preserve existing line breaks only if you love your current format. Split comments if your comments exceed right margin. Many like to force protected symbols to lowercase.

14 Long List Format Options Single-column (setq alist '( )) 2-column (setq alist '( )) Multi-column (setq alist '( )) Fill-to-margin (setq alist '( )) Page Setup Options (for Printing) Don t limit the amount of code that you can print on a page! Adjust your margins. Alter your font to a smaller size if you are only documenting. Header & footer codes are well documented. Window Attributes (Syntax Color) Top row of colors is the foreground color. Bottom row is the background color.

15 Syntax Colors Spaces String Symbols Integer Real Non-inline comments Inline comments Parens Unknown Variable/arguments Selected text Enabled breakpoints Disabled breakpoints Error messages in Build Output The 5 Commenting Styles ; Comment.lsp v1.0 Return the active document's name. ; (defun C:Test () ;;; returns a string (vla-get-name ; get name (vla-get-activedocument ;; ThisDrawing (vlax-get-acad-object)))) ;_ closes defun Wrap-up The VLIDE provides many features Programming aids Console Inspect Apropos Debugging tools Watch Breakpoints/Stepping Formatting options Close at the same line Multiple commenting styles

16 Questions Thank You Thank you for attending this course! Please don t forget to fill out the evaluation forms. Course name: Mastering the Visual LISP Integrated Development Environment (IDE) Course number: CP42-1 My Name: R. Robert Bell

Mastering the Visual LISP Integrated Development Environment

Mastering the Visual LISP Integrated Development Environment Mastering the Visual LISP Integrated Development Environment R. Robert Bell Sparling SD7297 How do you create and edit your AutoLISP programming language software code? Are you using a text editor such

More information

Speaker Name: Bill Kramer. Course: CP33-2 A Visual LISP Wizard's Intro to Object Magic. Course Description

Speaker Name: Bill Kramer. Course: CP33-2 A Visual LISP Wizard's Intro to Object Magic. Course Description Speaker Name: Bill Kramer Course: CP33-2 A Visual LISP Wizard's Intro to Object Magic Course Description This course introduces the use of objects in Visual LISP and demonstrates how they can be created

More information

Speaker Name: Bill Kramer. Course: CP42-2 A Visual LISP Wizard's Into to Reactor Magic. Course Description

Speaker Name: Bill Kramer. Course: CP42-2 A Visual LISP Wizard's Into to Reactor Magic. Course Description Speaker Name: Bill Kramer Course: CP42-2 A Visual LISP Wizard's Into to Reactor Magic Course Description Visual LISP reactors are the tools by which event-driven applications are created. If you want to

More information

AutoLISP - Beyond the Crash Course Robert Green Robert Green Consulting Group

AutoLISP - Beyond the Crash Course Robert Green Robert Green Consulting Group AutoLISP - Beyond the Crash Course Robert Green Robert Green Consulting Group CP111-1 So you ve started using AutoLISP/Visual LISP but now you want to gain more functionality and build more elegant routines?

More information

Speaker Name: Darren J. Young / Course Title: Introduction to Visual LISP's vl- functions. Course ID: CP42-3

Speaker Name: Darren J. Young / Course Title: Introduction to Visual LISP's vl- functions. Course ID: CP42-3 Las Vegas, Nevada, December 3 6, 2002 Speaker Name: Darren J. Young / dyoung@mcwi.com Course Title: Introduction to Visual LISP's vl- functions Course ID: CP42-3 Course Outline: This course presents long-time

More information

Good Habits for Coding in Visual LISP

Good Habits for Coding in Visual LISP R. Robert Bell Sparling CP319-1 The power of AutoCAD lies in its customization capabilities. Visual LISP is a powerful tool for expanding your options. Unhappily, it is easy to have a scatter-shot approach

More information

*.lsp Commands: + - * / setq setvar getvar getpoint defun command getstring appload vlide

*.lsp Commands: + - * / setq setvar getvar getpoint defun command getstring appload vlide *.lsp Commands: + - * / setq setvar getvar getpoint defun command getstring appload vlide Autolisp is version of an old programming language (circa 1960) called LISP (List Processor) Autolisp programs

More information

Las Vegas, Nevada December 3-6, Course: Working with Custom menus in ADT

Las Vegas, Nevada December 3-6, Course: Working with Custom menus in ADT Las Vegas, Nevada December 3-6, 2002 Speaker Name: Bob Callori Course: Working with Custom menus in ADT Course Description Want to customize ADT so that the Design Center symbol library content appears

More information

AutoLISP Productivity Power

AutoLISP Productivity Power AutoLISP Productivity Power Robert Green CAD-Manager.com Quick bio Mechanical engineer turned computer geek Private consultant since 1991 AutoLISP programmer since the beginning Focusing on CAD standardization,

More information

Discover the DATA behind the Drawing Using A+CAD. Permission to copy

Discover the DATA behind the Drawing Using A+CAD. Permission to copy Discover the DATA behind the Drawing Using A+CAD Permission to copy The CAD Academy Did you ever wonder how the entities you draw on the screen look in the database? Understanding how CAD stores data makes

More information

ActiveX Tricks for Visual LISP and VBA R. Robert Bell MW Consulting Engineers Peter Jamtgaard Cordeck

ActiveX Tricks for Visual LISP and VBA R. Robert Bell MW Consulting Engineers Peter Jamtgaard Cordeck November 30 December 3, 2004 Las Vegas, Nevada ActiveX Tricks for Visual LISP and VBA R. Robert Bell MW Consulting Engineers Peter Jamtgaard Cordeck CP23-3 You can do some amazing things in AutoCAD using

More information

Beyond AutoLISP Basics

Beyond AutoLISP Basics CHAPTER Beyond AutoLISP Basics Learning Objectives After completing this chapter, you will be able to: Identify ways to provide for user input. Retrieve and use system variable values in AutoLISP programs.

More information

ntroduction Topics in this section Working in Visual LISP Tutorial Overview Please send us your comment about this page

ntroduction Topics in this section Working in Visual LISP Tutorial Overview Please send us your comment about this page ntroduction This tutorial is designed to demonstrate several powerful capabilities of the AutoLISP programming environment for AutoCAD and introduce features of the AutoLISP language that may be new to

More information

Chapter 28 Beyond AutoLISP Basics. Learning Objectives

Chapter 28 Beyond AutoLISP Basics. Learning Objectives Chapter Beyond AutoLISP Basics Learning Objectives After completing this chapter, you will be able to: Identify ways to provide for user input. Retrieve and use system variable values in AutoLISP programs.

More information

Blockbusters: Unleashing the Power of Dynamic Blocks Revealed!

Blockbusters: Unleashing the Power of Dynamic Blocks Revealed! Blockbusters: Unleashing the Power of Dynamic Blocks Revealed! Matt Murphy - ACADventures GD201-3P Discover the full potential of Dynamic Blocks in AutoCAD. Learn how each parameter and action behaves

More information

Las Vegas, Nevada, December 3 6, Speaker Name: dave espinosa-aguilar. Course Title: Fundamentals of AutoLISP.

Las Vegas, Nevada, December 3 6, Speaker Name: dave espinosa-aguilar. Course Title: Fundamentals of AutoLISP. Las Vegas, Nevada, December 3 6, 2002 Speaker Name: dave espinosa-aguilar Course Title: Fundamentals of AutoLISP Course ID: CP11-2 Course Outline: AutoLISP has been around for a long time and has always

More information

Speaker Name: Bill Kramer. Course: CP31-2 A Visual LISP Wizard's Advanced Techniques. Course Description

Speaker Name: Bill Kramer. Course: CP31-2 A Visual LISP Wizard's Advanced Techniques. Course Description Speaker Name: Bill Kramer Course: CP31-2 A Visual LISP Wizard's Advanced Techniques Course Description Ready to move beyond DEFUN, SETQ, GETPOINT, and COMMAND? This class is intended for veteran AutoCAD

More information

The Anglemaker Program

The Anglemaker Program C h a p t e r 3 The Anglemaker Program In this chapter, you will learn the following to World Class standards: 1. Drawing and Labeling the Anglemaker Programming Sketch 2. Launching the Visual LISP Editor

More information

Migration Made Easy! Speaker: Bud Schroeder, Autodesk Inc.

Migration Made Easy! Speaker: Bud Schroeder, Autodesk Inc. November 30 December 3, 2004 Las Vegas, Nevada Speaker: Bud Schroeder, Autodesk Inc. IT32-1 This presentation will focus on how to use existing built-in AutoCAD tools to migrate your customization from

More information

Lisp Basic Example Test Questions

Lisp Basic Example Test Questions 2009 November 30 Lisp Basic Example Test Questions 1. Assume the following forms have been typed into the interpreter and evaluated in the given sequence. ( defun a ( y ) ( reverse y ) ) ( setq a (1 2

More information

AutoLISP Tricks for CAD Managers Speaker: Robert Green

AutoLISP Tricks for CAD Managers Speaker: Robert Green December 2-5, 2003 MGM Grand Hotel Las Vegas AutoLISP Tricks for CAD Managers Speaker: Robert Green CM42-1 You already know that AutoLISP is a powerful programming language that can make AutoCAD do great

More information

Lambda Calculus and Lambda notation in Lisp II. Based on Prof. Gotshalks notes on Lambda Calculus and Chapter 9 in Wilensky.

Lambda Calculus and Lambda notation in Lisp II. Based on Prof. Gotshalks notes on Lambda Calculus and Chapter 9 in Wilensky. λ Calculus Basis Lambda Calculus and Lambda notation in Lisp II Based on Prof. Gotshalks notes on Lambda Calculus and Chapter 9 in Wilensky Mathematical theory for anonymous functions» functions that have

More information

Lisp. Versions of LISP

Lisp. Versions of LISP Lisp Versions of LISP Lisp is an old language with many variants Lisp is alive and well today Most modern versions are based on Common Lisp LispWorks is based on Common Lisp Scheme is one of the major

More information

Chapter 29 Introduction to Dialog Control Language (DCL)

Chapter 29 Introduction to Dialog Control Language (DCL) CHAPTER Introduction to Dialog Control Language (DCL Learning Objectives After completing this chapter, you will be able to: Describe the types of files that control dialog boxes. Define the components

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Vanilla Lisp Shell (VLS)

Vanilla Lisp Shell (VLS) Vanilla Lisp Shell (VLS) Copyright c 2001 William Paul Vrotney i Table of Contents 1 Introduction............................... 2 2 Notation Conventions...................... 3 3 Getting Started............................

More information

Microsoft Office Excel 2007: Basic. Course Overview. Course Length: 1 Day. Course Overview

Microsoft Office Excel 2007: Basic. Course Overview. Course Length: 1 Day. Course Overview Microsoft Office Excel 2007: Basic Course Length: 1 Day Course Overview This course teaches the basic functions and features of Excel 2007. After an introduction to spreadsheet terminology and Excel's

More information

Gene Kim 9/9/2016 CSC 2/444 Lisp Tutorial

Gene Kim 9/9/2016 CSC 2/444 Lisp Tutorial Gene Kim 9/9/2016 CSC 2/444 Lisp Tutorial About this Document This document was written to accompany an in-person Lisp tutorial. Therefore, the information on this document alone is not likely to be sufficient

More information

Documentation for LISP in BASIC

Documentation for LISP in BASIC Documentation for LISP in BASIC The software and the documentation are both Copyright 2008 Arthur Nunes-Harwitt LISP in BASIC is a LISP interpreter for a Scheme-like dialect of LISP, which happens to have

More information

Permission to copy The CAD Academy

Permission to copy The CAD Academy Use LISP to Program in A+CAD Permission to copy The CAD Academy We are going to create a small program in LISP, a language used in artificial intelligent programs, to interact with our CAD program A+CAD.

More information

AutoLISP for CAD Managers Robert Green Robert Green Consulting Group

AutoLISP for CAD Managers Robert Green Robert Green Consulting Group Robert Green Robert Green Consulting Group CM305-1L AutoLISP/Visual LISP is a powerful way to extend the AutoCAD functionality, but many avoid using it because they think it's too hard to learn. This class

More information

Lecture Notes on Lisp A Brief Introduction

Lecture Notes on Lisp A Brief Introduction Why Lisp? Lecture Notes on Lisp A Brief Introduction Because it s the most widely used AI programming language Because Prof Peng likes using it Because it s good for writing production software (Graham

More information

VBScript: Math Functions

VBScript: Math Functions C h a p t e r 3 VBScript: Math Functions In this chapter, you will learn how to use the following VBScript functions to World Class standards: 1. Writing Math Equations in VBScripts 2. Beginning a New

More information

Quit Gambling with Huge Files! Scott McEachron DC CADD (Dallas, TX)

Quit Gambling with Huge Files! Scott McEachron DC CADD (Dallas, TX) November 30 December 3, 2004 Las Vegas, Nevada Quit Gambling with Huge Files! Scott McEachron DC CADD (Dallas, TX scottm@dccadd.com GI33-2 Ever import a 250MB ESRI Shape file or a 3GB aerial image? We'll

More information

Modern Programming Languages. Lecture LISP Programming Language An Introduction

Modern Programming Languages. Lecture LISP Programming Language An Introduction Modern Programming Languages Lecture 18-21 LISP Programming Language An Introduction 72 Functional Programming Paradigm and LISP Functional programming is a style of programming that emphasizes the evaluation

More information

Scheme procedures can be used with the Scheme AIDE demonstration application or any other Scheme based application.

Scheme procedures can be used with the Scheme AIDE demonstration application or any other Scheme based application. Chapter 2. Scheme Procedures This chapter describes how to write Scheme procedures to enhance the functionality provided in the Scheme ACIS Interface Driver Extension (Scheme AIDE. Scheme AIDE (formerly

More information

Recursion & Iteration

Recursion & Iteration Recursion & Iteration York University Department of Computer Science and Engineering 1 Overview Recursion Examples Iteration Examples Iteration vs. Recursion Example [ref.: Chap 5,6 Wilensky] 2 Recursion

More information

Productivity Tools Objectives

Productivity Tools Objectives Word 2003 Understand Microsoft Office Word 2003 Launch Microsoft Office Word 2003 Open Documents Understand The Working Screen Experiment With The Working Screen Navigate Documents Close Documents And

More information

Code::Blocks Student Manual

Code::Blocks Student Manual Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of

More information

Debugging in LISP. trace causes a trace to be printed for a function when it is called

Debugging in LISP. trace causes a trace to be printed for a function when it is called trace causes a trace to be printed for a function when it is called ;;; a function that works like reverse (defun rev (list) (cons (first (last list)) (rev (butlast list)))) USER: (trace rev) ; note trace

More information

TestOut Desktop Pro Plus - English 4.x.x. MOS Instructor Guide. Revised

TestOut Desktop Pro Plus - English 4.x.x. MOS Instructor Guide. Revised TestOut - English 4.x.x MOS Instructor Guide Revised 2017-10-18 2 Table of Contents General MOS Exam Information... 3 MOS Practice Exams... 4 Highly Recommended Videos and Class Activities... 5 Course

More information

CIS4/681 { Articial Intelligence 2 > (insert-sort '( )) ( ) 2 More Complicated Recursion So far everything we have dened requires

CIS4/681 { Articial Intelligence 2 > (insert-sort '( )) ( ) 2 More Complicated Recursion So far everything we have dened requires 1 A couple of Functions 1 Let's take another example of a simple lisp function { one that does insertion sort. Let us assume that this sort function takes as input a list of numbers and sorts them in ascending

More information

The AutoLISP Platform for Computer Aided Design

The AutoLISP Platform for Computer Aided Design The AutoLISP Platform for Computer Aided Design Harold Carr Robert Holt Autodesk, Inc. 111 McInnis Parkway San Rafael, California 94903 harold.carr@autodesk.com rhh@autodesk.com Introduction Over fifteen

More information

Announcement. Overview. LISP: A Quick Overview. Outline of Writing and Running Lisp.

Announcement. Overview. LISP: A Quick Overview. Outline of Writing and Running Lisp. Overview Announcement Announcement Lisp Basics CMUCL to be available on sun.cs. You may use GNU Common List (GCL http://www.gnu.org/software/gcl/ which is available on most Linux platforms. There is also

More information

ECDL Full Course Content

ECDL Full Course Content ECDL Full Course Content Module 1 1. Getting Started 1.1. Computer Terms 1.2. Computer Hardware 1.3. Computer Accessories 1.4. Memory and Storage 1.5. Computer Software 2. Using Information Technology

More information

An Overview of VBA in AutoCAD 2006

An Overview of VBA in AutoCAD 2006 11/29/2005-5:00 pm - 6:30 pm Room:Swan 2 (Swan Walt Disney World Swan and Dolphin Resort Orlando, Florida An Overview of VBA in AutoCAD 2006 Phil Kreiker - Looking Glass Microproducts CP22-2 This course

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

COMPUTERIZED OFFICE SUPPORT PROGRAM

COMPUTERIZED OFFICE SUPPORT PROGRAM NH108 Excel Level 1 16 Total Hours COURSE TITLE: Excel Level 1 COURSE OVERVIEW: This course provides students with the knowledge and skills to create spreadsheets and workbooks that can be used to store,

More information

Microsoft Excel 2010 Level 1

Microsoft Excel 2010 Level 1 Microsoft Excel 2010 Level 1 One Day Course Course Description You have basic computer skills such as using a mouse, navigating through windows, and surfing the Internet. You have also used paper-based

More information

Functional programming with Common Lisp

Functional programming with Common Lisp Functional programming with Common Lisp Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 81 Expressions and functions

More information

Las Vegas, Nevada, December 3 6, Speaker Name: Heidi Hewett. Course ID:

Las Vegas, Nevada, December 3 6, Speaker Name: Heidi Hewett. Course ID: Las Vegas, Nevada, December 3 6, 2002 Speaker Name: Heidi Hewett Course Title: Course ID: GD34-4L Course Outline: During this presentation, you'll learn about all the AutoCAD 2002 extensions, including

More information

Functional Programming. Pure Functional Programming

Functional Programming. Pure Functional Programming Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).

More information

Symbolic Programming. Dr. Zoran Duric () Symbolic Programming 1/ 89 August 28, / 89

Symbolic Programming. Dr. Zoran Duric () Symbolic Programming 1/ 89 August 28, / 89 Symbolic Programming Symbols: +, -, 1, 2 etc. Symbolic expressions: (+ 1 2), (+ (* 3 4) 2) Symbolic programs are programs that manipulate symbolic expressions. Symbolic manipulation: you do it all the

More information

5. Control Statements

5. Control Statements 5. Control Statements This section of the course will introduce you to the major control statements in C++. These control statements are used to specify the branching in an algorithm/recipe. Control statements

More information

AutoLISP Functions. The following is a catalog of the AutoLISP functions available in AutoCAD. The functions are listed alphabetically.

AutoLISP Functions. The following is a catalog of the AutoLISP functions available in AutoCAD. The functions are listed alphabetically. Page 1 of 376 The following is a catalog of the AutoLISP functions available in AutoCAD. The functions are listed alphabetically. In this chapter, each listing contains a brief description of the function's

More information

Microsoft Office Excel 2010: Basic. Course Overview. Course Length: 1 Day. Course Overview

Microsoft Office Excel 2010: Basic. Course Overview. Course Length: 1 Day. Course Overview Microsoft Office Excel 2010: Basic Course Length: 1 Day Course Overview This course teaches the basic functions and features of Excel 2010. After an introduction to spreadsheet terminology and Excel's

More information

AutoLISP Module 6 Competency Test No.1

AutoLISP Module 6 Competency Test No.1 AutoCAD Self-paced ecourse AutoLISP Module 6 Competency Test No.1 Learning Outcomes When you have completed this module, you will be able to: 1 Complete a written exam and write an AutoLISP program on

More information

Flow of Control: Loops

Flow of Control: Loops Walter Savitch Frank M. Carrano Flow of Control: Loops Chapter 4 Java Loop Statements: Outline The while statement The do-while statement The for Statement Java Loop Statements A portion of a program that

More information

Daylighting design project zone 2E: Genzyme Reception Nicole Vlado & James Forren

Daylighting design project zone 2E: Genzyme Reception Nicole Vlado & James Forren Daylighting design project zone 2E: Genzyme Reception Nicole Vlado & James Forren GENZYME RECEPTION seating areas entry ATRIUM FULLY GLAZED FACADE planter N reception desk OBSERVATIONS OBSERVATIONS materials

More information

Streams, Delayed Evaluation and a Normal Order Interpreter. CS 550 Programming Languages Jeremy Johnson

Streams, Delayed Evaluation and a Normal Order Interpreter. CS 550 Programming Languages Jeremy Johnson Streams, Delayed Evaluation and a Normal Order Interpreter CS 550 Programming Languages Jeremy Johnson 1 Theme This lecture discusses the stream model of computation and an efficient method of implementation

More information

Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia

Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia November 30 December 3, 2004 Las Vegas, Nevada Integrating Microsoft Access with AutoCAD VBA dave espinosa-aguilar Toxic Frog Multimedia CP32-3 Course Description: For years AutoCAD users have been trying

More information

entity tomove over backward forward character C-b C-f word M-b M-f line C-p C-n go to line beginning (or end) C-a C-e sentence M-a M-e paragraph M- M-

entity tomove over backward forward character C-b C-f word M-b M-f line C-p C-n go to line beginning (or end) C-a C-e sentence M-a M-e paragraph M- M- Starting Emacs To enter GNU Emacs 21, just type its name: emacs To read in a file to edit, see Files, below. Leaving Emacs suspend Emacs (or iconify it under X) exit Emacs permanently Files read afileinto

More information

Mapping Specification for DWG/DXF (MSD) AutoLISP Code Samples

Mapping Specification for DWG/DXF (MSD) AutoLISP Code Samples Mapping Specification for DWG/DXF (MSD AutoLISP Code Samples The code samples contained herein are intended as learning tools and demonstrate basic coding techniques used to implement MSD. They were created

More information

Robert Green Robert Green Consulting

Robert Green Robert Green Consulting IT20767 AutoLISP Strategies for CAD Managers Robert Green Robert Green Consulting RGreen@GreenConsulting.com Learning Objectives Learn how to capture live audio and video learning modules Learn how to

More information

Excel 2007 Tutorials - Video File Attributes

Excel 2007 Tutorials - Video File Attributes Get Familiar with Excel 2007 42.40 3.02 The Excel 2007 Environment 4.10 0.19 Office Button 3.10 0.31 Quick Access Toolbar 3.10 0.33 Excel 2007 Ribbon 3.10 0.26 Home Tab 5.10 0.19 Insert Tab 3.10 0.19 Page

More information

CS251 Programming Languages Handout # 47 Prof. Lyn Turbak May 22, 2005 Wellesley College. Scheme

CS251 Programming Languages Handout # 47 Prof. Lyn Turbak May 22, 2005 Wellesley College. Scheme CS251 Programming Languages Handout # 47 Prof. Lyn Turbak May 22, 2005 Wellesley College 1 Scheme Overview Scheme Scheme is a block-structured, lexically-scoped, properly tail-recursive dialect of Lisp

More information

WebIntelligence. Creating Documents

WebIntelligence. Creating Documents Creating Documents This page is intentionally left blank. 2 WIC110904 Table of Contents Lesson Objective... 5 For Assistance...6 Introduction... 7 Document Editor... 7 Designing a Query Flowchart... 9

More information

Making Your Word Documents Accessible

Making Your Word Documents Accessible Making Your Word Documents Accessible Montclair State University is committed to making our digital content accessible to people with disabilities (required by Section 508). This document will discuss

More information

Script... Programming for Dummies. R. Yoshi Honda. What are Script files (.scr)

Script... Programming for Dummies. R. Yoshi Honda. What are Script files (.scr) Script... Programming for Dummies Yoshi Honda Friday, December 5 9:30 a.m. 11:00 a.m. R. Yoshi Honda Pacific CADD Services, Inc. Honolulu, Hawaii yoshi.honda@pacificcadd.com www.pacificcadd.com What are

More information

Migrate Legacy Word Documentation into MadCap Flare. Matthew Ellison

Migrate Legacy Word Documentation into MadCap Flare. Matthew Ellison Migrate Legacy Word Documentation into MadCap Flare Matthew Ellison Matthew Ellison Certified MadCap trainer and consultant Technical Director of annual UA Europe conference What we ll cover in this session

More information

Teacher Activity: page 1/9 Mathematical Expressions in Microsoft Word

Teacher Activity: page 1/9 Mathematical Expressions in Microsoft Word Teacher Activity: page 1/9 Mathematical Expressions in Microsoft Word These instructions assume that you are familiar with using MS Word for ordinary word processing *. If you are not comfortable entering

More information

Midterm Examination (Sample Solutions), Cmput 325

Midterm Examination (Sample Solutions), Cmput 325 Midterm Examination (Sample Solutions, Cmput 325 [15 marks] Consider the Lisp definitions below (defun test (L S (if (null L S (let ((New (add (cdar L S (test (cdr L New (defun add (A S (if (null S (cons

More information

(defmacro while (condition &body body) `(iterate loop () (if,condition (loop)))))

(defmacro while (condition &body body) `(iterate loop () (if,condition (loop))))) ; PARCIL - A Parser for C syntax In Lisp version 0.1a copyright (c) 1992 by Erann Gat, all rights reserved This program is free software; you can redistribute it and/or modify it under the terms of the

More information

Outline. Writing Functions and Subs. Review Immediate (1-line) Errors. Quiz Two on Thursday (2/23) Same Code Without Option Explicit

Outline. Writing Functions and Subs. Review Immediate (1-line) Errors. Quiz Two on Thursday (2/23) Same Code Without Option Explicit Writing Functions and Subs Larry Caretto Mechanical Engineering 209 Computer Programming for Mechanical Engineers February 21, 2017 Outline Review Debugging and Option Explicit What are functions and subs?

More information

The New Office 2007 Interface and Shared Features

The New Office 2007 Interface and Shared Features The New Office 2007 Interface and Shared Features The Ribbon and Ribbon Tabs Minimising and Maximising Keytips and shortcut keys Standard vs contextual tabs Live Preview Dialogue Box/ Task Pane launchers

More information

Project 2: Scheme Interpreter

Project 2: Scheme Interpreter Project 2: Scheme Interpreter CSC 4101, Fall 2017 Due: 12 November 2017 For this project, you will implement a simple Scheme interpreter in C++ or Java. Your interpreter should be able to handle the same

More information

Introduction to LISP. York University Department of Computer Science and Engineering. York University- CSE V.

Introduction to LISP. York University Department of Computer Science and Engineering. York University- CSE V. Introduction to LISP York University Department of Computer Science and Engineering York University- CSE 3401- V. Movahedi 11_LISP 1 Introduction to LISP Evaluation and arguments S- expressions Lists Numbers

More information

Fundamentals of ADS. Environment: Windows /Visual C++ Introduction

Fundamentals of ADS. Environment: Windows /Visual C++ Introduction Fundamentals of ADS Environment: Windows /Visual C++ Introduction This overview of an ADS development environment for Microsoft Visual C++ is for the participants in the Autodesk Training Department's

More information

Productivity Tools Objectives 1

Productivity Tools Objectives 1 Productivity Tools Objectives 1 Word 2003 Understand Microsoft Office Word 2003 Launch Microsoft Office Word 2003 Open Documents Understand The Working Screen Experiment With The Working Screen Navigate

More information

The American University in Cairo. Academic Computing Services. Excel prepared by. Maha Amer

The American University in Cairo. Academic Computing Services. Excel prepared by. Maha Amer The American University in Cairo Excel 2000 prepared by Maha Amer Spring 2001 Table of Contents: Opening the Excel Program Creating, Opening and Saving Excel Worksheets Sheet Structure Formatting Text

More information

Introduction to Lisp

Introduction to Lisp Last update: February 16, 2010 Introduction to Lisp Dana Nau Dana Nau 1 Outline I assume you know enough about computer languages that you can learn new ones quickly, so I ll go pretty fast If I go too

More information

Strands & Standards COMPUTER TECHNOLOGY 2

Strands & Standards COMPUTER TECHNOLOGY 2 Strands & Standards COMPUTER TECHNOLOGY 2 COURSE DESCRIPTION This course applies advanced concepts and principles using word processing, spreadsheets, databases, and electronic presentation software. Students

More information

CS 480. Lisp J. Kosecka George Mason University. Lisp Slides

CS 480. Lisp J. Kosecka George Mason University. Lisp Slides CS 480 Lisp J. Kosecka George Mason University Lisp Slides Symbolic Programming Symbols: +, -, 1, 2 etc. Symbolic expressions: (+ 1 2), (+ (* 3 4) 2) Symbolic programs are programs that manipulate symbolic

More information

The ABC's of the AutoCAD CUI

The ABC's of the AutoCAD CUI R. Robert Bell Sparling AU104-4 The Customize User Interface (CUI) is used to control your menus, toolbars, the ribbon, keyboard shortcuts, and double-click actions. There is plenty to do but you might

More information

Excel 2010 Tutorials - Video File Attributes

Excel 2010 Tutorials - Video File Attributes Get Familiar with Excel 2010 42.30 2.70 The Excel 2010 Environment 4.10 0.18 Quick Access Toolbar 3.10 0.27 Excel 2010 Ribbon 3.10 0.26 File Tab 3.10 0.28 Home Tab 5.10 0.17 Insert Tab 3.10 0.18 Page Layout

More information

Data Mining in Autocad with Data Extraction

Data Mining in Autocad with Data Extraction Data Mining in Autocad with Data Extraction Ben Rand Director of IT, Job Industrial Services, Inc. Twitter: @leadensky Email: ben@leadensky.com Join the conversation #AU2016 A little about me BA in English,

More information

Look at the outermost list first, evaluate each of its arguments, and use the results as arguments to the outermost operator.

Look at the outermost list first, evaluate each of its arguments, and use the results as arguments to the outermost operator. LISP NOTES #1 LISP Acronymed from List Processing, or from Lots of Irritating Silly Parentheses ;) It was developed by John MacCarthy and his group in late 1950s. Starting LISP screen shortcut or by command

More information

PowerPoint 2002 Manual

PowerPoint 2002 Manual PowerPoint 2002 Manual Internet and Technology Training Services Miami-Dade County Public Schools Contents How to Design Your Presentation...3 PowerPoint Templates...6 Formatting Your Slide Show...7 Creating

More information

Learning Map Excel 2007

Learning Map Excel 2007 Learning Map Excel 2007 Our comprehensive online Excel tutorials are organized in such a way that it makes it easy to obtain guidance on specific Excel features while you are working in Excel. This structure

More information

Excel Tutorials - File Size & Duration

Excel Tutorials - File Size & Duration Get Familiar with Excel 46.30 2.96 The Excel Environment 4.10 0.17 Quick Access Toolbar 3.10 0.26 Excel Ribbon 3.10 0.26 File Tab 3.10 0.32 Home Tab 5.10 0.16 Insert Tab 3.10 0.16 Page Layout Tab 3.10

More information

Bricscad V VLE LISP Function Summary

Bricscad V VLE LISP Function Summary VLE-ENAMEP DataType (vle-enamep obj) Predicator function to determine T - if 'obj' is a ENAME whether 'obj' is of ENAME type NIL - if 'obj' is not a ENAME 'ENAME) VLE-FILEP DataType (vle-filep obj) Predicator

More information

Excel Programming with VBA (Macro Programming) 24 hours Getting Started

Excel Programming with VBA (Macro Programming) 24 hours Getting Started Excel Programming with VBA (Macro Programming) 24 hours Getting Started Introducing Visual Basic for Applications Displaying the Developer Tab in the Ribbon Recording a Macro Saving a Macro-Enabled Workbook

More information

download instant at

download instant at CHAPTER 1 - LAB SESSION INTRODUCTION TO EXCEL INTRODUCTION: This lab session is designed to introduce you to the statistical aspects of Microsoft Excel. During this session you will learn how to enter

More information

Imperative, OO and Functional Languages A C program is

Imperative, OO and Functional Languages A C program is Imperative, OO and Functional Languages A C program is a web of assignment statements, interconnected by control constructs which describe the time sequence in which they are to be executed. In Java programming,

More information

Texting Gone Wild: Advanced Annotation Tips and Tricks for Fabrication CADmep

Texting Gone Wild: Advanced Annotation Tips and Tricks for Fabrication CADmep AEC11363 Texting Gone Wild: Advanced Annotation Tips and Tricks for Fabrication CADmep Kevin Allen Director of BIM and Productivity, Comfort Systems USA William Tucker BIM Trainer and Product Specialist,

More information

Sample Final Exam Questions

Sample Final Exam Questions 91.301, Organization of Programming Languages Fall 2015, Prof. Yanco Sample Final Exam Questions Note that the final is a 3 hour exam and will have more questions than this handout. The final exam will

More information

Nomas Training. Course Outlines

Nomas Training. Course Outlines Nomas Training Course Outlines Nomas Training & Consultancy Ltd www.nomas.co.uk Training Course Outlines * COURSE LEVEL TOPICS An Introductory course for new users of this package. INTRODUCTION Entering

More information

OpenOffice.org Writer

OpenOffice.org Writer OOo MiniConf Downunder Technical Writing using OpenOffice.org Writer Jean Hollis Weber Jean Hollis Weber Community Volunteer - Slide 1 Why OOo for Techwriting? Combines best features of MS Word and FrameMaker

More information

User-defined Functions. Conditional Expressions in Scheme

User-defined Functions. Conditional Expressions in Scheme User-defined Functions The list (lambda (args (body s to a function with (args as its argument list and (body as the function body. No quotes are needed for (args or (body. (lambda (x (+ x 1 s to the increment

More information

Drawing an Integrated Circuit Chip

Drawing an Integrated Circuit Chip Appendix C Drawing an Integrated Circuit Chip In this chapter, you will learn how to use the following VBA functions to World Class standards: Beginning a New Visual Basic Application Opening the Visual

More information