| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
 | SOLIDWORKS Simulation Professional – Online-Live Schulung, ein Seminar am 25.06.2025
|
Autor
|
Thema: im Blattformat rumprogrammieren? (650 mal gelesen)
|
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 01. Feb. 2007 14:35 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe das Problem, dass ich währen eines Freigabeprozederes einige Texteinträge in Ihrer Schriftart ändern möchte. Da diese Einträge allerdings zum Blattformat gehören, komme ich da irgendwie nicht heran. Das Aufzeichnen eines Makros hat auch keine Erleuchtung gebracht. Weiß jemand rat...
------------------ Gruß busy (was besseres ist mir nicht eingefallen!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Feb. 2007 08:40 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Hallo busy Um das Textformat zuändern, gibt es in der SWX API-Hilfe ein Beispiel. Suche nach "Change Text Format Example (VB)". Für den Befehl suche nach "Annotation::SetTextFormat". Und um an deinen Text heranzukommen, musst du im Makro in den "Blattformat bearbeiten"-Modus wechseln. Stichworte "EditTemplate" "EditSheet" Gruss Andreas ------------------ There's no place like 127.0.0.1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mc Fly Mitglied Masch-bautechniker
 
 Beiträge: 254 Registriert: 03.11.2003 Win7 Prof SP1 X64 Intel Xeon W3670 16GB RAM SWX 2011 SP5 ** CSWP 10/07 **
|
erstellt am: 02. Feb. 2007 09:31 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Hallo busy, am besten stellst du mal ein Template zum Download ich kann mir das mal anschauen, danach können wir telefonieren was du genau geändert haben willst. Gruß Mc Fy ------------------ Ich sehe in jedem Mensch zuerst das positive, enttäuscht werde ich noch früh genug. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 02. Feb. 2007 10:01 <-- editieren / zitieren --> Unities abgeben:         
Hey, danke schon mal an Euch. Ich möchte die Schriftart für eine "Vertiffung" ändern. Ich brauche das, da eine Archiv-Software anschließend die Zeichnung per OCR auslesen soll (softwaretechnische Altlast !!??!!) ...also eigentlich habe ich folgendes im Makro stehen: Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Blatt1", "SHEET", 0, 0, 0, False, 0, Nothing, 0) Part.EditTemplate Part.EditSketch Part.ClearSelection2 True boolstatus = Part.Extension.SelectByID2("@DBW=DOKUMENT.BENENNUNG@Sheet Format1", "NOTE", 0, 0, 0, False, 0, Nothing, 0) Part.EditDelete boolstatus = Part.Extension.SelectByID2("Sheet Format1", "SHEET", 0, 0, 0, False, 0, Nothing, 0) Part.EditSheet Part.EditSketch Part.ClearSelection2 True End Sub ...um es zu probieren, ob ich dort zumindest mal was löschen kann. Allerdings funzt das makro nicht einmal (ist direkt aufgezeichnet) ...immernoch ratlos.... ------------------ Gruß busy (was besseres ist mir nicht eingefallen!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 02. Feb. 2007 13:20 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Nochmals Hallo Ich habe mal Quick' n Dirty ein Makro erzeugt, das bei einen bestimmten Text in der Vorlage die Schriftart wechselt. Code: Dim swApp As Object Dim Part As Object Dim swSelMgr As Object Dim boolstatus As Boolean Dim swAnnObj As Object Dim swAnn As SldWorks.Annotation Dim swTextFormat As SldWorks.TextFormat Dim bRet As BooleanSub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc 'Blattformat bearbeiten Part.EditTemplate Part.EditSketch Part.ClearSelection2 True 'Hier wird das Textobjekt ausgewält / Detailelement395@Blattformat1 durch richtige ID ersetzen boolstatus = Part.Extension.SelectByID2("Detailelement395@Blattformat1", "NOTE", 0, 0, 0, False, 0, Nothing, 0) Set swSelMgr = Part.SelectionManager Set swAnnObj = swSelMgr.GetSelectedObject5(1) Set swAnn = swAnnObj.GetAnnotation Set swTextFormat = swAnn.GetTextFormat(0) 'Hier deine Schriftart eingeben swTextFormat.TypeFaceName = "Wingdings" 'Schriftartwechseln bRet = swAnn.SetTextFormat(0, False, swTextFormat): Debug.Assert bRet Part.SetPickMode Part.ClearSelection2 True 'Blatt bearbeiten Part.EditSheet Part.EditSketch Part.ClearSelection2 True End Sub
Gruss Andreas ------------------ There's no place like 127.0.0.1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 05. Feb. 2007 08:13 <-- editieren / zitieren --> Unities abgeben:         
THX to HenryV Dein Makro habe ich natürlich sofort versucht, nur leider komme ich nicht sehr weit, siehe angehängtes Bild. ...wenn ich das Makro anschmeisse, kommt die Fehlermeldung und wenn ich dann auf Debuggen gehe markiert er mir 'Set swAnn = swAnnObj.GetAnnotation' Vielleicht kannst Du ja mit einem Augenzwinkern mich auf meinen Fehler hinweisen..... ------------------ Gruß busy (was besseres ist mir nicht eingefallen!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 05. Feb. 2007 09:05 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Hallo busy Schau mal im Macro-Editor unter Extras-Verweise, ob da die Häkchen bei -OLE Automation -SolidWorks Extensibility Type Library -SldWorks 2006 Type Library -SolidWorks 2006 Constant type library -Visual Basic For Applications gesetzt sind. ------------------ There's no place like 127.0.0.1 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 05. Feb. 2007 09:25 <-- editieren / zitieren --> Unities abgeben:         
Hey, ja, die sind markiert (siehe Anhang!), allerdings setzen wir zur Zeit noch auf SWX2005. Sollte aber laut API-Hilfe mit diesen Befehlen auch gehen..... ------------------ Gruß busy (was besseres ist mir nicht eingefallen!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
  
 Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 05. Feb. 2007 09:33 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
|
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 05. Feb. 2007 09:45 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Geht doch wunderbar!!! Wenn aber Dein Element, busy, nicht "Detailelement395@Blattformat1" heisst, geht das Makro logischerweise auch nicht ganz durch! Du musst zuerst herausfinden, wie Deine Teststelle heisst! Keine Ahnung wie das ganz einfach gehen könnte - ich habe es so gemacht: makro aufzeichnen, Textstelle anwählen, Makro beenden, Makro bearbeiten und da siehst Du auch sofort, wie Deine Textstelle heisst. Copy & Paste, done! ------------------ SolidWorks is my friend... SolidWorks, frieeeend! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 05. Feb. 2007 10:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo, das stimmt ja, ich habe es ja auch angepasst (siehe "Schriftartwechsel.jpg" zweite Zeile).... ..aber laufen dütt es trotzdem nicht..... ------------------ Gruß busy (was besseres ist mir nicht eingefallen!) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
G. Dawg Ehrenmitglied V.I.P. h.c. Teamleiter FEM Simulation

 Beiträge: 2622 Registriert: 12.07.2004 SolidWorks_2o2o SP3.o Win10_x64, Quadro_P2ooo. VisualStudio_2o19_Pro. FEM: Forge_NxT_HPC, ANSYS_WB. 3D-Printer: Ultimaker_2, Tinker_Gnome.
|
erstellt am: 05. Feb. 2007 10:31 <-- editieren / zitieren --> Unities abgeben:          Nur für busy
Das kann doch nicht sein, dass ein Elementenamen mit einem @ beginnt? Hast Du irgend eine Datenbank im Einsatz (DBW?!)? Vergleiche einmal Deine Zeile mit HenryV's Zeile: Code: boolstatus = Part.Extension.SelectByID2("Detailelement395@Blattformat1", "NOTE", 0, 0, 0, False, 0, Nothing, 0)
Deine Zeile:
Code: boolstatus = Part.Extension.SelectByID2("@DBW=DOKUMENT.BENENNUNG@Sheet Format1", "NOTE", 0, 0, 0, False, 0, Nothing, 0)
------------------ SolidWorks is my friend... SolidWorks, frieeeend! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
busy Mitglied

 Beiträge: 33 Registriert: 27.04.2005
|
erstellt am: 05. Feb. 2007 10:36 <-- editieren / zitieren --> Unities abgeben:         
|