| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Text aendern (1651 mal gelesen)
|
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 03:14 <-- editieren / zitieren --> Unities abgeben:
Ich bitte um Hilfe des folgenden Programs zum aendern von Text. Das Programm arbeitet nur wenn die Farbe geaendert wird aber nicht wenn die Texthoehe allein eingegeben wird, denn dann tut sich ueberhaupt nichts. Ich habe schon alles moegliche ausprobiert aber ich komme einfach nicht weiter. Das Programm benutze ich mit ACAD 2011. Giovanni Code: (DEFUN C:AETXT () (defun *error* (meldung)(grtext)(princ)) (defun ac (v / v) (assoc v tasa)) (defun ers (x y z)(setq tasa (subst (cons x y) z tasa)))(menucmd "S=BLOCK 3")(setq asa (ssget)) (if (= asa nil)(print "No object selected ") (progn(setq wasa (sslength asa))(menucmd "S=S") ) ; end progn ) ; end if (setq sp '(0 0 0)) (if (/= asa nil) (progn (setq clr (getint "\nNew Color, Return if no change: ")) (setq stn (getstring "\nNew Textstyle, Return if no change: ")) (setq brn (getreal "\nNew Width, Return if no change: ")) (setq thn (getreal "\nNew Texthight, Return if no change: ")) (setq swn (getreal "\nNew Obliquing angel, Return if no change: "))) ) ; end if (if (/= swn nil)(setq swn (/ (* pi swn) 180.0)) ) ; end if (setq z1 0) (while (< z1 wasa) (if (= "TEXT" (cdr (assoc 0 (setq tasa (entget (ssname asa z1)))))) (progn (setq cla (ac 62) tha (ac 40) bra (ac 41) swa (ac 51) sta (ac 7) ysa (cddr tsa) sp (cons (car sp) ysa) ) ; end setq (if (/= swn nil)(ers 51 swn swa)) (if (and brn (> brn 0.0)) (ers 41 brn bra)) (if (and thn (> thn 0.0)) (ers 40 thn tha)) (if (/= stn "")(ers 7 stn sta)) (if (/= clr "")(ers 62 clr cla)) (entmod tasa) ) ; end progn ) ; end if (setq z1 (1+ z1)) ) ; end while (grtext)(princ) ) ;EOF C:AETXT.LSP
[Diese Nachricht wurde von giovanni64 am 23. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dober Heinz Mitglied Technischer Zeichner
Beiträge: 1146 Registriert: 20.12.2002 Autocad 2021/64B Win10 WORKSTATION Intel(R) CPU E5-1620 3.60GHz 32 GB Ram 64 Bit-Betriebssystem HP Designjet T7200 Grafik NVIDIA Quadro P4000 ZWCAD2021
|
erstellt am: 23. Aug. 2011 06:41 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
|
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 08:13 <-- editieren / zitieren --> Unities abgeben:
|
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 23. Aug. 2011 08:36 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Hallo Giovanni, ich habe mal unter ACAD 2012 getestet, die Texthöhe wird bei mir geändert, auch unabhängig davon, ob im verwendeten Textstil eine Höhe definiert ist oder nicht. Was mir aufgefallen ist: die Farbe wird nicht geändert, wenn beim Text der GC 62 nicht enthalten ist (Farbe vonLayer) => da müßtest Du dann dann den neuen Gruppencode 62 in die Liste einfügen und nicht nur SUBSTEN. ------------------ viele Grüße Jörn http://www.bosse-engineering.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 09:33 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von joern bosse: Hallo Giovanni, ich habe mal unter ACAD 2012 getestet, die Texthöhe wird bei mir geändert, auch unabhängig davon, ob im verwendeten Textstil eine Höhe definiert ist oder nicht. Was mir aufgefallen ist: die Farbe wird nicht geändert, wenn beim Text der GC 62 nicht enthalten ist (Farbe vonLayer) => da müßtest Du dann dann den neuen Gruppencode 62 in die Liste einfügen und nicht nur SUBSTEN.
Hallo Jörn, hier nochmals, was ich bei der 2011er nicht machen kann mit meinem Programm: Wenn ich nur die Texthoehe aendere, dann geht nichts aber wenn ich die Farbe und die Texthoehe aendere, funktioniert es. Bitte zeige mir doch mal genau, wo ich den GC 62 eintragen soll. Giovanni
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Aug. 2011 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
guck dir mal folgenden Code an : (DEFUN C:AETXT () (if(or(and(setq asa (ssget '((0 . "TEXT")))) ;Textauswahl holen (>(setq wasa (sslength asa))0) ;und Anzahl der Texte ) (prompt "\nNo object selected \n") ) (progn (setq clr (getint "\nNew Color, Return if no change: ")) (setq stn (getstring"\nNew Textstyle, Return if no change: ")) (setq brn (getreal "\nNew Width, Return if no change: ")) (setq thn (getreal "\nNew Texthight, Return if no change: ")) (setq swn (getreal "\nNew Obliquing angel, Return if no change: ")) (setq z1 -1) (repeat wasa ;Texte der Auswahl durchlaufen (if(setq TASA(entget(ssname ASA(setq Z1(1+ Z1))))) (progn (if (and (=(type CLR)'INT)(< 0 CLR 256)) (if(assoc 62 TASA) (setq TASA(subst (cons 62 CLR)(assoc 62 TASA)TASA)) (setq TASA(append TASA(list(cons 62 CLR)))) ) ) (if(and(=(type STN)'STR)(tblobjname "STYLE" STN)) (setq TASA(subst (cons 7 STN)(assoc 7 TASA)TASA)) ) (if(and(=(type BRN)'REAL)(< 0 BRN)) (setq TASA(subst (cons 41 BRN)(assoc 41 TASA)TASA)) ) (if(and(=(type THN)'REAL)(< 0 THN)) (setq TASA(subst (cons 40 THN)(assoc 40 TASA)TASA)) ) (if(and(=(type SWN)'REAL)(< 0 SWN)) (setq TASA(subst (cons 51 (/ (* pi swn) 180.0))(assoc 51 TASA)TASA)) ) (entmod TASA) ) ) ) ) ) (princ) ) .. bei Fragen .... ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 23. Aug. 2011 10:00 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Hi, der Fehler liegt im Vergleich von NIL mit nix. (setq clr (getint "\nNew Color, Return if no change: ")) ergibt NIL, wenn du mit Return drüber gehst, weil ja nur die Texthöhe ersetzt werden soll. Später überprüfst du die Variable clr aber mit: (if (/= clr "") was T ergibt, denn NIL ist keine leere Zeichenfolge, woraufhin die Funktion (ers) 62 mit nil const. Daraus ergibt sich nun ein Farb-Gruppencode (62) und den mag Acad gar nicht. ...(8 . "404_TX_Lageplan_500_NE") (62) (100 . "AcDbText")... Unabhängig davon solltest du mal die Variablen lokalisieren. Gruß CADchup ------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 23. Aug. 2011 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Hallo Giovanni, ändere die Funktion ERS: Code:
(defun ers (x y z)(setq tasa (if (assoc x tasa);;;wenn GC existiert (subst (cons x y) z tasa);;;dann austauschen (append tasa (list (cons x y))));;;sonst anhängen ))
Anmerkung: bei den Farben (GC 62) funktioniert es, wenn man den Gruppencode einfach mit APPEND an die vorhandene Liste anhängt. Bei anderen Gruppencodes muss man die aber in der richtigen Reihenfolge einsortieren in die Liste, ansonsten wird die dann nicht akzeptiert. [EDIT] Was schreibe ich überhaupt, schau Dir CADmiums Beitrag an, ich war mal wieder zu langsam [/EDIT] ------------------ viele Grüße Jörn http://www.bosse-engineering.com [Diese Nachricht wurde von joern bosse am 23. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 23. Aug. 2011 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
|
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 10:15 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADchup: Hi,der Fehler liegt im Vergleich von NIL mit nix. [i](setq clr (getint "\nNew Color, Return if no change: ")) ergibt NIL, wenn du mit Return drüber gehst, weil ja nur die Texthöhe ersetzt werden soll. Später überprüfst du die Variable clr aber mit: (if (/= clr "") was T ergibt, denn NIL ist keine leere Zeichenfolge, woraufhin die Funktion (ers) 62 mit nil const. Daraus ergibt sich nun ein Farb-Gruppencode (62) und den mag Acad gar nicht. ...(8 . "404_TX_Lageplan_500_NE") (62) (100 . "AcDbText")... Unabhängig davon solltest du mal die Variablen lokalisieren. Gruß CADchup [/i]
Hallo, recht herzlichen Dank fuer Deine Ausfuehrungen. Trotzdem weiss ich immer noch nicht genau, warum es mit der Eingabe von Farbe und Texthoehe funktioniert. Ich muss ehrlich gestehen, dass ich noch nicht allzu viel von Lisp verstehe, deshalb bitte ich um etwas Ruecksicht. Bin etws irritiert und moechte von Dir gerne wissen, wo genau der Fehler liegt, damit ich auch weiss, was ich falsch gemacht habe. Welche Variablen meinst Du genau? Gruss, Giovanni
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3336 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 23. Aug. 2011 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Sobald du die Farbe mit Return übergehst, läuft dein Tool gegen die Wand, weil die assoc-Liste für Farbe nur so aussieht: (62) Du musst clr korrekt prüfen! NIL ist nicht gleich "". CADmium hat's in seinem Code so gemacht: (if (and (=(type CLR)'INT)(< 0 CLR 256)) Er checkt also, ob CLR ein Integer zwischen 0 und 256 ist und modifiziert die 62er-assoc-Liste wenn diese Bedingungen erfüllt sind. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 19:31 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank an alle, die mir mit Rat und Tat zur Seite stehen! Ich habe alle Eure Funktionen durchgeprueft aber leider kam ich damit nicht weit, denn ich weiss noch immer nicht, wo genau ich ansetzen muss und wo genau mein Fehler liegt ohne praezise Angaben zu bekommen. Ich bin voellig verwirrt und weiss nicht mehr was hinten und vorne ist. Ich bin eben nicht so schlau wie Ihr alle aber es ist ja schliesslich noch Meister vom Himmel gefallen. Vielleicht hat einer von Euch Mitleid mit mir. Vielleicht klappt es ja doch noch, dass der eine oder andere eine Antwort auf mein Problem weiss. Gruss, Giovanni
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 23. Aug. 2011 20:00 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Zeichne eine Linie und weise ihr die Farbe rot zu Jetzt tippe in die Befehlszeile: Code: (entget (car (entsel)))
wähle die Linie aus In der Rückgabe wirst Du irgendwo (62 . 1) finden - so soll's sein.Jetzt tippe in die Befehlszeile:
Code: setq clr (getint "\nNew Color, Return if no change: "))
Antworte mit "Return" Überprüfe, was jetzt in clr gespeichert ist - tippe:
Code: !clr
Dann tippe:
Code: (cons 62 CLR)
schaut das Ergebnis aus wie oben ? - oder wie schon gesagt (62) Du musst also dafür sorgen, dass im Falle von "Return" dem clr die jetzige Objektfarbe zugewiesen wird, oder im Falle von clr = nil die Farbänderung unterlassen. ------------------ Schöne Grüße Ernst
www.geopaint.at [Diese Nachricht wurde von Geos am 23. Aug. 2011 editiert.] [Diese Nachricht wurde von Geos am 23. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 23. Aug. 2011 21:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Geos, vielen Dank fuer Deine Hinweise, die ich ausgefuehrt habe. Werde ich dann in der Lage sein, die Texthoehe allein veraendern koennen? Ist das mit der Farbe das Problem, dass ich die Texthoehe nicht veraendern laesst? So allmaehlich komme ich ins Taumeln und kann schon fast keinen klaren Gedanken mehr fassen. Gruss, Giovanni
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 24. Aug. 2011 07:22 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
Hallo Giovanni, ich habe Dir Deinen Code nochmal ein bißchen aufgeräumt, z.B. nutze ich jetzt bei der Funktion ERS den Rückgabewert, die Variablen habe ich lokal definiert, aber vom Prinzip derselbe Code wie bei Dir. Bei mir hatte es ja auch schon mit Deinem ursprünglichen Code funktioniert, deshalb bin ich mir nicht sicher ob Dir das weiter hilft. Die Variablen YSA TSA und SP habe ich rausgeschmissen weil sie scheinbar gar nicht verwendet worden sind. Code:
(DEFUN C:AETXT ( / ASA BRA BRN CLA CLR STA STN SWA SWN TASA THA THN WASA Z1) (defun *error* (meldung)(grtext)(princ)) (defun ac (v tasa / ) (assoc v tasa)) (defun ers (x y z tasa / ) (if (assoc x tasa);;;wenn GC existiert (subst (cons x y) z tasa);;;dann austauschen (append tasa (list (cons x y))));;;sonst anhängen )(menucmd "S=BLOCK 3")(setq asa (ssget (list(cons 0 "TEXT")))) (if (= asa nil)(print "No object selected ") (progn(setq wasa (sslength asa))(menucmd "S=S") ) ; end progn ) ; end if (if asa (setq clr (getint "\nNew Color, Return if no change: ") stn (getstring "\nNew Textstyle, Return if no change: ") brn (getreal "\nNew Width, Return if no change: ") thn (getreal "\nNew Texthight, Return if no change: ") swn (getreal "\nNew Obliquing angel, Return if no change: ")) ) ; end if (if swn (setq swn (/ (* pi swn) 180.0)) ) ; end if
(setq z1 0) (while (< z1 (sslength asa)) (setq tasa (entget (ssname asa z1)) cla (ac 62 tasa) tha (ac 40 tasa) bra (ac 41 tasa) swa (ac 51 tasa) sta (ac 7 tasa) ) ; end setq (if swn (setq tasa(ers 51 swn swa tasa))) (if (and brn (> brn 0.0)) (setq tasa(ers 41 brn bra tasa))) (if (and thn (> thn 0.0)) (setq tasa(ers 40 thn tha tasa))) (if (/= stn "") (setq tasa(ers 7 stn sta tasa))) (if clr (setq tasa(ers 62 clr cla tasa))) (entmod tasa) (setq z1 (1+ z1)) ) ; end while (grtext)(princ) ) ;EOF C:AETXT.LSP
Wenn Du nicht weißt, wie man mit dem Visual-LISP-Editor richtig debuggt, da habe mal eine Kurzanleitung geschrieben: "http://www.bosse-engineering.com/downloads/090501_VisualLISP-Editor.pdf" Bitte den Link kopieren, irgendwie bekomme ich den Link mit dem Beitragseditor hier nicht korrekt rein, danke Proxy für den Hinweis :-( ------------------ viele Grüße Jörn http://www.bosse-engineering.com [Diese Nachricht wurde von joern bosse am 24. Aug. 2011 editiert.] [Diese Nachricht wurde von joern bosse am 24. Aug. 2011 editiert.] [Diese Nachricht wurde von joern bosse am 24. Aug. 2011 editiert.] [Diese Nachricht wurde von joern bosse am 24. Aug. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 27. Aug. 2011 15:29 <-- editieren / zitieren --> Unities abgeben:
Hi CADmium, ein grosses Dankeschoen fuer die nette Unterstuetzung und fuer das Programm, was ich auch ausprobiert habe und funktioniert ausgezeichnet. Zwischenzeitlich habe ich mich nochmals eingehend mit meinem Programmcode befasst und habe dann, die von Dir verwendete Funktion wie folgt abgewandelt und hat auch funktoniert: Alt: ;(if (/= clr "")(ers 62 clr cla)) Neu: (if (> clr 0)(ers 62 clr cla)) Ich muss hinzufuegen, dass ich schon lange nichts mehr mit LISP gemacht habe und somit wieder vieles vergessen habe, dennoch habe ich noch viel zu lernen. Mit Deiner Hilfe waere ich nicht so schnell zum Ziel gekommen. Gruss, Giovanni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 27. Aug. 2011 15:41 <-- editieren / zitieren --> Unities abgeben:
Hi Joern, vielen Dank fuer Deine grosszuegige Hilfe und die Kurzanleitung. Auch Dein Programm laeuft hervorragend. Mit Deiner und all den andern ihrer Hilfe ist es mir gelungen, mein Programm wie folgt zum Laufen zu bringen, sonst haette ich es nicht so schnell geschafft: Alt: ;(if (/= clr "")(ers 62 clr cla)) Neu: (if (> clr 0)(ers 62 clr cla)) Es ist eben schon viel zu lange her, dass ich mich mit Lisp befasst habe und zum Zeitpunkt meines Problems hatte ich noch andere Sachen fertig zu stellen. Nun habe ich es geschafft und habe wieder mehr Zeit fuer LISP. Da ich eine Englische Version von AutoCAD habe, waere ich Dir dankbar wenn Du mir vielleicht einen Hinweis geben koenntest, ob es eine Englische Anleitung gibt. Gruss, Giovanni
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 28. Aug. 2011 22:49 <-- editieren / zitieren --> Unities abgeben:
Hi alle zusammen, nun habe ich gedacht, dass jetzt alles glatt gegangen ist aber dem ist leider nicht so, denn wenn ich Texte, die "MTEXT" geschrieben sind, abaendern moechte, dann klappt gar nichts, auch nicht mit den Programmen von Joern und CADmium, leider. Kann mir da jemand weiter helfen, warum das so ist? Hier nochmals mein Programm, das laeuft wenn es sich um Standard Texte handelt. Gruss, Giovanni
Code: (DEFUN C:AETXT () (defun *error* (meldung)(grtext)(princ)) (defun ac (v / v) (assoc v tasa)) (defun ers (x y z)(setq tasa (subst (cons x y) z tasa))) (menucmd "S=BLOCK 3")(setq asa (ssget)) (if (= asa nil)(print "Kein Element gewaehlt ") (progn(setq wasa (sslength asa))(menucmd "S=S") ) ; end progn ) ; end if (setq sp '(0 0 0)) (if (/= asa nil) (progn (setq clr (getint "\nNew Color, Return if no change: ")) (setq stn (getstring "\nNew Textstyle, Return if no change: ")) (setq brn (getreal "\nNew Width, Return if no change: ")) (setq thn (getreal "\nNew Texthight, Return if no change: ")) (setq swn (getreal "\nNew Obliquing angel, Return if no change: "))) ) ; end if (if (/= swn nil)(setq swn (/ (* pi swn) 180.0)) ) ; end if (setq z1 0) (while (< z1 wasa) (if (= "TEXT" (cdr (assoc 0 (setq tasa (entget (ssname asa z1)))))) (progn (setq cla (ac 62) tha (ac 40) bra (ac 41) swa (ac 51) sta (ac 7) ysa (cddr tsa) sp (cons (car sp) ysa) ) ; end setq (if (/= swn nil)(ers 51 swn swa)) (if (and brn (> brn 0.0)) (ers 41 brn bra)) (if (and thn (> thn 0.0)) (ers 40 thn tha)) (if (/= stn "")(ers 7 stn sta)) (if (> clr 0)(ers 62 clr cla)) (entmod tasa) ) ; end progn ) ; end if (setq z1 (1+ z1)) ) ; end while (grtext)(princ) ) ;EOF C:AETXT.LSP
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 29. Aug. 2011 07:55 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
|
giovanni64 Mitglied
Beiträge: 12 Registriert: 01.04.2007
|
erstellt am: 29. Aug. 2011 10:18 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium: na als aller erstes würde ich die Zeile(if (= "TEXT" (cdr (assoc 0 (setq tasa (entget (ssname asa z1)))))) in (if (member(cdr (assoc 0 (setq tasa (entget (ssname asa z1)))))'("TEXT" "MTEXT")) abändern, damit mit dem anderen Objekttyp überhaupt was gemacht wird MTEXT kann aber auch Textformatierungen wie Höhe und Farbe direkt im Textstring codiert enthalten ....
Hallo CADmium, vielen Dank fuer den Hinweis aber ich kann leider nur die Textfarbe aendern. Also alles andere geht leider nicht. Kannst Du mir bitte weiter helfen, denn das ist doch zu haarig fuer mich, bevor ich mich verstricke. Gruss, Giovanni Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, ..., AutoCADs 200X, SWX 2kX
|
erstellt am: 29. Aug. 2011 12:21 <-- editieren / zitieren --> Unities abgeben: Nur für giovanni64
jungs, ich finde eure bemühungen giovanni64 helfen zu wollen echt atombombastisch, aber langsam sollte sich hier einer fragen ob eine anfängerschulung auf die dauer nicht von viel mehr erfolg gekrönt wäre. p.s. sorry das ich einer fast fertigen lösung nix mehr beifügen konnte
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |