Utworzyłem makro, które uruchamia i weryfikuje właściwość SmartProperty na każdym mechanicznie spawanym elemencie (który w związku z tym zapętla się przez czas potrzebny do wytworzenia wszystkich elementów).
Chciałbym, aby to makro było uruchamiane po zweryfikowaniu właściwości SmartProperties w części.
Makro działa bardzo dobrze, gdy uruchamiam je samodzielnie.
Ale on mi gówno mówi, bo Smart jest a priori już wystrzelony...
Aby sprawdzić, czy uruchamia makro, dodaj MSGBOX na samym początku, na przykład z "Uruchomiono makro", aby mieć pewność, czy zostało uruchomione, czy nie.
"-> "Po zamknięciu SmartProperties" - wskazuje, że akcja zostanie uruchomiona, gdy tylko wyjdzie się z narzędzia SmartProperties. Rzeczywiście, możesz sprawdzić poprawność informacji, naciskając (zielony przycisk zatwierdzania), ale jeśli okno zostało przypięte, ta czynność zostanie uwzględniona tylko po naciśnięciu czerwonego krzyżyka.
Użycie opcji "po zamknięciu" uruchamia makro po zamknięciu menedżera właściwości PropertyManager.
Jednak podczas uruchamiania makra za pomocą interfejsów API SoldiWorks kod czeka na zakończenie działania makra, aby go przekazać, więc właściwości SmartProperties pozostają otwarte do momentu zakończenia działania makra.
Jedynym rozwiązaniem byłoby przejście przez plik wykonywalny, a nie już przez makro. W takim przypadku program jest uruchamiany asynchronicznie , a SmartProperties zamyka się po uruchomieniu aplikacji.