Archive

Posts Tagged ‘projektowanie parametryczne’

Kurs projektowania parametrycznego i cyfrowo wspomaganej fabrykacji – finał

June 10th, 2011 3 comments

Michał Ciepły, parametryczna wieża z komponentem reagującym na pozycję słońca

Krzysztof Mielczarek, żebrowanie struktury dachowej

W weekend 5/6 czerwca zakończył się reklamowany od marca czteroweekendowy, specjalistyczny kurs projektowania prowadzony przez Przemka Jaworskiego i Michała Piaseckiego. Zajęcia zorganizowano i przeprowadzono we współpracy z Politechniką Wrocławską i Laboratorium Skanowania i Modelowania 3D oraz firmą Bentley, producentem darmowego oprogramowania Generative Components.

Pierwsze spotkanie miało za zadanie przybliżyć uczestnikom techniki projektowania parametrycznego, i obfitowało w prezentacje projektów i technik ukazujących kulisy wykonawcze i projektowe wielu budynków z całego świata. Zawarte pomiędzy prezentacjami bloki ćwiczeniowe pomagały praktycznie zrozumieć zastosowanie poszczególnych technik, i wykonać podobne projekty własnoręcznie. Pod koniec drugiego dnia uczestnicy zaprojektowali i przygotowali do wycinania model parametrycznego dachu, który został złożony na początku kolejnych zajęć.

Drugie spotkanie minęło pod znakiem cyfrowej fabrykacji, gdzie na samym już początku Michał Piasecki zaprezentował najpopularniejsze technologie, poczynając od wycinania laserowego, kończąc na układaniu cegieł za pomocą robotów (nie zapominając oczywiście o drukowaniu 3D!). Bloki ćwiczeniowe rozbudowywały techniki poznane na poprzednich zajęciach, i koncentrowały się głównie na mapowaniu elementów na krzywoliniowych powierzchniach fasad, np budynków wysokościowych.

Zajęcia zakończyły się, podobnie jak poprzednio, tworzeniem parametrycznego modelu pod kątem fabrykacji za pomocą lasera.

Trzeci weekend rozpoczął się prezentacją dotyczącą bardziej rozbudowanych, generatywnych technik projektowych i ich potencjalnym zastosowaniem (na podstawie przykładów). Omówiono między innymi automatyczne mierzenie powierzchni na podstawie zewnętrznej geometrii budynku, oraz specjalną technikę tworzenia planarnej panelizacji z zachowaniem współkrawędziowości elementów (nawet przy podwójnie zakrzywionej geometrii dachu lub fasady).

Złożono także uprzednio przygotowane i wycięte laserem modele parametrycznych wież.

Podczas czwartego, i ostatniego już weekendu, uczestnicy poznali bardziej zaawansowane techniki, takie jak scripting oraz nieliniowe projektowanie generatywne, z użyciem losowości, atraktorów i agregacji. Poruszono także tworzenie systemów sterowanych sztuczną inteligencją i systemami agentów (w środowisku Processing). Na koniec zaś odbyła się krótka prezentacja drukowania 3D za pomocą drukarki RepRap, używającej plastiku ABS.

Na zakończenie uczestnicy dostali certyfikaty ukończenia kursu, oraz książki wydawnictwa Bentley Press (w tym rozlosowano książkę-biblię projektowania parametrycznego ‘Architectural Geometry’, oraz książkę ‘Space Craft: Developments in Architectural Computing’).

Kolejne warsztaty na jesień, zapraszamy !

 

Michał Ciepły, animacja parametrycznego komponentu reagującego na słońce

 

 

Otwarte warsztaty z projektowania parametrycznego

February 17th, 2011 3 comments

plakat_520

Portal projektowanieparametryczne.pl wraz z Laboratorium Skanowania i Modelowania 3D (Wydział Architektury – Politechnika Wrocławska) zaprasza na warsztaty z projektowania parametrycznego i fabrykacji. Odbędą się one w cztery weekendy : 16/17 kwietnia, 7/8 maja, 21/22 maja i 4/5 czerwca (w sumie 48 godzin zajęć).

Warsztaty skierowane są głównie do architektów i designerów pracujących w biurach architektonicznych, zajmujących się nowoczesną architekturą i designem, lub eksperymentujących na własną rękę. W warsztatach przewidziana jest także niewielka liczba miejsc dla studentów (po obniżonej cenie).

