Hi,
ich habe mal wieder ein API-Problem.
Ich muss in mehreren Zeichnungen die Schriftgöße der Dokumentenschriftart verändern, dazu möchte ich mich natürlich eines Makros bedienen.
Ich habe mir die Vorgehensweise mit dem Makrorecorder aufgezeichnet, sieht richtig aus, läuft durch und ändert die Schriftgröße der Dokumentenschriftart- soweit so gut.
Das Problem: die vorhandenen Texte interessiert das überhaupt nicht. Obwohl die Option "Schriftart des Dokuments" aktiv ist, bleiben die, wie sie sind. In den Dokumentenoptionen (Systemoptionen-Dokumenteneigenschaften-Entwurfnorm-Beschriftungen-Schriftart)ist eindeutig zu sehen, dass die veränderte Einstellung drin steht.
Erst wenn ich die Einstellung in den Dokumentenoptionen händisch hin- und her-verändere, wird diese Veränderung auf der Zeichnung dargestellt.
Ich hoffe, ich habe mich klar ausgedrückt
Hier ist Code, wie er im Prinzip vom Macrorecorder ausgespuckt wurde:
Code:
Dim swApp As ObjectDim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
Dim myTextFormat As Object
'Beschriftungen
Set myTextFormat = Part.Extension.GetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingAnnotationTextFormat, 0)
myTextFormat.CharHeight = 0.01
boolstatus = Part.Extension.SetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingAnnotationTextFormat, 0, myTextFormat)
End Sub
0.01 ist die Schrifthöhe 10mm, die ich hier testweise verwendet habe.
Das selbe Problem tritt auch bei der Bemaßungsschriftart auf.
Hat das vielleicht schon mal jemand gelöst?
------------------
Klaus
www.al-ko.com | mein Gästebuch
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP