Edytować wszystkie części zespołu jedna po drugiej, aby zastosować makro?

Witam

Mam makro, które pozwala mi wypełnić informacje z każdego elementu na podstawie nazwy pliku. Problem polega na tym, że na chwilę obecną muszę uruchomić to makro część po części i chciałbym tylko poznać funkcję powtarzania tego zadania dla wszystkich części zespołu.

Dziękuję!

Witam

1. Czy mógłbyś podzielić się z nami swoim makro na wypadek, gdyby inni członkowie mieli ten problem?

2. Jeśli dobrze rozumiem, chcesz uruchomić makro z zestawu?

1 polubienie

Witam

Zrobiłem tego typu makro jakiś czas temu, zobacz załączony przykład.

Z pewnością ma być modyfikowany i dopracowywany pod Twoje potrzeby, ale może być w stanie pomóc.

Klasa A+


remplprop.swp powiedział:

Tak, jest to możliwe , jeśli masz pakiet MycadTools.

Za pomocą narzędzia INTEGRATION można uruchomić makro na serii plików.

1 polubienie

Witam

Aby pobrać listę składników zestawu, należy użyć funkcji GetDocumentDependencies2.

Więcej informacji tutaj: http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~getdocumentdependencies2.html

Na przykład w aplikacji w VB.net wykonuję następujące czynności

Instrukcji:

    Dim Application_SW jako SldWorks.SldWorks
    Przyciemnij Model_SW jako SldWorks.ModelDoc2
    Dim Component_SW jako SldWorks.Component2
    Dim Nom_fichier_SW As String (Przyciemnij Jako ciąg
    Dim Liste_dependances Jako obiekt

 

Kod funkcji:

    Funkcja Acquisition_dependences(ByRef Chemin_assemblage_SW jako ciąg) jako obiekt
        Dim Type_fichier_SW As Liczba całkowita = 2
        Application_SW. OpenDoc6(Chemin_assemblage_SW, Type_fichier_SW, 0, "", longstatus, longwarnings)
        Model_SW = Application_SW. Plik ActiveDoc
        Nom_fichier_SW = Model_SW. GetPathName (Nazwa_ścieżki)
        Zwróć Application_SW. GetDocumentDependencies2(Nom_fichier_SW, Prawda, Prawda, Fałsz)
    Zakończ funkcję

 

Następnie należy użyć następującego kodu do wykonania funkcji:

Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)

Spowoduje to zwrócenie tablicy ciągów w następującej formie:

"Jeśli używasz tej metody z zestawem, który zawiera dwa dokumenty, Part1 i SubAssem1, przykładem tego, co może zostać zwrócone, jest:

 [ "Część1", "C:\temp\Część1.SLDPRT", "SubAssem1", "c:\temp\SubAssem1.SLDASM" ]

 

Mam nadzieję, że ci pomogłem

1 polubienie

Bardzo dziękuję za odpowiedzi!

Załączam makro do Ciebie w załączniku!


niestandardowe-właściwości-automatyczne-nazewnictwo-v3_description.swp

Jeśli Twój problem został rozwiązany, wybierz najlepszą odpowiedź.

@remem: Ta funkcja zwraca tylko listę udziałów zależnych, prawda? Czy można zastosować makro do zwróconej tablicy? 

Przyznaję, że trochę się męczę: muszę zamienić "Nom_fichier_SW" na nazwę pliku, który chcę przetworzyć,  prawda?

Pojawia się komunikat o błędzie dla przedostatniej linii, powrotu, załączam zrzut ekranu.

Przepraszam, że to dużo pytań, mam nadzieję, że będziesz miał czas, aby mi pomóc


capture.png
1 polubienie

@julien. Bonus:

Zmieniłeś funkcję, kiedy nie powinieneś tego robić, jak widzę na twoim zrzucie ekranu.

Kopiuje kod deklaracji, a także kod funkcji bez ich modyfikowania.

Następnie w wierszu wywołania funkcji: Liste_dependances = Acquisition_dependences(Chemin_de_ton_fichier_ASM)

Część pisaną kursywą należy edytować tylko poprzez wskazanie ścieżki zespołu.

1 polubienie