Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Attribute

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:  Attribute (102 mal gelesen)
idraH
Mitglied



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

Beiträge: 64
Registriert: 22.04.2002

ACAD 2004/Netzwerklizenz
Win 2000

erstellt am: 24. Apr. 2002 23:24    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 allersetits,
es geht um das Einfügen von Datum und DWGNAME in einen Block. Ich weiss das diese Frage schon einige male gestellt wurde und ich habe wirklich in mühevoller Kleinarbeit das gesamte Forum bis zur letzten Seite durchforstet aber der vielversprechendste, gleich folgende Quellcode von CADWIESEL liefert mir nur eine Fehlermeldung.
kann mir jemand sagen, wie die Attribute heissen müssen (hab jetzt Änderung1, Änderung2, Änderung3 als Attribut... ob ein bestimmter Blockname verwendet werden muss hab ich nicht rausbekommen) und hier die Fehlermeldung: "Fehler: Fehlerhafter Argumenttyp: stringp nil"
und der Quellcode von CADWIESEL:
;;;*********************Systemzeit auslesen*******************************
(defun parse_time ( / )
(setq USERLOG (getvar "Loginname"))
(setq date_str (rtos (getvar "cdate") 2 4)
year (substr date_str 1 4)
month (substr date_str 5 2)
day (substr date_str 7 2)
hour (substr date_str 10 2)
minu (substr date_str 12 2)
date (strcat day "." month "." year " / " Userid)
);ende setq
);ende defun
;;;*****************Stempel ändern***************************************
(defun c:stemp ( / d tt te)
(setvar "cmdecho" 0)
(parse_time)
(setq md_zaehler 0)
(if (setq tt (ssget "x" '((0 . "INSERT")(2 . "legende"))))
(progn
(while
(> (sslength tt) md_zaehler)
(setq te (entget (ssname tt md_zaehler)))
(setq aslstblk (entget (entnext (cdr (assoc -1 te)))))
(while (/= (cdr (assoc 0 aslstblk)) "SEQEND")
(setq md_text (cdr (assoc 2 aslstblk)))
(cond
((= md_text "ÄNDERUNG1")
(setq ename1 aslstblk)
(setq md_fill1 (cdr (assoc 1 aslstblk)))
)
((= md_text "ÄNDERUNG2")
(setq ename2 aslstblk)
(setq md_fill2 (cdr (assoc 1 aslstblk)))
)
((= md_text "ÄNDERUNG3")
(setq ename3 aslstblk)
(setq md_fill3 (cdr (assoc 1 aslstblk)))
)
);ende cond
(setq aslstblk (entget (entnext (cdr (assoc -1 aslstblk)))))
);ende while
(if
(/= md_fill3 date)
(progn
(entmod (subst (cons 1 md_fill2)(assoc 1 ename1) ename1))
(entmod (subst (cons 1 md_fill3)(assoc 1 ename2) ename2))
(entmod (subst (cons 1 date)(assoc 1 ename3) ename3))
);ende progn
);ende if
(setq md_zaehler (1+ md_zaehler))
);ende while
);ende progn
);ende if
);ende defun

Da ich langsam an meinen ersten, zaghaften LISP-Versuchen verzweifele hoffe ich auf eure Hilfe (kann aber erst morgen wieder reinschauen)
~~ idraH

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

s.wickel
Mitglied
Bauingenieur Wasserwirtschaft


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

Beiträge: 422
Registriert: 17.12.2001

erstellt am: 25. Apr. 2002 07:54    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 idraH 10 Unities + Antwort hilfreich

Hallo idraH!

Der Fehler liegt in Zeile 10:
(strcat day "." month "." year " / " Userid)

Die Variable UserID ist noch nicht gefüllt worden, also ist sie NIL. Und NIL ist kein Text. Ich vermute, dass hier die Variable USERLOG aus Zeile 3 Stehen müsste. Oder? Dann klappts jedenfalls. (Da ich jetzt keinen Block Legende erzeugen wollte, konnte ich das Programm nicht weiter testen. Aber ich denke das wird schon gehen.

Stefan

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

idraH
Mitglied



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

Beiträge: 64
Registriert: 22.04.2002

ACAD 2004/Netzwerklizenz
Win 2000

erstellt am: 25. Apr. 2002 21:34    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 Stefan,

meine Welt ist wieder halbwegs im Lot ;-)
obwohl ich erst dachte, dass es nicht funkzen würde ( das neue Attribut wurde erst nach dem Regenerieren angezeigt).
Endlich mal ein kleines Erfolgserlebnis... merci

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