| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Dassault Systèmes auf der Hannover Messe 2024 (kostenlose Tickets verfügbar) |
Autor
|
Thema: per makro Dokumentoption Schriftart setzen?? (1342 mal gelesen)
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 01. Aug. 2014 10:48 <-- editieren / zitieren --> Unities abgeben:
Hallo Kollegen, ich versuche per makro eine Schriftart in den Dokumentoptionen zuzuweisen, kriege es aber nicht hin. wir haben nun SWX2012(SP5, 64bit auf win7) im Einsatz. In Dokumentoptionen Ansichtsetiketten landet immer Century Gothic, die würd ich gerne durch "ISOCPEUR" ersetzen. per Hand geht das natürlich, aber per Makro kriege ich es nicht hin. laut Aufzeichnung und allem was ich hier gefunden habe sollte es gehen mit: Code:
Set myTextFormat = MyDocExtension.GetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingViewTextFormat, 0) myTextFormat.TypeFaceName = "ISOCPEUR" ' "Arial" geht auch nicht boolstatus = MyDocExtension.SetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingViewTextFormat, 0, myTextFormat)
boolstatus gibt aber immer false .... Textformat auslesen funktioniert, ändern und zuweisen nicht. auch wenn ich das gewünschte Format aus einer anderen Schrift auslese und unverändert versuche zuzuweisen, komme ich noch nicht weiter. Hat jemand eine Idee für den typischen Fehler an der Stelle? welche Rolle spielt die 2. Integer-Option? es gibt die Funktion ja anscheinend auch nochmal mit nur 2 Parametern ... Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 01. Aug. 2014 18:07 <-- editieren / zitieren --> Unities abgeben:
Hier mal ein komplettes kurzes Makro Liest die Schriftart, versucht sie zu setzen, gibt eine Statusmeldung. Kann mal jemand probieren, ob das bei ihm (ihr) läuft? Bei mir geht es nicht, obwohl ich doch an dem Schriftobjekt nichts verändere. und mit Benutzung des extra Datentyps ging es auch nicht anders Dim myTextFormat As SldWorks.TextFormat Bin mal wieder mit meinem Latein am Ende ... Gruß, Christian Code:
Dim swApp As Object Dim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim MsgText As String Dim Res As LongSub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Dim myTextFormat As Object Set myTextFormat = Part.Extension.GetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingViewTextFormat, 0) 'myTextFormat.TypeFaceName = "ISOCPEUR" MsgText = "Schriftart gefunden: " & myTextFormat.TypeFaceName & Chr(10) boolstatus = Part.Extension.SetUserPreferenceTextFormat(swUserPreferenceTextFormat_e.swDetailingViewTextFormat, 0, myTextFormat) If boolstatus Then MsgText = MsgText & "Textformat erfolgreich zugewiesen" & Chr(10) Else MsgText = MsgText & "Fehler beim zuweisen" & Chr(10) End If Res = swApp.SendMsgToUser2(MsgText, 1, 1) End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Torsten Niemeier Ehrenmitglied V.I.P. h.c. Maschinenbau Ingenieur
Beiträge: 3682 Registriert: 21.06.2001 "ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform ** CSWP 04/2011 ** ** CSWE 08/2011 **
|
erstellt am: 01. Aug. 2014 18:27 <-- editieren / zitieren --> Unities abgeben: Nur für Christian_W
Hallo Christian. Hilft Dir vermutlich nicht viel, aber bei mir funktioniert es. Wenn ich die Zeile entkommentiere wird auch ISOCPEUR erfolgreich zugewiesen. Sowohl in der MsgBox als auch 'Sichtkontrolle' bestätigt. SWX2013 SP5.0 Gruß, Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Torsten Niemeier Ehrenmitglied V.I.P. h.c. Maschinenbau Ingenieur
Beiträge: 3682 Registriert: 21.06.2001 "ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform ** CSWP 04/2011 ** ** CSWE 08/2011 **
|
erstellt am: 01. Aug. 2014 18:46 <-- editieren / zitieren --> Unities abgeben: Nur für Christian_W
Ich habe nochmal gesucht, und offensichtlich ist dieses Problem, das scheinbar nur bei der Schriftart der Detailansichten auftritt, erst mit 2013 SP4 behoben worden. Der SPR ist scheinbar 680465 (ich habe hier im Moment keinen 'richtigen' Zugriff auf's Customer-Portal, sorry) Gruß, Torsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 01. Aug. 2014 20:37 <-- editieren / zitieren --> Unities abgeben:
|
Torsten Niemeier Ehrenmitglied V.I.P. h.c. Maschinenbau Ingenieur
Beiträge: 3682 Registriert: 21.06.2001 "ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform ** CSWP 04/2011 ** ** CSWE 08/2011 **
|
erstellt am: 01. Aug. 2014 21:29 <-- editieren / zitieren --> Unities abgeben: Nur für Christian_W
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 04. Aug. 2014 13:38 <-- editieren / zitieren --> Unities abgeben:
Hallo, das hat auch den Vorteil, dass man auf jedenfall 50% Recht hat entweder vorher oder hinterher ... und ich wird mir auch angewöhnen, den fraglichen Befehl in der Knowledgebase mit abzufragen ... Schöne Woche noch, So - einen kleinen Workaround hätt ich schon mal:
Code: boolstatus = Part.Extension.LoadDraftingStandard("PfadundName.sldstd")
funzt auch mit Makro muss ich mir den halt mal gepflegt ablegen, dann vergisst man auch nichts mehr beim Ändern von Vorlgagedateien ... Gruß, Christian [Diese Nachricht wurde von Christian_W am 04. Aug. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Torsten Niemeier Ehrenmitglied V.I.P. h.c. Maschinenbau Ingenieur
Beiträge: 3682 Registriert: 21.06.2001 "ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform ** CSWP 04/2011 ** ** CSWE 08/2011 **
|
erstellt am: 04. Aug. 2014 19:58 <-- editieren / zitieren --> Unities abgeben: Nur für Christian_W
|
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 05. Aug. 2014 12:09 <-- editieren / zitieren --> Unities abgeben:
|