Archive

Posts Tagged ‘GC’

Eksperymentalnie i wysoko – czyli jak zaprojektować parametryczny wieżowiec

September 25th, 2011 No comments

Nowoczesne wieżowce w Polsce zazwyczaj kojarzą się z kanciastymi bryłami, nieciekawymi formami, lub po prostu szklanymi prostopadłościanami na wzór boomu budowlanego, którego doświadczyły amerykańskie metropolie w latach 80tych. Chyba jedynym wyjątkiem jest tutaj Złota 44, łagodnie opisana krzywiznami przypominającymi z daleka żagiel. Rzeczy takie jak dostosowanie formy budynku do trajektorii słońca po niebie, a także użycie zakrzywionych powierzchni fasad to ciągle jeszcze rzadkość.

Postanowiliśmy więc przećwiczyć temat projektowania ultranowoczesnych form wysokościowców. Razem z grupą studentów z III roku Architektury i Urbanistyki PWr, podczas zajęć z zaawansowanego projektowania parametrycznego spróbowaliśmy stworzyć adaptywny i organiczny wieżowiec. Miał on w założeniu adaptować swoją formę do orientacji słońca, a fakturą fasady odpowiadać na kwestie związane z ekologią – naturalną wentylacją, naświetleniem wnętrz oraz chronić budynek przed przegrzewaniem/wychłodzeniem, w zależności od temperatury.

Czy ćwiczenie się udało ? Oceńcie to sami :-)

Jako działkę wybraliśmy grunt we Wrocławiu, przy Galerii Dominikańskiej – a dokładniej miejsce, gdzie ma powstać Hotel Hilton i apartamenty Ovo. Nie jest to próba konkurowania z istniejącym już dla tego miejsca projektem – a jedynie użycie istniejącego, ciągle jescze wolnego miejsca na eksperymentalną koncepcję architektoniczną, dobrze zakorzenioną w otoczeniu.

Najpierw poświęciliśmy kilka zajęć, żeby zbudować parametryczny model wpasowujący się w zadaną działkę, a potem zaczęliśmy się ‘bawić’ w wizualizację oraz budowanie parametrycznych komponentów :

Powyższa wizualizacja pokazuje usytuowanie budynku. Na niższych piętrach znajduje się rozbudowana galeria handlowa i przestrzenie biurowe. Powyżej – wieża z apartamentami. Podstawowy model to zbiór kilku powierzchni krzywoliniowych BSpline zamykających bryłę w jedną, spójną całość. Na podstawie tych powierzchni, nanieśliśmy na poszczególne fragmenty wieży takie rzeczy jak pionowe podziały oraz zarysy pięter. Wszystko jest sterowane za pomocą punktów kontrolnych, oraz kilku zmiennych (suwaków), które pozwalają nawet w zaawansowanym stadium zmienić np. wysokości poszczególnych pięter, czy ilość pionowych elementów konstrukcyjnych na fasadzie.

Parametryczny model został stworzony w środowisku Generative Components, i wygląda mniej więcej tak :

Jednym z najważniejszych aspektów tego ćwiczenia projektowego było stworzenie fizycznego modelu wieży. Chodziło o to, żeby oprócz wirtualnych obrazków (które przy dzisiejszych narzędziach projektowych nie są niczym trudnym do wykonania) wykonać namacalny model, który będzie przekonujący i ciekawy w odbiorze. Chodziło także o to, żeby poprzez jego przygotowanie do procesu wycinania laserowego, a potem jego składanie, zrozumieć jakie są ograniczenia i wyzwania przy prawdziwych realizacjach tego typu.

Niestety, nie wszystko co ładnie wygląda na ‘cukierkowej’ wizualizacji da się zbudować – stąd duży nacisk na tworzenie namacalnych modeli projektowych przy projektowaniu parametrycznym. Bez tego trudno mówić tutaj o prawdziwej nauce nowoczesnych technik modelowania 3D (!).

Po przygotowaniu przekrojów pięter i rozwinięciu krzywoliniowych kolumn na płaszczyznę, wycięliśmy wszystko na wycinarce laserowej i zabraliśmy się za składanie :

Skończony model z białej tektury wygląda tak :

Jako część ćwiczenia parametrycznego, wykonaliśmy także specjalny wydruk rozwinięć powierzchni przeszklonych – zwyczajnie rozkładając je na płaszczyźnie jako prostokąty. Po naniesieniu go na przezroczystą folię, można je było wyciąć i przykleić na fasadę segment po segmencie (zdjęcie powyżej).

Nie było to zadanie proste ani szybkie – ale dzięki użyciu modelu parametrycznego, każdy segment pasował idealnie do obrysu pięter i przestrzeni między kolumnami. Wszystko było oczywiście odpowiednio ponumerowane i odwołując się na bieżąco do komputerowego modelu mogliśmy namierzyć i dopasować każdy fragment – co bardzo przypomina już zaawansowane użycie tej technologii w dużej skali. Podobne numerowanie i indeksowanie elementów wykorzystują dzisiaj duże pracownie architektoniczne takie jak Zaha Hadid, Frank Gehry czy Foster+Partners, wzbogacając projektowanie parametryczne także modelami BIM oraz rozbudowanymi trójwymiarowymi bazami danych elementów.

Po tym wstępnym ustaleniu bryły budynku oraz stworzeniu modelu, zabraliśmy się za studiowanie różnych generatywnych wariantów fasady – z naciskiem na adaptatywność komponentów, np z uwzględnieniem pozycji słońca.

Powyżej praca Anety Rejdych, pokazująca komponent zbudowany na siatce prostokątów nałożonych na powierzchnię BSpline. Zbudowany na tej podstawie układ trójkątnych paneli szklanych rozbija złożoną geometrię na proste pod-elementy, które pełnią rolę podwójnej fasady. W założeniu ma być ona dostosowana do warunków środowiskowych, umożliwiając efektywne chłodzenie budynku latem, a zminimalizowanie strat ciepła zimą.

Trochę dalej w swoim projekcie poszedł Krzysztof Ciok, którego pomysł na fasadę to adaptywne otwory pozwalające na selektywne doświetlenie i zacienienie poszczególnych części budynku. Komponenty używają też różnych materiałów w zależności od funkcji.

Na powyższej pracy Wojciech Mazan zastosował romboidalną siatkę ‘diamentów’ złożonych z trójkątów, spośród których niektóre są odchylone tworząc ‘piramidki’ i stymulując naturalną wentylację. Pomaga to w chłodzeniu fasady latem. Niższa, komercyjna część budynku jest przekryta standardową siatką prostokątnych podziałów i obłożona szklanymi panelami.

Ciekawą formę wybrał też Piotr Halczuk, projektując oplatającą wieżowiec siatkę sinusoid, pełniących funkcję nośną dla drugiej warstwy fasady (przeszklenia). Dużo bardziej rygorystyczna, lecz adaptująca się do zmieniającego się obwodu wieży, wizualnie dodaje jej charakteru i klarowności, nadając jej niemalże ‘ikoniczny’ i monumentalny wygląd.

—————–

Eksperyment pokazuje jak przy jednym projekcie można dotknąć całego spektrum zagadnień – koncepcyjnego szkicowania formy za pomocą parametrów, wstępnych i zaawansowanych wizualizacji projektu (a także fotomontaży), budowania reaktywnych komponentów oraz oczywiście budowy fizycznego modelu. Studia takie jak te wykonuje się w dużych międzynarodowych biurach przy każdym projekcie – tzn koncepcyjne modele form, wizualizowanie w kontekście otoczenia, i tworzenie ‘mockupów’ czyli modeli, często z wykorzystaniem drukowania 3D lub wycinania laserowego.  Bez tego typu ćwiczeń (wykonywanych często wiele razy) nie można w pełni odkryć całego potencjału leżącego w sytuacji i orientacji bryły architektonicznej, którą studiujemy (dlatego też podobne ćwiczenia mają duży potencjał dydaktyczny!).

Mam nadzieję, że budowanie parametrycznych modeli oraz tworzenie ich fizycznych reprezentacji za pomocą druku 3D lub wycinania laserowego/CNC wejdzie już wkrótce do kanonu zadań projektowych na polskich uczelniach architektonicznych. Zainteresowanie tym tematem rośnie, a urządzenia do cyfrowej fabrykacji tanieją z roku na rok (‘made in China’ bardzo w tym pomaga ;-) , tak więc boom na nowoczesne techniki projektowe w dużej skali dopiero się zacznie. Oby jak najszybciej !

O wykorzystaniu taniego druku 3D i drukarek RepRap, oraz innych technikach fabrykacji w architekturze już wkrótce, w osobnym artykule !

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_

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