|
Lisp : Daten speichern
Brischke am 23.03.2004 um 12:34 Uhr (0)
Hallo Michael,die XDatas werden einer bestimmten, bekannten Applikation zugeordnet - (list -3 (cons AppName xd))Damit das funktioniert, muss man Acad mitteilen, dass es die mit Applikation eines bestimmten Namens auch gibt. Das macht man mit (regapp "MEINSUPERAPPLOKATIONSNAME")Die LISP-Hilfe schreibt dazu: Zitat:Registers an application name with the current AutoCAD drawing in preparation for using extended object data(regapp application) Argumentsapplication A string naming the application. The name must ...
|
In das Form Lisp wechseln |
|
Lisp : Daten speichern
Brischke am 23.03.2004 um 13:42 Uhr (0)
in jeder Zeichnung.Du kannst ja vorher Checken, ob es schon einen entsprechenden Eintrag in der Tabelle der Applikationseinträge gibt.(if (tblobjname "APPID" "DEINSUPIAPPNAME"))(alert "Ja, gibts schon")(alert "Nö, gibts noch nicht"))Grüße Holger------------------Holger Brischke(defun - Lisp over night!AutoLISP-Programmierung für AutoCADDa weiß man, wann mans hat!
|
In das Form Lisp wechseln |
|
Lisp : Daten speichern
Brischke am 23.03.2004 um 16:38 Uhr (0)
zum Objektnamen gehört alles nach dem (-1 . Wenn du ein Objekt wählen möchtest dann mit (car (entsel)). willst du viele Objekte dann mit (ssget), dann hast du allerdings erst einen Auswahlsatz. Um daraus eine Elementliste zu machen, dann kopiere dir aus dem Beitrag http://ww3.cad.de/foren/ubb/Forum145/HTML/000037.shtml die Funktion (defun bau_elemli ..)heraus. Mit den Elementnamen kannst du ja dann wieder etwas anfangen.Bist aber ganz schön mutig, ohne so recht zu wissen, was du machst, das einfach zu mac ...
|
In das Form Lisp wechseln |
|
AutoLisp : sonnenstandsberechnung
mapcar am 23.03.2004 um 22:30 Uhr (0)
Hi Fuchsi, direkt verwenden kann man das wohl nicht, erscheint mir eher als eine Methode innerhalb des Render-Moduls, die nicht nach außen freigegeben ist. In Lisp müsste man sich also um eine Funktion bemühen, die bei einem Input von Uhrzeit, Längengrad, Breitengrad den Sonnenstand ausspuckt. Irgendwo hatten wir doch auch mal das Thema Ostern (komisch, dass an Karfreitag immer Fast-Vollmond ist)... Gruß, Axel ------------------ Meine AutoLisp-Seiten Meine private Homepage Mein Angriff auf de ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Namen und Ablageort der Zeichnung
Brischke am 24.03.2004 um 09:40 Uhr (0)
Hallo Andreas, beides kannst du aus Systemvariablen ermitteln (getvar DWGNAME )- Dateiname (getvar DWGPREFIX )- Verzeichnis Das ganze dann den Variablen zuweisen. (setq name (getvar DWGNAME );- Dateiname verzeichnis (getvar DWGPREFIX );- Verzeichnis ) Verbinden dann mit (strcat name verzeichnis) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : AutoLisp in AutoCad-LT
WolfgangE am 24.03.2004 um 09:55 Uhr (0)
Hallo Lisp-Gemeinde, mal ne Grundsatzfrage (bin übrigens Anfänger): wenn ich ein paar AutoLisp-Routinen programmiere und über den VLISP-Editor in eine FAS kompiliere, kann ich dann davon ausgehen, dass das Ding auch auf AutoCad-LT läuft? Ist wirklich reines AutoLisp, kein einziger VLISP-Befehl. Ich hab schon ein wenig rum-gegooglet , die Antwort müsste ja sein, würde ich sagen. Ich hätte nur noch mal gern die Bestätigung der Spezialisten. Besten Dank und schönen Tag, WolfgangE ------------------ An Op ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : "Solange bis...."
Brischke am 24.03.2004 um 16:19 Uhr (0)
(while Bedingung ;hier mach was ) So heißt das in Lisp. Bei Fragen ... Grüße Holger (Habe im Moment keine Zeit, deshalb nur so kurz) ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : "Solange bis...."
Brischke am 24.03.2004 um 18:15 Uhr (0)
Hallo Holger, ähm .. Lisp ist hervorragend dazu geeignet mit Listen zu hantieren, deshalb würde ich dir empfehlen, die Listenbearbeitungsfunktionen mal anzuschauen. Ich programmiere schon eine Weile, habe auch selber bereits mit variablen Variablennamen gespielt aber wirklich gebraucht habe ich dieses noch nicht. Mal ein paar Stichworte (Suchworte) für die Hilfe zum Suchen: cons - assoc - nth - mapcar - lambda - apply - append - reverse - vl-sort - ... Dein Konstrukt könnte dann wie folgt aussehen: C ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Attributsdefinition auslesen
Manuel Sauter am 25.03.2004 um 08:30 Uhr (0)
Guten Morgen vielen Dank für Eure Unterstützung. Habe eine LISP gefunden. Gruss Manuel
|
In das Form AutoLisp wechseln |
|
AutoLisp : while verlassen
Brischke am 25.03.2004 um 10:16 Uhr (0)
Gar nicht. [ESC] löst einen Abbruch aus. Setze doch die Bedingung so, dass du keinen Abbruch brauchst. Du kannst ja dem (entsel ..) auch ein Initget mit Keywörtern voranstellen, und hinterher die Rückgabe von (entsel..)testen. also in etwa so: (while (/= antw Nein ) (initget Ja Nein ) (setq antw(entsel
Weitere Objekte wählen? [Ja/Nein] Nein : )) (if (not antw)(setq antw Nein )) (if (= ENAME (type antw)) (setq obj (car antw)) ) ) Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun ...
|
In das Form AutoLisp wechseln |
|
AutoLisp : Attributsdefinition auslesen
Brischke am 25.03.2004 um 20:32 Uhr (0)
@Tom sicher ist das alles möglich. Auf diese Weise kann man, obwohl es ein und derselbe Blockname ist, die Inserts/Attribute verschieden aufzubauen. Ich persönlich halte davon überhaupt nichts, und finde es nicht gut, dass du diese Möglichkeiten auch noch propagierst. Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : while verlassen
Brischke am 26.03.2004 um 12:18 Uhr (0)
Hallo Georg, dafür gibt es die *error* Funktion, die das dann macht. Schau mal dort - http://ww3.cad.de/foren/ubb/Forum145/HTML/000435.shtml Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form AutoLisp wechseln |
|
AutoLisp : Mandelbrot
mapcar am 26.03.2004 um 16:21 Uhr (0)
In der Zeile (if (setvar z (complex x y))... hast du doch so einen Fall: (defun complex(real imag / )(list real imag)) (defun realpart(cmplx / )(car cmplx)) (defun imagpart(cmplx / )(cadr cmplx)) (setq myC(complex 3 2)) = (3 2) (realpart myC) = 3 (imagpart myC) = 2 Bis dahin ist das doch allerbanalstes Lisp. Wie gesagt, soweit wird doch noch gar nix gerechnet. Erst bei + , aber das hier: (+ (3 2) 1.5734462) funktioniert nun mal nicht so. Und es kommt noch mehr: (setq z (complex x y) ... (setvar ...
|
In das Form AutoLisp wechseln |