Samouczek Openscad

Samouczek Openscad
Wykonanie części mechanicznej wymaga rysunku. Zaczęło się od papieru, a pierwsze programy CAD używali dokładnie tego samego stylu. Na rysunkach znajdują się nawet standardowe kwadraty, dzięki czemu każdy rysunek został zidentyfikowany. Wszystko to jest przydatne, gdy zaczynasz wdrażać produkcję w dużych korporacjach. Jednak kiedy zaczniesz tworzyć nowy element mechaniczny, możesz chcieć innych metod.

Metody 3D CAD pozwalają zobaczyć cały kawałek takim, jakim. Możesz także przekręcić i obrócić. W oprogramowaniu zaawansowanym możesz również symulować ruch. We wszystkich przypadkach rysujesz elementy za pomocą interfejsu graficznego. Jest to świetne do robienia pudeł i cylindrów, ale kiedy chcesz tworzyć bardziej złożone kształty, możesz potrzebować metod matematycznych.

Wprowadź standardowy sposób opisania dowolnego materiału z poleceniami.

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

W Openscad nie rysujesz niczego wskaźnikiem lub piórem. Kodujesz cały kawałek za pomocą poleceń i funkcji. Jest to niezręczne dla inżynierów mechanicznych, ale dla programistów masz inną sytuację. Oprócz osobistych preferencji masz również tę zaletę, że precyzja. Podczas projektowania kodu masz precyzję w kodzie.

Najsilniejszą cechą Openscad są operacje binarne. Możesz użyć operatorów binarnych do złożenia kawałków lub wycinania materiału. Łatwo jest zrobić kostkę z otworem w środku, cofając cylinder z kostki. Niektóre z tych operacji są dostępne w innym oprogramowaniu CAD, ale naturalnie spada je w OpenScad.

Jakie są Twoje potrzeby projektu?

Po umieszczeniu swojego projektu na serwetce możesz pomyśleć, że musisz zobaczyć, co się dzieje, gdy próbujesz uczynić go pełnym projektem. Nie martw się; Istnieje okno podglądu, na które możesz spojrzeć podczas kodu. Gdy zrozumiesz podstawowe pomysły, dowiesz się, czy najlepiej pasuje do twojego projektu.

Krótko mówiąc, jeśli chcesz stworzyć małe elementy, które mają złożone kształty, powinieneś spróbować Openscad. W przypadku pełnego sprzętu i systemów mechanicznych chcesz użyć bardziej zaawansowanych aplikacji graficznych. Powiedziawszy to, to wszystko jest kwestią smaku. Możesz zrobić skomplikowane kształty za pomocą sprawiedliwego kodu, czy rozważasz kodowanie całego samochodu?

Instalowanie

OpenScad, dostępny w standardowych repozytoriach dla większości dystrybucji, można również zainstalować za pomocą Snap i Appimage. Interesujące jest to, że masz także drugi pakiet, który zawiera śruby, biegi i ogólne kształty. Najnowszy pakiet znajduje się w OpenScad-nocy.

sudo apt install openscad
Sudo Snap Install OpenScad-Nightly

Jeśli chcesz użyć dołączonych śrub, które są odrębne, użyj repozytoriów dystrybucji.

sudo apt install openscad-mcad

Korzystanie z zawartych części to inna sprawa, pokryta dalej.

Kilka standardowych kształtów

Zasady skryptowania CAD polega 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 okrąg, kwadrat i wielokąt dla 2D. W przypadku 3D masz kulę, kostkę, cylinder i wielościan. Używając niektórych z nich do budowy, a inne do cięcia, możesz tworzyć bardzo złożone kształty.

Istnieje również funkcja tekstowa, która tworzy tekst 2D. Gdy musisz tworzyć rysunki do dalszego przetwarzania, możesz użyć polecenia projekcji. To polecenie przecina kształt 3D wzdłuż płaszczyzny, dzięki czemu możesz przenieść go na rysunek. Możesz także dodawać kształty z innych programów lub nawet obrazów, używając polecenia importu. Działa to również z kształtami 3D.

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

Transformacje

Domyślnie tworzysz wszystkie elementy w środkowym punkcie siatki we wszystkich wymiarach. To sprawia, że ​​wszystkie się pokrywają. Gdy masz wiele kształtów, chcesz je umieścić we właściwym miejscu i obrócić. Te funkcje są proste, tłumacz umieszcza obiekt w innym miejscu. Polecenie obrotu obraca obiekty lub obiekty dziecięce. Masz także funkcję lustra, która tworzy kopię obiektu lustrzanego wokół danej osi.

Pozostałe transformacje wymagają przykładów do wyjaśnienia. Krótko mówiąc, Hull tworzy zewnętrzne linie wielu kształtów. Spróbuj z dwoma kółkami i połącz je z Hull (). Lub kod poniżej.

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 je zaokrąglone, użyj kuli.

Operacje logiczne

Wiele elementów nie można tworzyć tylko za pomocą kwadratów, cylindrów i kul. Pierwszą rzeczą, którą możesz zrobić, jest połączenie i pokrój wiele kształtów w jeden kształt. Do tego używasz operatorów logicznych. Są to związki, różnica i skrzyżowanie.

Union ()
kostka ([35, 5, 2], środka = true);
Cylinder (H = 2, r = 5, środkowy = true);

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

różnica()
Cylinder (H = 15, R1 = 30, R2 = 30, Center = True);
Cylinder (H = 15, R1 = 25, R2 = 25, Center = True);

Gdy przejdziemy dalej, użyjesz tych i więcej. Oto przykład skrzyżowania.

skrzyżowanie()

obrócić ([45,0.0])
Cylinder (H = 40, r = 4, środkowy = true);
przetłumacz (5,5,5)
Cylinder (H = 40, r = 6, Center = true);

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

Dla pętli

Wiele z twoich projektów będzie miało ten sam kawałek wiele razy, rozważ patio. Zazwyczaj są wykonane z kilku desek z lukami między nimi. W tym przypadku robisz jedną deskę i po prostu iterujesz nad nimi z pętlą.

Gap = 8;
Plank_Width = (bed_width / 4) - luka;
num_planks = 4;
dla (Plank_X_Pos = [0: 1: Num_planks - 1])

Tłumacz ([Plank_Width * Plank_x_pos + Gap * Plank_x_pos, 0,0])
Cube ([Plank_Width, 4200]);

Bez pętli, napisałbyś sześcian i przetłumaczył stwierdzenia czterokrotnie. Musiałbyś również obliczyć, jak daleko pójdzie następna deska. Nawet przy zaledwie czterech kawałkach to rozwiązanie wygląda znacznie łatwiej. W przykładzie możesz także zobaczyć zmienne, które należy ustawić. Wszystkie zmienne są ustawione w czasie kompilacji, jest to ważne, ponieważ możesz napotkać problemy debugowania, jeśli uważasz je za wartości w innych językach programowania. Jak zobaczysz później, możesz również uczynić całe patio modułem.

Matematyka

Uwzględnione w Openscad, masz kilka dostępnych funkcji matematycznych. Obsługiwane funkcje to najbardziej trygonometryczne funkcje, zaokrąglanie na różne sposoby i funkcje logarytmiczne. 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ą podłączone do trygonometrii. Jednak dzięki losowym, zaokrąglonym funkcjom i standardowym operatorom możesz stworzyć prawie wszystko. Istnieje również obsługa wektorów, macierzy i pierwiastków kwadratowych. Nawet przy tych funkcjach możesz się naprawdę daleko. Nie obejmują jednak wszystkiego, co możesz sobie wyobrazić; Zamiast tego możesz tworzyć funkcje.

Moduły i funkcje

Masz wiele modułów zawartych w instalacji OpenScad. Jednak możesz również pobrać inne biblioteki. W Twojej 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. Przed rozpoczęciem jakiegokolwiek projektu rozejrzyj się na biblioteki i moduły. Istnieje już biblioteka śrub i to dopiero początek. Brak części twojego projektu? Tworzyć własne moduły; Używasz ich do tworzenia nowych elementów. Kiedy używasz parametrów, możesz zrobić z nich wiele wersji. Najlepszym sposobem na utworzenie modułu jest wykonanie projektu jako osobnego pliku, ustalenie, co musi być dynamiczne, i dodanie „modułu” wokół kawałka.

Aby użyć modułu, nazywasz go nazwą. Ponieważ wiele modułów jest dostępnych w osobnych plikach, musisz umieścić instrukcję dołączania u góry pliku. Zwróć uwagę na różnicę między instrukcją „obejmują” a instrukcją „Użyj”. Jeśli chcesz wykonać wszystko w pliku, „dołącz”, jeśli chcesz zdefiniowane tylko moduły i funkcje, „użyj” pliku. Aby upewnić się, że możesz użyć modułów, musisz umieścić je w bieżącym katalogu modelu lub jednej ze ścieżek wyszukiwania.

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

Śruby

W pakiecie z wcześniejszej sekcji można znaleźć wiele rzeczy. 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ę dołączania potrzebnego modułu. Teraz, gdziekolwiek chcesz użyć modułu, możesz użyć nazwy modułu do utworzenia śruby.

włączać ;
Ball_groove (12, 40, 2);

To śruba, która może pasować do piłki. Możesz także znaleźć nuts_and_bolts_scad, który definiuje śruby metryczne i śruby. Projektanci używali strony internetowej, na której można znaleźć śruby i utworzyli metodę do użycia. Innym przykładem jest otwór na śrubę.

włączać
różnica()
Cube ([12,16,20], Center = True);
przetłumacz ([0,0, -3])
bolthole (8, długość = 300);

Powyższy kod tworzy otwór wystarczająco duży dla śruby M8, ten przykład tworzy kostkę i wycina dwa cylindry o dwóch rozmiarach. To nie jest bardzo skomplikowane, ale złożoność szybko rośnie, gdy używasz innych komponentów. Dodaj śruby do pól parametrycznych i możesz zobaczyć, jak pomaga biblioteka.

Robienie wózka

Aby stworzyć jakąkolwiek konstrukcję złożoności, będziesz musiał zrobić jeden kawałek na raz. Później łączysz je ze sobą. Jak wspomnialiśmy wcześniej, możesz używać modułów i funkcji. Najlepszym sposobem na rozpoczęcie jest decyzja, gdzie musisz ustawić zmienne. Aby uzyskać prosty wózek, potrzebujesz wysokości, rozstawu osi i długości. Musisz ustawić wartości w jednym miejscu i użyć ich, aby części pasowały wokół projektu. Możesz potrzebować więcej wartości, ale nie umieszczaj ich wszystkich, kiedy zaczynasz. Kiedy zaczniesz nowy projekt, nie będziesz mieć gotowych części, więc przygotuj się na zmianę rzeczy.

rozstaw osi = 150;
cartLength = rozstaw osi * 1.2;
CartWidth = 50;
Wheeldiameter = 25;
zawiesina = (Wheeldiameter/2) + 5;
Tłumacz ([baza osła/2, CartWidth, 0])
obrócić ([90,0,0])
Cylinder (r = Wheelradius, 10, Center = True);
Tłumacz ([rozstaw osi/2,-(CartWidth), 0])
obrócić ([90,0,0])
Cylinder (r = Wheelradius, 10, Center = True);

Kod pokazuje kod dla pierwszych dwóch kół. Jeśli trochę o tym myślisz, prawdopodobnie możesz zrobić tylne koła. Aby dodać flak, powierzchnię, na której idą wszystkie rzeczy, po prostu dodajesz kostkę. Użyj zmiennych, które wkładasz w kod.

Tłumacz ([0, 0, zawiesina]))
Cube ([Cartlength, CartWidth, 10], Center = True);

Ten flak jest jednak na tej samej wysokości co koła, więc zadbaliśmy o to z wartością wysokości zawieszenia. Przetłumaczone stwierdzenie wpływa na to, co jest bezpośrednio po nim. Zauważ, że na końcu linii nie ma półkolonu. Kiedy stwierdzenia w środku stają się długie, używasz wokół niego kręconych szelków.

Teraz musisz dodać osie i zawieszenie. Osie mogą być prostymi cylindersami, które przechodzą między kółkami. Umieszczasz je w ten sam sposób, w jaki zrobiłeś koła za pomocą obrotu i tłumaczenia. W rzeczywistości najlepsze jest użycie tych samych wartości.

przetłumacz ([rozstaw osi/2,0,0])
obrócić ([90,0,0])
cylinder (r = Wheelradius * 0.25, H = (CartWidth * 2) + 15, Center = True);

Kod tutaj umieszcza przednią oś na miejscu. Tylna oś, pozostawiam czy czytelnik, aby się wymyślić. Możemy rozwiązać zawieszenie na wiele sposobów. W takim przypadku będziemy to proste.

// zawieszenie
Tłumacz ([baza osła/2, 0, zawiesina]))
Obrócić ([90,0,0])

różnica()
Cylinder (r = zawiesina, 10, Center = true);
Cylinder (r = zawiesina - 5, 11, Center = true);
kostka ([102, zawiesina/6, 12], środka = true);

Tłumacz ([zawiesina, 0, 0])
Cylinder (r = zawiesina/3, h = 12, środkowy = true);
Tłumacz ([-zawiesina, 0, 0])
Cylinder (r = zawiesina/3, h = 12, środkowy = true);

Ten kod tworzy bardzo surowe zawieszenie; używa tylko cylindrów, więc nie będzie najlepszy, gdy zaczniesz go używać. Ilustruje jeden ze sposobów tworzenia projektów tworzących prymitywy; cylinder, kostka i cóż, to wszystko dla tego modelu. W miarę postępów sprawisz, że każdy kawałek będzie modułem i umieścisz te elementy.

Biblioteki

We wcześniejszej części użyłeś tylko kręgów. Wszelkie projekty korzystające tylko z tych prymitywów nie będą najlepsze dla wszystkich aplikacji. Musisz stworzyć dobrze wyglądające i wydajne projekty. Rozwiązaniem jest matematyka! Aby to dodać, powinieneś zacząć od użycia bibliotek innych osób.

Istnieje wiele bibliotek zbudowanych przez inteligentnych ludzi w społeczności. Ludzie, którzy budują to użytkownicy, którzy rozwiązują swoje problemy, a następnie łaskawie udostępniali je wszystkim innym. Dzięki Wam wszystkim! Dobrym przykładem jest Dotscad; Dla przykładu zawieszenia można znaleźć krzywą Bézier.

Eksportowanie do innego oprogramowania

Po przyzwoitym projekcie możesz użyć go w innym oprogramowaniu. Możesz eksportować do STL, DWG i wielu innych formatów. Twoi entuzjaści drukowania 3D mogą korzystać z plików STL bezpośrednio w programach wymiany.

Alternatywy

Kolejną ekscytującą alternatywą jest Implicitcad. To oprogramowanie jest bardzo w rozwoju. Musisz uruchomić jego wiersz poleceń i wymaga Haskell w systemie. Większość standardowych instalacji nie ma Haskell!

Wniosek

Początkowo spojrzenie, użycie Openscad jest bardzo trudne. Przechodzenie przez krzywą uczenia się jest trochę walką, ale dla wielu użytkowników warto. Dzięki projektom, które mają przyczynić się do projektu. Masz wiele funkcji dostępnych na końcu polecenia git. Właśnie przejście przez podstawy tworzenia projektów mechanicznych poprzez kod zmienia sposób myślenia o kształtach. Jest to korzystne, nawet jeśli będziesz używać Point i kliknij, aby stworzyć inne projekty.

  • https: // www.Openscad.org/dokumentacja.html?Wersja = 2019.05
  • http: // edutechwiki.Unige.CH/en/Openscad_Beginners_Tutorial
  • https: // www.Openscad.Org/Cheatsheet/indeks.html