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

Size: px
Start display at page:

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

Transcription

1 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 learn what an event-driven program is and how reactors fit in to the overall scheme, this class is for you. We'll look at the reactor system of AutoCAD that is available to the Visual LISP programmer, and discuss how to exploit this powerful system in your programs. CP42-2 1

2 A Visual LISP Wizard's Intro to Reactor Magic Bill Kramer AUTO-CODE MECHANICAL What are reactors? - Program modules that react to events - Data gathering tools - Data monitoring tools - When you write reactor programs, you are meddling in areas that will directly effect the operator of AutoCAD... Are you ready for this? - You should know Visual LISP - We will be covering the following: The concept of a reactor Coding reactors Setting up a reactor to run Practical aspects of reactors Concepts of Reactors - For every action there is a reaction - Actions are Events Keystroke Mouse activities Data change Object change and so much more! Programming a reactor is different - Process Programming Define a process (program Initiate the process Process runs and finishes Event driven programming - Event Driven Programming Define a process Relate the process to an event Wait for the event then run A Change in Strategy - Procedural programs CP42-2 2

3 Input * Process * Output - Event reactor programs NO INPUT Process quickly Change related objects or record event - Event reactors can cause events themselves Watch for endless loops - Reactors can cause events - Need to use various sentinels Global symbols Disable then re-enable reactors - Traps are found in Changing objects Creating new objects Reactor Concepts - Using the AutoCAD Object System Must use Object Variable types VL-LOAD-COM VLAX-ENAME->VLA-OBJECT Slowing down AutoCAD for your purpose Be quick about it! No control over sequence of reactor calls Be smart about it! What kind of reactors are there? - VLR objects vlr-acdb-reactor - Database reactor (add/change/remove entities vlr-command-reactor - Command system reactor vlr-docmanager-reactor - Document system reactor vlr-dwg-reactor - Drawing file I/O reactor vlr-dxf-reactor - Drawing file I/O reactor vlr-editor-reactor - Master reactor for command, dwg, dxf vlr-insert-reactor - Editor reactor for inserts - vlr-linker-reactor - ObjectARX load/unload reactor - vlr-lisp-reactor - Editor reactor for LISP watching vlr-miscellaneous-reactor - Some extras (layout change, pickfirst change vlr-mouse-reactor - Mouse click reactor vlr-object-reactor - Entity object specific reactor vlr-sysvar-reactor - Editor reactor for system variables vlr-toolbar-reactor - Toolbar changes vlr-undo-reactor - Undo system monitoring vlr-wblock-reactor - Writing a block to file CP42-2 3

4 vlr-window-reactor - Change in window size vlr-xref-reactor - Access to external reference block The coolest reactors - Database object related Vlr-acdb-Reactor Vlr-Object-Reactor - User control vlr-acdb-reactor vlr-command-reactor vlr-editor-reactor (covers many different types of events The Basic Rules - You cannot stop an event - If your activity results in another reactor it is your job to guard against it - User input and output is strongly discouraged - Be quick about it - Be smart about it Example reactor - Creating a reactor routine - Define function - two arguments The object causing the call back A list of parameters from AutoCAD - Object reactors have three arguments Owning object Object causing the call back List of parameters from AutoCAD Example - Reactor program to count commands - Builds list of (( Command name count... - Create startcounter and endcounter functions to control the reactor - Attach to the vlr-command-reactor object Learn what reactors are there - Command: (vlr-reaction-names - :vlr-command-reactor - (:VLR-unknownCommand - :VLR-commandWillStart - :VLR-commandEnded - :VLR-commandCancelled - :VLR-commandFailed CP42-2 4

5 CommandWillStart - This reactor sends the name of the command to be started. - Incoming parameter ( command name - Get the name, compare against save list Add one if found Add to list if not found Simple Command Reactor (defun CountCommands (CallerID plist (setq CN (car plist ;;get command name (if (assoc CN CounterList (setq CounterList (subst (cons CN (1+ (cdr (assoc CN CounterList (assoc CN CounterList CounterList (setq CounterList (cons (cons CN 1 CounterList ;;; (defun C:StartCounter ( (prompt "\ncounter reactor level 1 starting..." (setq mycommandreactor (vlr-command-reactor nil '((:vlr-commandwillstart. CountCommands (setq CounterList nil (prompt " condition GREEN" (princ ;;; (defun C:EndCounter ( (vlr-remove mycommandreactor ;;remove all reactors (prompt "\ncounter reactor stopped, list CounterList is:" (foreach Item CounterList (print Item (princ Database Reactors - Let s modify the concept a bit Instead of counting commands, Let s count the changes to the drawing itself. For that we use a database reactor Events include object erased object modified object appended CP42-2 5

6 Start by attaching functions Attach the function symbols to the reactor events (vlr-acdb-reactor nil '((:vlr-objectmodified. CountChanges (:vlr-objectappended. CountNew (:vlr-objecterased. CountDels Set up global variables - Save the reactor link object created (setq mydatabasereactor (vlr-acdb-reactor... - Set up the counting variables For modify, append, delete - Define the functions themselves These are simple! (defun CountChanges (CallerID plist (setq ModCounter (1+ ModCounter (defun CountNew (CalledID plist (setq NewCounter (1+ NewCounter (defun CountDels (CallerID plist (setq DelCounter (1+ DelCounter (defun C:StopCounter2 ( (vlr-remove mydatabasereactor (prompt (strcat "New objects = " (itoa NewCounter "\nmodified = " (itoa ModCounter "\ndeleted = " (itoa DelCounter (prompt "\nreactor level 2 stopped." (princ (defun C:StartCounter2 ( (prompt "\ncounter reactor level 2 coming on line..." (setq ModCounter 0 NewCounter 0 DelCounter 0 mydatabasereactor (vlr-acdb-reactor nil '((:vlr-objectmodified. CountChanges (:vlr-objectappended. CountNew (:vlr-objecterased. CountDels CP42-2 6

7 (prompt "GREEN" (princ Command and database events - You can t stop it! But you can counter negative effects - Be quick! It runs for EVERY transaction - Be silent! Prompts and inputs are a nuisance Entity Base Reactions - Often best for special entities Application specific data houses Dimensions and related text Smart objects - VLR-OBJECT-REACTOR Attach entity object reference with list of events Object Based Reactors - Use VLR-REACTION-NAMES with :VLR-OBJECT-REACTOR for listing. :VLR-canceled - operation was canceled :VLR-copied - object has been copied :VLR-erased - object has been erased :VLR-unerased - object has been un-erased :VLR-goodbye - object is about to be removed from memory :VLR-openedForModify - object open for changes :VLR-modified - object has been changed :VLR-subObjModified - sub-entity changed :VLR-modifyUndone - modifications have been undone :VLR-modifiedXData - extended data has changed :VLR-unappended - object detached from database :VLR-reappended - object re-attached to database :VLR-objectClosed - modifications completed Object Based Reactors - Use to link entity objects vlr-object-reactor List of entity object references Associated data, if any Reactor event links to functions as nested list Object based event functions CP42-2 7

8 - Object event handling functions have three arguments Object reference of entity causing call back Object reference of the reactor Parameter list (often contains nothing called only when one of the related objects is changed Who called? - The first parameter is the entity object reference of the entity that caused the callback to take place. This is the entity that changed Entity object is read only Related to who else? - Ask the reactor object (VLR-OWNERS <object reference> returns a list of entity object references same ones from VLR-OBJECT-REACTOR call Data returned is a LIST Use = to test equality with other object references A Simple Example - Text object linked to line object display length of line when changed - Object reactor tied to line and text when line changed, can locate text when text changes, do nothing first question is one of set up Setting up the data - Operator selects a line object - Operator selects a point for text placement - Compute line length, generate text object - Given both line and text object references, Create a VLR-OBJECT-REACTOR link Use the event :VLR-modified C:BINDLEN example Bind TEXT string object to LINE object so that every time the line changes, the string data is updated reflecting the current length of the line. (defun C:BINDLEN (/ EN EL PT Lobj Tobj (setq EN (entsel "\npick a line object: " (if (and EN (= CP42-2 8

9 (cdr (assoc 0 (setq EL (entget (car EN "LINE" (progn (setq PT (getpoint "\nlocate text point for length: " (if PT (progn (setq Lobj (vlax-ename->vla-object (car EN Tobj (vla-addtext (ModelSpace (strcat "Length = " (rtos (vla-get-length Lobj (vlax-3d-point PT (Getvar "TEXTSIZE" (vlr-object-reactor (list Lobj Tobj nil '((:vlr-modified. LineChange (defun ModelSpace ( (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object That's It! - That s all there is to setting it up. - Now on to the call back function Logic is as follows if calling object is line get object reference of related text change text value for new length The Callback Function ;; ;; Reactor Program LineChange ;; (defun LineChange (ObjID ;Object ID of reacting object CallerID ;Object ID of reactor object PList ;Parameter list (if (= (vlax-get ObjID "ObjectName" ;was it the line that called? "AcDbLine" (progn CP42-2 9

10 (setq DD (vla-get-length ObjID ;Get the length of the line TX (vlr-owners CallerID ;Get the Object IDs of the reactor TX (if (= ObjID (nth 0 TX ;is first one line? (nth 1 TX ;then get the second one (text (nth 0 TX ;otherwise get the text one (vla-put-textstring TX ; Change the text string value for the text object (strcat "Length = " (rtos DD 2 3 ;end line type check Cleaning up our mess - (VLR-REMOVE <object> use reactor object reference as argument - (VLR-REMOVE-ALL kills them all off - (vlr-remove-all :vlr-<type>-reactor kills them all off for a given type Between drawing sessions? - Reactors need to be started - LSP code for reactors needs to be loaded - Can add to automatic load list in AutoCAD Add to start up suite in APPLOAD Use a dictionary to save object links Or attach extended data Or save to a database Reactor Programming - Event driven applications - Can expand existing applications - Not difficult to create Easy to get lost though Many options to consider sometimes - Work well with interactive CAD applications Event Programming - Need to start by establishing linkage of function with event - Events are associated with reactor objects - Event callback functions need to be: Quick, efficient, clean - Object based event callbacks can only read the object that called CP

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: 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

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

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

Course Title: Mastering the Visual LISP Integrated Development Environment (IDE) 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

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

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

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

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

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

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

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

Getting Started with ObjectARX

Getting Started with ObjectARX CP11-4 Getting Started with ObjectARX Tom Stoeckel ObjectARX is the most versatile and powerful programming interface for developing new commands and applications to customize and extend AutoCAD. This

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

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

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

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

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

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

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

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

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

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

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

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

BricsCAD Pro adds 3D Modeling and access to the full suite of programming tools.

BricsCAD Pro adds 3D Modeling and access to the full suite of programming tools. CAD plus d.o.o. Sarajevo nudi rješenje za projektovanje www.cadplus.ba info@cadplus.ba BricsCAD Editions Our multi-faceted CAD platform comes in three editions: Classic, Pro, and Platinum. BricsCAD Classic

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

PBS BIM Export to DWG

PBS BIM Export to DWG CAD2BIM Page 1 PBS BIM Export to DWG Friday, March 12, 2010 3:23 PM Note: this list of suggestions is intended to clarify some efforts that would help to prepare BIM project files to be more CAD Compliant

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

Heap storage. Dynamic allocation and stacks are generally incompatible.

Heap storage. Dynamic allocation and stacks are generally incompatible. Heap storage Dynamic allocation and stacks are generally incompatible. 1 Stack and heap location Pointer X points to stack storage in procedure Q's activation record that no longer is live (exists) when

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

AutoCAD VBA Programming

AutoCAD VBA Programming AutoCAD VBA Programming TOOLS AND TECHNIQUES John Gibband Bill Kramer Freeman fbooks San Francisco Table of Contents Introduction Chapter 1: The AutoCAD VBA Environment 1 AutoCAD Programming Solutions

More information

ZWCAD 2018 Official ZWSOFT 2017/8/30

ZWCAD 2018 Official ZWSOFT 2017/8/30 ZWCAD 2018 Official ZWSOFT 2017/8/30 Thank you for downloading ZWCAD 2018 Official August 2017 Dear Friends, We are so excited that ZWCAD 2018 Official is released now. 2018 comes with a brand-new designed

More information

Associative Database Managment WIlensky Chapter 22

Associative Database Managment WIlensky Chapter 22 Associative Database Managment WIlensky Chapter 22 DB-1 Associative Database An associative database is a collection of facts retrievable by their contents» Is a poodle a dog? Which people does Alice manage?»

More information

Associative Database Managment

Associative Database Managment Associative Database Managment WIlensky Chapter 22 DB-1 Associative Database An associative database is a collection of facts retrievable by their contents» Is a poodle a dog? Which people does Alice manage?»

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

AUGI Tips and Tricks GD12-2. Donnia Tabor-Hanson - MossCreek Designs

AUGI Tips and Tricks GD12-2. Donnia Tabor-Hanson - MossCreek Designs 11/28/2005-10:00 am - 11:30 am Room:S. Hemispheres (Salon II) (Dolphin) Walt Disney World Swan and Dolphin Resort Orlando, Florida AUGI Tips and Tricks Donnia Tabor-Hanson - MossCreek Designs GD12-2 Did

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

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

ARX Programming Environment

ARX Programming Environment ARX Programming Environment (from ARX Developer s Guide, Autodesk, Inc. 1996) A Brief Outline An ARX application is a dynamic link library (DLL) that shares AutoCAD's address space and makes direct function

More information

How to migrate code from ARX to C++ Tx. with ARES Commander s API

How to migrate code from ARX to C++ Tx. with ARES Commander s API How to migrate code from ARX to C++ Tx with ARES Commander s API How to migrate code from ARX to C++ Tx with ARES Commander s API (This article demonstrates how to port most useful AutoCAD ObjectARX API

More information

ALISP interpreter in Awk

ALISP interpreter in Awk ALISP interpreter in Awk Roger Rohrbach 1592 Union St., #94 San Francisco, CA 94123 January 3, 1989 ABSTRACT This note describes a simple interpreter for the LISP programming language, written in awk.

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

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

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

Redlining Commands After retrieving a drawing to be redlined, select Redline from the Slick! menu bar or pick from one of the icons in the tool bar.

Redlining Commands After retrieving a drawing to be redlined, select Redline from the Slick! menu bar or pick from one of the icons in the tool bar. Annotate / Redlining During the design review process in working with engineering or architectural drawings, it is often useful to have the ability to look at a drawing and mark it up with comments or

More information

A little bit of Lisp

A little bit of Lisp B.Y. Choueiry 1 Instructor s notes #3 A little bit of Lisp Introduction to Artificial Intelligence CSCE 476-876, Fall 2017 www.cse.unl.edu/~choueiry/f17-476-876 Read LWH: Chapters 1, 2, 3, and 4. Every

More information

SD Sparring with Autodesk ObjectARX Round 1 Stepping into the Ring

SD Sparring with Autodesk ObjectARX Round 1 Stepping into the Ring SD6148 - Sparring with Autodesk ObjectARX Round 1 Stepping into the Ring Lee Ambrosius Autodesk, Inc. Principal Learning Content Developer IPG AutoCAD Products Learning Experience Join us on Twitter: #AU2014

More information

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

Symbols are more than variables. Symbols and Property Lists. Symbols are more than variables. Symbols are more than variables.

Symbols are more than variables. Symbols and Property Lists. Symbols are more than variables. Symbols are more than variables. Symbols are more than variables So far we have been looking at symbols as if they were variables Symbols and Property Lists Based on Chapter 7 in Wilensky + Prof. Gotshalks notes on symbols > ( setq x

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

A Genetic Algorithm Implementation

A Genetic Algorithm Implementation A Genetic Algorithm Implementation Roy M. Turner (rturner@maine.edu) Spring 2017 Contents 1 Introduction 3 2 Header information 3 3 Class definitions 3 3.1 Individual..........................................

More information

Hardware Description...P1 Software Description...P2 Additional Information...P3 New Features - v7...p4 New Features - v p5 Fixed Issues...

Hardware Description...P1 Software Description...P2 Additional Information...P3 New Features - v7...p4 New Features - v p5 Fixed Issues... Thank you for purchasing AP100US CAD/CAM v7.01! These release notes outline the new features or changes in the latest version of the software. These modifications are in response to customer suggestions

More information

GstarCAD BricsCAD V16. Files Pro Std Platinum. Interface Pro Std Platinum. Selection, Snap & Track Pro Std Platinum

GstarCAD BricsCAD V16. Files Pro Std Platinum. Interface Pro Std Platinum. Selection, Snap & Track Pro Std Platinum GstarCAD 2017 BricsCAD V16 Files Pro Std Platinum 32-bit / 64-bit Support.dwg and.dxf for AutoCAD version 2.5 to latest.pat,.shx,.lin and etc Password Protection and Digital Signatures Password Protection

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

VBA Foundations, Part 11

VBA Foundations, Part 11 Welcome back for another look at VBA Foundations for AutoCAD. This issue will look at the concept of Events in greater depth. I mentioned in the last issue that events are at the heart of VBA and the AutoCAD

More information

Accessing the Internet

Accessing the Internet Accessing the Internet In This Chapter 23 You can use AutoCAD to access and store AutoCAD drawings and related files on the Internet. This chapter assumes familiarity with basic Internet terminology. You

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

15 Unification and Embedded Languages in Lisp

15 Unification and Embedded Languages in Lisp 15 Unification and Embedded Languages in Lisp Chapter Objectives Chapter Contents Pattern matching in Lisp: Database examples Full unification as required for Predicate Calculus problem solving Needed

More information

CBCL Limited Tool Palettes Tutorial 2012 REV. 01. CBCL Design Management & Best CAD Practices. Our Vision

CBCL Limited Tool Palettes Tutorial 2012 REV. 01. CBCL Design Management & Best CAD Practices. Our Vision CBCL Limited Tool Palettes Tutorial CBCL Design Management & Best CAD Practices 2012 REV. 01 Our Vision To be the most respected and successful Atlantic Canada based employeeowned firm, delivering multidiscipline

More information

Files Pro Std Com LT. Interface Pro Std Com LT. Selection, Snap & Track Pro Std Com LT. Dimensions Pro Std Com LT

Files Pro Std Com LT. Interface Pro Std Com LT. Selection, Snap & Track Pro Std Com LT. Dimensions Pro Std Com LT Files Pro Std Com LT 32-bit / 64-bit Support.dwg/.dxf for AutoCAD version 2.5 to latest.pat,.shx,.lin and etc Password Protection and Digital Signatures File Recover and Audit Purge Etransmit Sheet Set

More information

Working with AutoCAD in Mixed Mac and PC Environment

Working with AutoCAD in Mixed Mac and PC Environment Working with AutoCAD in Mixed Mac and PC Environment Pavan Jella Autodesk AC6907 With the introduction of AutoCAD for Mac, some professionals now work in hybrid environments one engineer may draft designs

More information

Lecture #2 Kenneth W. Flynn RPI CS

Lecture #2 Kenneth W. Flynn RPI CS Outline Programming in Lisp Lecture #2 Kenneth W. Flynn RPI CS Items from last time Recursion, briefly How to run Lisp I/O, Variables and other miscellany Lists Arrays Other data structures Jin Li lij3@rpi.edu

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

Compatible with AutoCAD 2013 to 2018

Compatible with AutoCAD 2013 to 2018 CADMANAGERTOOLS.COM BatchInEditor 4.0 Automated Batch process tool for AutoCAD and Verticals Compatible with AutoCAD 2013 to 2018 BatchInEditor - Batch process for AutoCAD Introduction: The BatchInEditor

More information

Magically Fix your Broken AutoCAD Drawings with Visual LISP

Magically Fix your Broken AutoCAD Drawings with Visual LISP Magically Fix your Broken AutoCAD Drawings with Visual LISP Matt Stachoni CADapult Ltd CP3821 Tired of manually cleaning up inaccuracies due to human error in your architectural AutoCAD drawings? Would

More information

Setting Up Your Drawing Environment

Setting Up Your Drawing Environment Setting Up Your Drawing Environment In This Chapter 3 After you start a drawing, you can change its settings, including drawing units and limits, snap and grid settings, and layer, linetype, and lettering

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

GstarCAD Files Pro Std. Interface Pro Std. Selection, Snap & Track Pro Std. Dimensions Pro Std

GstarCAD Files Pro Std. Interface Pro Std. Selection, Snap & Track Pro Std. Dimensions Pro Std GstarCAD 2018 Files Pro Std 32-bit / 64-bit Support.dwg and.dxf for AutoCAD version 2.5 to latest.pat,.shx,.lin and etc Password Protection File Recover and Audit Purge Etransmit Sheet Set Manager CAD

More information

CADMANAGERTOOLS.COM. LayoutManager 4.1. Layout Management tool for AutoCAD and Verticals

CADMANAGERTOOLS.COM. LayoutManager 4.1. Layout Management tool for AutoCAD and Verticals CADMANAGERTOOLS.COM LayoutManager 4.1 Layout Management tool for AutoCAD and Verticals Compatible with AutoCAD 2013 to 2018 LayoutManager Layout tool for AutoCAD Introduction: The LayoutManager is a powerful

More information

Allegro CL Certification Program

Allegro CL Certification Program Allegro CL Certification Program Lisp Programming Series Level I Review David Margolies 1 Summary 1 A lisp session contains a large number of objects which is typically increased by user-created lisp objects

More information

Files Pro Std Pro Std Com LT

Files Pro Std Pro Std Com LT Files Pro Std Pro Std Com LT 32-bit / 64-bit Support.dwg/.dxf for AutoCAD version 2.5 to 2015.pat,.shx,.lin and etc Password Protection and Digital Signatures File Recover and Audit Purge Etransmit Sheet

More information

Review of Functional Programming

Review of Functional Programming Review of Functional Programming York University Department of Computer Science and Engineering 1 Function and # It is good programming practice to use function instead of quote when quoting functions.

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

Understanding. AutoLISP. Programming for Productivity, Second Edition. William and Denise Kramer. ö Delmar. Publishers Inc.

Understanding. AutoLISP. Programming for Productivity, Second Edition. William and Denise Kramer. ö Delmar. Publishers Inc. Understanding AutoLISP Programming for Productivity, Second Edition William and Denise Kramer ö Delmar Publishers Inc. Contents Introduction xxi 1. Introduction to AutoLISP 1 Historical Perspective 1 How

More information

Las Vegas, Nevada November 27-30, 2001

Las Vegas, Nevada November 27-30, 2001 Las Vegas, Nevada November 27-30, 2001 Speaker Name: LeAnne C. Thurmond Project Automation Services Fluor Daniel 100 Fluor Daniel Drive Greenville, SC 29607 USA Phone: 864-281-6855 Fax: 864-895-8161 leanne.thurmond@fluor.com

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

CADMANAGERTOOLS.COM. BatchInDatabase 4.0. Automated Batch process tool for AutoCAD and Verticals

CADMANAGERTOOLS.COM. BatchInDatabase 4.0. Automated Batch process tool for AutoCAD and Verticals CADMANAGERTOOLS.COM BatchInDatabase 4.0 Automated Batch process tool for AutoCAD and Verticals Compatible with AutoCAD 2013 to 2018 BatchInDatabase - Batch process for AutoCAD Introduction: The BatchInDatabase

More information

AutoCAD Electrical Customization from A to Z

AutoCAD Electrical Customization from A to Z 11/30/2005-10:00 am - 11:30 am Room:Parrot 1/2 (Swan) Walt Disney World Swan and Dolphin Resort Orlando, Florida AutoCAD Electrical Customization from A to Z Randy Brunette - Brunette Technologies, LLC

More information

GENIO CAD/CAM software powered by Autodesk technology for parametric programming of boring, routing and edge-banding work centers Genio SPAI SOFTWARE

GENIO CAD/CAM software powered by Autodesk technology for parametric programming of boring, routing and edge-banding work centers Genio SPAI SOFTWARE GENIO CAD/CAM software powered by Autodesk technology for parametric programming of boring, routing and edge-banding work centers Overview is a powerful CAD/CAM system powered by Autodesk 3D environment

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

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. LISP: ZÁKLADNÍ FUNKCE, POUŽÍVÁNÍ REKURZE,

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. LISP: ZÁKLADNÍ FUNKCE, POUŽÍVÁNÍ REKURZE, FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. LISP: ZÁKLADNÍ FUNKCE, POUŽÍVÁNÍ REKURZE, 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Comments in Lisp ; comments

More information

Files Pro Std Com LT. Interface Pro Std Com LT. Selection, Snap & Track Pro Std Com LT. Dimensions Pro Std Com LT. Text Pro Std Com LT

Files Pro Std Com LT. Interface Pro Std Com LT. Selection, Snap & Track Pro Std Com LT. Dimensions Pro Std Com LT. Text Pro Std Com LT GstarCAD 2017 AutoCAD 2017 Files Pro Std Com LT 32-bit / 64-bit Support.dwg/.dxf for AutoCAD version 2.5 to 2016.pat,.shx,.lin and etc Password Protection and Digital Signatures File Recover and Audit

More information

Painless Productivity Programming with the Autodesk AutoCAD Action Recorder Revealed!

Painless Productivity Programming with the Autodesk AutoCAD Action Recorder Revealed! Painless Productivity Programming with the Autodesk AutoCAD Action Recorder Revealed! Matt Murphy 4D Technologies/CADLearning AC2098 Productivity through programming has never been a friendly or intuitive

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

GstarCAD Files Pro Std. Interface Pro Std. 32-bit / 64-bit Support. .dwg and.dxf for AutoCAD version 2.5 to pat,.shx,.

GstarCAD Files Pro Std. Interface Pro Std. 32-bit / 64-bit Support. .dwg and.dxf for AutoCAD version 2.5 to pat,.shx,. Files Pro Std 32-bit / 64-bit Support.dwg and.dxf for AutoCAD version 2.5 to 2016.pat,.shx,.lin and etc Password Protection and Digital Signatures File Recover and Audit Purge Etransmit Sheet Set Manager

More information

Design Flow Highlights

Design Flow Highlights Design Flow Highlights Components Selection turboconfigurator Output Documentation Special Functionality Library Control System Schematic Capture Transfer 3D Models Export and Import designs (Important

More information

Common LISP-Introduction

Common LISP-Introduction Common LISP-Introduction 1. The primary data structure in LISP is called the s-expression (symbolic expression). There are two basic types of s-expressions: atoms and lists. 2. The LISP language is normally

More information

(defun fill-nodes (nodes texts name) (mapcar #'fill-node (replicate-nodes nodes (length texts) name) texts))

(defun fill-nodes (nodes texts name) (mapcar #'fill-node (replicate-nodes nodes (length texts) name) texts)) PROBLEM NOTES Critical to the problem is noticing the following: You can t always replicate just the second node passed to fill-nodes. The node to be replicated must have a common parent with the node

More information

Las Vegas November 27-30, 2001

Las Vegas November 27-30, 2001 Las Vegas November 27-30, 2001 Las Vegas November 27-30, 2001 ObjectARX: Tools, Tips and Working Demonstrations Presented by: Charles McAuley Developer Consulting Group Autodesk. Ask all the questions

More information

Thank you for downloading ZWCAD 2017 SP3.1

Thank you for downloading ZWCAD 2017 SP3.1 ZWSOFT 2017/5/8 Thank you for downloading ZWCAD 2017 SP3.1 May 2017 Dear Customer: We are proud to introduce ZWCAD 2017 SP3.1, the latest release of our ZWCAD product solution. SP3.1 is a release with

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

AS AutoCAD Civil 3D, InfraWorks, and Revit Working on a Connective Workflow

AS AutoCAD Civil 3D, InfraWorks, and Revit Working on a Connective Workflow AS126223 AutoCAD Civil 3D, InfraWorks, and Revit Working on a Connective Workflow Mike Smith, PE AECOM, Greenwood Village, Denver CO Ron Allen, Area BIM Manager for Rocky Mountain region AECOM, Greenwood

More information

John McCarthy IBM 704

John McCarthy IBM 704 How this course works SI 334: Principles of Programming Languages Lecture 2: Lisp Instructor: an arowy Lots of new languages Not enough class time to cover all features (e.g., Java over the course of 34-36:

More information

Fixed problem with PointXYZ command's Z value changing to previous Y value.

Fixed problem with PointXYZ command's Z value changing to previous Y value. DesignCAD 3D Max 19.1 Release Notes Mar. 20, 2009 DesignCAD 19.1 offers the following fixes and enhancements: The number of useable layers was increased from 1,000 to 2,000. Fixed problem with PointXYZ

More information

VISUAL LISP TUTORIAL January 29, 1999

VISUAL LISP TUTORIAL January 29, 1999 VISUAL LISP TUTORIAL 00120-010000-5080 January 29, 1999 Copyright 1999 Autodesk, Inc. All Rights Reserved AUTODESK, INC. MAKES NO WARRANTY, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY

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

HS Autodesk. Press. Thomson Learrang

HS Autodesk. Press. Thomson Learrang zzprogjra m m i n g ziajatöcad 2 0 0 0 "Ü ing^>bjectarx TM HS Autodesk Press Thomson Learrang Africa Australia Canada Denmark Japan Mexico New Zealand Philippines Puerto Rico Singapore Spain United Kingdom

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

April 2 to April 4, 2018

April 2 to April 4, 2018 MORE SCHEME COMPUTER SCIENCE MENTORS 61A April 2 to April 4, 2018 1 Scheme 1. What will Scheme output? Draw box-and-pointer diagrams to help determine this. (a) (cons (cons 1 nil) (cons 2 (cons (cons 3

More information

MIDTERM EXAMINATION - CS130 - Spring 2005

MIDTERM EXAMINATION - CS130 - Spring 2005 MIDTERM EAMINATION - CS130 - Spring 2005 Your full name: Your UCSD ID number: This exam is closed book and closed notes Total number of points in this exam: 231 + 25 extra credit This exam counts for 25%

More information