| |
| 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: Fonts in Textstilen automatisch ersetzen lassen (5427 mal gelesen)
|
iwa Mitglied
Beiträge: 3 Registriert: 12.11.2009
|
erstellt am: 16. Nov. 2009 10:07 <-- editieren / zitieren --> Unities abgeben:
Hallo. Wir haben folgendes Problem. Bisher haben wir zum Ersetzen der Autocad-Schriftarten eine eigene Schriftzuordnungsdatei benutzt. Dadurch ist das Arbeiten in unseren Zeichnungen mit viel Text sehr langsam geworden. Wir haben festgestellt, dass das Bearbeiten ohne Schriftzuordnungsdatei um ein Vielfaches schneller geht! Wir haben uns daher überlegt, in unseren Zeichnungen die Textstile entsprechend umzustellen. Allerdings gibt es alte Dateien und von fremden Systemen erstellte Dateien, bei denen bis zu 50 Textstile vorhanden sind, in denen die Fonts umgestellt werden müssten. Am Besten wäre es daher, ein LISP-Programm zu haben, das auf Knopfdruck alle Fonts in der Zeichnung nach einer Tabelle umstellt. Habt Ihre eine Idee, wie das aussehen könnte? Ich habe leider keine Erfahrung mit LISP-Programmen, auch nicht über deren Aufbau. Daher wäre ich über Eure Hilfe sehr dankbar! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2009 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für iwa
Wenn es nur um die Fonts geht .. und nicht um die Zusammenführung der verschiedenen Textstile , reicht es , die Textstile entsprechend zu bearbeiten. Dazu kann man mit (vl-load-com) (vlax-for ITEM (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object))) (setq LISTE (cons (list(vla-get-name ITEM) (vla-get-fontfile ITEM) ITEM) LISTE)) ) sich eine Liste der Textstyle mit den Fonts estellen , da eine Zuordnung schaffen und mit (vla-put-fontfile .. einen neuen zuordnen ------------------ - 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: 16. Nov. 2009 10:28 <-- editieren / zitieren --> Unities abgeben: Nur für iwa
Hi und herzlich willkommen, wenn du (noch) nicht lispeln kannst, warum versuchst du's nicht mit einem Skript? Das ist ein relativ schmerzloser Einstieg in die "Programmierung" und in deinem Fall durchaus sinnvoll. Einfach alle deine Stile durchgehen und am Ende die überflüssigen bereinigen. Die Anzahl der Leerzeilen musst du selbst rausfinden:
Code:
_-style STILNAME1 TTF-oderSHXNAME STILNAME2 TTF-oderSHXNAME
_-purge _st * _n
Die wichtigsten Dinge dazu: Versuch, die Befehls- und Optionsnamen gleich in englischer Sprache mit vorangestelltem Unterstrich zu schreiben. (Doku gibt's bei CADmaro.de) Viele Befehle mit Dialogfenstern lassen sich mit einem vorangestellten Bindesstrich an der Befehlszeile abarbeiten. Jeder Zeilenwechsel im Skript entspricht einem Enter in AutoCAD.Happy Testing, CADchup ------------------ CADmaro.de [Diese Nachricht wurde von CADchup am 16. Nov. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 16. Nov. 2009 10:31 <-- editieren / zitieren -->
Hi, herzlich willkommen bei CAD-de! Da brauchst Du nicht unbedingt programmieren. Denn unter der Voraussetzung, dass es mehrere Zeichnungen gibt, die immer mit der gleichen Übersetzungstabelle 'behandelt' werden sollten, dann: Mach Dir eine leere Zeichnung, in der die Textstile mal richtig eingestellt sind (auf die richtigen Fonts zeigen). Dann kopierst Du die Geometrieelemente aus Deiner Zeichnung in diese neue Zeichnung, ev. holst Du die Layouts dann auch noch per DesignCenter dazu und hast eine neue Zeichnung mit Deinen Stileinstellungen. >>Ich habe leider keine Erfahrung mit LISP-Programmen
Zu obigem und der charmant formulierten Frage 'Habt Ihre eine Idee, wie das aussehen könnte?' ==> Ja haben, wir! Aber ich hoffe die Frage nicht so verstehen zu müssen 'Habt Ihr Zeit es mir kostenlos zu machen'. Willst Du es lernen, wie's geht, dann gibt's hier im Forum genug Verweise zu Literatur bzgl. LISP, bzgl. VBA, ... Erst mal Grundlagen ansehen und dann gezielt zu dem Code, den Du gerade am Schreiben bist, Fragen stellen, wo Du hängst. - alfred - ------------------ www.hollaus.at |
iwa Mitglied
Beiträge: 3 Registriert: 12.11.2009
|
erstellt am: 16. Nov. 2009 10:42 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich danke Euch für Eure schnellen Antworten. Was mache ich denn nun mit dem code, den Ihr mir gegeben habt. Kommt er in eine Datei, oder gebe ich den in die Befehlszeile ein? @ a.n.: Falls es sich hier um ein Programm handelt, was extra für uns geschrieben würde, wären wir bestimmt auch bereit, einen entsprechenden Obulus zu bezahlen. Das müsste ich dann halt mit meinem Chef klären. Die Idee mit der Vorlage hatte ich auch schon, allerdings ist die Bezeichnung der Textstile, die in den systemfremden Dateien vorhanden sind, nicht immer die gleiche.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 16. Nov. 2009 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für iwa
Zitat: Original erstellt von iwa: Hallo, ich danke Euch für Eure schnellen Antworten. Was mache ich denn nun mit dem code, den Ihr mir gegeben habt. Kommt er in eine Datei, oder gebe ich den in die Befehlszeile ein?
naja .. scheints ja wirklich null Erfahrung zu haben .. eigentlich kannste das zur Demo in die Befehlszeile kopieren .. da wird aber niur was angezeigt ... Versteh ich jetz die Aufgabenstellung so richtig :
Du hast eine Textdatei wo z.B. sowas drin steht : [STANDARD-SHX] romans.shx [STANDARD-TTF] arial.ttf [FONTMAP] txh.shx = romans.shx isocp.shx = romans.shx Swis721.ttf = romans.shx .... so das alle Textsile , die txh.shx isocp.shx Swis721.ttf referenzieren auf den Font romans.shx umgestellt werden Textstile mit shx-Fonts, die nicht in der Liste auftauchen werden auf [STANDARD-SHX] =romans.shx umgestellt Textstile mit ttf-Fonts, die nicht in der Liste auftauchen werden auf [STANDARD-TTF]=rial.ttf umgestellt oder willst du die Anzahl der (dann identischen )Schriftstile auch verringern und den Objekten (Text, Mtext usw) denselben Schriftstil zuordnen und die überflüssigen Textstile dann berreinigen ?
------------------ - 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 |
iwa Mitglied
Beiträge: 3 Registriert: 12.11.2009
|
erstellt am: 16. Nov. 2009 11:17 <-- editieren / zitieren --> Unities abgeben:
Zitat:
oder willst du die Anzahl der (dann identischen )Schriftstile auch verringern und den Objekten (Text, Mtext usw) denselben Schriftstil zuordnen und die überflüssigen Textstile dann bereinigen ?
Das wäre natürlich noch besser. Unsere Schriftzuordnungsdatei sieht im Moment so aus: COMPLEX;Swis721 BT COMPLEX.SHX;Swis721 BT DIJK-S.SHX;CommercialScript DIJK-S.shx;CommercialScript DIN;Swis721 Lt BT DIN.SHX;Swis721 Lt BT DIN.shx;Swis721 Lt BT din;Swis721 Lt BT FUTL-S.shx;Swis721 Lt BT FUTL-S.SHX;Swis721 Lt BT FUTM-H.shx;Swis721 BT FUTM-H.SHX;Swis721 BT HLVM-H.SHX;Swis721 BT HLVM-H.shx;Swis721 BT HLVB-H.SHX;Swis721 Blk BT HLVL-H.SHX;Swis721 Ex BT helv;Swis721 Ex BT HLVM-O.SHX;Swis721 BlkOul BT iso8;Swis721 Lt BT ITALIC;Swis721 BT italicc;Swis721 BT monotxt;Swis721 BT monotxt8;Swis721 BT romans;Swis721 Lt BT romanc;Swis721 BT romand;Swis721 BT romand8;Swis721 BT romant8;Swis721 BT simplex;Swis721 BT SIMPLEX;Swis721 BT sqsb___.pfb;Swis721 BlkOul BT STENEQ.SHX;Monospac821 BT STENEQ.shx;Monospac821 BT STENEQ;Monospac821 BT txt.shx;Swis721 BT UNIV;Swis721 BT UNIV.shx;Swis721 BT UNIV.SHX;Swis721 BT univh;Swis721 BT UNIVHS;Swis721 BT In Zukunft möchten wir ohne sie arbeiten, aber alles was auf der linken Seite steht, sollte doch die Fonts auf der rechten Seite ersetzt werden, auf Knopfdruck. Textstile mit gleichen Eigenschaften könnten auch zusammengefasst werden. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Der Turl Mitglied HKLS Ing.
Beiträge: 4 Registriert: 09.02.2011 Win 7 / 64 Bit MEP 2011
|
erstellt am: 04. Mai. 2011 17:15 <-- editieren / zitieren --> Unities abgeben: Nur für iwa
Ich möchte diesen alten Thread wiederbeleben :-) also ich hab da ein ähnlich gelagertes problem welches sich bei der übernahme von architekturzeichnungen in extrem vielen TEXTSTILE nach dem schema STIL 1 => ARIAL STIL 2 => ARIAL . . STIL 234 => ARIAL STIL 235 => VERDANA STIL 236 => VERDANA STIL 237 => VERDANA . . STIL 333 => VERDANA usw äußert. somit sind unzählige schriftstile mit jedoch nur einigen SCHRIFTARTEN vorhanden. mein ziel ist es diese Stile zu belassen aber global in zB. SIMPLEX abzuändern wobei jedoch auch bestimmte zb. ROMANS ausgenommen werden sollen ( wäre als realisierungs stufe 2 des skripts anzusehen *g*). hab das schon via SKRIPT versucht ( dem kann ich eingermaßen folgen ) aber da scheiters schon an der auswahl der textstile da diese massenhaft vorhanden sind und sich somit vielleicht über eine wildcard "*" auswählen lassen. kann mir da jemand behilflich sein ? oder schaffe ich das vorhaben nur via LISP ? Code:
_style "*" ( hier scheiters schon an der auswahl ! möchte alle auswählen können)simplex.shx ja ja regenall zoom g
[Diese Nachricht wurde von Der Turl am 04. Mai. 2011 editiert.] [Diese Nachricht wurde von Der Turl am 04. Mai. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 04. Mai. 2011 18:52 <-- editieren / zitieren --> Unities abgeben: Nur für iwa
Da hast Du schlechte Karten mit Scripts, da Du nicht weißt, wie die einzelnen Stile heißen, und über den Befehl "_-style" nur einzeln geändert werden können. Mit Thomas Lisp-Zeilen könnte es so gehen: Code: (vl-load-com) (vlax-for ITEM (vla-get-textstyles (vla-get-activedocument (vlax-get-acad-object))) (vla-put-fontfile ITEM "SIMPLEX.SHX") )
Grüsse, Henning------------------ Henning Jesse VoxelManufaktur Computer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |