<< Klicken Sie, um das Inhaltsverzeichnis anzuzeigen >> Navigieren: Möglichkeiten Überblick > LISP |
ABViewer unterstützt ungefähr eine Hälfte der LISP Befehle (mehr als 50), einschließlich rekursiver Funktionen und Funktionen, die eine Funktion als Argument annehmen. Wenn Sie mit der LISP Arbeit bekannt sind, können Sie die Möglichkeiten des ABViewer Programms bei der Bestimmung der Funktionen wesentlich erweitern. Zum Debuggen der LISP Programme wird in ABViewer der eingelassene Debugger verwendet, der auf dem Tab Erweitert > Lisp > Lisp Debugger verfügbar ist.
Das Softwarepaket enthält zwei Dateien, die die Hinzufügung der neuen LISP Funktionen demonstrieren: functiongraph.lsp и sqr.lsp. Nach einer Installation des Programms werden die Beispiele an das Verzeichnis c:\Users\USER_NAME\Documents\ABViewer 9\Demos\Lisp\...eingesetzt.
functiongraph.lsp
Fügt die Funktion draw-graph zum Plotten hinzu.
(defun draw-line (p1 p2) (command "_line" p1 p2 ""))
(defun square (x) (* x x))
(defun rational (x) (/ 1 x))
(defun draw-graph (min max step f) (setq x min) (setq p (list x (f x))) (while (<= x max) (draw-line p (setq p (list x (f x)))) (setq x (+ x step)))) |
Um die Funktion draw-graph hervorzurufen, geben Sie in die Kommandozeile ein:
(load "С:\Users\USER_NAME\Documents\ABViewer 9\Demos\Lisp\functiongraph.lsp") |
Lädt die Datei functiongraph.lsp in die angegebene Datei herunter |
(draw-graph -10 10 0.5 square) |
Stellt den Graph der Funktion y=x2 auf |
(draw-graph -10 10 0.5 sin) |
Stellt den Graph der Funktion y=sinx auf |
(draw-graph -10 10 0.5 cos) |
Stellt den Graph der Funktion y=cosx auf |
(draw-graph -10 10 0.5 atan) |
Stellt den Graph der Funktion y=arctgx auf |
Das Ergebnis des Befehls:
Command: (draw-graph -10 10 0.5 square)
sqr.lsp
Fügt die Funktion SQR hinzu, um das Quadrat zu bauen.
(defun SQR (/ pt1 pt2 pt3 pt4 len ang) (setq pt1 (getpoint "First corner: ")) (setq pt2 (getpoint "Length of one side: ")) (setq len (distance pt1 pt2)) (setq ang (angle pt1 pt2)) (setq pt3 (polar pt2 (+ ang (/ PI 2.0)) len)) (setq pt4 (polar pt3 (+ ang PI) len)) (command "_PLINE" pt1 pt2 pt3 pt4 pt1 "") ) |
Das Verwendungsbeispiel:
(load "С:\Users\USER_NAME\Documents\ABViewer 9\Demos\Lisp\sqr.lsp") |
Lädt die Datei sqr.lsp in die angegebene Datei herunter |
(sqr) |
Fordert von dem Benutzer zwei Punkte, deren Abstand als eine Quadratseite gilt. |
Das Ergebnis der Befehle:
Command: (sqr)
First corner: (0,0)
Length of one side: (10,5) //statt der Länge sind die Koordinaten des zweiten Punktes eingegeben