CHAM

samouczek openSCAD

samouczek openSCAD
Wykonanie części mechanicznej wymaga rysunku. Zaczęło się od papieru, a pierwsze programy CAD wykorzystywały dokładnie ten sam styl. Na rysunkach są nawet standardowe kwadraty, dzięki czemu każdy rysunek jest zidentyfikowany. Wszystko to przydaje się, gdy zaczynasz produkcję w dużych korporacjach. Jednak kiedy zaczniesz tworzyć nowy element mechaniczny, możesz potrzebować innych metod other.

Metody CAD 3D pozwalają zobaczyć cały element takim, jakim jest. Możesz go również skręcać i obracać. W zaawansowanym oprogramowaniu można również symulować ruch. We wszystkich przypadkach rysujesz elementy za pomocą interfejsu graficznego. Jest to świetne do tworzenia pudełek i cylindrów, ale jeśli chcesz wykonać bardziej złożone kształty, możesz potrzebować metod matematycznych.

Wprowadź standardowy sposób opisu dowolnego materiału za pomocą poleceń.

Co sprawia, że ​​openSCAD jest tak wyjątkowy??

W openSCAD nie rysujesz niczego wskaźnikiem ani długopisem. Kodujesz cały kawałek za pomocą poleceń i funkcji. Jest to niezręczne dla inżynierów mechaników, ale dla programistów masz inną sytuację. Oprócz osobistych preferencji masz również przewagę precyzji. Kiedy projektujesz go za pomocą kodu, masz precyzję w kodzie.

Najpotężniejszą cechą openSCAD są operacje binarne. Możesz użyć operatorów binarnych, aby połączyć kawałki lub wyciąć materiał. Łatwo jest zrobić kostkę z otworem pośrodku, wyciągając cylinder z kostki. Niektóre z tych operacji są dostępne w innym oprogramowaniu CAD, ale naturalnie wypada używać ich w openSCAD.

Jakie są Twoje potrzeby projektowe?

Po umieszczeniu projektu na serwetce możesz pomyśleć, że musisz zobaczyć, co się dzieje, gdy próbujesz zrobić z niego pełny projekt. Nie martw się; jest okno podglądu, na które możesz patrzeć podczas kodowania. Gdy zrozumiesz podstawowe idee, będziesz wiedział, czy najlepiej pasuje do Twojego projektu.

Krótko mówiąc, jeśli chcesz tworzyć małe elementy o skomplikowanych kształtach, powinieneś wypróbować openSCAD. W przypadku pełnego wyposażenia i systemów mechanicznych chcesz korzystać z bardziej zaawansowanych aplikacji graficznych. Powiedziawszy to, wszystko zależy od gustu. Możesz tworzyć skomplikowane kształty za pomocą samego kodu, czy rozważysz kodowanie całego samochodu??

Instalowanie

OpenSCAD, dostępny w standardowych repozytoriach dla większości dystrybucji, można również zainstalować za pomocą przystawki i AppImage. Interesujące jest to, że masz również drugi pakiet, który zawiera śruby, koła zębate i ogólne kształty. Najnowszy pakiet jest w otwieranym nocnym snapie.

sudo apt install openscad
sudo snap install openscad-nightly

Jeśli chcesz użyć dołączonych śrubek, które są dostarczane jako osobny pakiet, skorzystaj z repozytoriów swojej dystrybucji.

sudo apt install openscad-mcad

Korzystanie z dołączonych części to inna sprawa, omówiona w dalszej części.

Kilka standardowych kształtów

Zasady tworzenia skryptów CAD polegają na tym, że masz kilka standardowych kształtów geometrycznych. Używasz tych kształtów i łączysz je w bardziej złożone kształty. Standardowe kształty to koło, kwadrat i wielokąt dla 2D. W przypadku 3D masz sferę, sześcian, walec i wielościan. Używając niektórych z nich do budowania, a innych do wycinania, możesz tworzyć bardzo złożone kształty.

Dostępna jest również funkcja tekstowa, która tworzy tekst 2D. Kiedy potrzebujesz stworzyć rysunki do dalszej obróbki, możesz użyć polecenia rzutowania. To polecenie wycina kształt 3D wzdłuż płaszczyzny, dzięki czemu można go przenieść do rysunku. Możesz także dodawać kształty z innych programów, a nawet obrazy, używając polecenia importu. Działa to również z kształtami 3D.

Ponadto możesz wyciągać kształty z istniejących obiektów.

Transformacje

Domyślnie tworzysz wszystkie elementy w centralnym punkcie siatki we wszystkich wymiarach. To sprawia, że ​​wszystkie się pokrywają. Gdy masz już kilka kształtów, chcesz je umieścić we właściwym miejscu i obrócić. Te funkcje są proste, przetłumacz umieszcza obiekt w innym miejscu. Polecenie obracania obraca obiekt lub obiekty podrzędne. Masz również funkcję lustra, która tworzy kopię obiektu odbitego wokół danej osi.

Inne przekształcenia wymagają przykładów do wyjaśnienia. Krótko mówiąc, kadłub tworzy zewnętrzne linie o wielu kształtach. Spróbuj z dwoma okręgami i połącz je za pomocą hull(). Lub poniższy kod.

przetłumacz([-10,0,0])
kadłub()
cylinder (30, 5, 1);
kostka(9);
kula(12);

Operacja Minkowskiego jest zwykle używana do tworzenia krawędzi; jeśli chcesz, aby były zaokrąglone, użyj kuli.

Operacje logiczne

Wiele elementów nie może być stworzonych z samych kwadratów, walców i kul. Pierwszą rzeczą, którą możesz zrobić, to połączyć i wyciąć wiele kształtów w jeden kształt. Używasz do tego operatorów logicznych. Są zjednoczeniem, różnicą i przecięciem.

zjednoczenie ()
sześcian([35, 5, 2], środek = prawda);
cylinder(h = 2, r = 5, środek = prawda);

W powyższym kodzie otrzymujesz pojedynczy kawałek, który ma żarówkę w środku. Aby zrobić rurkę, bierzesz różnicę między jednym cylindrem a drugim.

różnica()
cylinder(h = 15, r1 = 30, r2 = 30, środek= prawda);
cylinder(h = 15, r1 = 25, r2 = 25, środek = prawda) ;

Gdy przejdziemy dalej, będziesz korzystać z tych i nie tylko. Oto przykład skrzyżowania.

skrzyżowanie()

obróć([45,0.0])
cylinder( h = 40, r = 4, środek = prawda);
przetłumacz(5,5,5)
cylinder( h = 40, r = 6, środek = prawda);

Skrzyżowanie pozostawia tylko nakładające się rzeczy; za pomocą tej metody możesz stworzyć wiele kształtów.

Dla pętli

Wiele Twoich projektów będzie wiele razy miało ten sam element, rozważ patio. Zwykle składają się z kilku desek, między którymi znajdują się szczeliny. W tym przypadku tworzysz jedną deskę i po prostu iterujesz nad nimi za pomocą pętli for.

przerwa = 8;
szerokość_planki = (szerokość_łóżka / 4) - przerwa;
liczba_desek = 4;
for(plank_x_pos = [0:1:num_planks - 1])

przetłumacz([szerokość_deski*poz_deski*przerwa *poz_plank_x_poz,0,0])
sześcian([szerokość_deski,4,200]);

Bez pętli for napisałbyś kostkę i przetłumaczył instrukcje cztery razy. Musiałbyś również obliczyć, jak daleko zajdzie następna deska. Nawet przy zaledwie czterech sztukach to rozwiązanie wygląda na znacznie prostsze. W przykładzie widać również zmienne, które należy ustawić. Wszystkie zmienne są ustawiane w czasie kompilacji, jest to ważne, ponieważ możesz napotkać problemy z debugowaniem, jeśli pomyślisz o nich jako o wartościach w innych językach programowania. Jak się później przekonasz, całe patio możesz też przekształcić w moduł.

Matematyka

Zawarte w openSCAD, masz kilka dostępnych funkcji matematycznych. Obsługiwane funkcje to większość funkcji trygonometrycznych, zaokrąglanie na różne sposoby oraz funkcja logarytmiczna. Możesz zobaczyć przykład poniżej.

dla(i=[0:36])
przetłumacz([i*10,0,0])
cylinder(r=5,h=cos(i*10)*50+60);

Powyższa funkcja tworzy długi prosty rząd cylindrów o różnej wysokości. Główne funkcje są związane z trygonometrią. Jednak dzięki losowym, zaokrąglającym funkcjom i standardowym operatorom możesz stworzyć praktycznie wszystko. Obsługiwane są również wektory, macierze i pierwiastek kwadratowy. Nawet z tymi funkcjami możesz zajść naprawdę daleko. Nie obejmują one jednak wszystkiego, co można sobie wyobrazić; zamiast tego możesz tworzyć funkcje.

Moduły i funkcje

Masz wiele modułów zawartych w instalacji openSCAD. Możesz jednak pobrać także inne biblioteki. W swojej dystrybucji prawdopodobnie znajdziesz MCAD, zwany także openscad-mcad. Aby zainstalować pod Ubuntu.

$ sudo apt install openscad-mcad

Wewnątrz tego pakietu znajdziesz zarówno moduły, jak i funkcje. Zanim zaczniesz jakikolwiek projekt, rozejrzyj się za bibliotekami i modułami. Biblioteka śrub już istnieje, a to dopiero początek. Brakuje części twojego projektu? Twórz własne moduły; używasz ich do tworzenia nowych kawałków. Używając parametrów, możesz zrobić z nich wiele wersji. Najlepszym sposobem na stworzenie modułu jest stworzenie projektu jako osobnego pliku, ustalenie, co musi być dynamiczne i dodanie „modułu” wokół elementu.

Aby użyć modułu, nazywasz go po imieniu. Ponieważ wiele modułów jest dostarczanych w oddzielnych plikach, musisz umieścić instrukcję include na górze pliku. Zwróć uwagę na różnicę między stwierdzeniem „włącz” a stwierdzeniem „użyj”. Jeśli chcesz, aby wszystko w pliku zostało wykonane, „dołącz” to, jeśli chcesz tylko zdefiniować moduły i funkcje, „użyj” pliku. Aby upewnić się, że możesz korzystać z modułów, musisz umieścić je w bieżącym katalogu swojego modelu lub w jednej ze ścieżek wyszukiwania.

Najpierw spójrzmy na kilka, które możesz pobrać i używać.

Śruby

W pakiecie z wcześniejszego działu można znaleźć wiele rzeczy lot. Jedna grupa to śruby! Możesz je wypróbować, ładując je do aplikacji i wywołując moduł. W Bibliotece MCAD można znaleźć wiele śrub. Istnieje wiele innych kolekcji z innych źródeł. Aby użyć śruby, utwórz plik zawierający instrukcję include dla potrzebnego modułu. Teraz, gdziekolwiek chcesz użyć modułu, możesz użyć nazwy modułu, aby utworzyć śrubę.

zawierać ;
ball_groove(12, 40, 2);

To jest śruba, która pasuje do piłki. Możesz również znaleźć nuts_and_bolts_scad, który definiuje śruby i śruby metryczne. Projektanci wykorzystali stronę internetową, na której można znaleźć śruby i stworzyli metodę, którą możesz wykorzystać. Innym przykładem jest otwór na śrubę.

zawierać
różnica()
sześcian([12,16,20],środek = prawda);
przetłumacz([0,0,-3])
śrubaHole(8, długość = 300);

Powyższy kod tworzy otwór wystarczająco duży na śrubę M8, ten przykład tworzy sześcian i wycina dwa cylindry o dwóch rozmiarach. Nie jest to zbyt skomplikowane, ale złożoność szybko rośnie, gdy używasz innych komponentów. Dodaj śruby do skrzynek parametrycznych, a zobaczysz, jak pomaga biblioteka.

Dokonywanie koszyka

Aby wykonać dowolną konstrukcję o dowolnej złożoności, będziesz musiał wykonać jedną sztukę na raz. Później łączysz je ze sobą. Jak wspomnieliśmy wcześniej, możesz korzystać z modułów i funkcji. Najlepszym sposobem na rozpoczęcie jest podjęcie decyzji, gdzie należy ustawić zmienne. Do prostego wózka potrzebujesz wysokości, rozstawu osi i długości. Musisz ustawić wartości w jednym miejscu i użyć ich, aby dopasować części do projektu. Możesz potrzebować więcej wartości, ale nie umieszczaj ich wszystkich na początku. Kiedy zaczynasz nowy projekt, nie będziesz mieć gotowych wszystkich części, więc przygotuj się na zmianę rzeczy.

rozstaw osi = 150;
długość wózka = rozstaw osi * 1.2;
szerokość wózka = 50;
średnica koła = 25;
wysokość zawieszenia = (średnica koła/2) + 5;
przetłumacz([rozstaw osi/2,szerokość wózka,0])
obróć([90,0,0])
cylinder(r = promień koła, 10, środek = prawda);
przetłumacz([rozstaw osi/2,-(szerokość wózka),0])
obróć([90,0,0])
cylinder(r = promień koła, 10, środek = prawda);

Kod pokazuje kod dla pierwszych dwóch kół. Jeśli trochę się nad tym zastanowisz, prawdopodobnie uda Ci się zrobić tylne koła. Aby dodać płatek, powierzchnię, na którą trafiają wszystkie rzeczy, wystarczy dodać kostkę. Użyj zmiennych, które umieściłeś w kodzie.

przetłumacz([0, 0, wysokość zawieszenia])
sześcian([długość wózka, szerokość wózka,10], środek = prawda);

Ten flak jest jednak na tej samej wysokości co koła, więc zadbaliśmy o to przy wartości wysokości zawieszenia. Przetłumaczone stwierdzenie wpływa na to, co jest bezpośrednio po nim. Zauważ, że na końcu wiersza nie ma średnika. Kiedy wypowiedzi w środku stają się długie, używasz wokół nich nawiasów klamrowych.

Teraz musisz dodać osie i zawieszenie. Osie mogą być prostymi cylindrami, które przechodzą między koła. Umieszczasz je tak samo jak koła, używając funkcji obracania i przekładania. Właściwie najlepiej jest używać tych samych wartości.

przetłumacz([rozstaw osi/2,0,0])
obróć([90,0,0])
cylinder(r = promień koła * 0.25 , h = (szerokość wózka * 2) + 15, środek = prawda);

Kod tutaj umieszcza przednią oś na miejscu. Tylna oś, zostawiam czytelnikowi do rozgryzienia. Zawieszenie możemy rozwiązać na wiele sposobów. W takim przypadku zachowamy prostotę.

// Zawieszenie
przetłumacz([rozstaw osi/2, 0, wysokość zawieszenia ])
obróć ([90,0,0])

różnica()
cylinder(r = wysokość zawieszenia, 10, środek = prawda );
cylinder(r = wysokość zawieszenia - 5, 11, środek = prawda );
sześcian([102, wysokość zawieszenia/6, 12], środek = prawda);

przetłumacz([wysokość zawieszenia, 0, 0])
cylinder(r = wysokość zawieszenia/3, h = 12, środek = prawda);
przetłumacz([-wysokość zawieszenia, 0, 0])
cylinder(r = wysokość zawieszenia/3, h = 12, środek = prawda);

Ten kod tworzy bardzo prymitywne zawieszenie; używa tylko cylindrów, więc nie będzie najlepszy, gdy zaczniesz go używać. Ilustruje jeden sposób tworzenia projektów z prymitywów; cylinder, kostka i no to tyle do tego modelu. W miarę postępów uczynisz każdy element modułem i umieścisz te elementy.

Kod do koszyka dostępny jest na https://github.com/matstage/Wózek! Dalszy rozwój może nastąpić później.

Biblioteki

We wcześniejszej części używałeś tylko kółek. Wszelkie projekty używające tylko tych prymitywów nie będą najlepsze dla wszystkich zastosowań. Musisz tworzyć dobrze wyglądające i wydajne projekty. Rozwiązaniem jest matematyka! Aby to dodać, powinieneś zacząć od korzystania z bibliotek innych osób.

W społeczności istnieje wiele bibliotek zbudowanych przez mądrych ludzi. Ludzie, którzy budują, to użytkownicy, którzy rozwiązują swoje problemy, a następnie łaskawie dzielą się nimi ze wszystkimi. Dzięki Wam wszystkim! Dobrym przykładem jest dotSCAD; dla przykładu zawieszenia można znaleźć krzywą Béziera.

Eksport do innego oprogramowania

Kiedy już masz przyzwoity projekt, możesz użyć go w innym oprogramowaniu. Możesz eksportować do stl, dwg i wielu innych formatów. Twoi entuzjaści druku 3D mogą korzystać z plików stl bezpośrednio w programach do cięcia na kawałki.

Alternatywy

Inną ekscytującą alternatywą jest ImplicitCAD. To oprogramowanie jest bardzo w fazie rozwoju. Musisz uruchomić jego wiersz poleceń i wymaga Haskella w twoim systemie. Większość standardowych instalacji nie ma Haskella!

Wniosek

Na pierwszy rzut oka używanie openSCAD jest bardzo trudne. Pokonanie krzywej uczenia się jest trochę trudne, ale dla wielu użytkowników jest tego warte. Dzięki projektom, które przyczynią się do projektu. Masz wiele funkcji dostępnych na końcu polecenia git. Już samo zapoznanie się z podstawami tworzenia projektów mechanicznych za pomocą kodu zmienia sposób myślenia o kształtach. Jest to korzystne, nawet jeśli będziesz nadal używać wskaż i kliknij, aby tworzyć inne projekty.

  • https://www.opencad.organizacja/dokumentacja.html?wersja=2019.05
  • http://edutechwiki.unige.ch/pl/OpenScad_beginners_tutorial
  • https://www.opencad.org/ściąga/indeks.html
Gry Przydatne narzędzia dla graczy Linuksa
Przydatne narzędzia dla graczy Linuksa
Jeśli lubisz grać w gry w systemie Linux, prawdopodobnie używałeś aplikacji i narzędzi, takich jak Wine, Lutris i OBS Studio, aby poprawić wrażenia z ...
Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...
Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...