| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Schriftfeld Format festlegen (4203 mal gelesen)
|
ritmo Mitglied
Beiträge: 1 Registriert: 22.07.2012 AutoCAD 2012
|
erstellt am: 23. Jul. 2012 00:25 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wir wollen Schriftfelder nutzen, um die Flächen der einzelnen Räume automatisch zu ermitteln. Bei der Ersterfassung werden die Stempel mit dem Attribut Fläche kopiert und an der Polylinie verknüpft. Soweit so gut, allerdings ändert sich die Formatierung automatisch: anstatt komma wird die Fläche mit einem Punkt gekennzeichnet. Z.B. 10.23 (m²) gewünscht ist 10,23 (m²) Jedes Schriftfeld über zusätzliches Format anzupassen ist nicht zumutbar bei der Anzahl der Räume. Welche Lösung gibt es denn um die Formatierung festzulegen? Gibt es vielleicht einen Trick um die Verknüpfung schnell herzustellen? Danke im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 Windows 10 64bit, ACAD Rel. 14 - ACAD 2023
|
erstellt am: 23. Jul. 2012 05:47 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 acad2016 + civil 3d
|
erstellt am: 23. Jul. 2012 10:40 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Hi ritmo, ich hab dir hier mal schnell was zusammengeschustert, das wird zwar bestimmt auch ein bisschen koprimierter gehen aber wie gesagt auf die schnelle wirds das hier auch tun,... Code:
(defun c:test999(/ selset zahlermax zahler haupt neben mixed ticker ticker2 *bezug* atom atome atom2 atome2) (setq selset(ssget "x" '((0 . "insert")(2 . "HIER NAME DES BLOCKS")))) (setq zahlermax (sslength selset)) (setq zahler 0) (while (< zahler zahlermax) (setq haupt (ssname selset zahler)) (setq neben haupt) (while (/= "HIER NAME DES ATTRIBUTS" (cdr (assoc 2(entget neben))))(setq neben(entnext neben))) (setq *bezug* (cdr(assoc 1(entget neben)))) (setq ticker 1) (setq atome "") (while (/= "."(setq atom(substr *bezug* ticker 1))) (setq atome(strcat atome atom))(setq ticker (1+ ticker))) (setq ticker2 (1+ ticker)) (setq atome2 "") (while (/= ""(setq atom2(substr *bezug* ticker2 1))) (setq atome2 (strcat atome2 atom2))(setq ticker2 (1+ ticker2))) (setq mixed(strcat atome "," atome2)) (entmod (subst (cons 1 mixed)(assoc 1 (entget neben))(entget neben))) (setq zahler (1+ zahler))) )
hoffe es ist soweit alles verständlich, du musst halt noch den block und den attributsnamen ändern dann sollte es klappen. bei fragen --> blue ps: wurde geteste, müsste worken pss: vorsicht, name des blocks und attributs müssen zu 100% stimmen, groß/klein beachten [Diese Nachricht wurde von CADblue am 23. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 11:18 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
@CADblue abgesehen davon das der Code sicher zu verbessern ist so ist hier das wichtigste Augenmerk wohl darauf zu legen das du die Attributwerte dumm machst mit der Routine, ich denke die Feldfuntkionalität sollte hier bestehen bleiben, die Anpassung des Schriftfeldes ist also "gefragt". @Fragsteller: Die Antwort der ersten Gegenfrage wäre hier wirklich am wichtigten: WIE machst du das ? ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 acad2016 + civil 3d
|
erstellt am: 23. Jul. 2012 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 11:34 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
joeycool Mitglied Ingenieur TGA
Beiträge: 1451 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 23. Jul. 2012 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Hallo Ritmo, war erst mächtig erstaunt bei Deinem Posting, da ich nicht glauben wollte, daß sich beim Neuzuweisen eines Objektes das Format wieder verstellt, aber Du hast recht, es ist so. Lösung habe ich zum Glück auch, für beides, Neuzuweisen und Formatierung beibehalten: DT-RELINKFIELDPL auf der Web-Seite von defun-tools http://www.d-tools.eu/Asptest/Tools.aspx Ist sogar für umme und funzt blendend... Joeycool
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 12:14 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
@joeycool Wäre ja nett wenn du dann den anderen Beteiligten deinen vermeindlichen Wissensvorsprung teilen könntest, von welcher Vorgehensweise gehst du denn nun aus was das "verknüpfen" angeht ? @all Wenn Acad-Boardmittel verwendet werden (ich kenne da nur eine komplett neu erstellt durch Schriftfeld-bearbeitn) so ist das mit dem Punkt wohl kaum verwunderlich denn man macht es komlett neu, er behält ja nicht mal die Eigenschaft bei, also auch nicht die Formatierung der Eigenschaft. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joeycool Mitglied Ingenieur TGA
Beiträge: 1451 Registriert: 01.06.2004 MEP/ACAD 2008,..., 2013, 2014, 2015, 2016 und 2017 REVIT MEP 2017 WIN7 64 bit i7 3,4 GHZ, SSD Platte, 16 GB Ram NVDIA Quadro K 2200
|
erstellt am: 23. Jul. 2012 13:18 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Hi cadffm, also Wissenvorsprung seh ich da nicht, allenfalls gefühltes Wissen: Ich vermute, Ritmo meint genau das, was Du unter Schriftfeld bearbeiten geschrieben hast. Und mich hat es genau wie Ritmo erstaunt, daß das Zuweisen eines neuen Objektes vom Programm im Prinzip wie eine Neuerstellung behandelt wird. Für mich in meiner grenzenlosen Naivität bedeutet "Schriftfeld bearbeiten" nämlich eigentlich, ich ändere bestimmte Aspekte (in dem Fall das Objekt auf das es sich bezieht), alle anderen Aspekte des Feldes bleiben unverändert. Ansonsten macht diese Option ja nicht sooo viel Sinn.... Aber für dieses Leiden haben die Künstler von dafun-tools ja wunderbar Abhilfe geschaffen Joeycool Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 14:22 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 acad2016 + civil 3d
|
erstellt am: 23. Jul. 2012 16:18 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Zitat: Original erstellt von cadffm: Und wenn ich es lese ist es ein Attribut mit Schrifftfeld
Ach ja genau!!! und was soll das dann bitte sein? ausführliche definition bitte, wie du siehst bin ich ja hier ein neuling u kenn mich nicht aus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 16:53 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Die 'programmiertechnische' Definition wäre hier sicher etwas toomuch, aber wenn du dich über Schriftfelder(dämliche deutsche Übersetzung) Informieren willst dann mußt du folgende Dokumentationen/Befehle nachschlagen: Befehle: _FIELD / SCHRIFTFELD _UPDATEFIELD/SCHRIFTFELDAKT SysVar: FIELDEVAL FIELDDISPLAY usw. AutoCAD-Hilfe Beschriften von Zeichnungen > Anmerkungen und Bezeichnungen > Verwenden von Schriftfeldern in Text
Schriftfelder sind sozusagen die Nachfahren von RTEXT aus den Expresstools.
------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADblue Mitglied
Beiträge: 117 Registriert: 20.07.2011 acad2016 + civil 3d
|
erstellt am: 23. Jul. 2012 17:05 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
aha, danke cadffm hast mir mal wieder längst vergessenes ins gedächtnis gerufen. die schriftfelder um die es geht sind also "attrib"'s die einen bezug auf andere daten haben. klar ... leider kein anwendungsbereich für mich atm ... mfg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 23. Jul. 2012 17:11 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
muffinmaker Mitglied Architekt
Beiträge: 103 Registriert: 11.12.2007 AutoCAD 2014 Windows 7
|
erstellt am: 03. Nov. 2016 12:00 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Hallo zusammen, ich grabe das Thema nochmal aus, weil ich exakt das selbe Problem habe und einfach keine Einstellung finde, mit der ich einem mit einem Objekt verknüpften Textfeld (Umfang bzw. Fläche eines Polygons wird ausgelesen) sagen kann, dass es bitte vorgabemäßig das Komma als Dezimaltrennzeichen und ein m bzw m² als Suffix verwenden möge. Ist eine solche Einstellung möglich? Und wenn ja, wie?? Ein einmal eingestelltes Format ändert sich ja sogar dann, wenn nicht einmal auf ein neues Objekt verlinkt wird, sondern lediglich die Eigenschaft die ausgelesen werden soll geändert wird. Mit ratlosem Gruß, Tobias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Nov. 2016 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Dialog Schriftfeld: Objekt,Fläche, [zusätzliches Format...]In dem Dialog(zusätzliches Format) kannst du Dezimaltrennzeichen angeben, Präfix und Suffix und noch mehr. Edit: Dann schaust du dir den Schriftfeldcode an und kannst es im Code integrieren, damit der String entsprechend aufgebaut wird (falls deine Anfrage auf das kleine Tool oben abzielt).
Beispiel mit Komma und m²
Code: %<\AcObjProp.16.2 Object(%<\_ObjId 140702490057088>%).Area \f "%lu2%ps[,m²]%ds44">%
------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedelzastrow Mitglied Architekt / Bauzeichner
Beiträge: 993 Registriert: 05.07.2007 Win XP AutoCAD 2006 AutoCAD 2009 AutoCAD 2012 LT
|
erstellt am: 03. Nov. 2016 12:22 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Nov. 2016 12:37 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
|
muffinmaker Mitglied Architekt
Beiträge: 103 Registriert: 11.12.2007 AutoCAD 2014 Windows 7
|
erstellt am: 03. Nov. 2016 14:02 <-- editieren / zitieren --> Unities abgeben: Nur für ritmo
Schade, dass AutoCAD das nicht vorsieht... (von sich aus) Vielen Dank für die schnellen Antworten!! Edit: Gerade gesehen, dass das mein 100. Beitrag war!!
KUCHEN! [Diese Nachricht wurde von muffinmaker am 03. Nov. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |