środa, 13 czerwca 2012

FreeCAD: tworzenie przeciągnięć (sweep)

FreeCAD pozwala na tworzenie brył i powierzchni o zmiennym przekroju bez wykorzystania trajektorii prowadzącej (loft) jak i z jej wykorzystaniem (sweep). Ta druga opcja, dostępna od dawna z poziomu Pythona, została wprowadzona do GUI dopiero na przełomie ubiegłego i obecnego tygodnia.

Zasadniczo przeciągnięcie (sweep) potrzebuje otwartej krzywej wykorzystywanej jako trajektoria i przynajmniej jednego zamkniętego przekroju. Poniżej znajduje się prosty przykład wykorzystujący jeden szkic dla trajektorii i dwa dla przekrojów.


Przykład prosty - kolanko koło-prostokąt

Uwaga: potrzebny jest FreeCAD przynajmniej w wersji:
Version: 0.13.1122 (Git)
Branch: master
Hash: d331b0087aee494afcdcf67fa13f1bec64365166

Przejdźmy do warsztatu Part Design lub Sketcher i utwórzmy nowy szkic na płaszczyźnie  YZ. Łuk (jak na zrzucie poniżej) o promieniu 50 będzie naszą trajektorią.


Kolejny szkic powinien zostać narysowany na płaszczyźnie XZ. To nasz przekrój początkowy, niech nim będzie prostokąt. Ważne: środek prostokąta ustawmy na końcu trajektorii (X=0,Z=50).

W podobny sposób należy utworzyć drugi przekrój, to okrąg na płaszczyźnie XY. Również jego środek musi znajdować się na (drugim) końcu trajektorii.

Powinny powstać trzy szkice: Sketch dla trajektorii oraz Sketch001 i Sketch002 dla przekrojów. Poniższy zrzut prezentuje prawidłowe umiejscowienie szkiców.

Przechodzimy do warsztatu Part i wybieramy z menu Part-Sweep... Pola w Task view (lewy dolny narożnik) służą do wybrania przekrojów. Trajektorię należy zaznaczyć w widoku 3D. Gdyby składała się ona z wielu segmentów można je zaznaczać trzymając [Ctrl] - aktualnie zaznaczone elementy widoczne są w Selection view.

W Task view zaznaczamy opcje Solid (tworzenie pełnej bryły) i Frenet. Następnie klikamy Ok. Efekt końcowy widoczny jest poniżej.
Parametry przeciągnięcia można zmieniać w Property view-Data. Gdy trajektoria nie składa się ze stycznych krzywych warto zmienić Transition na Transformed. W naszym przykładzie taka zmiana nie jest konieczna.

Pozostaje pytanie o opcję Frenet. Według opisu klasy BRepOffsetAPI_MakePipeShell:
Sets a Frenet or a CorrectedFrenet trihedron
to perform the sweeping
If IsFrenet is false, a corrected Frenet trihedron is used.
Nie wchodząc w głębszą matematykę, opcja ta potrafi mieć znacznie przy nieprawidłowo skręconych przeciągnięciach. Ciekawostka: nazwa pochodzi od pewnego Francuza.

Przykład bardziej skomplikowany - łom

Tutaj znajdziecie plik zawierający model łomu. W jego przypadku szkice przekrojów powiązane są ze szkicem trajektorii.

Pierwszy szkic pełni rolę nie tylko trajektorii, ale też bazy dla kolejnych szkiców - po to dodałem 5 prostopadłych do trajektorii linii.


Wyciągnąłem szkic (Extrude.. z warsztatu Part) uzyskując powierzchnie na których można rysować szkice przekrojów. By zapewnić pewne umiejscowienie danego przekroju wykorzystałem narzędzie do mapowania więzów z zewnętrznych krawędzi. W szkicowniku trzeba użyć External geometry i wskazać wybraną krawędź.

 Jako trajektoria potrzebna jest tylko część pierwszego szkicu:

Nie użyłem jednocześnie całej trajektorii i wszystkich przekrojów. Pierwsze przeciągnięcie to Sketch001-003, drugie Sketch003-004 i trzecie Sketch004-005.

Oto jak zachowuje się łom podczas edycji:

Brak komentarzy:

Prześlij komentarz