Makro do uruchamiania i weryfikowania właściwości inteligentnych

Witam

Chcę utworzyć makro, aby uruchomić axemble smartproperties i zweryfikować je, aby móc aktualizować niektóre właściwości sterowane tylko przez smartproperties.

Problem polega na tym, że nie znam vba i że rejestrator makr nie wydaje się działać dla tego makra, które wydaje się być dość proste.

Celem jest następnie włączenie tego makra, aby stało się makrem funkcji, które będzie aktualizować właściwości części przy każdej zmianie.

Bez względu na to, jak bardzo szukam w google i innych, nie muszę wpisywać odpowiednich elementów wyszukiwania, aby uruchomić makro z makra SW...

Witam

Jak chcesz uruchomić to makro? Z guzikiem? Skrót klawiaturowy? Podczas otwierania pliku?

 

Za każdym razem plik jest modyfikowany, ponieważ automatycznie pobieramy oznaczenie pomieszczenia do składania naszych zamówień za pomocą naszego ERP i przepustowość jak również długość w oznaczeniu muszą być aktualizowane i odbywa się to tylko przy uruchamianiu smartproperties.

 

EDIT: Stąd chęć włączenia tego makra do makra funkcji

Dla tych, którzy tego nie lubią

http://www.lynkoa.com/tutos/r%C3%A9alisation-dune-macro-fonction-dans-solidworks#

 

Myślę, że twoje zbawienie leży w użyciu narzędzia Axemble CustomToolBar, które może być połączone z LocalHelp.

Ciekawe informacje tutaj:

http://www.lynkoa.com/forum/solidworks/solidworks-2014-mycadtools-localhelp-l-ouverture

W załączeniu znajduje się pomoc CulstomToolBar.


customtoolbar_fr.chm

I pomoc LocalHelp


localhelp_fr.chm

Problem polega na tym, że tylko 1 moneta na 500 ma to makro, więc nie mogę go uruchomić za pomocą niestandardowego paska narzędzi / lokalnej pomocy

Widzę funkcję makra, ale w tym celu musiałbym utworzyć makro, które uruchamia inne makro:SmartProperties 2014-Auto.swp i które nie znajduje się w tym samym katalogu co pierwsze makro

Przykład bieżącego katalogu makr C:\Macro i właściwości inteligentnych w C:\Smartproperties

I to z Uruchom makro na pewno

Ah ok, więc aby wywołać inne makro w innym katalogu, powinno to zadziałać:

http://help.solidworks.com/2010/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.ISldWorks~RunMacro2.html

 

Och, ale właśnie przeczytałem ponownie, w rzeczywistości prawdopodobnie nie ma potrzeby korzystania z SmartProperties.

Jakie właściwości niestandardowe są aktualizowane?

 

Pytanie pomocnicze:

Skąd możemy mieć pewność, że dana osoba uruchomi makro częściej, niż weryfikuje to smartproperties?

Znalazłem to samo, z wyjątkiem RunMacro zamiast RunMAcro2, próbuję tego, a potem wracam, aby opowiedzieć o wyniku.

W przeciwnym razie, skąd mogę mieć pewność, że osoba uruchomi makro, wykonując funkcję makra, ponieważ uruchamia się ręcznie po raz 1, jeśli dobrze zrozumiałem, a następnie uruchamia się przy każdej modyfikacji, patrz przykład: dołączony środek ciężkości makra (ale kod jest zablokowany przez autora ->Axemble)

 

EDYCJA: dla właściwości, które mają zostać zaktualizowane, jest ich wiele w zależności od typu części

1-) Długość i szerokość blachy do blachy

2-) Długość paska obliczona w zależności od rodzaju paska

   - PVC = Lgbelt+4‰

   - Modułowy = Lgbelt+100mm

   - .....

3-) Oznaczenie, które czasami zajmuje niektóre z wyżej wymienionych właściwości


macro_-_centredegravite_2012-12-01.swp
1 polubienie

Ponieważ masz konserwację MyCAD, zapytaj ich bezpośrednio, a po :) udziel nam odpowiedzi tutaj

Pytanie zadane do serwisu dziękuję you@.PL

Samo makro działa dobrze, uruchamia się, wstawia makro do drzewa pomieszczenia, uruchamia smartproperties, weryfikuje je. Następnie, jeśli dokonasz najmniejszej modyfikacji wybrzeża, dobrze się uruchamia, z drugiej strony mam problem, w zależności od użytej metody się zawiesza.

Jeśli zmodyfikuję wymiar i zatwierdzę w oknie dialogowym, a następnie nacisnę Ctrl+Q lub przebuduję, nie ma problemu.

Z drugiej strony, jeśli zmodyfikuję wymiar i przebudowuję go w oknie dialogowym przed walidacją, smartproperties ulega awarii.

Jeśli ktoś ma pomysł, aby to obejść, kod makra jest dołączony w pliku tekstowym (nie można go umieścić w odpowiedzi, ponieważ odpowiedź jest zbyt długa)

O awarii serwis nie ma pojęcia, dlatego zwracam się do społeczności!

Oto odpowiedź od konserwacji:

"Problem musi polegać na tym, że próbujemy uruchomić dodatek, a Solidworks nie może tego lubić, gdy funkcja makra jest uruchomiona."

 

Na razie szukam w smartproperties, próbując dodać właściwość run z opcją oczekiwania na koniec aplikacji lub z właściwościami aktualizacji.


smartproperties_auto.txt

Przepraszam, jeśli konserwacja nie znalazła rozwiązania, obawiam się, że go nie ma!

Nie mogłem znaleźć nic lepszego, zamknę temat.

Nie mogłem znaleźć nic lepszego, zamknę temat.

Witam;
Pozwalam sobie na grzebanie w tym temacie (w każdym razie 7 lat)...
możliwe jest wywołanie Smartproperties z innego makra (opcjonalnie można go używać z narzędziem do integracji.
W katalogu instalacyjnym Visiativ Tools:
Wyszukiwanie i edycja (za pomocą Edytora makr Solidworks) SmartProperties.swp
Poszukaj identyfikatora paska narzędzi ToolbarID i numeru skojarzonego z "Set swDCAddIn = swApp.GetAddInObject"{...}")

Następnie, aby zainicjować i uruchomić Smartproperties:

Sub main()
    Dim swApp                   As Object
    Dim swModel                 As Object
    Dim swDCAddIn               As Object
    Dim strDllFileName          As String
    Dim strExecutablePath       As String
    Dim strRegFileName          As String
    Dim lStatus                 As Long
    Dim retval                  As Long
    Dim ToolbarId               As Long
    
    
    On Error Resume Next
    
    ToolbarId = ***Le N° du ToolBarID***        'Attention, il faut recuperer le numero de la toolbar SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente
   
   'On récupére l'application SW
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc

    If swModel Is Nothing Then
        MsgBox ("Pas de document actif")
        End
    Else 
Dim stPathMacro As String
        stPathMacro = swApp.GetCurrentMacroPathName
        strRegFileName = Replace(stPathMacro, "-Auto.swp", ".dll")
        strDllFileName = strRegFileName
               
        'on initialise l'Add-ins
        lStatus = swApp.LoadAddIn(strDllFileName)
        
        'on récupére l'Add-ins (Attention, il faut recuperer le numero de l'app SmartProperties depuis la macro "Smarproperties_Auto.swp" la plus recente)
        Set swDCAddIn = swApp.GetAddInObject("{***XXXXX-XXX-XXXX***}")
        
....
            'on lance SmartProperties
             swDCAddIn.OpenAndValidateSmartProperties

End If 

End Sub

Ostrzeżenie: numery ToolBarID i AppSmarproperties zmieniają się z każdą nową aktualizacją narzędzi MyCad... (I ich lokalizacja też).

Pozdrowienia.