| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Systemvariablen (461 mal gelesen)
|
sigy Mitglied
Beiträge: 32 Registriert: 24.09.2004 Win XP P4 3GHz 1GB RAM MDT6 SP4
|
erstellt am: 15. Okt. 2004 13:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich möchte einen wert, den ich in einer variable mit setq gespeichert habe, bei einem Befehl (z.B. SCHIEBEN) wieder verwenden, jedoch nicht innerhalb einer Lisp-prozedur. Dazu der gedachte ABlauf (Beispiel): 1. Start von SCHIEBEN 2. Mausclicks auf Objekte etc. 3. Mausclick auf Startpunkt 4. Start einer Lisp-Prozedur, der einen zuvor gespeicherten wert liefert Der Punkt 4 ist dabei mein Problem. Wer weiss etwas?
------------------ Konstruktive Grüße sigy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 15. Okt. 2004 13:38 <-- editieren / zitieren --> Unities abgeben: Nur für sigy
Hallo sigy, Du widersprichst dir selbst in deiner Frage. Willst du einen Wert irgendeiner Variablen, die nicht lokal deklariert ist, in der BEfehlszeile nutzen, ist das ganz einfach: Du stellst bei der Eingabe des Variablennamen ein ! voran. Willst du das Ergebnis einer Lisp-Routine nutzen, dann kann das bei folgender Funktion
Code:
(defun myPunkt (/ a b) (setq a (getpoint)) (setq b (mapcar '+ a '(100.0 100.0 0.0))) ;-->irgendwas ;<-- b )
so erfolgen: Befehl: linie Befehl: Ersten Punkt eingeben: (myPunkt) .... Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sigy Mitglied
Beiträge: 32 Registriert: 24.09.2004 Win XP P4 3GHz 1GB RAM MDT6 SP4
|
erstellt am: 15. Okt. 2004 14:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Holger, es war zwar für mich kein Widerspruch, aber ich sehe, es gibt noch einiges zu lernen mit lisp. Erstmal vielen Dank, ich werde es mir genau ansehen. ------------------ Konstruktive Grüße sigy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mapcar Mitglied CADmin
Beiträge: 1250 Registriert: 20.05.2002 Time flies like an arrow, fruit flies like a banana (Groucho Marx)
|
erstellt am: 15. Okt. 2004 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für sigy
Man kann auch durchaus Punkte benennen: Code:
Befehl: (setq linksunten'(0 0)rechtsunten'(100 0)linksoben'(0 100)rechtsoben'(100 100)dach'(50 150)) Befehl: linie Ersten Punkt angeben: !linksunten Nächsten Punkt angeben oder [Zurück]: !rechtsunten Nächsten Punkt angeben oder [Zurück]: !rechtsoben Nächsten Punkt angeben oder [Schließen/Zurück]: !dach Nächsten Punkt angeben oder [Schließen/Zurück]: !linksoben Nächsten Punkt angeben oder [Schließen/Zurück]: !linksunten Nächsten Punkt angeben oder [Schließen/Zurück]: !rechtsoben Nächsten Punkt angeben oder [Schließen/Zurück]: !linksoben Nächsten Punkt angeben oder [Schließen/Zurück]: !rechtsunten Nächsten Punkt angeben oder [Schließen/Zurück]:
Gruß, Axel Strube-Zettler ------------------ (defun - Lisp over night - AutoLisp-Programmierung für AutoCad - Da weiß man, wann man's hat Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |