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