Plan warsztatów :

weekend 1:

zapoznanie się ze środowiskiem Generative Components, interfejs użytkownika, nawigacja. Tworzenie prostych elementów (punkty, linie, układy współrzędnych) i łączenie ich w spójne układy.

tworzenie krzywych BSpline, podłączanie ich do zmiennych parametrów (np. na suwakach), manipulowanie punktami kontrolnymi i węzłami.

tworzenie parametrycznych powierzchni BSpline, różne metody tworzenia organicznych kształtów dachów i fasad.

wizualizacja i prezentacja wirtualnych modeli

weekend 2:

importowanie geometrii z zewnętrznych plików (AutoCad, Microstation, Rhino) i dołączanie tych informacji do modelu parametrycznego. Importowanie i kopiowanie elementów, podłączanie do nich kolejnych warstw elementów.

Zaawansowane techniki tworzenia dachów, fasad i brył budynków. Automatyczne i interaktywne generowanie planów pięter, zliczanie powierzchni oraz kubatury. Użycie replikacji płaszczyzn do kalkulowania przecięć z dowolnymi geometriami, generowanie szalunków, szkieletów oraz pokryć powierzchni podwójnie zakrzywionych.

weekend 3:

Wstęp do fabrykacji, metody rozwijania zakrzywionych płaszczyzn na powierzchnię, generowanie planarnych teselacji organicznych powierzchni i automatyczne tworzenie rysunków wykonawczych.

Tworzenie parametrycznych komponentów.

Praca nad własnymi projektami, indywidualne konsultacje projektowe. Koncepcja, dobranie odpowiedniej techniki modelowania, oraz przygotowanie elementów do wycięcia laserem lub maszyną CNC.

weekend 4:

Montaż prototypów wyciętych wcześniej.

Dalsza praca nad indywidualnymi projektami pod opieką prowadzących.  Rozwiązywanie szczególnych problemów, omawianie bardziej zaawansowanych zagadnień.

———————————————–

Warsztaty odbędą się w sali wykładowej Laboratorium Skanowania i Modelowania 3D, w budynku E-5 Wydziału Architektury Politechniki Wrocławskiej. Sala wyposażona jest w niewielką ilość komputerów stacjonarnych, zalecamy jednak zabranie swoich własnych laptopów. Prosimy o wcześniejsze zainstalowanie oprogramowania Generative Components dla zaoszczędzenia czasu. Można będzie uzyskać wcześniejszą pomoc mailową lub telefoniczną w tym zakresie.

Zajęcia poprowadzą:

mgr inż. arch. Przemysław Jaworski, architekt pracujący w latach 2006-2010 w biurze Foster+Partners, w Specjalistycznej Grupie Modelowania 3D. Przemek studiował też na Bartlett (University College of London), na kierunku Adaptive Architecture and Computation, a obecnie robi doktorat z technik parametrycznych na Politechnice Wrocławskiej. Pod koniec marca 2011 poprowadzi też grupę warsztatową będącą częścią konferencji Smart Geometry w Kopenhadze.

mgr inż arch. Michał Piasecki pracuje jako niezależny projektant i konsultant tworzący niestandardowe oprogramowanie, skrypty oraz modele parametryczne dla architektów i projektantów produktu. Obecnie współpracuje między innymi z NEX Architecture i doktoryzuje się na Bartlett School of Graduate Studies. Michał prowadzi blog na www.michalpiasecki.com

Koszt warsztatów oraz liczba miejsc : ze względu na jakość, przewiduje się niewielką grupę zajęciową (12 osób). Pełna cena warsztatów, wraz z materiałami dydaktycznymi oraz kosztami produkcji prototypów wynosi 1600PLN (brutto). Dla studentów przewidywana jest obniżona kwota za miejsce (800PLN), lecz liczba miejsc to maksymalnie 25% wielkości grupy.

Warsztaty objęte są patronatem polskiego oddziału firmy Bentley, producenta oprogramowania Generative Components oraz patronatem medialnym portalu sztuka-architektury.pl.

Po wyczerpaniu planowanej ilości miejsc, rozważamy zorganizowanie dodatkowych warsztatów w innych terminach (14/15.V , 28/29.V, 11/12.VI oraz 25/26.VI) – w zależności o ilości otrzymanych zgłoszeń.

Pytania prosimy kierować na adres info (at) projektowanieparametryczne.pl

Do zobaczenia we Wrocławiu !

————————————————

Tworzenie komponentów w GC

January 7th, 2011 1 comment

Po dłuższej ciszy w eterze powracamy do GC z tematem dość już konkretnym, czyli z komponentami. W Generative Components, jak sama nazwa wskazuje, możemy używac komponentów, czyli powtarzalnych elementów stworzonych przez nas z powierzchni, linii, wielokątów itp. Użycie komponentów może służyć na przykład do zbudowania spójnego i powtarzalnego, lecz adaptywnego (w sensie elastycznej geometrii) systemu konstrukcyjnego.

Bardzo często komponenty stosowane są przy projektowaniu parametrycznych fasad z powtarzalnymi elementami, wykonywanymi w zautomatyzowany sposób (za pomocą maszyn tnących CNC lub podobnych), gdzie ich zaprogramowanie ma kluczowe znaczenie w procesie produkcji takiej architektury. Dlatego też odpowiedni projekt parametryczny jest nieodzowny.

Dobrym przykładem jest jedna z fasad w nowej części regenerowanego terenu portowego w Hamburgu. Powstał tam budynek o podwójnym przeszkleniu zbudowanym z przezroczystych komponentów, gdzie każdy ma zupełnie unikatową geometrię dostosowaną do kształtu całości obiektu.

IMGP9940

IMGP9944

Spróbujmy zatem zbudować prosty komponent w środowisku Generative Components. W tym celu stwórzmy najpierw czysty plik, i zbudujmy powierzchnię BSpline na której zostaną one ułożone.

Zacznijmy od rozłożenia na płaszczyźnie XY dziewięciu arbitralnie położonych punktów. Użyjemy w tym celu narzędzia ‘Place Point’ pokazanego poniżej czerwoną strzałką :

komponent_1_

Następnie klikamy ikonkę ‘New Features’ (jeśli nie możemy jej znaleźć, jest ona w menu Tools>Create Features>New Feature), i tworzymy element BSplineCurve, aby zbudować pierwszy ‘Loft’. Do stworzenia powierzchni potrzebujemy trzy takie krzywe.

W liście metod dostępnych pod polem ‘BSplineCurve’ wybieramy ‘ByPoles’ i w pierwszym polu (‘Poles’) wprowadzamy pierwsze trzy punkty. Najlepiej umieścić poprostu w nim kursor, i kliknąć po kolei trzy punkty z przyciśniętym przyciskiem Control. W przypadku pokazanym poniżej w polu pojawił się wpis {point01, point02, point03}

komponent_02

Po naciśnięciu przycisku ‘OK’ poniżej, możemy poprostu powielić krzywą używająć guzika ‘Create copy’ zaznaczonego na ilustracji powyżej. To przyspieszy nam trochę pracę. Oczywiście w polu ‘Poles’ wpisujemy już inne punkty – tym razem trzy środkowe, oraz ponownie klikamy ‘OK’. Operację powtarzamy dla ostatniej trójki punktów.

Należy oczywiście pamiętać, aby krzywe miały ten sam kierunek. Po ich stworzeniu powinniśmy otrzymać model jak poniżej :

komponent_03

Read more…

Parametryczny dach w GC

June 29th, 2010 2 comments

parametryczny_dach_viz3

Kontynuując poprzedni wątek tworzenia parametrycznych modeli, przejdźmy do zasad budowania kolejnych elementów w Generative Components. W tym rozdziale zapoznamy się  z budowaniem powierzchni krzywoliniowych, replikacji oraz panelizacji, a także z przygotowywaniem elementów do maszynowego wycinania.

Zanim jednak zbudujemy dach, zapoznajmy się z kilkoma podstawami za pomocą ćwiczeń :-)

W poprzednim odcinku skończyliśmy tworząc prostą krzywą BSpline, opartą na czterech punktach kontrolnych. Aby zrozumieć lepiej jak tworzyć więcej krzywych, na których np. możemy zbudować dach, musimy poznać replikację i zasady tworzenia kolekcji.

Otwórzmy więc GC i stwórzmy element (feature) za pomocą ikonki ‘Create Feature’ w górnym menu narzędzi. Po rozwinięciu pozycji ‘Point’ ukaże się nam mnóstwo metod, spośród których wybierzmy najprostszą – ByCartesianCoordinates. Rozwijając ją przyciskiem ‘+’ po lewej stronie, zobaczymy pola do wypełnienia :

