[VB.net] Wyodrębnianie odniesień Solidworks

Witam

 

Czy istnieje sposób na wyodrębnienie odniesień z pliku z vb.net?

Zajrzałem do API Solidworks visual basic, ale nie znalazłem nic konkretnego :/

 

Pozdrowienia

Witam, a priori to możliwe. Musisz zadeklarować SolidWorks i dodać odpowiednią bibliotekę, patrz ten link:

http://help.solidworks.com/2014/english/api/sldworksapiprogguide%5Cgettingstarted%5Cvisual_basic_.net_standalone_and_add-in_applications.htm

Zobacz ten wątek komunikacyjny

http://www.lynkoa.com/forum/autres/vba-excel-pour-solidworks

@+ ;-)

Witaj .PL & gt22

Rzeczywiście, deklaracja jest obowiązkowa, co już zrobiłem, ponieważ obecnie już zmieniam referencje za pomocą mojego oprogramowania, problem polega na tym, że muszę je wypełniać jeden po drugim w tabeli, dlatego staram się wyodrębnić referencje bezpośrednio :)

Co dokładnie oznacza wyodrębnianie referencji?
1 polubienie

Chciałbym mieć możliwość pobrania z pliku typu ASM lub DRW odwołań, które mają

Przykład:

Plik "rysunek 1.SLDDRW" odnosi się do zespołu "assembly1. SLDASM"

Opcja "assembly1. SLDASM" Odnosi się do części "Piece1.SLDPRT"

Chciałbym pobrać wartości "assembly1. SLDASM" i "Piece1.SLDPRT" w trybie automatycznym

Nie wiem czy jestem zrozumiały :/

1 polubienie
OK, wydaje mi się, że od momentu zadeklarowania SolidWorks jest tak samo jak w VBA? W rzeczywistości od momentu powstania rysunku należy pobrać pierwszy widok, aby pobrać skojarzony z nim obraz 3D.

Musisz użyć getfirstview, aby pobrać mapę bazową, następnie getnextview, aby pobrać pierwszy widok, a na końcu referenceddocument, aby mieć dostęp do odpowiedniego pliku 3D.

Myślę, że w tym makrze, które opublikowałem na Lynkoa, jest przykład:

http://www.lynkoa.com/tutos/3d/macro-enregistrer-sous-avec-solidworks

Dziękujemy za answer.PL

Właśnie spojrzałem na twój kod i wydaje mi się, że jest skomplikowany jak na to, co chcę zrobić, przez to mam na myśli, że z solidworks, klikając na rysunek bardziej na odniesienie, otrzymujesz okno jako załącznik i bardzo by mi odpowiadało, ponieważ zawiera folder i nazwę części


ref.png
1 polubienie

Witam

W rzeczywistości chcesz uzyskać takie same wyniki, jak w przypadku korzystania z opcji Plik/Wyszukiwanie referencji, a następnie przycisku "Kopiuj listę". Zgadza się?

Następnie wszystko, co musisz zrobić, to wkleić go do pliku Excel.

2 polubienia

Witaj Benoit.LF,

Rzeczywiście, to jest to, co chcę uzyskać informacje bezpośrednio po tym, jak nie przeszedłbym przez Excela, ale bezpośrednio przechowywany w vb.net, ale to wszystko! :)

Nie jest to takie skomplikowane i jest to jedyna metoda, jaką znam! Małe przypomnienie, na rysunku może znajdować się kilka różnych dokumentów, więc kilka odniesień...

Makro, które zamieściłem, robi oczywiście coś innego, ale to początek kodu jest interesujący dla tej aplikacji.

Zobacz ten link, który daje to samo rozwiązanie:

http://help.solidworks.com/2012/English/api/sldworksapi/Get_Document_Referenced_by_Drawing_View_Example_VB.htm

Po tym, jak interesuje mnie rozwiązanie, które robi to w mniej niż 3 linijki kodu!! (Oczywiście bez deklaracji!)
W przeciwnym razie dla zestawu należy użyć polecenia GetComponent:

http://help.solidworks.com/2012/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IAssemblyDoc~GetComponents.html

Rozwiązanie dla odniesień zewnętrznych (czy to wszystkie referencje?) w około 50 wierszach:

http://help.solidworks.com/2013/English/api/swdocmgrapi/Get_All_External_References_for_Drawing_Example_VBNET.htm

Znalazłem tymczasowe rozwiązanie, które może zająć dużo czasu, zmieniam WSZYSTKIE referencje, nawet tę, która nie istnieje, SOlidWorks nie drgnie.

 

Witam

Interfejs API, którego należy użyć, to  : GetDocumentDependencies2

http://help.solidworks.com/2013/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.isldworks~getdocumentdependencies2.html

Zwraca wszystkie odwołania zewnętrzne pliku 

Philippe

1 polubienie