| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Textstile auf *.shx einstellen (589 mal gelesen)
|
Nano Mitglied
Beiträge: 179 Registriert: 25.10.2004
|
erstellt am: 29. Jan. 2007 17:49 <-- editieren / zitieren --> Unities abgeben:
|
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2490 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 29. Jan. 2007 17:55 <-- editieren / zitieren --> Unities abgeben: Nur für Nano
|
Nano Mitglied
Beiträge: 179 Registriert: 25.10.2004
|
erstellt am: 29. Jan. 2007 18:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc Zu Bsp.: Stilname = stil1 Schriftname = txt.shx Stilname = stil2 Schriftname = simplex.shx Stilname = statard Schriftname = simplex8.shx Alle Stilnamen auf Schriftnamen = isocp.shx setzten Gruss Nano Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 29. Jan. 2007 20:31 <-- editieren / zitieren --> Unities abgeben: Nur für Nano
Zitat: Original erstellt von Nano: Alle Stilnamen auf Schriftnamen = isocp.shx setzten
Das ist einfach. Zunächst musst Du Dir eine Funktion basteln, die Dir alle Textstile ausgibt. Hier ist ein Beispiel:
(defun get-table-list (tbl / lst nxt) (setq tbl (strcase tbl) lst (list (cdr (assoc 2 (tblnext tbl T)))) ) (while (setq nxt (tblnext tbl)) (setq lst (cons (cdr (assoc 2 nxt)) lst)) ) (reverse lst) ) Nun kriegst Du also mit (get-table-list "STYLE") die Textstile als Liste. Diese Liste kannst Du einzeln abarbeiten mit (foreach style (get-table-list "STYLE") ... ) Was musst Du darin für jedes Element abarbeiten? Du brauchst für den jeweiligen Stil die DXF-Gruppenliste, in der die Stileigenschaften gespeichert sind. Diese Liste kriegt man aus einem Tabellen-Entity mit (entget <ename> ), das Entity kriegt man mit (tblobjname <tabellenname> <Objektname> ), also hier mit (tblobjname "STYLE" style). Nachdem Du diese Liste hast, wirst Du sehen, dass sich darin unter dem Gruppencode 3 der Fontname verbirgt. Du brauchst also nur den entsprechenden Eintrag (3 . "alterfontname.ttf") durch den neuen (3 . "isocp.shx") zu ersetzen (das geht mit SUBST), und die somit veränderte DXF-Gruppenliste mit ENTMOD in das Element zurück zu schreiben. Ich nehme an, das kriegst Du mit dieser Hilfe jetzt selber hin ... Tom Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 29. Jan. 2007 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für Nano
upps ... da hätte ich doch beinahe die fertige Funktion gepostet .. aber da will ich Tom mal nicht ins Handwerk pfuschen ------------------ - 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 |
archtools Mitglied
Beiträge: 823 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 29. Jan. 2007 22:22 <-- editieren / zitieren --> Unities abgeben: Nur für Nano
Zitat: Original erstellt von CADmium: upps ... da hätte ich doch beinahe die fertige Funktion gepostet .. aber da will ich Tom mal nicht ins Handwerk pfuschen
Du wolltest Dir sicher nur die Mühe sparen, jemandem was beizubringen. Mit der fertigen Programmversion hätte ich bestimmt 50% Tipparbeit gespart :-) Aber der wirkliche Faulpelz bin ich, denn der OP wird zukünftig so simple Probleme ohne meine Hilfe lösen können, und er wird sogar anderen Hilfestellung geben können. Ich brauch hier dann fast nix mehr zu tun .... T:-)m Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 30. Jan. 2007 08:08 <-- editieren / zitieren --> Unities abgeben: Nur für Nano
Zitat: Original erstellt von archtools: Du wolltest Dir sicher nur die Mühe sparen, jemandem was beizubringen.
Nö Zitat: Original erstellt von archtools: Mit der fertigen Programmversion hätte ich bestimmt 50% Tipparbeit gespart :-) [/B]
das wäre mein Argument gewesen ... für alles andere der Hinweis auf Mapcars Tutorial.. Zitat: Original erstellt von archtools: Aber der wirkliche Faulpelz bin ich, denn der OP wird zukünftig so simple Probleme ohne meine Hilfe lösen können, und er wird sogar anderen Hilfestellung geben können. Ich brauch hier dann fast nix mehr zu tun .... [/B]
Optimist ... IMHO fragt dann der Nächste das Gleiche ------------------ - 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 |
Nano Mitglied
Beiträge: 179 Registriert: 25.10.2004
|
erstellt am: 30. Jan. 2007 11:48 <-- editieren / zitieren --> Unities abgeben:
DANKE AN ALLEN (ENTMOD (SUBST (CONS 8 "A_TXT")(ASSOC 8 elem1) elem1)) (SETQ bautxtstil (CDR (ASSOC 7 elem1))) (SETQ bautxtshx (tblobjname "style" bautxtstil)) (SETQ bautxtshx2 (ENTGET bautxtshx)) (SETQ bautxtshx3 (CDR (ASSOC 3 bautxtshx2))) (ENTMOD (SUBST (CONS 3 "isocp3.shx")(ASSOC 3 bautxtshx2) bautxtshx2)) Gruss Nano Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |