Wstawianie części do zespołu zgodnie z sekwencją

Cze wszystkim

Umieściłem pytanie w sekcji "Solidworks", ponieważ wiem, że wielu z was korzysta z tego oprogramowania, ale to pytanie może być odpowiednie dla innych parametrycznych programów CAD 3D.

Wyobraźmy sobie, że mam 3 sztuki (A, B, C), te 3 sztuki mają tę samą szerokość, tę samą grubość, ale różne długości:

Chcę, aby oprogramowanie CAD odczytywało plik Excel (za pomocą makra, ale nie jest to kolejność mojego pytania) i aby mogło wstawiać części do mojego zespołu zgodnie z kolejnością opisaną w Excelu.

Na przykład w pliku Excel i za pomocą makr otrzymuję sekwencję " C, A, B "

W jaki sposób oprogramowanie CAD może wstawiać te bloki jeden po drugim?

Wyobraziłem sobie, że wszystkie części zostaną wstawione w punkcie początkowym zespołu, C zostanie wstawione jako pierwsze na oryginale, następnie że A będzie miało swój początek przesunięty o długość bloku C, a następnie B zostanie przesunięty o długości " A + B "... Ale w tym przypadku nie miałbym żadnego "ogniwa" między częściami, żadne ograniczenie nie dołączyłoby części A do pomieszczenia C.

Jak zwykle jestem dość niejasny w swoich wyjaśnieniach, więc nie wahaj się zadawać mi pytań, aby zrozumieć moje :)

Dziękuję!

Ups, mały problem z układem! Oto obrazek: 

 


suiteinsertion.jpg
Witam, o co dokładnie chodzi? Zautomatyzowanie tego za pomocą makra jest możliwe i łatwe, jeśli długości są znane.

Tak, w jaki sposób możemy zautomatyzować wstawianie tych części? Wiedząc, że długości tych dokumentów zostaną wskazane w tym samym pliku Excel, co ten, który wypełnia poniższe elementy.

Myślę, że problem polega na stworzeniu wiązań między częściami, tak aby jeśli ewoluują, montaż podąża za nimi.

Wyobrażam sobie, że te trzy elementy nie mają ze sobą nic wspólnego: to nie jest prosta zmiana wymiaru, która sprawia, że przechodzisz od jednego do drugiego.

Nie, nie, wyobraźmy sobie, że każda część reprezentuje określony proces. Nie mają ze sobą żadnych powiązań poza tym, że muszą być za sobą.

1 polubienie

Jest to więc możliwe dzięki SolidWorks.

Aby wstawić część, należy użyć AddComponent5, przykład jest dostępny tutaj:

http://help.solidworks.com/2013/english/api/sldworksapi/Add_Component_and_Mate_Example_VB.htm

Następnie AddMate3, aby go ograniczyć, przykład jest dostępny tutaj:

http://help.solidworks.com/2011/English/api/sldworksapi/Add_Distance_Mates_Example_VB.htm

Redagować:

Aby uzyskać łącze SolidWorks Excel, należy zapoznać się z poniższymi łączami:

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

http://webcache.googleusercontent.com/search?q=cache:YB6dOOlqCUsJ:www.cadsharp.com/blog/using-microsoft-excel-with-the-solidworks-api/+&cd=1&hl=fr&ct=clnk&gl=fr

Wersja Google przechowywana w pamięci podręcznej dla tego ostatniego linku, ponieważ witryna zwraca błąd.

1 polubienie

Witam

Jeśli przejrzysz arkusz Excela, możesz mieć długość swoich "bloków" A, B i C.

Tak więc za pomocą makra wstaw nowy komponent, umieszczając ograniczenie koincydencji PRAWYCH płaszczyzn (poprzedniego elementu i nowego), koincydencji dla płaszczyzn TOP i na końcu odległość między płaszczyznami FACE o wartości (A+B)/2.

Zakładając, że początek układu współrzędnych jest wyśrodkowany w 3D, jak każdy dobry plik CAD! :)

2 polubienia

Dziękuję @.PL, zamierzam przyjrzeć się wszystkim tym linkom dotyczącym programowania w VBA, jednak staramy się ograniczyć rozwój tego typu tak bardzo, jak to możliwe (upraszczając wiele programów LISP za pomocą oprogramowania takiego jak Solidworks lub Inventor).

Niemniej jednak, te linki są bardzo, bardzo interesujące, gdy zaczynam szkolenie na ten temat!

@Benoit.LF, to jest dokładnie ta strategia, którą starałem się wyjaśnić na załączonym obrazku, w każdym razie uspokaja mnie w drodze :)

Chęć zautomatyzowania tego za pomocą makra i ograniczenia rozwoju wydaje mi się sprzeczna!
2 polubienia

@.PL, źle się zrozumieliśmy, rzeczywiście chcę zautomatyzować wstawianie części, ale mimo to ograniczyć użycie makr, aby mieć elastyczność.

Wiem, że będę musiał zrobić kilka makr, a poprzednie linki bardzo mi pomogą, ale chcę uprościć przed procesem.

Czy nie jest to najłatwiejszy sposób na montaż "klocków" bezpośrednio na SW???

Czy Twoje "bloki" reprezentują maszyny, pojedyncze części, schematy?

Witam

Innym rozwiązaniem jest pozycjonowanie elementów według układu współrzędnych XYZ i ustawienie ich jako odniesienia do wiązań, tak aby każdy element wylądował w końcowym zespole za pomocą jednego kliknięcia.

W przypadku pytania o długość wystarczy utworzyć excel rodziny części i zadeklarować zmienną za pomocą "Configuration Publisher", patrz pomoc poniżej.

http://help.solidworks.com/2015/french/solidworks/sldworks/c_configuration_publisher_top.htm

 

@+

 

 

2 polubienia

@Benoit:  Te "bloki" reprezentują obrabiane części, przez które przechodzi płyn, każdy blok ma inną obróbkę w zależności od pożądanych cech (ciśnienie, prędkość, tarcie, ...). Bloki są układane jeden od końca do końca, tak aby płyn przechodził z jednego bloku do drugiego, zmieniając te cechy.

@Coyote: Dziękuję za referencje do ograniczeń, o których nie wiedziałem o Solidworks, to rzeczywiście będzie częścią procedury ;)!

Czy narzędzie MyCAD Piloy Assembly nie będzie w stanie prowadzić działalności?

http://www.mycadblog.fr/wp-content/uploads/2015/03/Pr%C3%A9sentation-des-utilitaires-2015.pdf

@+ ;-))

 

Jeśli dobrze rozumiem, twoje bloki są pierwotne, więc ograniczenia montażowe są proste.

Tak więc makro z elementami .PL powinno działać dobrze, ponieważ znasz ostatni wstawiony blok.

Jeśli jutro twoje bloki będą ewoluować pod względem długości, zespół będzie podążał za nim bez żadnych innych manipulacji, w przeciwieństwie do zespołu zgodnie z ich długością w czasie T (chyba że ograniczenie wymaga wymiaru długości, ale będzie to skomplikowane).

@gt22, dzięki za informację, zamierzam zbliżyć się do Axemble, aby uzyskać więcej informacji na temat tego narzędzia!

@stefeno, tak, dokładnie o to chodzi, więc zastanawiam się nad tą strategią:

Niech będzie sekwencją "A, C, D, A",

Makro wstawia blok A w punkcie początkowym, a następnie wstawia blok C za blokiem A (wyobraźmy sobie płaszczyzny utworzone na każdym bloku, jedną od początku i jedną od końca), więc mam ograniczenie między płaszczyzną końcową bloku A a płaszczyzną początkową bloku C. I tak dalej, blok D zostanie podpięty do bloku C za pomocą samolotów itd.