Erstmal ein FETTES DANKESCHÖÖÖÖÖÖN an alle!
Sorry, das mein Feedback sooo lange gedauert hat... musste sehr lange befehle "auspröbeln", bis ich eine vernünftige schaltfläche hatte...
@carmelli76:
leider ist scripten nicht möglich, da einige meiner befehle als dialogfeld erscheinen... _qselect zum beispiel... dann muss ich dort wieder mit der maus TEXT und ALLE auswählen, was ich ja vermeiden möchte...
@Lutz_G:
dieses CHTEXT.lsp ist schlichtwegs genial! BIG THX! es hat leider einige fehler / ungereimtheiten... ich hab es aber in meine schaltfläche integrieren können! gibt es davon eine neuere version? hab schon überall gesucht... neuer als deine version (1997) hab ich leider nicht gefunden...
@cadffm:
Dein LIST-Ausdruck (ssget "_X") '((0 . "*TEXT"))) schien nicht zu funktionieren, ahb dann aber anhand der Entwicklerhilfe (welche ich nun dank dir kenne) folgenden ausdruck getestet: (setq ss1 (ssget "X" '((0 . "*TEXT"))) dieser scheint alle texte in die auswahl zu nehmen, und ich kann mit _p oder v (vorherige auswahl) die texte auf den gewünschten layer setzen... BIG THX!
Fazit:
SSGET kann texte auswählen, danach kann mann layer, farbe, linientyp der texte ändern (mit _p).
SSGET kann aber nicht Textausrichtung, Textbreite usw. anpassen, was aber wiederum CHTEXT kann.
Lösung:
Nun, mit Hilfe von CHTEXT UND SSGET sieht nun meine fertige Schaltfläche folgendermassen aus:
^C^C_model(setq ss1 (ssget "X" '((0 . "*TEXT"))) );ändern;_p;;ei;la;N-160_Text;f;vonlayer;ls;vonlayer;lty;vonlayer;;^C(Load "CHTEXT");cht;_all;;a;l;b;1;s;;Arial;;
Und macht also genau DAS:
• Alle vorhandenen Texte im Modell der Zeichnung auswählen
• alle Texte auf Layer "N-160_Text" (Layer schon vorhanden) setzen.
• Farbe, Linientyp, Linienstärke alles auf "VonLayer"
• Textausrichtung auf "unten links" ändern (vorher waren alle auf "einpassen")
• Textstil "Arial" auswählen (Stil schon vorhanden)
CHTEXT.lsp muss im haupt-support-verzeichnis sein (z.b. C:\Programme\AutoCAD 2006\Support)
Fertig erweitert mit nützlichen Funktionen wie:
alle Blöcke auf Ursprung (explodieren), Prüfen, Bereinigen, Liniten setzen, raster setzen fang setzen, mm statt zoll, layer erstellen, textstil erstellen
sieht die schaltfläche so aus:
^C^C_model;measurement;1;burst;_all;;^Craster;5;fang;1;_limits;-5000,-5000;5000,5000;_-la;m;N-160_Text;ls;0.25;N-160_Text;se;0;;(setq ss1 (ssget "X" '((0 . "*TEXT"))) );ändern;_p;;ei;la;N-160_Text;f;vonlayer;ls;vonlayer;lty;vonlayer;;^C^C_-style;Arial;Arial.ttf;0;1;0;n;n;(Load "CHTEXT");cht;_all;;a;l;b;1;s;;Arial;;_audit;j;_-purge;_all;*;n;
Nicht schlecht, oder?
info: burst ist von den express tools und explodiert blöcke mit attributen in normale texte (attribusinhalt)
Das ich die fertige Lösung hier präsentiere hat den Grund, das ich allen anderen MegaCAD-in-AutoCAD-Konverter-Geplagten auch helfen möchte...
THX2ALL und einen schönen Tag! Gruss aus den schöönen, verschneiten Schweizer Alpen!
neo
------------------
Welcome to the Real
[Diese Nachricht wurde von neo4matrix am 28. Jan. 2008 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP