Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  M-Text Farbe ändern

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:  M-Text Farbe ändern (2290 mal gelesen)
Ulf Giesecke
Mitglied
Strassenbautechniker


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

Beiträge: 224
Registriert: 13.08.2002

ACAD 2014, Windows 7 professional
Intel(R) Core(TM) i7 CPU, 870 2,93GHz, RAM 8.00GB, 64 Bit-Betriebssystem

erstellt am: 07. Mai. 2004 13:30    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

Servus,
kann man nicht bei mehrere M-Texten auf einmal die Farbe ändern ohne das man jeden einzelnen anklicken muß um im Editor die Farbe zu ändern.
Wenn ich meine Texte alle markiere und sie auf ein anderen Layer lege oder die Farbe änderen will funktioniert das nur soweit das die neu eingestellte Farbe zwar im Eig-Fenster usw. angezeigt wird, aber wenn ich den M-Text dann anwähle ist im Editor noch die alte eingestellt und ich muß sie dort nochmal ändern.
P.S. Ich möchte nicht global alle Texte ändern sondern nur eine bestimmte Anzahl

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

Ulf Giesecke
Mitglied
Strassenbautechniker


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

Beiträge: 224
Registriert: 13.08.2002

ACAD 2014, Windows 7 professional
Intel(R) Core(TM) i7 CPU, 870 2,93GHz, RAM 8.00GB, 64 Bit-Betriebssystem

erstellt am: 07. Mai. 2004 13:33    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

Bins nochmal,
Eigenschaften anpassen funktioniert auch nicht

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

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



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

Beiträge: 7085
Registriert: 13.01.2004

Sie nannten ihn google.

erstellt am: 07. Mai. 2004 13:36    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 Ulf Giesecke 10 Unities + Antwort hilfreich

Dies ist nur der Fall, wenn du deine Farben der MTexte nicht über ByLayer beziehst, sondern diesen im Mtext-editor eine Farbe zuweist.

Steht im MText-Editor die Farbwahl auf ByLayer ändert AC immer brav mit.

------------------
Grüsse

Thomas

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13508
Registriert: 30.11.2003

Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.

erstellt am: 07. Mai. 2004 14:52    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 Ulf Giesecke 10 Unities + Antwort hilfreich

Solche Änderungen haben doch immer das gleiche Prinzip :
1 .Einen gefilterten Auswahlsatz erstellen und
2. bei den einzelnen Elementen die entsprechende Eigenschaft ändern...
d.h. probiers mal damit....

(defun C:Change_color( / AUSWAHL INDEX OBJEKTDATEN FARBE)
  (if(and(or(and(setq AUSWAHL (ssget "I" '((0 . "MTEXT"))))(>(sslength AUSWAHL) 0))
            (and(setq AUSWAHL (ssget     '((0 . "MTEXT"))))(>(sslength AUSWAHL) 0))
)    
         (setq FARBE (ACAD_COLORDLG 0 'T))
     )
    (progn
      (setq INDEX -1)                                                    
      (repeat (sslength AUSWAHL)                    
        (setq OBJEKTDATEN(entget(ssname AUSWAHL (setq INDEX (1+ INDEX)))))
(if(assoc 62 OBJEKTDATEN)
          (setq OBJEKTDATEN(subst(cons 62 FARBE)(assoc 62 OBJEKTDATEN)OBJEKTDATEN)) 
          (setq OBJEKTDATEN  ( append Objektdaten (list(cons 62 FARBE))))           
        )
        (entmod OBJEKTDATEN)
      )
    )
  )
)


oder aber du meinst die Farbzuweisung in der Formatierung des Mtextes
/C .. glaube ich ..  aber wie soll das automatisch gehen -oder besser, wie wären da die Vorgaben für?
------------------
  - Thomas -

[Diese Nachricht wurde von CADmium am 07. Mai. 2004 editiert.]

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

molo
Mitglied
Dipl. Ing. Versorgungstechnik


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

Beiträge: 384
Registriert: 16.07.2002

Windows 7 64 bit, AutoCAD MEP 2012

erstellt am: 08. Jun. 2007 17:01    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 Ulf Giesecke 10 Unities + Antwort hilfreich

na da bin ich ja auf eine alte Kammele gestossen ;-)

ich habe jetzt auch mal wieder das selbe Problem.

Jemand hatr im Mtext mit /C Farben definiert. Ansich wollte ich sie alle auf von Layer setzen (bzw. die Formatierung löschen).

Da
habe ich in meiner Lisp-Sammlung diese schöne Lisp von flaschenpost gefunden. Mit dieser konn man stiele die in einem Mtext mit /f stehen löschen.

Also habe ich im zweiten Teil meinen Armseligen Versuch reingestellt, bei dem ich die LISP von Flaschenpost genommen habe und einfach im Editor stielname duch farbnummer und /f durch /c.

Funktioniert natürlich nicht. Aber für weitere Maßnahmen reicht mein Lisp eben nicht :-(

Ich bekomme immer die Fehlermeldung:

; Fehler: Fehlerhafter Argumentwert: positiv 0

---------------------------------------------------------
; MTEXT Bereinigen durch Entfernen von Stilüberschreibungen
; von Flaschenpost  ( cad.de ) - 31.01.2005
;
; enthält Funktionen mit freundl. Unterstützung der Seiten
; www.autolisp.mapcar.net/index.html
;
; Der gewählte Stil wird entfernt. Es genügt die Eingabe
; von "Romans" oder z.B. "Arial" (für alle Arial-Schriften),
; soll nur Arial Black entfernt werden, dann "Arial Black"
;
; Vor Verwendung auf Eignung prüfen !
;
; Der Stilname selbst darf in den Texten nicht vorkommen.
; Textinhalte nach Änderung überprüfen !

(defun str-pos(str c / i l ls lc)
  (setq i 1)
  (setq ls(strlen str))
  (setq lc(strlen c))
  (setq l(1+(- ls lc)))
  (while(and(<= i l)(/=(substr str i lc)c))
    (setq i(1+ i))
  )
  (if(<= i l)i)
)

(defun str-ipos(str c / )
  (str-pos(strcase str)(strcase c))
)


(defun str-remove(str pos n / )
  (strcat
    (substr str 1(1- pos))
    (substr str(+ pos n))
  )
)


(defun str-subst(str neu alt / i la str2)
  (setq i 1)
  (setq la(strlen alt))
  (setq str2 "")
  (while(<= i(strlen str))
    (if
      (=(substr str i la)alt)
      (progn
        (setq str2(strcat str2 neu))
        (setq i(+ i la))
      )
      (progn
        (setq str2(strcat str2(substr str i 1)))
        (setq i(1+ i))
      )
    )
  )
  str2
)


(defun stil_austausch
  (/ stiln_neu mt_wahl nr n txt_inh anfpos semi anfbl eklam aklam kl_txt kl_txt1 kl_txt2)


(if (or (= stilname nil)(= stilname ""))
    (setq stilname (getstring "\nStilname, der entfernt werden soll: "))
    (progn   
    (if (/= (setq stiln_neu (getstring
            (strcat "\nStilname für Entfernung '" stilname "' ändern? [weiter mit Enter]: "))) "")
        (setq stilname stiln_neu)
    )           
    )
)


;(setq stilname (strcat "\f" stilname))

(print "Mtext wählen :")
(while (= (setq mt_wahl (ssget (list '(0 . "MTEXT")(cons 1 (strcat"*" stilname "*"))))) nil)
          (progn
          (print "Kein Mtext gewählt oder Stilname nicht vorhanden")
          (if (/= (setq stiln_neu (getstring
              (strcat "\nStilname für Entfernung '" stilname "' ändern? [weiter mit Enter]: "))) "")
              (setq stilname stiln_neu)
          )           
          );progn

 
(setq nr -1)
(repeat (sslength mt_wahl)
 
  (setq mtext  (entget (ssname mt_wahl (setq nr (1+ nr))) ))
  (setq txt_inh (cdr (assoc 1 mtext)))

(while (/= (str-ipos txt_inh stilname) nil)
 
  (progn
 
  (setq anfpos (str-ipos txt_inh stilname)) 
  (setq txt_inh (str-subst txt_inh (strcat "f" stilname)(strcat "F" stilname)) ) 


  (setq n 1)
  (while (/= (substr txt_inh (- anfpos n) 1) "\f") (setq n (1+ n))  )
  (setq anfbl (- anfpos n))
 
  (setq n 1)
  (while (/= (substr txt_inh (+ anfpos n) 1) ";") (setq n (1+ n))  )
  (setq semi (+ anfpos n))
 
  (setq txt_inh_neu (str-remove txt_inh (1- anfbl) (+ (- semi anfbl)2)) )
  (setq txt_inh txt_inh_neu)
  ); progn
);while


  ;Klammern bereinigen
  (while (/= (setq aklam (str-ipos txt_inh "{")) nil)
      (progn
      (setq eklam (str-ipos txt_inh "}"))
      (setq kl_txt (substr txt_inh aklam eklam))
      ;wenn Farbe, Unterstreichen, weiterer Text
      (if (= (or (wcmatch kl_txt "*\C*")
              (wcmatch kl_txt "*\L*")(wcmatch kl_txt "*\F*")(wcmatch kl_txt "*'\\f*")) T)
      (progn ; Klammern ersetzen
      (setq kl_txt1 (str-subst kl_txt "#~" "{"))
      (setq kl_txt2 (str-subst kl_txt1 "~#" "}"))
      (setq txt_inh (str-subst txt_inh kl_txt2 kl_txt))
      )
      (progn ; sonst Klammern löschen
      (print "klammern werden gelöscht")
      (setq txt_inh (str-remove txt_inh aklam 1))   
      (setq txt_inh (str-remove txt_inh (1- eklam) 1))
      )
      ); if

      ); progn
  );while
 

  (setq txt_inh (str-subst txt_inh "{" "#~")); Klammern wieder einsetzen
  (setq txt_inh (str-subst txt_inh "}" "~#"))

  (setq mtext_neu (subst (cons 1 txt_inh)(assoc 1 mtext) mtext) )
  (entmod mtext_neu)
)


);defun


(defun c:MTB ()
(stil_austausch)
)

;
(princ "\nMTEXT Bereinigen geladen, Start mit: MTB ")
(princ)

-----------------------------------------------------------


-----------------------------------------------------------
; MTEXT Bereinigen durch Entfernen von Farbüberschreibungen
; von Flaschenpost  ( cad.de ) - 31.01.2005
;
;;;; Stümperhaft und ohne zu wissen was er da richtig macht
;;;; vbersucht zu Ändern von MoLo
;
; enthält Funktionen mit freundl. Unterstützung der Seiten
; www.autolisp.mapcar.net/index.html
;
;;;; Der gewählte Farbnummer sollte etnfehrnt werden.
;;;; Tut sie aber nicht!
;;;; Es sollte die Eingabe
;;;; von "7" (für alle weißen-Schriften),
;;;; genügen
;
; Vor Verwendung auf Eignung prüfen !
;
; Der farbnummer selbst darf in den Texten nicht vorkommen.
; Textinhalte nach Änderung überprüfen !
;;
;;;; UPS hier wird es ja ganz böse. Habe ich erst wieder hier in
;;;; CAD.de gesehen. Dass in einem Text Arial oder änliches vorkommt
;;;; ist eher selten. Aber bei einfachen Zahlen ist es eher die Regel
;;;;
(defun str-pos(str c / i l ls lc)
  (setq i 1)
  (setq ls(strlen str))
  (setq lc(strlen c))
  (setq l(1+(- ls lc)))
  (while(and(<= i l)(/=(substr str i lc)c))
    (setq i(1+ i))
  )
  (if(<= i l)i)
)

(defun str-ipos(str c / )
  (str-pos(strcase str)(strcase c))
)


(defun str-remove(str pos n / )
  (strcat
    (substr str 1(1- pos))
    (substr str(+ pos n))
  )
)


(defun str-subst(str neu alt / i la str2)
  (setq i 1)
  (setq la(strlen alt))
  (setq str2 "")
  (while(<= i(strlen str))
    (if
      (=(substr str i la)alt)
      (progn
        (setq str2(strcat str2 neu))
        (setq i(+ i la))
      )
      (progn
        (setq str2(strcat str2(substr str i 1)))
        (setq i(1+ i))
      )
    )
  )
  str2
)


(defun stil_austausch
  (/ stiln_neu mt_wahl nr n txt_inh anfpos semi anfbl eklam aklam kl_txt kl_txt1 kl_txt2)


(if (or (= farbnummer nil)(= farbnummer ""))
    (setq farbnummer (getstring "\nfarbnummer, der entfernt werden soll: "))
    (progn   
    (if (/= (setq stiln_neu (getstring
            (strcat "\nfarbnummer für Entfernung '" farbnummer "' ändern? [weiter mit Enter]: "))) "")
        (setq farbnummer stiln_neu)
    )           
    )
)


;(setq farbnummer (strcat "\c" farbnummer))

(print "Mtext wählen :")
(while (= (setq mt_wahl (ssget (list '(0 . "MTEXT")(cons 1 (strcat"*" farbnummer "*"))))) nil)
          (progn
          (print "Kein Mtext gewählt oder farbnummer nicht vorhanden")
          (if (/= (setq stiln_neu (getstring
              (strcat "\nfarbnummer für Entfernung '" farbnummer "' ändern? [weiter mit Enter]: "))) "")
              (setq farbnummer stiln_neu)
          )           
          );progn

 
(setq nr -1)
(repeat (sslength mt_wahl)
 
  (setq mtext  (entget (ssname mt_wahl (setq nr (1+ nr))) ))
  (setq txt_inh (cdr (assoc 1 mtext)))

(while (/= (str-ipos txt_inh farbnummer) nil)
 
  (progn
 
  (setq anfpos (str-ipos txt_inh farbnummer)) 
  (setq txt_inh (str-subst txt_inh (strcat "f" farbnummer)(strcat "F" farbnummer)) ) 


  (setq n 1)
  (while (/= (substr txt_inh (- anfpos n) 1) "\c") (setq n (1+ n))  )
  (setq anfbl (- anfpos n))
 
  (setq n 1)
  (while (/= (substr txt_inh (+ anfpos n) 1) ";") (setq n (1+ n))  )
  (setq semi (+ anfpos n))
 
  (setq txt_inh_neu (str-remove txt_inh (1- anfbl) (+ (- semi anfbl)2)) )
  (setq txt_inh txt_inh_neu)
  ); progn
);while


  ;Klammern bereinigen
  (while (/= (setq aklam (str-ipos txt_inh "{")) nil)
      (progn
      (setq eklam (str-ipos txt_inh "}"))
      (setq kl_txt (substr txt_inh aklam eklam))
      ;wenn Farbe, Unterstreichen, weiterer Text
      (if (= (or (wcmatch kl_txt "*\C*")
              (wcmatch kl_txt "*\L*")(wcmatch kl_txt "*\c*")(wcmatch kl_txt "*'\\c*")) T)
      (progn ; Klammern ersetzen
      (setq kl_txt1 (str-subst kl_txt "#~" "{"))
      (setq kl_txt2 (str-subst kl_txt1 "~#" "}"))
      (setq txt_inh (str-subst txt_inh kl_txt2 kl_txt))
      )
      (progn ; sonst Klammern löschen
      (print "klammern werden gelöscht")
      (setq txt_inh (str-remove txt_inh aklam 1))   
      (setq txt_inh (str-remove txt_inh (1- eklam) 1))
      )
      ); if

      ); progn
  );while
 

  (setq txt_inh (str-subst txt_inh "{" "#~")); Klammern wieder einsetzen
  (setq txt_inh (str-subst txt_inh "}" "~#"))

  (setq mtext_neu (subst (cons 1 txt_inh)(assoc 1 mtext) mtext) )
  (entmod mtext_neu)
)


);defun


(defun c:MTB ()
(stil_austausch)
)

;
(princ "\nMTEXT Bereinigen geladen, Start mit: MTB ")
(princ)

------------------
Schöne Grüsse,
Morten

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

molo
Mitglied
Dipl. Ing. Versorgungstechnik


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

Beiträge: 384
Registriert: 16.07.2002

Windows 7 64 bit, AutoCAD MEP 2012

erstellt am: 08. Jun. 2007 17:12    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 Ulf Giesecke 10 Unities + Antwort hilfreich

Na da habe ich noch ein wenig gesucht und auch diesen Link gefunden.
http://ww3.cad.de/foren/ubb/Forum54/HTML/010738.shtml#000000

Das ist doch genau das richtige :-)

Danke Jörn

------------------
Schöne Grüsse,
Morten

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