CoordinateSystem : baseCS (to nasz podstawowy układ współrzędnych – ale możemy tutaj też wpisać inny, który wcześniej stworzymy).

XTranslation, YTranslation, ZTranslation : przesunięcie w osi X, Y i Z

Origin : opcjonalny parametr (punkt), przesuwający kartezjański środek układu współrzędnych w inne miejsce. Standardowo pole powinno pokazywać wartość null.

Normalnie, w pola te wpisujemy współrzędne, czyli np. X=1,Y= 5 , Z=8 itp. Możemy jednak zamiast współrzędnej podać funkcję , taką jak Series lub SeriesByCount(o tym za chwilę), lub grupę współrzędnych. Spowodują one zreplikowanie punktu i nie będzie on już tylko pojedynczym elementem, ale tzw. kolekcją. Istota pracy w GC opiera się na replikacji i kolekcjach, dzięki czemu możemy przeprowadzać operacje na wielu elementach w taki sam sposób, jak na jednym elemencie.

Jeśli w którymkolwiek momencie zamiast podawać jeden parametr, chcemy podać kilka, zamykamy je w klamrowych nawiasach { } , i stają się one kolekcją.

Przykład : stwórzmy nowy punkt metodą ByCartesianCoordinates

układ współrzędnych : baseCS

XTranslation : 1

YTranslation : 2

ZTranslation : {3,5,8}

Origin : null

po naciśnięciu OK otrzymamy.. trzy punkty ! To ilustruje ideę prostej replikacji. Co więcej, jeśli za YTranslation podamy {9,10,11} , współrzędne Y będą korespondować z wcześniej podaną kolekcją współrzędnych Z , czyli dostaniemy trzy punkty : {1,9,3}, {1,10,5} oraz {1,11,8}.

Warto wspomnieć, że można też te grupy współrzędnych skorelować w inny sposób. Poniższy ekran pokazuje jak odsłonić ‘ukryte’ właściwości elementu.

show settings

Po włączeniu opcji ‘show settings properties’ pojawi się nam mnóstwo dodatkowych właściwości naszego punktu, których zazwyczaj nie będziemy używać, oprócz jednej, bardzo ważnej : Replication. To pole przyjmować może dwie wartości ReplicationOption.CorrespondingIndexing albo ReplicationOption.AllCombinations.

Jak łatwo się domyślić, pierwsza opcja stworzy trzy punkty, z każdego zestawu trzech współrzędnych. Jeśli mamy trzy współrzędne w polu X, i trzy współrzędne w polu Y, dostaniemy 3 punkty. Jeśli wpiszemy po trzy różne współrzędne w polach X, Y i Z – też dostaniemy 3 punkty. Jeśli wpiszemy 3 współrzędne w polu X i Y, a cztery w Z – dostaniemy… też trzy punkty! (ponieważ dodatkowa, czwarta współrzędna w polu Z nie koresponduje z żadną inną w pozostałych polach).

Druga opcja działa zupełnie inaczej – jako wynik produkuje wszystkie kombinacje danych współrzędnych. Czyli wpisując trzy różne współrzędne do pola X (na przykład {9,10,11} ) i trzy współrzędne do pola Y {3,5,8} , dostaniemy 9 punktów. Jeśli do pola Z wpiszemy też 3 współrzędne, np. {1,2,3} , dostaniemy 27 punktów.

Obie opcje można też włączyć edytując transakcję ‘ręcznie’ (prawy klik, ‘edit transaction’) i dopisując linię Replication = ReplicationOption.AllCombinations; albo ReplicationOption.CorrespondingIndexing;)

Bardzo ważną rzeczą w tworzeniu kolekcji, szczególnie za pomocą drugiej omówionej powyżej opcji jest indeksowanie. Jeśli wybierzemy z menu ikonę ‘edit feature’ (dłoń wskazująca na kwadrat) i najedziemy nad stworzony obiekt (tutaj punkt), wyświetli nam się nazwa obiektu oraz jego pozycja w kolekcji.

indexing

(tutaj wskaźnik pokazuje punkt [2][1] z kolekcji punktów point01). Tak jak wspominałem powyżej, całą kolekcję można traktować jako jeden punkt. Zilustrujmy to tworząc linię od układu współrzędnych baseCS do kolekcji point01 :

(>> Create Feature >> Line >> ByPoints,  jako StartPoint wybieramy baseCS – najlepiej umieszczając kursor w tym polu a potem najeżdżając na baseCS z naciśniętym CTRL. Jako EndPoint wybieramy point01 – kasując indeksy w kwadratowych nawiasach, tak żeby pole zawierało tylko point01)

(na tym etapie wyłączmy wspomnianą wcześniej opcję ‘show settings properties’, żeby uniknąć niepotrzebnego zamieszania)

lines

Jako parametry wejściowe wpisaliśmy baseCS (pierwszy punkt), i point01 (drugi punkt), a w rezultacie dostaliśmy.. grupę linii ! Tak właśnie działa replikacja.

——————————–

Ok, czas przejść do czegoś, co przyspieszy nam trochę pracę nad kolekcjami.. przyjrzyjmy się funkcji Series i SeriesByCount.

Series (start, limit, increment) – tworzy kolekcję wartości liczbowych będących łańcuchem. Łańcuch zaczyna się od wartości start, i wypełnia się kolejnymi wartościami stopniowo zwiększanymi o increment, aż osiągnie limit). Przykład  : Series(1, 3, 0.4) to to samo co {1, 1.4, 1.8, 2.2, 2.6, 3.0}

SeriesByCount(start, final, count) – tworzy kolekcję wartości liczbowych zaczynających się od start, kończących na final, wypełnioną pośrednimi wartościami, w count krokach). Przykład: SeriesByCount(1, 15, 2) to to samo co {1,3,5,7,9,11,13,15}

Powyższe funkcje można wykorzystywać jako argumenty wejściowe do innych funkcji, np sinusoidy (Sin). SeriesByCount(0, 720, 50) stworzy łańcuch wartości wędrujący od zera do 720 w 50-ciu krokach.

Aby narysować w przestrzeni ciekawą krzywą bazującą na replikacji punktów, stwórzmy nowy skrypt, i nowy punkt ByCartesianCoordinates.

CoordinateSystem : baseCS

XTranslation : Sin(SeriesByCount(0,720,50))

(w GC argumenty wejściowe do funkcji Sin podajemy w stopniach, nie radianach)

YTranslation : Cos(SeriesByCount(0,720,50))

ZTranslation : SeriesByCount(0, 5, 50)

a potem dodajmy krzywą BSpline, stworzoną metodą ByPoints

Points : point01

MakePeriodic : false

Replikacja punktów

Rezultat : Krzywa spiralna (może np posłużyć jako baza do schodów!)

Dla dociekliwych : Możemy zreplikować stworzoną właśnie krzywą poprzez skopiowanie jej do kolekcji układów współrzędnych. Najpierw tworzymy jakąś grupę układów współrzędnych, np metodą BySphericalCoordinates (CoordinateSystem : baseCS,  Radius : 5 ,  Theta  : SeriesByCount(0,360,20),   Phi : -30 ), a potem tworzymy nową krzywą BSpline metodą CopyTransformGeometricContents ( CopyFrom : baseCS,    CopyTo : coordinateSystem01,  FeatureToCopy  : bsplineCurve01), kopiując spiralę do dziesięciu nowych orientacji. Rezultat poniżej :

spirals

——————————————

Po tej krótkiej demonstracji przejdźmy do czegoś bardziej zaawansowanego geometrycznie, czyli do powierzchni BSplineSurface. Powierzchnie BSpline są skonstruowane podobnie do krzywych BSpline (np. w tym sensie, że posiadają punkty kontrolne), przy czym oczywiście w sensie parametrycznym są dwuwymiarowe. Żeby nanieść na krzywą bspline punkt, wystarczy podać jeden parametr, w zakresie od 0 do 1. Żeby nanieść taki sam punkt (lub punkty) na powierzchnię BSplineSurface , należy podać dwa parametry – U i V. Oba przyjmują wartości od 0 do 1.

Stwórzmy nowy plik ( File >> New Transaction File ) i wybierając narzędzie ‘Create Point’ (żółta ikonka) stwórzmy cztery punkty.

Następnie stwórzmy element BSplineCurve metodą ByPoles (nie ByPoints!), wpisując w pole ‘Poles’ kolejno nazwy poszczególnych punktów. Najłatwiej jest to zrobić umieszczając w nim kursor i klikając w kolejne punkty z przyciśniętym klawiszem CTRL. W polu powinno się pojawić coś jak poniżej

{point01,point02,point03,point04,}

Resztę pól zostawmy ze standardowymi wartościami. Klikając ‘OK’ stworzymy krzywą jak poniżej :

bsplinecurve01

Krzywa została stworzona na płaszczyźnie XY (to znaczy że jest płaska), więc możemy teraz poprzemieszczać punkty w przestrzeni, tak, aby nadać krzywej pożądaną formę. Sposoby manipulowania uchwytami punktów pokazuje poniższa ilustracja :

manipulacje

Mając pierwszą krzywą w odpowiedniej konfiguracji przestrzennej dodajmy kolejne dwie krzywe, postępując w ten sam sposób (cztery punkty w przestrzeni, nowa krzywa BSpline metodą ByPoles, klikamy punkty z CTRL w polu ‘Poles’) i modelujemy je na kształt dachu.

krzyweBSpline

W wyniku powyższych operacji powinniśmy mieć teraz trzy krzywe : bsplineCurve01, bsplineCurve02 i bsplineCurve03. Zbudowane one są odpowiednio z punktów {point01,point02,point03,point04}, {point05,point06,point07,point08} i {point09,point10,point11,point12}.

Powierzchnie BSpline można budować na wiele sposobów, my użyjemy tutaj metody LoftCurves. Jako ‘Curves’ wprowadźmy trzy krzywe {bsplineCurve01,bsplineCurve02,bsplineCurve03}  (nawias klamerkowy wskazuje na to, że jest to kolekcja). Pole ‘Order’ powinno mieć wartość 4 lub 3.

powierzchnia

.. i w rezultacie otrzymujemy parametryczny dach!

Teraz nadszedł dobry moment na to, żeby zastanowić się nad formą. Na tym etapie można bowiem manipulować punktami kontrolnymi i oceniać bezpośrednio skutki tych manipulacji w czasie rzeczywistym. Sugeruję poobracać model z każdej strony i modelować kształt dopóki nie będziemy z niego zadowoleni :-)

(w ikonkach na górze okna po kliknięciu drugiego narzędzia od lewej możemy zmienić tryb graficzny wyświetlania na Illustration bądź Smooth – to pomaga w estetycznej ocenie rozwiązania!)

—————————————–

Panelizacja

Oczywiście w takiej formie dach może istnieć tylko wirtualnie, ponieważ wytworzenie każdej powierzchni podwójnie zakrzywionej to nie lada wyzwanie. Aby to uprościć, spróbujmy go spanelizować – czyli podzielić na mniejsze komponenty, nadające się do wycięcia i fabrykacji.

Aby to zrobić musimy wypełnić dach punktami, które następnie posłużą jako wierzchołki czworokątów. Jak się za to zabrać ? Zacznijmy od pojedynczego punktu :

>> Create Feature >> Point >> ByUVParametersOnSurface (ta metoda umieści punkt na powierzchni używając parametrów U i V).

Surface : bsplineSurface01 (nasza powierzchnia)

U : 0.2

V : 0.4

Zmieniając wartości U i V możemy umieścić punkt w każdym miejscu powierzchni (pamiętając o tym, że muszą one być pomiędzy 0 i 1)

Jak stworzyć więcej punktów ? Oczywiście używając replikacji i funkcji Series() bądź SeriesByCount().

Wyedytujmy teraz transakcję tworzącą punkt (jeśli jej nie widzimy na liście transakcji, kliknijmy przycisk ‘Save’, żeby zapisać skrypt na dysku). W wyedytowanej transakcji zastąpmy linie definiujące wartości U i V następującymi wyrażeniami :

U = SeriesByCount(0, 1, 50);

V = SeriesByCount(0, 1, 25);

i dopiszmy dodatkowo :

Replication = ReplicationOption.AllCombinations;

W rezultacie, zamiast pojedynczego punktu, zobaczymy matrycę jak poniżej :

siatkaPunktow

(wygląda trochę na to, że punktów jest za dużo, więc sugeruję zmniejszyć ilość kroków w SeriesByCount do 25 i 12)

Zanim zabierzemy się za panelizację, ukryjmy naszą powierzchnię BSpline, żeby nie przeszkadzała w wizualnej ocenie paneli (inaczej będzie je trochę zasłaniać). Aby to zrobić, wybieramy narzędzie ‘Toggle Visibility’ (czarno-szara ikonka z ukośnymi kreskami toggle_visibility), najeżdżamy na powierzchnię (aż wyświetli się bsplineSurface01) i klikamy. Alternatywnie, możemy też kliknąć na nią w widoku symbolicznym.

