Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Verzweifle an MText Gruppencode

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:  Verzweifle an MText Gruppencode (909 mal gelesen)
Kucklies
Mitglied


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

Beiträge: 5
Registriert: 09.06.2004

erstellt am: 09. Jun. 2004 11:11    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

Hallo,
ich habe bis jetzt einiges mit den Gruppencodes realisiert. Nur bei MText funktioniert das Ganze nicht.

Habe z.B. folgendes Prog:

(defun c:bsp1( / data)
  (setq data(entget(car(entsel "Text wählen: "))))
  (entmod
    (list
      (assoc -1 data)
      '(40 . 3.5)
    )
  )
)


Der Gruppencode 40 wird in der Hilfe als "ursprüngliche nominale Texthöhe" bezeichnet.
Wende ich das Programm an, verschwindet der Text. Mit drücken von CTRl-A erscheinen dann 3 Punkte.

Bei einzeiligem Text funktioniert das Ganze.

Weiß jemand weiter?

Gruß Bernhard

------------------
Bernhard Kucklies

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


Ex-Mitglied

erstellt am: 09. Jun. 2004 11:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von Kucklies:
Hallo,
ich habe bis jetzt einiges mit den Gruppencodes realisiert. Nur bei MText funktioniert das Ganze nicht.

Habe z.B. folgendes Prog:

(defun c:bsp1( / data)
  (setq data(entget(car(entsel "Text wählen: "))))
  (entmod
    (list
      (assoc -1 data)
      '(40 . 3.5)
    )
  )
)


Was passiert, wenn Du die komplette Entity-Liste modifizierst und an ENTMOD übergibst? Also

(entmod (subst '(40 . 3.5) (assoc 40 data) data))

Tom Berger

------------------
Architekturwerkzeuge für AutoCAD: http://www.archtools.de

Kucklies
Mitglied


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

Beiträge: 5
Registriert: 09.06.2004

erstellt am: 09. Jun. 2004 14:02    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

Das ist ja genial. Warum bin ich nicht selbst darauf gekommen? Es funktioniert. es läßt sich sogar die referenzierte Breite des Rechtecks(GC 41) an die tatsächliche Textbreite(GC 42) anpassen.

Ist dises Verhalten eigentlich fehlerhaft? In der Literatur findet man immer wieder Hinweise, daß die Funktion "entmod" nur die geänderten Daten benötigt, und die anderen ignoriert. Oder stellen MTexte hier weitergehende Anforderungen? Gibt`s noch mehr Entity-Typen die sich derart verhalten?

Grüße und vielen Dank
Bernhard

------------------
Bernhard Kucklies

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


Ex-Mitglied

erstellt am: 09. Jun. 2004 14:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Zitat:
Original erstellt von Kucklies:
Ist dises Verhalten eigentlich fehlerhaft? In der Literatur findet man immer wieder Hinweise, daß die Funktion "entmod" nur die geänderten Daten benötigt, und die anderen ignoriert. Oder stellen MTexte hier weitergehende Anforderungen? Gibt`s noch mehr Entity-Typen die sich derart verhalten?

Es gab mW schon seit R13 oder R14 Entities, die diese Kurzform nicht akzeptierten. Ohne es jetzt getestet zu haben, vermute ich bei LWPolylinien dasselbe Verhalten. Ich übergebe prinzipiell die komplette Entity-Liste, aber auch da gibt es bei einigen Entities Probleme mit bestimmten exotischen Gruppencodes. Und natürlich muss man beachten, dass seit dem Umstieg auf objektorientiertes Programmieren die Entity-Listen keine ASSOC-Listen mehr sind - bei MTEXT hast Du z.B. jede Menge Elemente mit Gruppencode 1, bei LWPolylinien jede Menge Elemente mit Gruppencode 10 usw.

Tom Berger

------------------
Architekturwerkzeuge für AutoCAD: http://www.archtools.de

Kucklies
Mitglied


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

Beiträge: 5
Registriert: 09.06.2004

erstellt am: 09. Jun. 2004 14: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

Alles klar. Dies sind jetzt 2 Wege die zum Ziel führen. Dies wird für meine Zwecke ausreichend sein.
Nochmals Danke für den Hinweis
Bernhard

------------------
Bernhard Kucklies

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