Włącz opcję PROMUJ za pomocą makra

W nawiązaniu do pytania: http://www.lynkoa.com/forum/3d/famille-de-piece-promouvoir

Nie znam MAKR, ktoś mógłby zrobić mi makro, aby aktywować opcję Promuj we wszystkich konfiguracjach pomieszczenia.

Z góry dziękuję.


2015-02-06-famille_de_piece_-_promouvoir.jpg

Witam

Ponowne przeczytanie dwóch fragmentów kodu, które zamieściłem w poprzednim pytaniu, jest łatwiejsze niż myślałem, ale nie miałem czasu na testowanie.

Do umieszczenia w nowym makrze w SolidWorks z menu " Makro > Nowe narzędzia > Narzędzia ".

'Edycja: czyszczenie kodu i komentarze

Opcja jawna
Sub main()
    Dim swApp                   jako SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2
    Dim vConfNameArr            jako wariant
    Dim sConfigName As String (Nazwa_             konfiguracji jako ciąg)
    Słońce i                       tak długo

   
    Ustaw swApp = CreateObject("SldWorks.Application")
        SolidWorks umożliwia w VBA
    Ustaw swModel = swApp.ActiveDoc
       'Pobiera aktywny dokument
    vConfNameArr = swModel.GetConfigurationNames
       'Pobiera wszystkie konfiguracje w tablicy
    Dla i = 0 Do UBound(vConfNameArr)
       Pętla we wszystkich konfiguracjach
        sConfigName = vConfNameArr(i)
       sConfigName.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote
       'Aktywuje funkcję promowania w każdej z konfiguracji
    Dalej i
Koniec subwoofera

 

2 polubienia

A priori wystąpił błąd (patrz załączony plik)


2015-02-06-macro_-_promouvoir.jpg

Nie mogą być 2 rozdań w tym samym programie i wystąpił błąd autokorekty z apostrofami.

 

Kod powinien wyglądać tak, jak w pliku PDF tego samouczka, który właśnie umieściłem w Internecie:

http://www.lynkoa.com/tutos/solidworks/macro-pour-toutes-les-configurations-d-un-assemblage-pour-activer-l-option-%E2%80%9Cpromouv

 

I zaktualizowałem powyższy kod, powinno działać.

 

Uruchomiłem poprawione makro, ale wyświetla się nowy komunikat o błędzie

(patrz załącznik).

 


2015-02-09-erreur_macro_promouvoir.png

Dziś wieczorem próbuję przetestować makro.

Mam kolegę, który zna się na makrach, oto co napisał.

Po jednym lub dwóch testach wydaje się, że to działa.

 

Opcja jawna
Sub main()
    Dim swApp                   jako SldWorks.SldWorks
    Dim swModel                 As SldWorks.ModelDoc2
    Dim swConfig                jako SldWorks.Configuration
    Dim vConfNameArr            jako wariant
    Dim sConfigName As String (Nazwa_             konfiguracji jako ciąg)
    Słońce i                       tak długo

  
    Ustaw swApp = Application.SldWorks
        SolidWorks umożliwia w VBA
    Ustaw swModel = swApp.ActiveDoc
       'Pobiera aktywny dokument
    vConfNameArr = swModel.GetConfigurationNames
       'Pobiera wszystkie konfiguracje w tablicy
    Dla i = 0 Do UBound(vConfNameArr)
       Pętla we wszystkich konfiguracjach
        Ustaw swConfig = swModel.GetConfigurationByName(vConfNameArr(i))
        'sConfigName = vConfNameArr(i)
        swConfig.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote
       'Aktywuje funkcję promowania w każdej z konfiguracji
      
    Dalej i
Koniec subwoofera


ficap_macro_promouvoir.swp

Załącznik makra działa.


ficap_macro_promouvoir.swp