Hallo Solas,
ja das geht, mit „Notifications“.
Diese sind jedoch am besten in Add-Ins einzusetzen.
Beim Makro hat es denn Nachteil, dass du nach dem Starten des Makros, dass Makro nur wieder abschalten kannst, indem du SolidWorks neu startest. Theoretisch könnte man mit einem zweiten Makro versuchen, das Erste wieder zu beenden. Kann aber nicht sagen ob das wirklich geht und müsste es mal ausprobieren.
Ein Add-In könntest du unter "Zusatzanwendungen" jederzeit deaktivieren.
Bei der Programmierung des Makros besteht der Kniff darin, eine Objektklasse zu erstellen und dort das Objekt, das abgehört werden soll, mit "WithEvents" zu erzeugen.
Als Beispiel:
Dim WithEvents swApp As SldWorks.SldWorks
Darauf kann man in den beiden Pull Down Menüs „Allgemein“ und „Deklarationen“ auf das erzeugte Objekt (z. B. swApp) sowie die vorhandenen Prozeduren (in dem Fall „Notifys“) zugreifen (siehe angehängtes Bild). In diese Notifys wird dann dein Quellcode geschrieben.
In dem Modul wird die Klasse als „Public“ deklariert.
Die Main()-Prozedur initialisiert die neue Klasse und ruft eine Prozedur dieser Klasse auf, die wiederum das abzuhörende Objekt mit „WithEvents“ initialisiert.
Dieses Objekt ist während der gesamten Laufzeit von SolidWorks geladen und aktiv.
Ich habe dir ein kleines Beispiel Makro angehängt, ich denke dies erklärt es am besten.
Es sendet eine Nachricht nachdem du eine neue Datei (Teil, BG, Zeichnung) in SW erstellt hast.
Grüße
Dimitrie
------------------
Spezialisiert auf parametrisierte und automatisierte Konstruktionsabläufe.
Spezialisiert auf API-Schnittstellen unterschiedlicher CAD-Systeme.
Software Entwicklung und Programmierung für CAD-Systeme (Add-In, Stand-Alone, Makro) nach Kundenvorgabe.
Entwicklung und Programmierung von Softwareschnittstellen die eine vollständige Vernetzung im Rahmen der Industrie 4.0 ermöglichen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP