Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Lisp --> Variable --> Wert ändern

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Lisp --> Variable --> Wert ändern (222 mal gelesen)
benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

erstellt am: 06. Nov. 2002 10:37    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

ich habe eine Variable namens "temp" mit einem car-wert "ANZA" und einem cdr-wert "4"

nun möchte ich den wert "4" durch den wert "33" ersetzen lassen. also --> (subst neu alt wo)....aber denkste...ich krieg's nicht hin. egal welche kominationen ich nutze, es will nicht gelingen.

die online-hile zu diesem befehl hilft mir NICHT weiter und bitte euch deswegen um hilfe.

wie sollte der code aussehen ?


------------------
Grüße aus dem Rheingau.
Rolf aka Benwisch

[Diese Nachricht wurde von benwisch am 14. Sep. 2005 editiert.]

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

CADchup
Ehrenmitglied V.I.P. h.c.




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

Beiträge: 3331
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 06. Nov. 2002 11:05    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 benwisch 10 Unities + Antwort hilfreich

Also (subst "33" "4" temp) geht nit?
Ist temp vielleicht keine Liste?

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

cadffm
Moderator
良い精神




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

Beiträge: 21709
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 06. Nov. 2002 11:11    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 benwisch 10 Unities + Antwort hilfreich

wenig Info´s...

bin absoluter Anfänger, ich hatte das Problem das zB bei
Dottpairs so nicht agiert werden kann...das muß man erstmal wissen, hat mir Nächte (wie gesagt: Anfänger) lang den Schlaf geraubt...

mach doch mal ein "!temp"
und zeig mir so was da eigentlich alles WIE vorhanden ist.

------------------
Gruß Sebastian ,FFM

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

StephanJP
Mitglied
CAD-Admin


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

Beiträge: 830
Registriert: 09.11.2000

erstellt am: 06. Nov. 2002 11:38    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 benwisch 10 Unities + Antwort hilfreich


warum denn subst?
warum nicht (setq temp (cons "ANZA" "4"))?
ergibt=>("ANZA" . "4")
(setq temp (cons "ANZA" 4))
ergibt=>("ANZA" . 4)

aber wie die anderen schon sagen:
mehr Infos zur Art der Liste 

------------------

gruß
stephan

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

benwisch
Mitglied
Bautechniker, CAD-Konstrukteur


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

Beiträge: 375
Registriert: 01.02.2001

Autocad 2005-2010
Microstation V8
Photoshop CS4 + Camera Raw
Nikon Capture NX2
Nikon D90

erstellt am: 06. Nov. 2002 14:49    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

 
Zitat:
Original erstellt von StephanJP:

warum denn subst?
warum nicht (setq temp (cons "ANZA" "4"))?
ergibt=>("ANZA" . "4")
(setq temp (cons "ANZA" 4))
ergibt=>("ANZA" . 4)

aber wie die anderen schon sagen:
mehr Infos zur Art der Liste    



hi stephan

jepp....das klappt !!

allerdings steckt hier bei mir noch ein gedankenfehler drin. das bereitgestellte lsting von marc bringt mich dann aber weiter.... ( hier nachzulesen)

das habe ich (und so funzt es) folg. genutzt
.
.
.
(setq ATT-LST (ALL-BL-TXT OBJ)); <defun ALL-BL-TXT>!! Erstellt Liste von den Attributswerten vom Block AIRUL ...sehr gut für spätere Entwicklungen
(setq stk (atoi (cdr (nth 1 att-lst)))) ; auslesen der Eisenanzahl und umwandeln in eine Zahl
(setq eingabewert -12); wird später vom Benutzer aus Dialog übergeben...wenn abziehen dann negativer Wert !!
(setq stk (rtos (+ stk eingabewert) 2 0)); stk wird mit eingabewert addiert, bei negativ abgezogen !! ..rtos=in String umwandeln zahl="zahl"

;; temporäre Var
;;(setq temp (cadr ATT-LST)); klappt !
;;(setq temp (cons "ANZA" "33")); Klappt!
;;(setq ATT-LST (subst (cdr(cons "ANZA" temp)) (assoc "ANZA" ATT-LST) ATT-LST)); klappt !
;; problem : o.g. Variablen dem gepickten OBJ hinzugeben...
;; also schleife ausführen, bis Attributs-Bezeichnung ANZA "erscheint"

(while (/= (cdr (assoc 0 OBJ-DATA)) "MARKER"); Schleife bis MARKER da ist
    (setq OBJ-DATA (entget (entnext (cdr (assoc -1 OBJ-DATA)))))
    (if (= (cdr (assoc 2 OBJ-DATA)) "ANZA"); ...Attributsbezeichnung ANZA gefunden ... bin fast am ziel
      (progn
        (setq OBJ-DATA (subst (cons 1 stk) (assoc 1 OBJ-DATA) OBJ-DATA)); Eisenanzahl wird ersetzt
        (entmod OBJ-DATA); update der Daten
(entupd OBJ); update des Blockes -->screen (neuer Wert wird in Block geschrieben !!; OBJ = Grunddaten
        (setq   OBJ-DATA (list (cons 0 "MARKER"))); nachdem der gewünschte Wert ersetzt ist, setze in Liste MARKER, welches Ende der Schleife bedeutet
       ) ;_ end progn
    ) ;_ end if
);end while

so.. jetzt habe ich einen dicken kopf und bin zufrieden...
------------------
Grüße aus dem Rheingau.
Rolf aka Benwisch

[Diese Nachricht wurde von benwisch am 06. November 2002 editiert.]

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)2023 CAD.de | Impressum | Datenschutz