| |
| 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: Fontname in ICAD oder ACAD (2419 mal gelesen)
|
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Mrz. 2006 10:35 <-- editieren / zitieren --> Unities abgeben:
Hallo, wenn ich z.B. den Schriftnamen "Comic Sans MS" eingestellt habe und den folgenden Befehl (cdr (assoc 3 (entget (tblobjname "STYLE" (getvar "TEXTSTYLE"))))) benutze, bekomme ich als Ausgabe "comic.ttf" Ich benötige aber den Namen "Comic Sans MS" und nicht den Namen der Fontdatei. Jetzt könnte ich zwar abfragen: wenn "comic.ttf" dann "Comic Sans MS", usw... Da aber jeder andere Schriften installiert hat, wäre ich damit ziemich begrenzt. Wenn jemand eine Lösung mit Lisp hat, sollte sie kein VLX verwenden, da ich eine Lösung für ICAD benötige. Gruß Theodor Schönwald Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 08. Mrz. 2006 10:39 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
Hi, was ist wenn du den GC auf 2 änderst ? Bist du dann glücklich ? Code:
(cdr (assoc 2 (entget (tblobjname "STYLE" (getvar "TEXTSTYLE")))))
------------------ Grüsse Thomas EDIT: sehe gerade, dass du ein anderes Problem hast... [Diese Nachricht wurde von tunnelbauer am 08. Mrz. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 08. Mrz. 2006 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
Dein Problem wird aber glaub ich nur so zu lösen sein, wenn du den Textstil so benennst wie du es brauchst, da die Schrift Comic Sans MS in der comic.ttf verpackt ist - ausser du benennst die ttf um - was dann aber auch wieder zu Kompatibilitätsproblemen führen würde... ------------------ Grüsse Thomas [Diese Nachricht wurde von tunnelbauer am 08. Mrz. 2006 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: 08. Mrz. 2006 10:51 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
ich denke mal, dass dir folgender codeschnipsel weiterhilft: (mapcar '(lambda(X) (cons X (vl-registry-read "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" X ) ) ) (vl-registry-descendents "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" "" ) ) [ FONT FONTNAME FONTDATEINAME DATEINAME ]
------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Mrz. 2006 10:57 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Mrz. 2006 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
Hä? was hat die Registry mit irgentwelchen Stylenames zu tun?? ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Mrz. 2006 11:14 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 08. Mrz. 2006 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
dann mußt du irgentwie anders an die Registry ran, den sprachumfang von ICAD kenne ich leider nicht ( vl heißt aber nicht ActiveX .. ist aber sicher Bestandteil des VLISP-Interpreters von ACAD) ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Mrz. 2006 11:42 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, ...Hä? was hat die Registry mit irgentwelchen Stylenames zu tun??... Zum umwandeln von Text in Polylinien in ICAD möchte ich folgendes machen: - Bei einem Text der in ICAD geschrieben wurde, den Textstil und den Text auslesen. - Danach beides dem Programm "Schrift2DXF" (ist cad-kas) als Parameter übergeben. - "Schrift2DXF" macht eine DXF-Datei mit Polylinien von der Textkontur, die ich dann als Block einlesen und den Text ersetzen kann. Es funktioniert alles bis auf den Fontnamen, den "Schrift2DXF" kann mit dem Fontdateinamen nicht anfangen und der Textstilnamen ist nicht immer gleich der Fontnamen. Das als Hintergrundinfo, warum? Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 08. Mrz. 2006 11:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, der Spachumfang von Lisp in ICAD entspricht ungefähr dem Stand bei ACAD12. Auf jeden Fall möchte ich mich bei Dir für die schnellen Antworten bedanken, teilweise haben sich Deine und meine Antworten überschlagen. Vieleicht finded sich doch noch eine Lösung. Gruß Theodor Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 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: 08. Mrz. 2006 12:36 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
|
Bernd10 Mitglied
Beiträge: 763 Registriert: 20.11.2003 Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 16 GB RAM Windows 10 Pro 64-bit AutoCAD Mechnical 2020 Deu
|
erstellt am: 09. Mrz. 2006 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
Hallo, Zitat: Original erstellt von CADmium:
(mapcar '(lambda(X) (cons X (vl-registry-read "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" X ) ) ) (vl-registry-descendents "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" "" ) )
ich habe das obere Beispiel in eine Test-Funktion gepackt. Vielleicht kann es jemand gebrauchen. ( defun Test ( / lx lxg) (setq lxg nil) (mapcar '(lambda(X) (setq lx (cons X (vl-registry-read "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" X ) ) ) (setq lxg (append lxg (list lx))) ) (vl-registry-descendents "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" "" ) ) ; Rückgabewert lxg ) Gruß Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 09. Mrz. 2006 09:08 <-- editieren / zitieren --> Unities abgeben: Nur für Theodor Schoenwald
dream ... dann pack ich mal meinen Code auch in eine Testfunktion (defun MyTest() (mapcar '(lambda(X) (cons X (vl-registry-read "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" X ) ) ) (vl-registry-descendents "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" "" ) ) ) @Bernd .. mapcar gibt doch schon die entsprechende Liste zurück, da brauckst du kein extra append und keine Zwischenvariablen!! ------------------ - Thomas - "Du bist einen uns unbekannten Weg in eine andere Form des Seins gegangen. - Wir sehen uns wieder in deinem Paradies! - Tschüß Axel.." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Theodor Schoenwald Ehrenmitglied
Beiträge: 1672 Registriert: 16.04.2002
|
erstellt am: 09. Mrz. 2006 10:41 <-- editieren / zitieren --> Unities abgeben:
Hallo Marc, Dein Vorschlag mit: Regedit /e Datei "...Fonts" hat mir ein großes Stück geholfen. Danke! Nun habe ich eine Textdatei und kann weiter machen, um zB. aus der Zeile in der "COUR.TTF" steht "Courier New" zu bekommen. Gruß Theodor ------------------------------- Ein Stück von der Textdatei: -------------------------------- Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts] "Roman (Alle Auflösungen)"="ROMAN.FON" "Script (Alle Auflösungen)"="SCRIPT.FON" "Modern (Alle Auflösungen)"="MODERN.FON" "Arial (TrueType)"="ARIAL.TTF" "Arial Fett (TrueType)"="ARIALBD.TTF" "Arial Fett Kursiv (TrueType)"="ARIALBI.TTF" "Arial Kursiv (TrueType)"="ARIALI.TTF" "Courier New (TrueType)"="COUR.TTF" "Courier New Fett (TrueType)"="COURBD.TTF" "Courier New Fett Kursiv (TrueType)"="COURBI.TTF" "Courier New Kursiv (TrueType)"="COURI.TTF" "Lucida Console (TrueType)"="LUCON.TTF" "Lucida Sans Unicode (TrueType)"="L_10646.TTF" "Times New Roman (TrueType)"="TIMES.TTF" "Times New Roman Fett (TrueType)"="TIMESBD.TTF" "Times New Roman Fett Kursiv (TrueType)"="TIMESBI.TTF" "Times New Roman Kursiv (TrueType)"="TIMESI.TTF" ... ... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |