| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Text Ändern in Block (Attribut) per Lisp (2911 / mal gelesen)
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 31. Jan. 2018 14:31 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen ich muss immer wieder im Titelblock unter Zeichner meinen Namen eintragen bevor ich ein PDF erstelle. Gibt es dazu ein Lisp? Blockname: Titelblock Attributsbezeichnung: Zeichner Inhalt: FM Vielen Dank Gruss fmfm
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 31. Jan. 2018 14:35 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 31. Jan. 2018 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
cadwomen Ehrenmitglied V.I.P. h.c. Mädchen für fast alles
Beiträge: 3067 Registriert: 26.08.2002 ACAD R11 - 2018.1.2 (Plant3D) AVIS ACAD LT 2013- 2020 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: 31. Jan. 2018 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Hy wenn das auch dein Anmeldename ist ging es auch über ein Schriftfeld ? wenn dir das past 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 |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 31. Jan. 2018 17:27 <-- editieren / zitieren --> Unities abgeben:
@cadwomen ein Schriftfeld sollte es nicht sein. Kann sein das sich am Zeichnernamen nichts Ändert weil es keine Planänderung gab. Also soll noch der davoriger Zeichnername dort aufgeführt sein. @CADmium welche Wörter muss ich durch meine 3 neuen Wörter ersetzen? Blockname: Titelblock Attributsbezeichnung: Zeichner Inhalt: FM (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") ) Gruss (AutoCad 2016) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 01. Feb. 2018 07:32 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 01. Feb. 2018 16:56 <-- editieren / zitieren --> Unities abgeben:
Du machst es nur noch komplizierter siehe gaaaaaaaaaaaaanz unten: funzt net (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 "Titelblock" "Zeichner" "FM") (command "_.regen") ) [Diese Nachricht wurde von fmfm am 01. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 01. Feb. 2018 18:00 <-- editieren / zitieren --> Unities abgeben:
ich habe es mir mal ein bisschen reduziert... Ziel: im Blocknamen (Titelblock) unter Attribut (Zeichner) soll der "dwgname" stehen. (defun DATE_GETSTR( / DATUM) (setq meindwgname (getvar "dwgname")) ) ) (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 "Zeichner" (strcat meindwgname)) (command "_.regen") ) = Command: UPDATE-TITLE-BLOCK too few arguments
habe schon 200 verschiedene schreibweisen probiert auf gut glück... eher gewinne ich im Lotto
[Diese Nachricht wurde von fmfm am 01. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 01. Feb. 2018 21:19 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
DREI Argumente werden erwartet. ( INSERTNAME ATTRIBNAME ATTRIBWERT / Es auf DIESE Art zu reduzieren macht das Ganze nur dümmer, nutze es wie es CADmium vorgegeben hat, dann kann man es für jeden Block nutzen.. Klingt viel sinnvoller ;-)
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 01. Feb. 2018 21:26 <-- editieren / zitieren --> Unities abgeben:
Die Frage ist wo genau muss ich was umschreiben :D Würde das so funktionieren? (Kann es grad nich testen) defun UPDATE-Title-Block ( INSERTNAME ATTRIBNAME ATTRIBWERT / AUSWAHL INDEX OBJEKTDATEN) (if (= (type INSERTNAME) 'STR) (setq AUSWAHL (ssget "_x" (list '(0 . "INSERT")(cons 2 titelblock)))) ) (if(or AUSWAHL (setq AUSWAHL (ssget "_x" '((0 . "Zeichner")))) ) (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)) "Fm") (=(strcase (cdr(assoc 2 OBJEKTDATEN))) ATTRIBNAME) ) (progn (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) ) ) ) ) ) ) )
) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 sw: Win7-x64 Office 365 ProPlus C3D (& LT ) ET; DACH; Extensions ------------------- hw: FX3800 i5 CPU 670 8GB RAM
|
erstellt am: 02. Feb. 2018 07:09 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 13:10 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 02. Feb. 2018 13:19 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 13:23 <-- editieren / zitieren --> Unities abgeben:
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 14:52 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 02. Feb. 2018 15:27 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 16:04 <-- editieren / zitieren --> Unities abgeben:
das sollte doch hier geregelt sein? (habe nichts daran geändert) (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) ) )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 02. Feb. 2018 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
die funktion DATE_GETSTR brauchst Du doch gar nicht die kannst Du auch ganz beruhigt löschen Das einzige das Du brauchst ist die Funktion UPDATE-Title-Block diese wird mit drei Argumenten aufgerufen: INSERTNAME ATTRIBNAME ATTRIBWERT damit ergibt sich der Befehlszeilenaufruf für dich wie oben schon beschrieben:
Zitat: Original erstellt von CADmium: Hmmm .... doch noch so schwer ??? Probiere es mit dem Funtionsaufruf: (UPDATE-Title-Block "Titelblock" "Zeichner" "FM")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 16:40 <-- editieren / zitieren --> Unities abgeben:
so passiert aber auch nichts: Command: UPDATE-TITLE-BLOCK _.regen Regenerating model. Command: nil (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 "Titelblock" "Zeichner" "FM") (command "_.regen") ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 02. Feb. 2018 17:33 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Zitat: Original erstellt von fmfm: so passiert aber auch nichts:Command: UPDATE-TITLE-BLOCK _.regen Regenerating model. Command: nil
Hm, vielleicht solltest Du Dich erst mal mit den grundlegenden Sachen von Lisp beschäftigen. Schreibe diesen Code in eine Textdatei (Name z.B.: UTB.LSP ) 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 (entmod(subst(cons 1 ATTRIBWERT) (assoc 1 OBJEKTDATEN) OBJEKTDATEN ) ) ) ) ) ) ) ) )) (defun c:UPDATE-Title-Block () (UPDATE-Title-Block "Titelblock" "Zeichner" "FM") (command "_.regen") )
Dann ziehst Du diese Textdatei auf Deine Zeichnungsoberfläche damit wird sie automatisch geladen Jetzt führst Du den Befehl von CADmium aus (Befehlszeile): (UPDATE-Title-Block "Titelblock" "Zeichner" "FM") Wenn in der Zeichnung ein Block mit Namen Titelblock war, dann sollte der Name "FM" im Attribut "Zeichner" stehen. Wenn nicht, stimmt der Name des Blockes (Titelblock) oder der Name des Attributes (Zeichner) nicht.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 17:42 <-- editieren / zitieren --> Unities abgeben:
genau das hatte ich probiert also alles was du unter "code" hast hatte ich alles in 1 Lisp-Datei und dann über appload eingepflegt ... dann in die kommandozeile -Update-Title-Block- eingegeben und das Ergebnis war nil Und einen block (titelblock) und Attribut zeichner) war ebenfalls vorhanden... komisch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 02. Feb. 2018 17:44 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 02. Feb. 2018 17:54 <-- editieren / zitieren --> Unities abgeben:
|
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 02. Feb. 2018 18:47 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Gerade mal getestet, funktioniert schon aber sicherer wäre es wenn diese Zeile geändert würde Code:
(=(strcase (cdr(assoc 2 OBJEKTDATEN))) (strcase ATTRIBNAME))
Ansonsten müßte man den Befehl so eingeben: : (UPDATE-Title-Block "Titelblock" "ZEICHNER" "FM") da Attributbezeichnungen immer groß geschrieben werden Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Ehrenmitglied V.I.P. h.c. Straßen- / Tiefbau
Beiträge: 8086 Registriert: 09.03.2006 sw: Win7-x64 Office 365 ProPlus C3D (& LT ) ET; DACH; Extensions ------------------- hw: FX3800 i5 CPU 670 8GB RAM
|
erstellt am: 02. Feb. 2018 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 02. Feb. 2018 21:47 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 05. Feb. 2018 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Also, so wie die letzte Code-Version bei KlaK steht, reicht ein Aufruf von UPDATE-TITLE-BLOCK ohne Attribute. Dieses startet die mit defun c: UPDATE-Title-Block (ganz unten) definierte Funktion, die wiederum die mit defun (ohne c: ) definierte Funktion UPDATE-Title-Block (ganz oben) aufruft und dabei die Parameter "Titelblock" "Zeichner" "FM" übergibt. Wenn, dann müsste hier geändert werden. HTH Gruß Thomas ps. dass das geht, mit defun c: und defun zwei unterschiedliche aber gleichnamige Funktionen zu definieren, war mir so auch noch nicht bekannt. [Diese Nachricht wurde von spider_dd am 05. Feb. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 05. Feb. 2018 17:30 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen Nun funktioniert es. Punkt 1: Attributsbezeichnung muss gross geschrieben sein und Punkt 2: Zitat: ps. dass das geht, mit defun c: und defun zwei unterschiedliche aber gleichnamige Funktionen zu definieren, war mir so auch noch nicht bekannt.
= Man musste unten einen Namen Ändern. Wenn wir schon dabei sind... folgende Datum schreibweise wäre noch interesannt 31.02.18. (Auch wenn dieses Datum nicht exisitert :InsertSMI(':D%20'); ) kann mir das jemand etwas genauer erklären? Code: (defun DATE_GETSTR( / DATUM) ;namensgebung (setq DATUM (rtos(getvar"cdate")2 6)) ;information aus cdate 20180205.17262417 (strcat (STR_LEFT_AD_CHAR (substr DATUM 5 2) 2 "0") "/" ;trennzeichen (in meinem fall Punkt) (STR_LEFT_AD_CHAR (substr DATUM 7 2) 2 "0") "/" (substr DATUM 1 4) ) )neuer Code: [CODE](defun DATE_GETSTR( / DATUM) (setq DATUM (rtos(getvar"cdate")2 6)) (strcat (STR_LEFT_AD_CHAR (substr DATUM 7 2) 2 "0") "." (STR_LEFT_AD_CHAR (substr DATUM 5 2) 2 "0") "." (substr DATUM 3 2) ) )
[/CODE] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 05. Feb. 2018 19:38 <-- editieren / zitieren --> Unities abgeben:
mir ist eben etwas eingefallen setq teil1 (substr DATUM 7 2) Ich teste das morgen und puzzle mir mein datum zusammen. Nich das ihr wieder auf die idee kommt und von eurem essen erzählt Ps ich hatte heute einen Yufka ohne Zwiebeln Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 05. Feb. 2018 22:54 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 06. Feb. 2018 07:15 <-- editieren / zitieren --> Unities abgeben: Nur für fmfm
Für Datum und Zeitstrings würde ich sowas nehmen : (menucmd "M=$(edtime,$(getvar,date),DD.MO.YYYY)") mit dem Formatstring DD.MO.YYYY kann man dann auch das Ausgabeformat beeinflussen wie man will (menucmd "M=$(edtime,$(getvar,date),DD.MO.YYYY - HH:MM:SS)") liefert z.B auch gleich die Zeit mit .. andere Möglichkeiten bitte ausprobieren oder googeln Edit ... der Vollständigkeit halber : (setq JAHR (menucmd "M=$(edtime, $(getvar, date),YYYY)") MONAT (menucmd "M=$(edtime, $(getvar, date),MO)") MONATNAME (menucmd "M=$(edtime, $(getvar, date),MON)") TAG (menucmd "M=$(edtime, $(getvar, date),DD)") STUNDE (menucmd "M=$(edtime, $(getvar, date),HH)") MINUTE (menucmd "M=$(edtime, $(getvar, date),MM)") SEKUNDE (menucmd "M=$(edtime, $(getvar, date),SS)") WOCHENTAG (menucmd "M=$(edtime, $(getvar, date),DDDD)") ) z.B. (menucmd "M=$(edtime,$(getvar,date),DDDD - DD.MON.YYYY - HH:MM:SS)") ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fmfm Mitglied Facility Management
Beiträge: 279 Registriert: 18.10.2016 AutoCad 2019
|
erstellt am: 14. Feb. 2018 16:33 <-- editieren / zitieren --> Unities abgeben:
Funktioniert prima! Danke Code: (defun C:Titelblock () (setq Datum123 (menucmd "M=$(edtime,$(getvar,date),DD.MO.YY)")) (UPDATE-Title-Block "Titelblock" "DATUM" (strcat Datum123)) (command "_.regen") )
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |