Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  FAQ: Anzeige von Objekt- und Dateieigenschaften als Text - SCHRIFTFELD _FIELD RTEXT

  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Thema geschlossen  Thema geschlossen!
Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  FAQ: Anzeige von Objekt- und Dateieigenschaften als Text - SCHRIFTFELD _FIELD RTEXT (1480 mal gelesen)
FAQ
Mitglied



Sehen Sie sich das Profil von FAQ an!   Senden Sie eine Private Message an FAQ  Schreiben Sie einen Gästebucheintrag für FAQ

Beiträge: 37
Registriert: 26.11.2003

System: F1
und Google

erstellt am: 03. Apr. 2019 15:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

FAQ: Anzeige von Objekt- und Dateieigenschaften als Text - SCHRIFTFELD _FIELD RTEXT

Zwei Hilfe[F1]links zum Thema vorab: SCHRIFTFELD und FIELDEVAL


Anstatt einem statischen Textwert kann man mit Hilfe eines "Schriftfeld" einen dynamischen Textwert angeben,
dieses kann Objekt- und Dateieigenschaften anzeigen - und noch mehr. (gilt auch für den Inhalt von MTExt und Attributen, auch Maßtext etc.)


Am einfachsten ist das Thema an Beispielen aufzuzeigen:

In einem Text,MText,Attribut,Maßtext,Tabelle usw. könnte man beispielsweise folgendes anzeigen lassen:
- den Layernamen auf dem das Objekt selbst liegt (falls auf das Objekt selbst nicht zugegriffen werden kann, siehe Beispiel.DWG)
- die Einfügekoordinaten einer bestimmten Blockreferenz
- den Namen des Layouts in dem sich das Anzeigeobjekt befindet (MText, Attributen usw.)
- die Flächeninformation einer Polylinie oder einer Schraffur
- den Textwert/Inhalt eines anderen Textobjektes
- die Summe aus mehreren anderen Textinhalten, hat man zwei Texte mit Inhalt "202" und 5000", so
  kann man in seinem Anzeigeobjekt 5202 anzeigen lassen, oder immer 100 weniger? immer + 4%?,
  oder stets die Hälfte? Alles kein Problem!

- und so weiter

Es gibt soooviel Möglichkeiten, unmöglich alles "kurz" aufzuzählen und jede einzelne Möglichkeit kann man
persönlich in einen ganz anderen Kontext bringen, daher nur die grobe Übersicht:


-----

Anmerkung: Der Dialog für die Schriftfelder bietet nicht alle Möglichkeiten an, so gibt es durchaus die Möglichkeit
den Schriftfeldcode händisch zu erstellen und anzupassen.
Fügt man den Code anschließend in Acad ein, so wird daraus
ein entsprechendes Schriftfeld generiert.
Beispiel eines Standard Schriftfeldes: %<\AcVar Date \f "%#c">%
Einfach Strg+C/Str+V in ACAD einfügen.. entweder in den Modell oder Papierbereich,
oder als Wert im Texteditor, oder auch Eigenschaften-Palette, wie auch immer.

Hier ein Thread zu: Mathematische Funktionen für Formel im Schriftfeld

oder wen Objekteigentschaften interessiert, der sollte sich in an dem Vokabular der Programmierer orientieren.
Mit Dialogfeld ermittelter Schriftfeldcode: %<\AcObjProp Object(%<\_ObjId 140701224426640>%).PlotStyleName>%
zeigt den Plotstil eines Objektes aus.
Jedes Objekt in einer Datei hat eine für die Datei eindeutige ID (das Handle), diese "Eigenschaft" wird aber nicht angeboten,
also ändert man es selbst im Code ab und fügt es in ACAD ein: %<\AcObjProp Object(%<\_ObjId 140701224426640>%).Handle>%

PS: Nein, es gibt keine Vollständige Liste in der "alles Mögliche" steht.

-----

Oft geäußerter Wunsch: Block, einmal Attributwert eintippen, aber in mehreren Attributen anzeigen lassen.
Klassiker: Schnitt- oder Ansichts-Angaben, aber auch viele andere Anwendungsfälle. Nachdem man bis heute in
diesem und anderen Foren öfters geschrieben steht wie man dies erreichen kann, aber der perfekte Weg fehlte meiner Erinnerung nach,
möchte ich dies hier als zweites explizite Beispiel zu "So gibt es durchaus die Möglichkeit den Schriftfeldcode händisch zu erstellen und anzupassen" nutzen.

Standardblock, Anzeige eines Attributwertes in mehreren Attributen mit bereits in der Blockdefinition vordefiniertem Schriftfeld:
Man erstellt einen Block mit Attributdefinitionen wie gehabt,
angenommen man erstellt zwei nicht konstante Attributdefinitionen ATT1 und ATT2.
ATT1 wird vom Benutzer (oder wie auch immer) ausgefüllt und ATT2 soll den Wert aus ATT1 später auslesen und anzeigen.

Man nimmt dafür den Standardcode für ein Blockplatzhalter-Schriftfeld für Blockreferenzen und als Eigenschaft
setzt man den Attributnamen ein: %<\AcObjProp.16.2 Object(?BlockRefId,1).ATT1>%
(als Vorgabewert in eine nicht-konstante Attributdefinition (ATTDEF) und schon klappts)

BEISPIEL.dwg <klick mich hier>

Beim testen vergesst nicht das Schriftfeld-update anzuschubsen, je nach FIELDEVAL reicht bereits ein REGEN, sonst ändert sich nichts am Bildschirm     
-----

Was ich hier nicht behandeln und nur die ganz neugierigen Leser darauf schubsen möchte:
Schriftfelder können DIESEL-Ausdrücke enthalten, dafür braucht man nun nicht mehr zwingend den RTEXT
welcher in LT nicht funktionieren würde, aber RTEXT kann man wie native Dieselfunktionen nutzen, also
wer aktuell nichts besseres vorhat und kein LT User ist: Vielleicht mal RTEXT in der Hilfe nachlesen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag öffnen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz