Cze wszystkim
Jestem studentem pracy dyplomowej w ICAM w Lille i pracuję nad Solidworks. Używam rodzin części do zestawów drzwiowych i dla uproszczenia chciałbym użyć makra Excel. To ostatnie powinno pozwolić na zapisywanie plików Excel związanych z częściami i złożeniami Solidworks oraz rejestrację części i złożeń w Solidworks (co jest dla mnie dzisiaj problemem).
Aby wyjaśnić, jak postępowałem, oto diagram objaśniający.
Nie mogę się doczekać, aby Cię przeczytać.
Pozdrowienia
Arnaud Duhame
explication.pdf
Witam
Odpowiem Ci tylko częściowo, ale powinieneś być w stanie dodać odniesienia do SolidWorks w odniesieniach (Narzędzia -> Odniesienia).
Wskazówka: "Biblioteka typów poleceń SOLIDWORKS 2016 / Biblioteka typów stałych SOLIDWORKS 2016" itp.
A potem pracuj nad tym.
To jest ten sam sposób, w jaki wykonuję akcje na przechowalni z Excela (z drugiej strony, nie testowałem z SolidWorks, więc w ogóle nie wiem, czy to, co mówię, jest wykonalne).
KVuilleumier.
Cóż, nie miałem wielkiej nadziei, ale po kilku próbach mi się udało.
Dim swApp jako SldWorks.SldWorks
Sub TestSW()
Ustaw swApp = Nowy SldWorks.SldWorks
swApp.SendMsgToUser "Cześć"
swApp.NewPart
Koniec subwoofera
To makro (Wykonane z Excela) wysyła mi wiadomość "Cześć" i otwiera nowy dokument 3D.
Oto odnośniki, które należy dodać:
- Biblioteka typów SldWorks 2016
- Biblioteka typów rozszerzalności SolidWorks 2016
- Biblioteka typów SOLIDWORKS Utilities 2015
- Biblioteka typów stałych SOLIDWORKS 2016
- Biblioteka typów poleceń SOLIDWORKS 2016
Edit: Potrzebujesz czegoś jeszcze?
Witaj KVuileumier,
Dziękuję za odpowiedź, sprawdziłem referencje dla solidworks i je aktywowałem.
Aby otworzyć pliki solidworks, używam tego makra (z Excela):
Sub Makro1()
Przyciemnij oprogramowanie jako ciąg
Przyciemnij plik jako ciąg
Przyciemnij DoLaunch
Dim RetVal
Software = """C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\SLDWORKS.exe"""
File2 = """C:\Użytkownicy\MSI\Pulpit\test\runda. SLDPRT"""
ToLaunch2 = Oprogramowanie & " " & Plik2
RetVal = Powłoka(ToLaunch2, 1)
Koniec subwoofera
Mój problem polega głównie na tym, jak zapisać ten plik, który jest otwarty?
Dziękuję za pomoc
Pozdrowienia
Arnaud
Cóż, wyobraźmy sobie, że jest to aktywny plik, który chcemy zapisać, musielibyśmy wykonać taką manipulację:
W definicjach zmiennych:
Dim swModel As SldWorks.ModelDoc2
W funkcji (Jeśli chodzi o swApp jest zdefiniowany, zobacz moją poprzednią odpowiedź, jeśli to konieczne):
Ustaw swModel = swApp.ActiveDoc
swModel.Save3 swSaveAsOptions_Silent, 0, 0
Potrzebujesz czegoś jeszcze? A może czegoś nie rozumiesz?
KVuilleumier
Niestety mam wrażenie, że nie rozumiem. Do Waszych propozycji dołączam zmodyfikowane makro jak również plik zamówienia i część solidworks.
Z góry dziękuję za pomoc.
Pozdrowienia
Arnaud Duhamel
teste.zip