AutoLISP

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

AutoLISP är en Lisp-dialekt byggd specifikt för AutoCAD och dess branschspecifika versioner. AutoLISP stöds inte i AutoCAD LT annat än med speciellt tredjepartsprogram.

Funktioner

Förutom grundläggande Lisp-funktionalitet finns stöd för geometriska funktioner och funktioner för att manipulera objekt i AutoCAD. AutoLISP har stöd för funktioner som gör det möjligt för användaren att ge input i form av bl.a. text, siffror, koordinater, val av objekt via selection sets. DCL (Dialog Control Language) är ett språk som gör det möjligt att skapa interaktiva formulär i AutoCAD

; exempel på funktion kallad(hello_world) som visar texten "Hello World!" på kommandoraden
 
(defun hello_world ()
  (princ "Hello World!"))
 
; exempel på hur kommandot "hello_world" skapas genom prefixet c:
 
(defun c:hello_world ()
  (alert "Hello World!")
  (princ))
 
; exempel på LISP:s flexibilitet
 
(setq a '(1 2 3))
(defun b (x)
  (+ x 5))
(cond
  ((= a b) (princ "\n(a) and (b) are equal"))
  ((and (= (type a) 'INT) (= (type b) 'INT)) 
    (princ (strcat "\n(a)+(b)=" (itoa (+ a b)))))
  ((and (= (type a) 'STR) (= (type b) 'STR))
    (princ (strcat "\n(a)+(b)=" a b)))
  ((and (listp a) (= (type b) 'USUBR))
    (mapcar '(lambda (x) (princ (b x))) a)))

med följande resultat på kommandoraden 678 (6 7 8)

Historik

AutoLISP bygger på en mycket tidig version av XLISP skapad av David Betz. Språket introducerades av Autodesk i AutoCAD Version 2.18 i januari 1986. Visual-LISP, en förbättrad version av AutoLISP inkluderar en [Integrerad_utvecklingsmilj%C3%B6|integrerad utvecklingsmiljö] (IDE) och [kompilator] ursprungligen utvecklad och såld av en tredjepartsutvecklare, Basis Software. Vital LISP var en delmängd av AutoLISP men med bl.a. VBA-liknande tillgång till AutoCAD:s objektmodell, reaktorer (hantering av objekthändelser) och ActiveX-stöd. Vital LISP döptes om till Visual LISP vid Autodesks köp och såldes som tillägg till AutoCAD Version 14. I AutoCAD 2000 så ingick Visual LISP som ersättning av ursprungliga AutoLISP. Visual LISP inkluderade dock AutoLISP-funktionaliteten.

Externa länkar

Personliga verktyg