communities.bentley.com/.../wiki_5F00_files.zip
Produkt(e): | MicroStation |
Version(en): | CONNECT, V8i |
Umgebung: | N\A |
Produktbereich: | Text |
Produktunterbereich: | Schriftarten |
In diversen DGNs sind Texte mit einem RSC-Font erstellt worden, als Beispiel hier die Schriftart "working". Welche Schriftart ein Text hat, kann man mit der Elementinformation herausfinden.Es werden in der Ansicht jedoch Umlaute nur als * angezeigt. Was kann unternommen werden, um auch Umlaute anzuzeigen?
Man kann den betroffenen Texten in den Zeichnungen per Stapelverarbeitung einen neuen Font zuweisen, der Umlaute unterstützt. Mit der Funktion Stapelverarbeitung können Befehle für jede hierfür ausgewählte Datei ausgeführt werden. Es sollte idealerweise ein TrueType-Font (*.ttf) von Windows verwendet werden, da diese auch in anderen Systemen unterstützt werden und i.a.R. Umlaute kennen.
1. Es muss eine Programmierung per MVBA vorgenommen werden, da teilweise keine direkten Befehle für das Vorhaben existieren. Das gilt in diesem Falle für die Einstellungen des Befehls Textattribute ändern (Modify Text). Die Routine dazu sieht wie folgt aus; in diesem Falle würde "Arial" als Ersatzfont zugewiesen; die Routine heißt hier schriftart_aendern.mvba:
Sub Schriftart_aendern()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
' Start a command
CadInputQueue.SendCommand "CHOOSE ALL"
CadInputQueue.SendCommand "MODIFY TEXT"
CadInputQueue.SendKeyin "Active font Arial"
' Alternative: CadInputQueue.SendKeyin "Active font 1025"
' Set a variable associated with a dialog box
SetCExpressionValue "gUseChangeAnnotationScale", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.just", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.viewind", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.vertical", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.underline", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.slant", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.interchar", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.linespacetype", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.linespace", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.width", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.height", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.textstyle", 0, "MODIFY"
SetCExpressionValue "tcb->msToolSettings.changeText.font", 1, "MODIFY"
' Send a data point to the current command
CadInputQueue.SendCommand "SELVIEW 1"
CadInputQueue.SendCommand "CHOOSE NONE"
CommandState.StartDefaultCommand
End Sub
2. Rufen Sie in einer leeren Datei im Pulldownmenü Extras die Stapelverarbeitung auf. Die Funktion wird eingehender auch in der Hilfe beschrieben. Wenn der Dialog geöffnet ist, kann durch Drücken von F1 (in MSV8i) eine kontextbezogene Hilfe aufgerufen werden. Für MicroStation CONNECT Edition https://docs.bentley.com/LiveContent/web/MicroStation%20Help-v14/de/GUID-F25D8ABF-8CFF-F5A6-8F84-C99632B31A6A.html. Diese ist zwar für MS CE Update 12, passt aber auch auf spätere Updates.
3. Fügen Sie die gewünschten Dateien / Verzeichnisse in der Liste der zu verarbeitenden Dateien ein.
4. Erstellen Sie eine Befehlsdatei für den Prozess. Es ist eine einfache Textdatei, in diesem Beispiel heißt sie Stapelverarbeitung_Befehlsdatei_schriftart_aendern.txt. Sie muss die Zeile
choose all;vba run [schriftart_aendern]schriftart_aendern
enthalten. Es kann auch der Pfad zur VBA-Datei angegeben werden, falls die Datei nicht in das zuständige
MS-Verzeichnis ..\Workspace\System\macros\ kopiert wurde. Der KeyIn lautet
choose all;macro <LW>:\<Pfad>\vba run [schriftart_aendern]schriftart_aendern
5. Führen Sie nun die Stapelverarbeitung mit der erstellten Befehlsdatei Stapelverarbeitung_Befehlsdatei_schriftart_aendern.txt aus. Die Dateien aus der Liste werden nacheinander verarbeitet. Bitte beachten Sie, dass die Dateien direkt geändert werden und es nicht rückgängig gemacht werden kann. Ein Backup sollte immer vorhanden sein!
6. Falls man dies noch öfter ausführen möchte, kann die Stapelverarbeitung auch abgespeichert werden, z.B. als Stapelverarbeitung_schriftart_aendern.bprc.
Im Anhang der Wiki finden Sie Beispieldateien für die MVBA-Datei und die Befehlsdatei.
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0033217
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031480
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0034779
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0028825
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0029064
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0034767
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031043
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031473
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0028128
https://bentleysystems.service-now.com/community?id=kb_article_view&sysparm_article=KB0031385
N/A