Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  BricsCAD
  was liefern caar und cadar ?

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:   was liefern caar und cadar ? (723 mal gelesen)
Uwe Jagoda
Mitglied
CAD-Zeichner/Lisp Programmierer

Sehen Sie sich das Profil von Uwe Jagoda an!   Senden Sie eine Private Message an Uwe Jagoda  Schreiben Sie einen Gästebucheintrag für Uwe Jagoda

Beiträge: 7
Registriert: 14.01.2009

BricsCad V9

erstellt am: 28. Jan. 2009 02:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

kann mir jemand hinschreiben, was diese funktionen machen ?
Sie sind in meiner Befehlsreferenz (1999) nicht enthalten.

Uwe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Theodor Schoenwald
Ehrenmitglied



Sehen Sie sich das Profil von Theodor Schoenwald an!   Senden Sie eine Private Message an Theodor Schoenwald  Schreiben Sie einen Gästebucheintrag für Theodor Schoenwald

Beiträge: 1672
Registriert: 16.04.2002

erstellt am: 30. Jan. 2009 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Uwe Jagoda 10 Unities + Antwort hilfreich

Hallo Uwe,

für Deine Fragen, ist das Lisp-Forum von CAD.DE besser geeignet.
Da findest Du auch das Handbuch für Autolisp als DOC-Datei für ACAD 14.
Für weitere Informationen zu AutoLisp empfehle ich Dir das "Kochbuch für AutoLisp" vom Carl Hanser Verlag.

Gruß
Theodor Schönwald

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

scj
Mitglied
 


Sehen Sie sich das Profil von scj an!   Senden Sie eine Private Message an scj  Schreiben Sie einen Gästebucheintrag für scj

Beiträge: 549
Registriert: 09.08.2001

erstellt am: 30. Jan. 2009 21:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Uwe Jagoda 10 Unities + Antwort hilfreich

Natürlich hat Theodor recht, aber vielleicht hilft schon
Code:

(defun C:TEST1 ()

(setq p1 (getpoint "\nZeige Punkt1"))
(setq p2 (getpoint "\nZeige Punkt2"))
(setq p3 (getpoint "\nZeige Punkt3"))

(setq punktliste (list p1 p2 p3))
(princ "\nPunktliste: ")
(print punktliste)

(setq x_wert_p1 (caar punktliste))
(setq y_wert_p1 (cadar punktliste))
(setq z_wert_p1 (caddar punktliste))

(setq x_wert_p2 (caadr punktliste))
(setq y_wert_p2 (caadar punktliste))
(setq z_wert_p2 (caaddr punktliste))

(setq x_wert_p3 (caaddr punktliste))
(setq ohne_x_p3 (cdaddr punktliste))

(princ "\nx_wert_p1: ")
(print x_wert_p1)
(princ "\ny_wert_p1: ")
(print y_wert_p1)
(princ "\nz_wert_p1: ")
(print z_wert_p1)
(princ "\nx_wert_p3: ")
(print x_wert_p3)
(princ "\nohne_x_p3: ")
(print ohne_x_p3)
(princ)
)



Viel Erfolg beim Ausprobieren
Jochen

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Uwe Jagoda
Mitglied
CAD-Zeichner/Lisp Programmierer

Sehen Sie sich das Profil von Uwe Jagoda an!   Senden Sie eine Private Message an Uwe Jagoda  Schreiben Sie einen Gästebucheintrag für Uwe Jagoda

Beiträge: 7
Registriert: 14.01.2009

BricsCad V9

erstellt am: 01. Feb. 2009 13:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Lieber Jochen,
Ich verstehe jetzt, dass diese Funktionen Zugriff auf Listen ermöglichen,
aber du hast keinen Zugriff auf jede Koordinate.
Z.B. (setq y_wert_p1 (cadar punktliste)) liefert: Fehlerhafter Argumenttyp: 2

Wahrscheinlich gibt es noch andere Funktionen, die das liefern.

Ich werde auch weiterhin auf solche Optimierung verzichten und es in zwei Schritten machen, brauche ich den x-Wert des dritten Punktes, schreinbe ich:

(setq p3 (caddr Punktliste)
          y3  (cadr p3)
)

Es entspricht auch der Vorgehensweise, ein Problem erstmal zu vereinfachen,
ist auch besser zu lesen.

Uwe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Uwe Jagoda
Mitglied
CAD-Zeichner/Lisp Programmierer

Sehen Sie sich das Profil von Uwe Jagoda an!   Senden Sie eine Private Message an Uwe Jagoda  Schreiben Sie einen Gästebucheintrag für Uwe Jagoda

Beiträge: 7
Registriert: 14.01.2009

BricsCad V9

erstellt am: 01. Feb. 2009 13:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Theodor,
danke für den Hinweis auf das LISP Forum.
Ein buch hab' ich schon. 

Noch eine Frage (nicht von vitalem Interesse) :

Warum sind die Variablen USERS1..5 nicht persistent ?

Uwe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1911
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 19. Mrz. 2009 13:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Uwe Jagoda 10 Unities + Antwort hilfreich

mit car und seiner weiteren Verschachtelung kannst du wie du in der Tat schon Richtig erkannt hast auf Listeneinträge zurückgreifen.
Du suchst die Funktion caddr um auf die 3. Stelle in einer Liste zugreifen zu können.
Gleiches Ergebniss erhältst du mit der Func nth (nth 2 punktliste)

Wieso sollte Users1-5 persistent sein - hast du das denn in einem Anderen Programm so, das du diese Frage stellst?

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Uwe Jagoda
Mitglied
CAD-Zeichner/Lisp Programmierer

Sehen Sie sich das Profil von Uwe Jagoda an!   Senden Sie eine Private Message an Uwe Jagoda  Schreiben Sie einen Gästebucheintrag für Uwe Jagoda

Beiträge: 7
Registriert: 14.01.2009

BricsCad V9

erstellt am: 19. Mrz. 2009 16:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wenn ich USERI1-5 und USERR1-5 "verbraten habe (die sind persistent) könnte ich variable
noch 5 variable als string ablegen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Uwe Jagoda
Mitglied
CAD-Zeichner/Lisp Programmierer

Sehen Sie sich das Profil von Uwe Jagoda an!   Senden Sie eine Private Message an Uwe Jagoda  Schreiben Sie einen Gästebucheintrag für Uwe Jagoda

Beiträge: 7
Registriert: 14.01.2009

BricsCad V9

erstellt am: 19. Mrz. 2009 16:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Wenn ich USERI1-5 und USERR1-5 "verbraten" habe (die sind persistent) könnte ich
noch 5 variable als string ablegen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapla
Mitglied
CAD Administrator


Sehen Sie sich das Profil von mapla an!   Senden Sie eine Private Message an mapla  Schreiben Sie einen Gästebucheintrag für mapla

Beiträge: 93
Registriert: 20.06.2007

erstellt am: 14. Apr. 2009 22:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Uwe Jagoda 10 Unities + Antwort hilfreich

Hallo Uwe,
wenn auch ein bischen verspätet aber hier eine Antwort die ich von mapcar in einem persönlichem Lisp Training erhalten haben.
Wenn Du eine Liste hast liefert das
"A" cAr immer das erste Element der Liste zBsp (car '( x y z)) = X
"D" cdr immer immer den Rest der Liste        (cdr '( x y z)) = '(Y Z)
die Kobinationen müssen von rechts nach Links aufgelöst werden

(cadr '(x y z)) ergibt  Y
1. (cdr '(x y z))= '(Y Z)
2. (car '(Y Z)) = Y

(car '(X Y Z ) ergibt X
(cadr '(X Y Z) ergibt Y
(caddr) '(X Y Z) ergibt Z

hoffentlich hilft es!

(cadddr '( 1 2 3 4 5)) = 4

hoffentlich hilft es noch wenn auch spät


Karsten

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2020 CAD.de | Impressum | Datenschutz