Makro Excel

Cze wszystkim.

 

Postaram się postawić sprawę jasno.

 

- Mam profil z blachy, który muszę wyeksportować w formacie dxf (rozłożony dźwięk)

- Ten profil różni się długością

- Mam listę wszystkich długości w skoroszycie programu Excel, a także ich odpowiednią ilość.

 

Czy za pomocą pliku Excel można automatycznie wyeksportować wszystkie dxf według długości.

Trochę dodatkowy punkt, między każdą zmianą długości, musimy mieć potrójną rekonstrukcję, ponieważ istnieją wzory do przeliczenia zgodnie z długością.

A także, jeśli to możliwe, mieć w nazwie dxf ilość odnoszącą się do takich a takich długości.

 

Czy musisz przechodzić przez rodzinę pokoi? Za pomocą makra? A może coś innego?

 

Myślę, że to zrozumiałe =)

 

 

 

2 polubienia

Oto rzut oka na to, czego chciałbym na końcu.

 

Z programu Excel uzyskaj listę plików dxf.

 

Dziękuję! =)


exemple.png
1 polubienie

Cześć Bart,

Będziemy potrzebować trochę więcej. Jak działa Twój plik SW? Kilka konfiguracji czy tylko jeden i zmieniamy długość?

Osobiście zrobiłbym plik SW z rodziną części. Mielibyśmy więc konfigurację według długości.

Następnie w kodzie:

  1. Otwieranie pliku
  2. Przeglądaj każdą konfigurację w
    1. Wybieranie konfiguracji
    2. Zrekonstruowany
    3. Eksport w formacie dxf (Jak chcesz zarządzać plikiem dxf?)
    4. Przejdź do następnego, jeśli istnieje.
  3. Zapisuje plik programowy

Czy wszystko zrozumiałem? Czy to jest odpowiednie?

2 polubienia

Tak @remrem, w zasadzie to wszystko.

 

Mam plik excel z np. 500 różnymi długościami.

Moja część ma otwory rozsiane na całej długości.

 

Więc:

  1. Plik Excel wraz z dokumentem umieszczam w kartotece klienta.
  2. Wrzucam makro,
  3. Sw rozkłada mój kawałek na pierwszą długość,
  4. Wyeksportowane w formacie DXF do pliku klienta
  5. Sw zawiera (lub nie) ilość, która jest w programie excel w nazwie dxf
  6. Następnie przechodzi do następnego wiersza
  7. Przebudowany 3 razy
  8. Następnie powtórz tę samą sztuczkę, eksportuj do DXF itp....

Jeśli podsumuję, zaczynam od pokoju z jego excelem, a kończę z listą dxf według długości.

 

1 polubienie

Będę się powtarzał, ale twoja sztuka ma rodzinę sztuk, czy nie?

Skąd więc wiesz, które konfiguracje należy zatarować: jaki plik Excel zawiera nazwę konfiguracji, długość? Czy istnieje związek między długością a nazwą konfiguracji?

Oto przykład makra, które wyświetla konfiguracje pliku: http://help.solidworks.com/2015/english/api/sldworksapi/Get_List_Of_Configurations_Example_VB.htm

Następnie będziesz musiał porównać uzyskaną listę z tą w pliku Excel.

Następnie eksportuj do pliku dxf: http://help.solidworks.com/2015/english/api/sldworksapi/solidworks.interop.sldworks~solidworks.interop.sldworks.ipartdoc~exportflatpatternview.html

 

2 polubienia

Na pierwszy rzut oka nie wydaje mi się to niemożliwe. Nie znam bramy, aby przejść z Excela do otwierania części w solidworks ... Ale nie widzę powodu, dla którego nie można było tego zrobić.

 

A więc przebaczać. Kiedy już rozwiążesz @Bart, jeśli mógłbyś podać nam zarys swojego kodu. Może to pomoże w przyszłości ;)

2 polubienia

Załączyłem zdjęcie w moim pierwszym poście.

 

Możecie zobaczyć etapy mojego podejścia.

 

W tej chwili mam część, która ma równania sterujące funkcjami.

Brak rodziny części lub konfiguracji.

Mój Excel zawiera nazwę części, jej długość i ilość (w najgorszym przypadku dla ilości, daję radę)

 

Wiem, że jest to możliwe, ale pytanie brzmi, jak to zrobić?...

Następnie, jeśli muszę przejść przez makro, jestem .... w VBA :/

http://www.lynkoa.com/forum/3d/mise-jour-auto-famille-piece

 

Czytałem zygzakiem, ale widocznie udało mu się połączyć w SolidWorks i Excelu.

2 polubienia

Zrozumiałem twoje podejście.

Ale chcę wiedzieć, czy możesz dostosować swój pokój, aby makro było łatwiejsze do osiągnięcia, czy też makro powinno całkowicie dostosować się do twojego otoczenia.

Osobiście, z doświadczenia, aby osiągnąć tego rodzaju rzeczy i że działa to idealnie. Zajmuje to sporo czasu. Dlatego tak ważne jest, aby wszystko uporządkować i jasno określić nasz cel. Ponieważ w przeciwnym razie kodujesz, a potem zaczynasz wszystko od nowa, ponieważ to już nie pasuje.

Bez opanowania VBA. Radzę podzielić swój projekt zgodnie z nim i realizować je jeden po drugim. Przykład: Otwarcie pliku, lista konfiguracji, eksport. I pytać, próbować, a potem zadawać pytania na forum.

