| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Schriftfeld mit Dateiname & Datum, die 99zigste :-) (1674 mal gelesen)
|
CAD-Tötti Mitglied
 
 Beiträge: 116 Registriert: 27.09.2003 ACAD 2009
|
erstellt am: 27. Sep. 2003 20:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich beschäftige mich erst seit kurzem mit der Lisp-Programmierung und habe noch nicht so viel Ahnung davon. Ich habe folgendes Problem, zu dem ich recht schnell eine Lösung benötige: Ich habe einen Schriftfeldblock "HEAD" mit u.a. den Attributen "FILE" (=Dateiname ohne .dwg), "DATE" (=aktuelles Datum z.B. 27.09.2003) & "TIME" (=aktuelle Zeit z.B. 19:55 UHR). Ich möchte es nun mit einer Lisp-Routine lösen, dass diese Attribute (kein RTEXT mit DIESEL) automatisch aktualisiert werden, jedesmal wenn ich a) die Zeichnung öffne und b) den Block "HEAD" mit ATTEDIT bearbeite. Wer kann mir (vielleicht auch auf die Schnelle) helfen ? Danke, CAD-TÖTTI :-))) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4191 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 27. Sep. 2003 21:45 <-- editieren / zitieren --> Unities abgeben:          Nur für CAD-Tötti
Hallo CAD Tötti, willkommen im Forum.  Nun zu den Attributen. Um das zu machen, solltest du dich mit der DXF-Referenz beschäftigen. Daraus kannst du den Zeichnungsaufbau erkennen. Du suchst dir mit (seta as(ssget "_X" '((0 . "INSERT")(2 . "HEAD")))) erst einmal den Schriftfeldblock. mit (setq blel (ssname as Nr)) bekommst du den INSERT als ELement. Die Attribute folgen in der Elementreihenfolge der Zeichnungsdatenbank immer dem Insert, weshalb du mit (setq att1 (entnext blel)) an das erste Attribut kommst. mit (entget att1) kommst du an die Elementdaten mitz (cdr (assoc 1 (entget att1))) an den Wert. Da du aber nicht an den Wert irgendeines Attributes möchtest, musst du prüfen, um welches Element es sich gerade handelt. Der Attributname ist im Gruppencode 2 oder 3?? versteckt. Den vergleichen mit dem gesuchten. wenn in deiner (entnext - Schleife dann irgendwann das Element "SEQEND" kommt ist der Block samt aller Attribute am Ende. Aktuelles Datum /Zeit usw ist klar, wie du da ran kommst? Bei Fragen ... Grüße Holger
------------------ Holger Brischke (defun - Lisp over night! ...mit erweitertem Leistunsspektrum... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
 
 Beiträge: 116 Registriert: 27.09.2003 ACAD 2009
|
erstellt am: 27. Sep. 2003 22:40 <-- editieren / zitieren --> Unities abgeben:         
Hi Holger, danke für die prompte Antwort, aber um das zu verstehen, muß ich noch etliche Monate forschen. Ich glaube, so weit bin ich noch nicht :-(. Ich denke, du hast mir echt gute Hinweise gegeben, in welche Richtung ich weiterforschen muß, aber auf die Schnelle bin ich wohl aufgeschmissen *heul* :-) CAD-Tötti Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
       

 Beiträge: 4191 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 28. Sep. 2003 02:35 <-- editieren / zitieren --> Unities abgeben:          Nur für CAD-Tötti
|
marvin101010 Mitglied ingenieur der architektur ohne diplom, bauzeichner ohne lehre, cad-admin ohne wissen :-)
  
 Beiträge: 562 Registriert: 22.01.2003 Pentium 4 Windows XP Autocad 2002 Autocad 2002LT + Extender ADT 3.3 ArchiCAD
|
erstellt am: 29. Sep. 2003 08:07 <-- editieren / zitieren --> Unities abgeben:          Nur für CAD-Tötti
@ tötti vergiss das mit den monaten... nimm dir dieses spezielle problem vor und finde raus, was die befehle bewirken (entwickler-handbuch...oder natürlich mapcars seiten). wirst sehr schnell (sache von stunden) begreifen was da passiert... dann das nächste problem...dann das nächste...usw... geht jedes mal ein wenig schneller...lohnt sich! ------------------ .......good vibrations make the world go round Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |