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 :)
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.
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! :)
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 :)
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.
@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 ;)!
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.