Jeśli chodzi o mnie, nie jestem w stanie zrealizować tego projektu w całości. Celem jest również nauka, ponieważ jeśli otrzymasz wszystkie swoje kody, nie będziesz w stanie wprowadzić ich w życie na czas.

Dobry kod :-)

3 polubienia

Całkowicie się z tobą zgadzam Remrem.

 

Dlatego wszystko szczegółowo opisałem krok po kroku.

 

Nie proszę o makro pod klucz, ale bardziej o to, aby wiedzieć, dokąd powinienem się udać.

Czy muszę iść i zobaczyć rodziny części, czy nie, czy konieczne jest makro itp.

 

Ułożyłem rzeczy, pozostało mi tylko kodować krok po kroku

1 polubienie

Zacznę więc na własną rękę i będę zadawał pytania, gdy utknę.

 

To znaczy wkrótce! :p

4 polubienia

@KVuilleumier:

Związek między Excelem a oprogramowaniem jest całkiem możliwy.

Osobiście stworzyłem aplikację, która integruje się z excelem i sterownikiem SW: modyfikacja właściwości, eksport nomenklatury...

Ale po raz kolejny Bart musi nam powiedzieć, co chce zrobić: sterować oprogramowaniem z Excela LUB następnie SW przeczytać jego plik Excel i przetworzyć informacje...

Osobiście skłaniałbym się bardziej ku temu drugiemu.

 

2 polubienia

Cze wszystkim

Myślę, że łatwiej będzie wcześniej stworzyć rodzinę części z pliku  Excel (link poniżej):  zajmie Ci to 1 lub 2 minuty, podczas gdy program może być trudny do wykonania i będzie źródłem błędów.

http://help.solidworks.com/2013/french/SolidWorks/sldworks/t_Inserting_an_External_File_as_a_Design_Table.htm

Następnie wystarczy wstawić to makro, które tworzy DXF dla wszystkich konfiguracji:

 Źródło: https://forum.solidworks.com/thread/27842

Ten film może być również interesujący:

https://www.youtube.com/watch?v=8SW-UZy1QMA

Edycja: zobacz też:

https://www.youtube.com/watch?v=rSeYL77cqBQ

 

2 polubienia

Podobnie jak PL, myślę, że rodzina części byłaby dobrą rzeczą. A przede wszystkim pozwoliłoby to na zachowanie maksymalnej ilości informacji i funkcji w plikach programowych. Oznacza to, że jeśli Twój kod już nie działa lub użytkownik nie ma do niego dostępu, duża część informacji jest dostępna w oprogramowaniu.

Nie mogę się doczekać, aby Ci pomóc...

:-)

2 polubienia

Fajną rzeczą w tworzeniu programu makr jest to, że może skopiować swój natywny plik do określonego folderu klienta, otworzyć jego excela i kontrolować wszystko.

 

Natomiast z rodziną części będzie zmuszony stworzyć nową dla każdego klienta (jeśli zrozumiałem, jak to działa)

1 polubienie

@coin37coin tak, ale spędzanie 1 dnia na programowaniu (może mniej dla doświadczonego użytkownika VBA, ale nie sądzę, żeby tak było w przypadku Barta) na pobieranie kursów w pliku Excel, czy warto? I zakładając, że plik Excela nadal ma dokładnie takie samo formatowanie, w przeciwnym razie ulega awarii!

Jeśli ręczne stworzenie rodziny części zajmuje maksymalnie 5 minut (a myślę, że jest to mniej niż 5 minut) w SolidWorks, to musiałbyś zrobić co najmniej 80 minut, aby było to opłacalne w 7-godzinnym dniu pracy...

2 polubienia

Na pewno... To ciemna strona tej historii

1 polubienie

O to właśnie chodzi,
Chodzi o to, że otrzymuję od klienta Excela, ale chciałbym uniknąć przepisywania wszystkiego.

 

Jest to źródło błędów. Będę musiał przejść przez Solidworks i wrzucić makro, aby mógł zmielić i uzyskać moją listę plików dxf w folderze klienta.

 

W moim przypadku plik Excel zawsze będzie taki sam, zawsze zmieni się długość, a skoro już przy tym jesteśmy, długość skrzydeł.

 

A przechodząc przez Driveworks? Nie mogę odzyskać wszystkiego od razu?

 

Chcę spędzić 1 dzień na programowaniu, to coś, co pojawia się często, więc nadal zaoszczędzi mi to czasu.

1 polubienie

No cóż, dochodzę trochę w ten sposób, nie przeczytawszy całej rozmowy, więc mea culpa, jeśli to już zostało omówione, ale:

Kiedy otrzymujesz plik Excel od klienta, zawsze jest on sformatowany w ten sam sposób?

Dla nas jest to "arkusz konstrukcyjny", jest to plik Excel, w którym techniczni przedstawiciele handlowi wprowadzają wszystkie informacje dotyczące rozmiarów, ale także inne informacje dla innych działów firmy.

Następnie B.E używa arkusza o nazwie "Podsumowanie", jest to arkusz z makrem, który otwiera ten arkusz konstrukcyjny, który kopiuje niezbędne informacje dla biura projektowego i wkleja je w określonych polach. To właśnie ten arkusz jest powiązany z naszym CAD.

Tutaj właśnie opowiedziałam swoje życie:)

2 polubienia

@Aurelien (od pomocy technicznej Axemble) :p

 

Otrzymuję różne excele, ale ich formatowanie zajmuje mi tylko 2 minuty.

Sortowanie Excela jest szybsze niż ręczne wpisywanie wszystkiego w Sw, a następnie eksportowanie wszystkiego po kolei w dxf =)