Jak zapisać część solidworks za pomocą makra programu Excel?

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