| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Datum im Schriftfeld (1139 mal gelesen)
|
urbanfrosch Mitglied TZ , Student
Beiträge: 161 Registriert: 23.06.2004 MDT6 , Inventor4
|
erstellt am: 13. Jul. 2004 13:43 <-- editieren / zitieren --> Unities abgeben:
Hallo mal wieder ne Frage, ´habe mit Attributen ein Schriftfeld erzeugt, dass ich dann über das DesignCenter einfüge. Wie kann ich bei der "Blockdefinition" ein Attribut definieren, sodass er mir sobald ich die Zeichnung öffne, er mir das aktuelle Datum einträgt??? Ganke schon einmal URBANFROSCH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 13. Jul. 2004 13:55 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
|
Ex-Mitglied
|
erstellt am: 13. Jul. 2004 14:09 <-- editieren / zitieren -->
Zitat: Original erstellt von urbanfrosch: habe mit Attributen ein Schriftfeld erzeugt, dass ich dann über das DesignCenter einfüge. Wie kann ich bei der "Blockdefinition" ein Attribut definieren, sodass er mir sobald ich die Zeichnung öffne, er mir das aktuelle Datum einträgt???
Hallo, das geht z.B. wie schon gesagt mit RTEXT. Deutlich bequemer geht es mit meiner Applikation DynaText -> http://www.archtools.de/D-DynaText/dynatext.html, womit Du auch beliebige weitere Daten in Variablen speichern kannst, die dann in MTEXT-Elementen referenziert werden. Du hast so mit DynaText die Möglichkeit, das Layout Deiner Texte beliebig zu definieren, was mit Blockattributen nicht so ganz klappt. Für jeden DynaText kannst Du individuell festlegen, bei welchen Ereignissen er vollautomatisch aktualisiert wird - also z.B. bei der manuellen Variablenänderung, oder nach dem Öffnen einer Zeichnung, oder unmittelbar vor dem Plotten usw.. Und die DynaText-Elemente können beliebig viele Variablen referenzieren und beliebigen freien Text enthalten. Du kannst so mit nur einer Variablenänderung abertausende von Texten in Deiner Zeichnung automatisch aktualisieren. DynaText gibt's als eigenständige Applikation und auch als Modul innerhalb von ArchTools. Gruß Tom Berger ------------------
|
whf_muc Mitglied Techniker
Beiträge: 278 Registriert: 22.05.2004 Fujitsu Celsius M770, Xeon 2125, 4,0 GHz, 32 GB RAM, Quadro P2000, Windoof 10 Pro for Workstations - div. liNear Haustechnik Aufsätze - Autocad 2024
|
erstellt am: 13. Jul. 2004 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
Hallo vom ingenieurbüro kramski gibts nen tool namens abemtag. damit wird beim plotten immer das aktuelle datum und wahlweise auch der dateiname mit pfadangabe aktualisiert. funzt leider nur bis incl autocad 2002. unter 2004 gehts leider nicht mehr und wird auch nicht weiterentwickelt, weil eine ähnliche funktion in 2005 bereits integriert ist und anscheinend die nachfrage nicht recht hoch war. vielleicht hilft dir das was. gruss torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ...
|
erstellt am: 14. Jul. 2004 07:10 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
Falls also urbanfrosch es auch akzeptieren würde dass es nicht direkt automatisch nach dem Einfügen des Blocks die Werte eingeschrieben werden, sondern durch ein Knopfdruck extra ist es durch ein paar Zeilen VBA/Lisp realisierbar (Blockname und z.B. Attributreihenfolge/Name im Block angeben). ------------------ "Lisp?!?! Why the Hell did you pick the most arcane, obscure, and hopelessly-rooted-in-the-computer-science-department language in the world for an AutoCAD programming language?" Read the whole story: The Autodesk File ca. 890 Seiten | 7500 KB PDF Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
urbanfrosch Mitglied TZ , Student
Beiträge: 161 Registriert: 23.06.2004 MDT6 , Inventor4
|
erstellt am: 14. Jul. 2004 07:53 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Proxy: Falls also urbanfrosch es auch akzeptieren würde dass es nicht direkt automatisch nach dem Einfügen des Blocks die Werte eingeschrieben werden, sondern durch ein Knopfdruck extra ist es durch ein paar Zeilen VBA/Lisp realisierbar (Blockname und z.B. Attributreihenfolge/Name im Block angeben).
geht da nicht ein doppelclick aufs schriftfeld und manuelles "aktualisieren" schneller??? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 14. Jul. 2004 07:58 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
|
otterloh Mitglied
Beiträge: 188 Registriert: 27.06.2001 AutoCAD 2012, 2013, 2019 Win8.1
|
erstellt am: 14. Jul. 2004 11:56 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
URBANFROSCH, ein anderes Beispiel - kannst es für Deinen Block- und Attributnamen umarbeiten. ;;;--------------------------------------------------------------------------- ;;; --- Einfuegen/Update des Datums, aktivierbar in Zeile 46 ;;; --- Einfuegen/Update des Datums mit Pfadnamen, aktivierbar in Zeile 47 ;;; --- Aktivieren: durch entfernen des ; am Zeilenanfang ;;; --- ;;; --- von wagnerChristian@web.de ;;; --- geaendert von Werner Meyer ;;; ;;; --- DATPFAD (DATPFAD.dwg) ist der Blockname der das Attribut PLOTDATUM enthält ;;; --- Beachten: Block ist in Millimeter erstellt (Texthöhe = 3mm) ;;; --- Aufruf aus einem Menue: ;;; --- ^C^C^P(if(not C ATPFAD)(load "DATPFAD"))^P DA ;;; --- Aufruf mit Befehl: DA +return ;;; --- durch Eintrag in die ***.mnl (am Ende - vor dem letzten (princ) ;;; --- (if(not C ATPFAD)(load "DATPFAD")) ;;;--------------------------------------------------------------------------- (defun c A (/ suchBlock mxy AttName PlotDat DateiName neustring sl count el eldat) ;;;Block DATPFAD auf Koordinate 0,0 einfügen ... wenn der Block noch nicht in der Zeichnung vorhanden ist (if (= nil (ssget "X" '((2 . "DATPFAD")))) (progn (setq mxy (getreal "\nDen Maßstab dieser Zeichnung eingeben 1: ? ")) (command "_insert" "DATPFAD" "0,0" mxy "" "" "" ) ) ) ;;;Datum ändern (setq suchBlock (ssget "X" '((2 . "DATPFAD")))) (if (/= nil suchBlock) (progn (setq AttName (strcase "PLOTDATUM")) (setq PlotDat (getvar "cdate")) (setq PlotDat (rtos PlotDat 2 8)) (setq DateiName (getvar "dwgname")) (setq PlotDat (strcat (substr PlotDat 7 2)"." (substr PlotDat 5 2)"." (substr PlotDat 3 2)" " ; (substr PlotDat 10 2)":" ;wenn aktiv mit Datum mit Uhrzeit ; (substr PlotDat 12 2) ;wenn aktiv mit Datum mit Uhrzeit ) ) (setq neustring PLOTDAT) ;wenn aktiv - nur das Datum einfuegen ; (setq neustring (strcat PLOTDAT " " DateiName)) ;wenn aktiv - Datum mit Pfad einfuegen ;;;rest von wagnerChristian@web.de (setq sl (sslength suchBlock)) (setq count 0) (while (< count sl) (setq el (ssname suchBlock count)) (setq eldat (entget el)) (if (= (cdr (assoc 0 eldat)) "INSERT") (progn (while (/= (cdr(assoc 0 (setq eldat (entget (setq el (entnext el))))))"SEQEND") (if (= (cdr (assoc 2 eldat)) AttName) (progn (setq eldat (subst (cons 1 neustring) (assoc 1 eldat) eldat)) (entmod eldat) (entupd el) );progn );if (if (= (cdr (assoc 2 eldat)) "PLOTDATUM") ;PLOTDATUM = der Attributname im Block DATPFAD (progn (setq eldat (subst (cons 1 neustring) (assoc 1 eldat) eldat)) (entmod eldat) (entupd el) );progn );if );while );progn );if (setq count (1+ count)) );while );progn );if (princ) )
------------------ Gruß Werner http://Meyer-Werner.bei.T-Online.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 16. Aug. 2004 22:26 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 17. Aug. 2004 07:54 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
Indem du im Programmcode folgendes änderst: ;;;Datum ändern (setq suchBlock (ssget "X" '((2 . "DATPFAD")))) (if (/= nil suchBlock) (progn (setq AttName (strcase "PLOTDATUM")) (setq PlotDat (getvar "cdate")) (setq PlotDat (rtos PlotDat 2 8)) (setq DateiName (getvar "dwgname")) (setq PlotDat (strcat (substr PlotDat 7 2)"." (substr PlotDat 5 2)"." (substr PlotDat 1 4)" " ;<==
------------------ - Sebastian - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 21. Aug. 2004 13:39 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
|
Ex-Mitglied
|
erstellt am: 21. Aug. 2004 14:23 <-- editieren / zitieren -->
Zitat: Original erstellt von CAD-Tötti: wie kann ich denn bei dem Dateinamen steuern, dass er grundsätzlich groß geschrieben wird, unabhängig davon wie er tatsächlich geschrieben ist !
Statt (getvar "dwgname") schreibst Du (strcase (getvar "dwgname")) Gruß Tom Berger ------------------
|
CAD-Tötti Mitglied
Beiträge: 116 Registriert: 27.09.2003 ACAD 2004
|
erstellt am: 22. Aug. 2004 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für urbanfrosch
|