Stworzenie siatki paneli mogłoby być dość skomplikowane, ale ratują nas tutaj twórcy GC, którzy przewidzieli popularność panelizacji, i stworzyli do tego specjalną metodę. Znajduje się ona w elemencie Polygon. Wybierzmy narzędzie ‘Create New Feature’, następnie ‘Polygon’ a potem ‘ByPointGrid’.

Points: point13 (albo poprostu nazwa punktu na powierzchni – może być inna. Zwróćmy uwagę, żeby po kliknięciu na punkt z CTRL usunąć nawiasy kwadratowe i klamerki – bo podajemy całą kolekcję, a nie jej część).

resztę pól pozostawiamy ze standardowymi wartościami,

Wynik to podzielony na panele uproszczony model krzywoliniowego dachu :

panelizacja

I tak oto otrzymaliśmy naszą panelizację!

Jak łatwo zauważyć przyglądając się dokładniej panelom, większość z nich będzie powyginana w różnych kierunkach (będą wyglądać jak ramki z elastyczną tkaniną w środku). Aby wymusić ‘płaskość’ paneli należy użyć podczas tworzenia opcji FacetOption.ForcePlanarQuads lub FacetOption.Triangulation.. W pierwszym przypadku panele ‘wyskoczą’ trochę z powierzchni i pojawią się między nimi luki – ale to normalne, tak jak w dachu Smithsonian Institute. Aby tego uniknąć należy zgłębić tajniki teselacji powierzchni krzywoliniowych.. ale to już temat na inny post :-)

Ciekawy efekt można też uzyskać wybierając opcję FacetOption.Diamond

panelizacja2

aby zmienić właściwości elementu, np. sposób teselacji, nie trzeba cofać transakcji i tworzyć jej od początku – zamiast tego użyj opcji edit feature edit_feature, i zmień odpowiedni parametr.

————————————–

Rozwijanie elementów na płaszczyznę

Aby przygotować elementy do fabrykacji, musimy stworzyć element o typie ‘FabricationPlanning’. Ten typ elementu zazwyczaj służy do takiego rozplanowania elementów na płaszczyźnie, aby były zupełnie płaskie i aby przy np. drukowaniu lub wycinaniu laserowym zachowały identyczne wymiary i kształt do oryginałów. Normalnie nie jest to proste, bo elementy są obrócone wokół kilku osi w przestrzeni, i aby umieścić je w płaszczyźnie poziomej, należy dokonać kilku obrotów.. wykonanie tego na kilkuset elementach nie należy na pewno do zadań  łatwych :-)

W naszym przypadku możemy użyć dwóch metod tworzenia FabricationPlanning : LayoutPolygons, oraz UnfoldPolygonsIntoPlanarStrips.

LayoutPolygons rozkłada każdy element osobno, w równych odstępach. Może to się przydać przy wielokątach umieszczonych w dziwnych konfiguracjach, lub niestykających się krawędziami. Przykładowe wartości do wypełnienia w polach to

CoordinateSystem : baseCS

Polygons : polygon01 (bez nawiasów klamrowych ani kwadratowych, tylko nazwa kolekcji wielokątów)

Xspacing : 1 (odstępy w rozłożonych wielokątach)

Yspacing : 1

UnfoldPolygonsIntoPlanarStrips rozkłada wielokąty w pasach, połączone krawędziami, co czyni je dużo łatwiejszymi do późniejszego montażu (np przy tworzeniu fizycznego modelu). Przykładowe wartości do wpisania w pola :

CoordinateSystem : baseCS (w którym układzie współrzędnych następuje umieszczenie płaskich elementów)

Polygons : polygon01 (jak poprzednio, bez klamerek i nawiasów)

BoundaryEdgeColor : 3 (kolor zewnętrznej obwódki – ma to znaczenie np przy przygotowaniu do wycinania laserowego, gdzie zewnętrzny obwód jest cięty, a wewnętrzne krawędzie tylko lekko nacinane)

InternalEdgeColor : 2 (zielony)

InterRowDistance : 1 (odstępy pomiędzy rozwiniętymi pasami, w metrach)

rozwiniecie

Tak oto otrzymujemy techniczny rysunek będący bezpośrednio podstawą do stworzenia zaprojektowanego dachu.

——————————————————————–

Oczywiście jest to dopiero początek, ponieważ samo wycięcie paneli nie jest zazwyczaj wystarczające. Oprócz szkła lub innego materiału potrzebujemy także strukturę, ramy, metalowe łączniki i inne detale. O tym jednak innym razem ;-)

Przykładowy przybliżony model z detalami i całą resztą mógłby wyglądać tak :

parametryczny_dach_viz1_

lub tak:

parametryczny_dach_viz2_

————————————————————————————————————

Smart Geometry 2010

April 2nd, 2010 2 comments

Pod koniec marca odbyły się w Barcelonie warsztaty i konferencja pod szyldem Smart Geometry – organizacji działającej of 2003go roku poprzez  promowanie nowoczesnych metod projektowania wspomaganego komputerowo. Czterodniowe kolaboracje ponad stu uczestników i około dwudziestu prowadzących miały miejsce w siedzibie Katalońskiego Instytutu Zaawansowanej Architektury (IaaC) i prowadzone były pod szyldem ‘Working Prototypes’. Impreza polegała na zaprojektowaniu oraz wykonaniu prototypów ilustrujących przybrany proces projektowy w skali 1:1, używając do tego celu wycinarek laserowych, ploterów CNC oraz drukarek trójwymiarowych i specjalistycznych robotów.

IaaC main space

Warsztaty podzielone były na dziesięć podgrup : Deep Surfaces (projektowanie powierzchni z tkanin), Nonlinear Systems in Biology and Design (badanie zachowań systemów symulujących biologię w architekturze), Manufacturing Parametric Acoustic Surfaces (tworzenie prototypów kształtujących przestrzeń akustyczną), High Tech Design – Low Tech Construction (testowanie bardzo prostych elementów konstrukcyjnych z zaawansowanymi technikami projektowania), Parametrics and Physical Interactions (podłączanie wirtualnych modeli komputerowych do sensorów światła, temperatury itp i tworzenie fizycznych kinetycznych prototypów reagujących na warunku otoczenia) , Curved Folding (użycie robotów do wycinania i zginania metalowych powierzchni pojedynczo zakrzywionych), Explicit Bricks (testowanie zaawansowanego robota do tworzenia struktur z cegieł), Rapid R&D to Rapid Assembly (projektowanie i wycinanie drewnianych elementów nadających się do natychmiastowego montażu) , Design to Destruction (użycie zaawansowanych analiz i symulacji do zaprojektowania najbardziej wytrzymałego wspornika – testowanego na koniec przez jego komisyjne obciążenie i zniszczenie(!) ) oraz Inflatable Fabric Envelopes (projektowanie i wycinanie podwójnych membran pneumatycznych do tworzenia struktur).

Jedną z najbardziej spektakularnych grup była ‘Explicit bricks’, gdzie do wycinania styropianowych cegieł użyto robota firmy KUKA.

KUKA robot

(wideo pokazujące proces cięcia można zobaczyć  tutaj)

styrofoam bricks

workshop space

Mnie przypadło w udziale organizowanie oraz prowadzenie pod-warsztatu zajmującego się fizycznymi interakcjami (Parametrics and Physical Interactions). Razem z Hugo Mulderem (Arup, Advanced Technology + Research Group) i Florą Salim (SIAL, RMIT Australia) prowadziliśmy uczestników przez proces  ’rozszerzania’ ich parametrycznych wirtualnych modeli  w celu połączenia ich z fizycznym światem. Celem było stworzenie instalacji, która reaguje na warunki otoczenia używając sensorów (światło, ruch, dźwięk), i uzewnętrznia swoje reakcje za pomocą silników, światła, multimedialnych projekcji i kinetyki (fizycznego ruchu). Podsumowanie warsztatu i krótkie, lecz treściwe omówienia projektów można zobaczyć w poniższym filmie :

Więcej informacji o Smart Geometry można znaleźć na stronie  www.smartgeometry.org

parametric acoustic surfaces

Powyżej: Manufacturing Parametric Acoustic Surfaces

parametric membranes

Deep Surfaces

curved folding

Curved Folding

high tech design, low tech construction

High Tech Design – Low Tech Construction

parametrics and physical interactions

Model kinetycznie zacienianego dachu stworzony w podgrupie Parametrics and Physical Interactions