Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  MText Höhe, Farbe, etc. ändern geht nicht -> Texthintergrund

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:  MText Höhe, Farbe, etc. ändern geht nicht -> Texthintergrund (2471 mal gelesen)
zech
Mitglied



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

Beiträge: 89
Registriert: 09.11.2004

Autocad Architecture 2016
Civil3D 2016

erstellt am: 27. Mai. 2016 10:34    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 eine Lispanwendung mit der ich MText Höhen ändere.
Beispiel:
(setq a (entget (car (entsel))))
(setq a (subst (cons 40 7.0)(assoc 40 a) a))
(entmod a)

Habe ich gerade eine MText geschrieben, kann ich mit diesem Codeschnipsel die Höhe ändern. Markiere ich dann den Text und stelle
im Eigenschaftenfenster einen Texthintergrund ein (einfach nur das Häkchen setzen) kann ich mit aktiviertem
Hintergrund auch die Höhe ändern. Stelle ich jetzt aber in den Eingenschaften den Hintergrund auf "Nein"
ändert sich der Text nicht mehr, auch eine andere Farbe oder der Layer gehen nicht mehr einzustellen.
(entmod a) liefert immer "nil" anstatt den geänderten Datensatz. Stelle ich den Hintergrund wieder auf "Ja"
kann ich alle Änderungen machen. Wenn man den Hintergrund einmal eingestellt hat ist der Text nicht mehr
ohne ihn mit Lisp änderbar, sehe ich das so richtig?
Kann ich mit Lisp daran etwas ändern und den MText wieder "geradebiegen"?

Danke
 


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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 27. Mai. 2016 10:58    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 zech 10 Unities + Antwort hilfreich

Du änderst die PapierTextHöhe nach dem ändern stimmt diese nicht mit dem vorgegebenen Textstyle überein daher ist diese dann unzulässig.
Probier mal :
(setq a (car (entsel))))
(setpropertyvalue a "TextHeight" 7.0)


------------------
Gruß Wolfgang 

Alias: Rabbit007 und Wolli1

[Diese Nachricht wurde von Meldin am 28. Mai. 2016 editiert.]

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

zech
Mitglied



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

Beiträge: 89
Registriert: 09.11.2004

Autocad Architecture 2016
Civil3D 2016

erstellt am: 27. Mai. 2016 11:13    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 Meldin,
danke für die schnelle Antwort. Ich betrachte es als Workaround. Es funktioniert. Mit der Erklärung bin ich nicht so ganz konform, da ich auch nicht den Layer oder die Farbe ändern kann. mit "subst ...." kann ich gar nichts an diesen Daten ändern. Genau in dem Moment indem ich einmal nur den Texthintergrund an- und dann wieder ausgeschaltet habe.

Ich werde die entsprechenden Stellen ändern, wahrscheinlich gibt es Inkompatibilitäten mit "altem" Lispcode.

Danke

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: 27. Mai. 2016 13:13    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 zech 10 Unities + Antwort hilfreich

Die Erklärung von Meldin sehe ich als falsch an, abgesehen davon das er die richtige, echte (Modell)Höhe ändert/ändern möchte,
so ist das Problem eine fehlerhafte Programmierung seitens Adesk - ohne jetzt in den Tiefen nach irgendwas zu suchen.

1. Hat die Texthöhe des Stiles nichts mit dem vorhandenen Textobjekt zutun.
2. Ist die "Papier/Modellhöhe" eine Sache die bei Beschriftungs-("Text")Objekten angezeigt wird,
   wobei die "Papierhöhe" die angezeigte Höhe ist und die Modellhöhe die richtige/gespeichert Eigenschaft.
   Das beschriebene Problem betrifft jedoch ganz allgemein MTexte, auch welche nicht als Beschriftungsobjekt deklariert sind.
   (eine PapierTextHöhe ist keine Eigenschaft, sondern eine berechnete Größe vom System, basierend auf Höhe und den Eigenschaften des Beschr.Maßstabes)

3. Es fehlt einfach ein ordentliches "Objekt-Update" nach entfernen der Hintergrund-Info.
   Nach dem es nicht mehr funktioniert wie es sollte: Datei speichern,schließen,öffnen,testen..voila.
Oder einfach das Objekt kopieren und mit dem neuen Objekt testen.
   Mit VL kein Problem, mit Entmod ist aber zunächst schluß.

Mich würde es sehr interessieren wie sich das ganze in 200(4/5) bis 2007 verhielt.

Wobei man noch erwähnen kann das die AutoLisp/DXF Datenspeicherung zum MText-Hintergrund generell etwas "schief" läuft aus AutoLisp/DXF-Sicht.

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

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

zech
Mitglied



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

Beiträge: 89
Registriert: 09.11.2004

Autocad Architecture 2016
Civil3D 2016

erstellt am: 27. Mai. 2016 13:20    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,
sehe ich genauso. Fehler seitens Adesk.

Ein schönes Wochenende
aus Berlin

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: 27. Mai. 2016 15:40    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 zech 10 Unities + Antwort hilfreich

Nachtrag: Wie vermutet war das Problem 2007 noch nicht vorhanden,
ich nehme an das es mit 2008 kam (Start der Beschriftungsfunktionalität).
Offenbar wurde das MText-Hintergrund Handling dabei geändert.

In 2009 gibt es auch kein Problem.
In 2011 gibt es auch kein Problem.
2012 unbekannt
Und ab mind. 2013 gibt es das Problem.

EDIT: Infos angepasst

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

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

Meldin
Mitglied



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

Beiträge: 381
Registriert: 15.07.2011

ACA2020
Windows10

erstellt am: 28. Mai. 2016 10: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 Nur für zech 10 Unities + Antwort hilfreich

Ja stimmt sieht wie ein eigenwilliger Fehler aus Sorry.
Oben im Beitrag Text gestrichen und Code stehen gelassen.
Daher sollte man nur auf die neuen LISP oder VL Befehle zurückgreifen.


Unwichtige Anmerkung:
Wie schon von CADFFM beschrieben werden die Daten nach dem ändern nicht richtig zurückgeschrieben.
Hier scheint es so das ein einmal geändertet MText immer den Eintrag Background behällt.
Dies kann man testen da wie mit Zechs Code eine Erstellung mit (entmod a) immer nil ergibt anstatt die neu erstellten entget Daten des neunen Objekts. Fügt man z.B. nach der subst Zeile

Code:
(setq a (append a '((90 . 1) (63 . 1) (45 . 1.5) (441 . 0))))
ein funktioniert (entmod a) aufeinmal wieder aber man hat auch den Hintergrund wieder.   

------------------
Gruß Wolfgang

Alias: Rabbit007 und Wolli1

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