"CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 2
Posty: 8908
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5842
Kontakt:

"CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Post autor: dziobu »

Witam,

Posta piszę z przyczyn organizacyjnych (nie chce mi się n-ty raz tłumaczyć różnic).

Problem: "o co chodzi w programach do projektowani 3D; skoro w Blenderze można narysować przekładnię to co daje Inventor".
Poniższy opis kieruję do osób które zaczynają przygodę z projektowaniem w 3D i przeczytaniu licznych poradników osiągnęły stan "wiem tyle że nic nie wiem". (w razie wątpliwości - wszystko tłumaczę pod kątem projektowania pod druk 3D; to nie forum CADowskie).

Wybranie programu jest proste - wystarczy wylosować coś z poniższej listy:
  • Blender
  • Inventor
  • Fusion 360
  • Sketchup
  • Sculptris
  • Design Spark Mechanical
  • Meshmixer
  • SolidWorks
  • IronCAD
  • FreeCad
  • zw3D
  • ZBrush
  • ...
Oczywiście programów jest znacznie więcej. Wypisałem tylko te które mi przyszły teraz do głowy.
Poza prostym podziałem na darmowe/płatne jest jeszcze jeden - na sposób podejścia do samego tworzenia modelu. Tutaj sytuacja jest prosta: część programów oferuje projektowanie bezpośrednie, a reszta pozwala na parametryczne tworzenie detali, ale co ważniejsze - detale mają drzewo historii operacji.

Powyższa lista podzielona wg IMHO głównej cechy programu:
Tylko projektowanie bezpośrednie CAD parametryczny z historią operacji
  • Blender
  • Sketchup
  • Sculptris
  • Meshmixer
  • ZBrush
  • Inventor
  • Fusion 360
  • Design Spark Mechanical
  • SolidWorks
  • IronCAD
  • FreeCad
  • zw3D
(ten podział nie jest do końca prawdziwy; np Sketchup pozwala na tworzenie parametrycznych komponentów, ale jest to mało wygodny dodatek i nie posiada historii opercji)

I teraz krótki opis co to daje.
Dalsze porównania będą na przykładzie Sketchupa i IronCADa i w obu przypadkach bawię się takim modelem testowym:
01.model testowy.png
(kostka 40x40x40, ścięta do połowy w osi Z z jednej strony, z otworem fi10; wszystkie zaokrąglenia - 5mm).
Zacznijmy od narysowania tego detalu w obu programach.
Sketchup
Podstawa:
02.png
Wyciągnięcie w górę:
03.png
Tutaj pokażę co daje projektowanie bezpośrednie - detal składa się z wierzchołków, krawędzi i ścian. No to przesuńmy sobie wierzchołek:
04.png
Albo usuńmy ścianę - bo i dlaczego nie:
05.png
Wspomnę że poprzedni detal NIE jest pudełkiem. Ściana nie ma grubości. Żeby z czegoś takiego zrobić pudełko trzeba ścianom nadać grubośc, o tak:
06.png
Ale wróćmy do detalu - po wyciągnięciu chwytam jedną krawędź i zjeżdżam do połowy:
07.png
Następnie od spodu rysuję okrąg i wyciągam go tak żeby przeszedł przez detal:
09.png
Potem klasyczne ucięcie ściany i wyrzucenie wszystkiego co niepotrzebne (całego wystającego cylindra) - TAK, wszystko ręcznie!
10.png
Na koniec - zaokrąglenie - tutaj pomaga dodatek RoundCorner (*1):
11.png
No i mamy nasz detal:
12.png
(*1) Jest jeszcze FredoCorner który umożliwia potem edycję cech (np promienia) zaokrągleń, ale przyznam że działa fatalnie (jest niestabilny i mało przewidywalny).

Na tym chwilowo poprzestanę - teraz to samo w drugim programie.
IronCAD
Tak ogólnie - tu projektujemy "blokowo". Każdy detal to efekt wykonania pewnych operacji na prostych obiektach. Najprościej będzie to pokazać:
Rysujemy szkic spodu - czyli dolną płaszczyznę detalu:
20.png
Wyciągnięcie:
21.png
Tutaj nie można przejechać krawędzią. Żeby zrobić takie cięcie z boku trzeba stworzyć drugi szkic, wyciągnąć go:
22.png
i odjąć od poprzedniego bloku:
23.png
Potem wybór krawędzi do zaokrąglenia:
24.png
I gotowe:
25.png
No to detale już mamy. Teraz czas pokazać różnice w efektach pracy.
Projektowanie bezpośrednie vs CAD "techniczny"
Zadanie jest proste i z życia wzięte - otwór w naszej kostce jest na środku. Ale wydrukowaliśmy prototyp i okazało się że trzeba go przesunąć o 10mm w stronę grubszej części.

Zacznijmy od Sketchupa:
Zaznaczamy otwór za zaokrągleniami:
13.png
Przesuwamy:
14.png
tego no yyyyyyyyyy
15.png
No właśnie. Mamy zestaw punktów w przestrzeni. Jak powiedzieć programowi że chcemy przesunąć taką część? A no prosto - wystarczy sobie wyobrazić że nasz detal jest z plasteliny i leży na biurku. Ma dziurę. Chcemy ją przesunąć...to trzeba najpierw zalepić starą! Tak. Żeby w tym detalu przesunąć taki otwór to trzeba najpierw zamalować poprzedni. Czyli stworzyć ścianę z obu stron, usunąć otwór i zaokrąglenie i narysować go jeszcze raz. Ale i to nie do końca - aby potem zaokrąglić wejście do otworu trzeba też usunąć zaokrąglenia dwóch krawędzi, a że wszystkie są połączone...to prościej będzie narysować ten detal ponownie. Oto rysowanie bezpośrednie w pigułce. Pragnę zauważyć że operujemy na prostej ściętej kostce, a nie eliptycznej zębatce której wymodelowanie zajęło tydzień.
Rysowanie jest proste, nie ma żadnych ograniczeń, ale w takiej sytuacji program wymięka.

Jest oczywiście sposób na pośrednie rozwiązanie programu - wystarczy przed "kluczowymi" operacjami robić kopię detalu - to pozwoli potem dorysować model od poprzedniej większej zmiany. Również w testowym wypadku jest to do zaakceptowania:
16.png
Bo tak ogólnie jest to łata która nie zawsze się sprawdza - tutaj "historia" bumperów na telefony:
17.png
Projekt zajmuje 44MB i otwiera się pół minuty. Rysowanie w nim też jest upierdliwe, no ale mam historię...


Pewnie nie będzie zaskoczeniem jak powiem że w IronCadzie jest łatwiej...
Rysując detal - w pierwszym kroku - na szkicu, dodałem parametr odległości: (mogłem to również dodać później)
20.png
Dzięki temu teraz klikam na detalu, wybieram edycję atrybutów i w okienku zmieniam sobie wartość:
26.png
Efekt:
27.png
(oczywiście mogłem też wyedytować szkic, ale to tylko prosty przykład)

Wnioski: no nie wiem co tu napisać :)


To wspomnę jeszcze o historii operacji. Dobija ona Sketchupa tak samo jak powyższa parametryzacja :)
A wygląda to tak:
Nasz detal ma historię operacji jakie służą do uzyskania efektu końcowego. Odpowiadają one temu co robiłem powyżej żeby ów kostkę narysować:
30.png
Po wybraniu widać jak wyglądał pierwszy krok (na tle efektu końcowego):
31.png
Potem było wycięcie:
32.png
I zaokrąglenie:
33.png
Całą przyjemność z tej listy polega na możliwości jej edycji. Całkowitej.
Przykładowo - usuńmy ścięcie:
34.png
Można też zamienić zaokrąglenie z wycięciem - wtedy NAJPIERW zaokrąglamy detal a potem ucinamy fragment:
35.png
Oczywiście można też edytować obiekty składowe.
Weźmy sobie to wycięcie:
36.png
Konkretnie - ten szkic:
37.png
Wstawmy coś fikuśnego:
38b.png
I mamy to:
39b.png
Tak jak Sketchup pozwala rysować bez ograniczeń, tak tutaj można niemal dowolnie tworzyć i modyfikować gotowe detale. W czym więc tkwi sens Sketchupa? W prostocie. Detal sam z siebie nie ma żadnych właściwości, jest to tylko zbieranina wierzchołków i krawędzi. Od biedy można je grupować. W technicznych CADach detal to obiekt, posiadający masakryczną ilość atrybutów i będący złożeniem wielu skomplikowanych operacji. Oczywiście każdy program ma jakieś swoje szczególne cechy i w czymś jest lepszy od innych (np Sculptris czy ZBrush w tym zestawieniu są nieco bez sensu, no ale niektórzy tak rysują). Nie jest tak że rządzi Inventor (czy inny Solid*) i jak chcesz coś projektować to tylko on albo nic.

IMHO program należy dobrać tak żeby "czuć" jego logikę działania a oferowane funkcje są na drugim miejscu. Konkretnie - osoba znająca dobrze Blendera czy innego Sketchupa poradzi sobie lepiej od kogoś kto ma np Fusiona ale nie potrafi go obsługiwać.

A jak teraz ktoś zapyta czym się Blender różni od Inventora to obiecuje że będę krzyczał.
Elhape, kamilxxg, kapi, dragonn, sagittario, seler1500, japim, Holgin, FlameRunner, Abys, JGFTW, balgator, fredator, tomekr, roman
Awatar użytkownika
FlameRunner
Zasłużony
Postów w temacie: 3
Posty: 6568
Rejestracja: 15 kwie 2016, 21:26
x 2056

Re: "CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Post autor: FlameRunner »

Gównoburzę kręcić tutaj: viewtopic.php?f=16&t=5483
Awatar użytkownika
FlameRunner
Zasłużony
Postów w temacie: 3
Posty: 6568
Rejestracja: 15 kwie 2016, 21:26
x 2056

Re: "CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Post autor: FlameRunner »

A ja lubię układać programy na spektrum "artysta <-> inżynier". :)
spektrum programow do modelowania.png
PS Grafika komputerowa to moja pasja.
Wawok, seler1500, dziobu
Awatar użytkownika
sagittario
Drukarz
Postów w temacie: 1
Posty: 334
Rejestracja: 27 kwie 2018, 11:25
Lokalizacja: Nysa
Drukarka: Anet A8, Inventor
x 133

Re: "CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Post autor: sagittario »

Brakuje na tym rysunku hobbysty z drukarką 3D :)
Awatar użytkownika
FlameRunner
Zasłużony
Postów w temacie: 3
Posty: 6568
Rejestracja: 15 kwie 2016, 21:26
x 2056

Re: "CAD": projektowanie bezpośrednie vs parametry i drzewo historii

Post autor: FlameRunner »

Hobbysta z drukarką może być w dowolnym miejscu tego spektrum, a nawet rozciągnąć się na całą jego szerokość.
ODPOWIEDZ

Wróć do „Baza wiedzy, poradniki”