| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SPINNER Hausausstellung |
Autor
|
Thema: Kommentare automatisch sehen (1167 mal gelesen)
|
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 17. Aug. 2021 13:47 <-- editieren / zitieren --> Unities abgeben:
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 17. Aug. 2021 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Hallo, das wird nur per Macro / AddIn gehen. Hier müsstes du das "Öffnen Event" (FileOpenNotify2 Event) abfangen und RunCommand Method (ISldWorks) mit der CommandID = swCommands_Edit_Comment ausführen. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 17. Aug. 2021 16:30 <-- editieren / zitieren --> Unities abgeben:
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 18. Aug. 2021 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Hallo, bei einem Macro mit Eventhandling musst du dies im Regelfall nur einmal pro Sitzung starten und das läuft dann permanent im Hintergrund mit und reagiert entsprechend auf die Events wie z.B. Öffnen eines Dokumentes. Das "Macro" kannst du entweder als AddIn ausführen, bei einem AddIn (VB.Net / C++ / C#) kannst du dann über die Zusatzanwendungen entscheiden ob das "Macro" immer automatisch mit SWX startet, bei ein VBA Macro musst du entweder das einmal in der Sitzung starten oder du startest das Macro direkt mit SWX, hierzu müsste man die Verknüpfung zum Start von SWX anpassen und um den Start des Macros erweitern (geht aber glaub nur wenn du SWX über eine Verknüpfung startest). Anbei hab ich dir mal ein Macro (VBA) geschrieben um es zu testen, leider geht mein gedachtes vorhaben mit "swCommands_Edit_Comment" doch nicht, weil hier irgendwie immer ein neuer Kommentar erstellt werden will und nicht der vorhande im Bearbeitungsfenster angezeigt wird. An den Befehl "Kommentare anzeigen" aus dem Kontextmenü kommt mann über VBA leider auch nicht ran. In meinem Macro werden dir die Kommentare jetzt in einer Messagebox angezeigt. Habt ihr mehrere Kommentare oder steht alles in einem Kommentar? In meinem Macro wird jetzt nur von einem Kommentar ausgegangen und falls kein Kommentar vorhanden ist kommt auch keine Messagebox. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 18. Aug. 2021 14:09 <-- editieren / zitieren --> Unities abgeben:
|
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 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: 18. Aug. 2021 16:14 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Zitat: Original erstellt von bk.sc: An den Befehl "Kommentare anzeigen" aus dem Kontextmenü kommt mann über VBA leider auch nicht ran.
Mit ein wenig tricksen geht das schon. Code: Option Explicit#If VBA7 Then Private Declare PtrSafe Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #Else Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #End If Dim swApp As SldWorks.SldWorks Sub main() Const WM_COMMAND As Long = &H111 Const SHOW_COMMENTS As Long = 52254 Set swApp = Application.SldWorks Dim swFrame As SldWorks.Frame Set swFrame = swApp.Frame SendMessage swFrame.GetHWnd(), WM_COMMAND, SHOW_COMMENTS, 0 End Sub
------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 18. Aug. 2021 16:19 <-- editieren / zitieren --> Unities abgeben:
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 18. Aug. 2021 17:25 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Hallo, hab das Macro geändert mit den Ergänzungen von Henry. @Henry, wo findet man so nützlich Informationen? Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 19. Aug. 2021 10:33 <-- editieren / zitieren --> Unities abgeben:
Leider hängt sich mein SWX2021 dann beim Laden einer Datei auf. Unabhängig davon, ob sie einen Kommentar "besitzt" oder nicht. Und unabhängig davon, ob ich dieses Makro automatisch über : "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe" -m "D:\ShowComments.swp" lade, oder erst in SWX starte. Auch unabhängig davon, ob ich V1 oder V2 dieses Makros lade. Schade. PS : bei V2 ist eine Zeile "rot" eingefärbt. 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: 19. Aug. 2021 11:24 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Zitat: Original erstellt von BranscheidGmbh: Leider hängt sich mein SWX2021 dann beim Laden einer Datei auf.
Bau mal vor dem "Loop" noch eine getnextfeature ein. (natürlich in der richtigen syntax...) sonst probiert der firstfeature auf ewig das mit der roten Zeile ist klar, stört aber nicht, weil sie nicht angesprungen wird. Gruß, Christian [Diese Nachricht wurde von Christian_W am 19. Aug. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 19. Aug. 2021 11:54 <-- editieren / zitieren --> Unities abgeben:
Da brauche ich bitte Deine Unterstützung. Denn in der Beschreibung, die ich gefunden habe, gibt es nur folgende Zeilen : Dim instance As IFeature Dim value As System.Object value = instance.GetNextFeature() DANKE
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: 19. Aug. 2021 12:13 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Und in der Beschreibung fehlt evtl ein "set" instance ist das vorher gesetzte swFeat, die Dims brauchst du nicht. es müsste reichen Code: set swFeat = swFeat.GetNextFeature()
(Tip: wenn in der Hilfe vorhanden, eine Beispieldatei aufrufen, z.B. Traverse Subfeatures (VBA) ) Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 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: 19. Aug. 2021 14:01 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
|
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 19. Aug. 2021 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
Hallo, hab das Macro korrigiert (erweitert das alle Feature bis zum Kommentarordner durchgegangen werden), da scheint wohl in SWX 2020/21 noch ein neues Element dazu gekommen zu sein das der Kommentarordner nicht mehr das erste Feature ist, weil bei mir ging es zufälligerweise auch ohne "GetNextFeature" . Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 19. Aug. 2021 14:06 <-- editieren / zitieren --> Unities abgeben: Nur für BranscheidGmbh
@Henry, danke für die nütliche Information, das scheint ja ganz neue Möglichkeiten zu erschaffen. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BranscheidGmbh Mitglied Dipl. Ing.
Beiträge: 49 Registriert: 15.01.2016 Solidworks Professional 2023 SP 5
|
erstellt am: 20. Aug. 2021 09:47 <-- editieren / zitieren --> Unities abgeben:
|