Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Ändern von Text mit entmod (Mtext + Text)

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:  Ändern von Text mit entmod (Mtext + Text) (1685 mal gelesen)
Mci
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 28.02.2006

Acad 2004, Windows 2000 Professional, Service Pack 4

erstellt am: 16. Mrz. 2006 19:08    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 liebe Leute, hier eine Verständnisfrage (für mich als Lisp-Anfänger) zum Ändern von Texten mit entmod:

Im Lisp-Tutorial von Axel-Strube Zettler kann man in Lektion "Flickschusterei" folgendes nachlesen:
entmod kann aufgerufen werden mit
A) einer vollständigen Liste (entity-name+dxf-codes) oder
B) nur mit entity-namen und dem zu ändernden Wert.
Nun ist B) einfacher und hat bei mir auch immer gut funktioniert. Beim Ändern von Texten geht B) aber anscheinend nur bei "Text" und nicht bei "MText". Bei "Mtext" bin ich gezwungen auf A) zurückzugreifen. Hat jemand dafür eine Erklärung?


Beispiel:
Warum funktioniert dieser Ausdruck mit Text, aber nicht mit MText?

(entmod (list (assoc -1 (entget(car(entsel)))) (cons 1 "???")))

1) Bei einem entity "TEXT" wird der dxf-code 1 wie vorgesehen mit "???" überschrieben.
2) Bei einem entity "MTEXT" wird der dxf-code 1 fälschlicherweise mit "" überschrieben, so daß er in der Zeichnung nicht mehr zu sehen ist. Dies läßt sich nur mit
3) umgehen, was sowohl bei "Text" als auch bei "Mtext" funktioniert:
(setq ent (entget(car(entsel))))
(entmod (subst (cons 1 "???") (assoc 1 ent) ent))

Übrigens: So an der Konsole eingegeben funktioniert dann "zurück" nicht. Liegt das daran, daß so ein Lisp-Ausdruck kein "Programm" ist, das z.B. über "c:..." erstellt werden kann?

------------------
Gruß,
Tom

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

CADwiesel
Moderator
CAD4FM UG




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

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 20. Mrz. 2006 08:38    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 Mci 10 Unities + Antwort hilfreich

Ich kann deine Erkenntniss nicht nachvollziehen.
1. geht alles so wie es auch gehen sollte und
2. ist es richtig, das ein 'simples' zurück solche autolispausdrücke nicht berücksichtigt. das musst du extra einbauen mit undomarken.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

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

Mci
Mitglied
Konstrukteur


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

Beiträge: 15
Registriert: 28.02.2006

Acad 2004, Windows 2000 Professional, Service Pack 4

erstellt am: 24. Mrz. 2006 09:00    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

An Cadwiesel:
Zu 1: Habe einen Beitrag im Forum vom gefunden, der genau dieses Thema schon einmal behandelt: "Verzweifle an MText Gruppencode" vom 09. Jun. 2004. Auch hier wird beschrieben, daß bei MText die volle geänderte Liste übergeben werden sollte, da es sonst zu einem "leeren" Text kommt. Die Übergabe an entmod nur mit dem geänderten Wert und dem entity-Namen funktioniert bei Dir???

------------------
Gruß,
Tom

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