Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Blöcke mit mehrzeiligen Attribut und Schriftfeldern

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

Anzeige:

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:  Blöcke mit mehrzeiligen Attribut und Schriftfeldern (1153 mal gelesen)
StefanW
Mitglied
Techniker


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

Beiträge: 147
Registriert: 17.04.2003

erstellt am: 21. Jan. 2016 10:41    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


M_Attribute1.JPG

 
Hallo !

Beim Versuch, bei Blöcken mit einem mehrzeiligen Attribut (MText) per Programm die Attributsreferenz des Blockinserts mit einem Schriftfeld zu füllen (Bezug auf ein anderes Objekt), habe ich das Problem, dass die Darstellung nicht aktualisiert wird. Entweder es erscheinen Rauten oder aber der String, der sich hinter dem Schriftfeld verbirgt (siehe Screenshot).
Mir gelingt es zwar, über "attsync" die richtige Darstellung der mehrzeiligen Attributsreferenz zu erzwingen, leider wirkt sich das jedoch auf alle anderen, manuell verschobenen Attributsreferenzen des gleichen Blockes aus. Die werden wieder an ihre ursprünglich definierte Position verschoben, und dies möchte ich absolut vermeiden.
Warum verwende ich ein mehrzeiliges Attribut ? Ich möchte bei den Attributen den Texthintergrund verwenden, um eine Freistellung zu erreichen. Das geht aber nur mit MText. Versuche über "vla-UpdateMTextAttribute" sind bei mir fehlgeschlagen, da sie ja nur auf Attribute und nicht auf Attributreferenzen anwenden lassen. Kein Glück hatte ich auch mit der Methode "vla-Update".
Dieses Darstellungsproblem tritt auch nur bei MText-Attributsreferenzen mit Schriftfeld auf, unabhängig von Texthintergrund des MText. D.H. mit "normalen" MText-Attributsreferenzen (ohne Textfeld) funktioniert alles bestens.

Hat hier jemand ne Idee oder ne Richtung, wie ich das Problem lösen könnte ?

Gruß Stefan



Geändert: Attribute und Attributsreferenzen (oh Mann, ein Gewurstel....), Danke für den Hinweis !

[Diese Nachricht wurde von StefanW am 21. Jan. 2016 editiert.]

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 21. Jan. 2016 10:48    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 Nur für StefanW 10 Unities + Antwort hilfreich

Da war ich zu voreilig. Gestrichen und bis gleich 
Irgendwas stimmt bei deiner Beschreibung nicht, oder ich habe mich 2x verlesen.

Gelesen habe ich das du einen Schriftfeldcode als Attributwert einfügen möchtest.
Du schreibst aber das Attsync zu Erfolg führt? Imo passt da was nicht.

Stelle doch der Einfachheit eine BeispielDWG mit Blockreferenz zur Verfügung,
ggf. gleich mit Beispiel-Schriftfeld den du eigentlich im Attributwert haben willst.

Anmerkung:
"Attributreferenz": AttributDEFINITION -> ATTRIBUT so wäre es besser ausgedrückt,
denn ein Attribut referenziert NICHT!

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

cadffm
Moderator
良い精神




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

Beiträge: 21533
Registriert: 03.06.2002

Alles

erstellt am: 21. Jan. 2016 11:23    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 Nur für StefanW 10 Unities + Antwort hilfreich

Gehe den Weg VL,
(vla-put-TextString
(vlax-ename->vla-object (car(nentsel))) ; <= Attribut als vlobj
"%<\\AcObjProp Object(%<\\_ObjId 140695095835664>%).Layer>%"
)

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

StefanW
Mitglied
Techniker


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

Beiträge: 147
Registriert: 17.04.2003

erstellt am: 21. Jan. 2016 12:03    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


Test_Attrib_Mtext.dwg


Mtext_Attribut_Field.LSP.txt

 
Hallo cadffm !

Wird ich auf alle Fälle testen !
Hab hier noch mal ne Mini-Lisp und die dazugehörige Zeichnung angehängt, damit man es mal nachvollziehen kann.
Vielleich kanns der ein oder andere ja gebrauchen.
Sobald ich Erfolg habe, meld ich mich nochmal.

Gruß
Stefan

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

StefanW
Mitglied
Techniker


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

Beiträge: 147
Registriert: 17.04.2003

Civil 2018
BricsCAD V19

erstellt am: 26. Jan. 2016 13:19    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


Mtext_Attribut_Field.LSP.txt

 
Hallo !

Der Tip von cadffm war genau der richtige!
Hier nun die angepasste Version des kleinen Lisp-Programmes. Wer es nutzen möchte, sollte darauf achten, das "nentsel" je nach Objekt (Insert/Attributsreferenz) unterschiedliche Rückgaben liefert !

Gruß
Stefan

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
Antwort erstellen


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

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

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

(c)2023 CAD.de | Impressum | Datenschutz