| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Attribut Datumsangabe auf Englisch (9313 mal gelesen)
|
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 12. Jul. 2004 16:08 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, für ein englisches Schriftfeld möchte ich das Attribut GEN-TITLE-DAT für Datumsangabe der Zeichnungserstellung im englischen Format haben z.B. 12 Juli 2004 = 07/12/2004 Somit wird beim Aufrufen des Schriftfeldes immer schon das Datum ausgefüllt. In den Eigenschaften des Attributs finde ich keine entsprechende Einstellungsmöglichkeit. In der Systemsteuerung möchte ich keine Änderung vornehmen. Mit R-Text oder Diesel hat das nichts zu tun. Danke und Gruß Wolfgang
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 12. Jul. 2004 17:17 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Im Mechanical gabs in der 2000 Version noch ein Lisp, was die Title-Geschichte erledigt hat, in der 2004'er sieht es so aus, als ob die Funktionalität in der amgtitle.arx versteckt ist. Wie auch immer, ich würde Menü und entsprechende Buttons so erweitern, dass nach _amtitle halt der Befehl UPDATE-Title-Block aufgerufen wird, der in folgendem Lisp definiert wird. (defun DATE_GETSTR( / DATUM) (setq DATUM (rtos(getvar"cdate")2 6)) (strcat (STR_LEFT_AD_CHAR (substr DATUM 5 2) 2 "0") "/" (STR_LEFT_AD_CHAR (substr DATUM 7 2) 2 "0") "/" (substr DATUM 1 4) ) ) (defun UPDATE-Title-Block ( INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (if (= (type INSERTNAME) 'STR) (setq AUSWAHL (ssget "_x" (list '(0 . "INSERT")(cons 2 INSERTNAME)))) ) (if(or AUSWAHL (setq AUSWAHL (ssget "_x" '((0 . "INSERT")))) ) (progn (setq INDEX -1) (repeat (sslength AUSWAHL) (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX))))) (if (assoc 66 OBJEKTDATEN) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME) ) (progn (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) ) ) ) ) ) ) ) ) (defun c:UPDATE-Title-Block () (UPDATE-Title-Block nil "GEN-TITLE-DAT" (DATE_GETSTR)) (command "_.regen") ) Wenn ihr immer das gleiche Schriftfeld habt, kann in (UPDATE-Title-Block nil "GEN-TITLE-DAT" (DATE_GETSTR)) das nil auch durch den Blocknamen ersetzt werden. In der Hoffnung, alles mit reinkopiert zu haben... P.S. GC 66 kann man eigentlich auch gleich ins ssget mit reinnehmen.. ------------------ - Thomas - [Diese Nachricht wurde von CADmium am 12. Jul. 2004 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Wolli Mitglied Konstrukteur
Beiträge: 704 Registriert: 28.02.2001 Win7 64Bit+32Bit VM-Ware I7 12GB ACAD Mech 2010 Inventor Pro 2010 + 2012 Ansys 13 NLS
|
erstellt am: 15. Jul. 2004 09:32 <-- editieren / zitieren --> Unities abgeben:
Danke Thomas für die Mühe, aber es soll nicht jedesmal ein neues Datum eingetragen werden wenn man das Schriftfeld öffnet. Das Attribut GEN-TITLE-DAT ist das Datum der Zeichnungserstellung und wird beim ersten öffnen des Schriftfeldes automatisch ausgefüllt, nur eben leider nicht auf englisch. Ich kann es duch ein anderes Attribut ersetzen das man dann halt manuell ausfüllt. Ich dachte halt es gibt eine einfache Option für GEN-TITLE-DAT Danke und Gruß Wolfgang Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 150 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 23. Sep. 2020 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Ich krame das nochmal raus... ich nutze das schon eine ganze Weile um unsere Planköpfe, sofern das Schriftfeld überschrieben wurde, wieder zu aktualisieren. Jetzt habe ich folgendes Problem: Ich verwende z.B. diese Zeile, um mein Plankopf automatisch auszufüllen. (UPDATE-Title-Block nil "FACHINHALT_BEZEICHNUNG-" "%<\\AcDiesel $(if,$(eq,$(substr,$(getvar,ctab),1,3),LA_),Gesamtlayout,) >%") Die Zeile sagt praktisch, wenn ein Layout mit den Buchstaben "LA_" beginnt, schreibe in Plankopf "Gesamtlayout". Soweit so gut, das funktioniert. Das Problem ist, dass meine Dieselzeile ca. 30 mal solange ist! Dann quittiert mir AutoCAD es als Fehler, weil die Zeichenkette zu lang ist. Die Frage wäre, ob es noch eine andere Möglichkeit gibt, meine Ellenlange Dieselzeile in den Attributswert schreiben zu lassen? P.S. Wenn ich die komplette Zeile in den Attributswert kopiere, kommt zwar auch eine Meldung das die Zeile zu lang ist, eingefügt wird es nach bestätigen mit OK aber trotzdem komplett. LG Jörg ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter2 Ehrenmitglied V.I.P. h.c.
Beiträge: 3701 Registriert: 15.10.2003 Win 10/64 Pro AutoCAD MAP 3D 2018 / 2023 BricsCAD 22
|
erstellt am: 23. Sep. 2020 10:05 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Zitat: Original erstellt von C4DP4P57: ...Soweit so gut, das funktioniert. Das Problem ist, dass meine Dieselzeile ca. 30 mal solange ist! Dann quittiert mir AutoCAD es als Fehler, weil die Zeichenkette zu lang ist. ...
Was ist "deine Dieselzeile"? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 150 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 23. Sep. 2020 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Zitat: Original erstellt von Peter2:
Was ist "deine Dieselzeile"?
Die komplette sähe so aus: $(if,$(eq,$(substr,$(getvar,ctab),1,3),LA_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),AF_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),ALA_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),ERS_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),KP_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),LD_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),LDR_),Lageplan,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),BR_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),FA_),Brandschutz,)$(if,$(eq,$(subst r,$(getvar,ctab),1,4),BSB_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),FW_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),FR_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),LK_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),NOT_),Brandschutz,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),E_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BEL_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BEA_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),BS_),Elektro,)$(if,$(eq,$(substr,$(getvar,c tab),1,3),MS_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),NEA_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),SIB_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),TRE_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),USV_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),VT_),Elektro,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),GA_),Gebäudeautomation,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),GLT_),Gebäudeautomation,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),MSR_),Gebäudeautomation,)$(if,$(eq,$(substr,$(getvar, ctab),1,5),TOPO_),Gebäudeautomation,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),H_),Heizung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),WE_),Heizung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),WV_),Heizung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),HK_),Heizung/Kälte,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),TAB_),Heizung/Kälte,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),HKL_),Heizung/Kälte/Lüftung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),HO_),Hochbau,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),AUS_),Hochbau,)$(if,$(eq,$(substr,$(ge tvar,ctab),1,3),DS_),Hochbau,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),FAS_),Hochbau,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BLG_),Infrastruktur,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),IF_),Infrastruktur,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),MOE_),Infrastruktur,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),RD_),Hochbau,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),K_),Kälte,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),KE_),Kälte,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),KV_),Kälte,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),L_),L üftung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),EA_),Lüftung,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),N_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),AUF_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BFA_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),FOE_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),KUE_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),MV_),Nutzungsspezifische Anlagen,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),S_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),EW_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),FLA_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,2),G_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),GR_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),RW_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),TW_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),WAB_),Sanitär,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),SM_),Schwachstrom,)$(if,$(eq,$(substr,$( getvar,ctab),1,4),ANT_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BFE_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),BMA_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),DN_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),EMA_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),FM_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),GAS_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),ELA_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),SPA_),Schwachstrom,)$(if ,$(eq,$(substr,$(getvar,ctab),1,4),TRS_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),UHR_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),VUE_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),ZE_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),ZKO_),Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),TP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),BP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),TKO_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1 ,3),LP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),PP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),RP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,3),SP_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,4),TVB_),Tragwerksplanung,)$(if,$(eq,$(substr,$(getvar,ctab),1,8),TRE-TRS_),Elekto/Schwachstrom,)$(if,$(eq,$(substr,$(getvar,ctab),1,8),TRS-TRE_),Elekto/Schwachstrom,) ------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 2966 Registriert: 26.08.2002 ACAD R11 - 2022 (Plant3D) AVIS ACAD LT 2013- 2021 ZWCAD 2015 Versuch "nun ja" [s]History P3D 2012/(13) SP und Hotfix([/s]<P> Windows 10 / 64 Bit Xeon CPU 3.5GHz 16GB Ram NVIDIA Quadro P2000 3x Dell TV100 88P Monitore
|
erstellt am: 23. Sep. 2020 13:26 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Hy ja auch hier schlägt wie du das erkannt hast irgend eine Längenbeschränkung zu und wird mit Diesel nicht zu lösen sein, und schwups bist du bei Lisp,API usw. ich nehme meine Werte aus dem Layoutnamen und der DWG und setzt diese "Einzelteile dann im lan graphisch zusammen , aber somit bekommst das auch nicht in Griff cu cw ------------------ Also ich finde Unities gut ... und andere sicher auch ------------------------------------------------ cadwomen™ Plant ist nur die Spitze des Berges der da treibt ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
C4DP4P57 Mitglied Technischer Zeichner
Beiträge: 150 Registriert: 06.05.2009 Win 10 Windows 10 Enterprise 64Bit Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz 32 GB RAM NVIDIA Quadro P1000 AutoCAD 2019.1.2 64Bit
|
erstellt am: 24. Sep. 2020 09:29 <-- editieren / zitieren --> Unities abgeben: Nur für Wolli
Zitat: Original erstellt von cadwomen: Hyja auch hier schlägt wie du das erkannt hast irgend eine Längenbeschränkung zu und wird mit Diesel nicht zu lösen sein, und schwups bist du bei Lisp,API usw. ich nehme meine Werte aus dem Layoutnamen und der DWG und setzt diese "Einzelteile dann im lan graphisch zusammen , aber somit bekommst das auch nicht in Griff CU cw
Danke für deine Antwort. Aber bei Lisp bin ich ja schon. Es geht ja lediglich darum, ob es eine Möglichkeit gibt den Ellenlangen Dieselausdruck als Schriftfeld in einen Attributwert einzutragen und nicht das Problem über Diesel zu lösen. In der Attributdefinition ist er ja auch enthalten und wenn ich ein Block neu einfüge, steht er auch automatisch als Wert im Plankopf. AutoCAD meckert beim einfügen des Blocks auch nicht, das die Zeichenlänge überschritten ist. Die Frage bleibt also, ob es irgendwie möglich ist den sehr langen Dieselausdruck als Schriftfeld in den Attributwert zu schreiben bzw. die Zeichenbeschränkung irgendwie zu umgehen? Per Kopie&Paste geht's ja auch. Wenns nicht geht, ist das auch nicht tragisch, dann halt per Kopie&Paste. Code: (defun UPDATE-Title-Block (INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (if (= (type INSERTNAME) 'STR) (setq AUSWAHL (ssget "_X" (list '((0 . "INSERT"))(cons 2 INSERTNAME)))) ) (if(or AUSWAHL (setq AUSWAHL (ssget "_X" '((0 . "INSERT")))) ) (progn (setq INDEX -1) (repeat (sslength AUSWAHL) (setq OBJEKTDATEN (entget (ssname AUSWAHL (setq INDEX (1+ INDEX))))) (if (assoc 66 OBJEKTDATEN) (while (/= (cdr (assoc 0 OBJEKTDATEN)) "SEQEND") (setq OBJEKTDATEN (entget (entnext (cdr (assoc -1 OBJEKTDATEN))))) (if (and(=(cdr (assoc 0 OBJEKTDATEN)) "ATTRIB") (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME) ) (progn (setq WERT (cdr(assoc 1 OBJEKTDATEN))) (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN)) ) ) ) ) ) ) ) )(defun c:UPDATE-Title-Block () (setq WERT "0") (setq Gewerk "%<\AcDiesel hier steht die Ellenlange Dieselzeile >%") (setq Fachinhalt "%<\AcDiesel hier steht die Ellenlange Dieselzeile >%") (UPDATE-Title-Block nil "DATEINAME" "%<\\AcVar Filename \\f \"%tc1%fn2\"\>%") (UPDATE-Title-Block nil "LAYOUTBEZEICHNUNG" "%<\\AcVar ctab \\f \"%tc1\"\>%") (UPDATE-Title-Block nil "PFADNAME" "%<\\AcVar Filename \\f \"%tc1%fn7\"\>%") (UPDATE-Title-Block nil "GEWERK_BEZEICHNUNG-" Gewerk) (UPDATE-Title-Block nil "FACHINHALT_BEZEICHNUNG-" Fachinhalt) (command "_.fieldeval" "31") (command "_.regen") (princ) )
------------------ Wer immer tut, was er schon kann, bleibt immer das, was er schon ist. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|