Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Fonts in Textstilen automatisch ersetzen lassen

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:  Fonts in Textstilen automatisch ersetzen lassen (5284 mal gelesen)
iwa
Mitglied


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

Beiträge: 3
Registriert: 12.11.2009

erstellt am: 16. Nov. 2009 10:07    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

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




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

.

erstellt am: 16. Nov. 2009 10:23    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 iwa 10 Unities + Antwort hilfreich

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.




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

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 16. Nov. 2009 10:28    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 iwa 10 Unities + Antwort hilfreich

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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


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

Beiträge: 3
Registriert: 12.11.2009

erstellt am: 16. Nov. 2009 10:42    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

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




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

.

erstellt am: 16. Nov. 2009 10:59    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 iwa 10 Unities + Antwort hilfreich

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


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

Beiträge: 3
Registriert: 12.11.2009

erstellt am: 16. Nov. 2009 11:17    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

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.

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

Beiträge: 4
Registriert: 09.02.2011

Win 7 / 64 Bit
MEP 2011

erstellt am: 04. Mai. 2011 17:15    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 iwa 10 Unities + Antwort hilfreich

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



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

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 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 iwa 10 Unities + Antwort hilfreich

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

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