Category Archives: portfolio

The assignment was loosely formulated so as to allow maximum freedom in identifying problems and needs in the Lipscani area and proposing an architectural (built) solution that would tackle the aforementioned points.

site plan

My vision concentrated on issues relating to the poor visibility/readability of the overall area (and the necessity of a landmark) and the lack of “free” public urban space. The functional program was mainly derived from the observation that most historic centers (Lipscani being a prime example in this) loose their initial cultural and traditional economic value in favor of the over-dominant bar/cafe. This leads to a certain repetition of fluxes (economic, cultural, pedestrian) which harms the respective area.

analizew

analizaStructuralaw

Geometry-wise, my proposal respects local aspects of the area, namely its porosity and the way the urban tissue coagulated around narrow winding streets and small interior courtyards in a constantly surprising lattice.

plansaXXYw

In respect to this approach, i considered the lot as a solid volume on which forces are applied in respect with the openings and general director lines of the site. Performing a “structural” analysis on the site revealed the patterns by which these forces would naturally flow towards given points of rest (namely the designated openings of the courtyards).   Using topological optimization techniques these patterns were transformed into geometry which was later subtracted from the original body thus giving the overall shape of the building.

plansaXXXw

By following this design method I ensure an optimal circulation flow through the built site, encouraging interaction and furthering the development of the local urban tissue in a manner very close to its characteristics (gained by spontaneous evolution) thus fully integrating the new implant.sectiuniSiFatadew

planParterw

That’s wrapper of the last month, give or take.

I have been (re)invited to teach at the upcoming Parametric Design Workshop that’s going to take place at the HTWK Leipzig.

The line-up includes:

Ioulietta Zindrou, Maite Bravo, Verena Volger, Luis Fraguada (of Barcelona/IAAC fame);
Yours truly Dimitrie (of Bucharest fame);
Henning Rambow, Patrik Bedarf (Leipzig crew);

090602_exhib_flyer_rgb_small

I haven’t been that productive lately due to the many things happening all the time, but hopefully I’ll be able to get back on the research track in summer.

3d voronoi qhull dimitrie stefanescu

More as a scripting experiment, when i was mucking about trying to make the delaunay triangulation work in grasshopper i somehow found the wonderfully complex qhull library which i promptly set to push and pull to get it to work with grasshopper. As advised on their website, the best way to do it is to call it as an external program, which is exactly what i’ve done:  no files are written or read, no dos windows pop up, everything’s smooth.

Given that you don’t have many complex operations in grasshopper after the solution is generated, you’ll be able to handle quite an impressive amount of points (say 200 on my three-year old toplap) in real time. If you add the simple planarSrf operation, then say 60-70 and it gets sloppy.

What you’ll need to do to get things rolling:

0. Download the 3dvqhull definition and example file, and remember not to use it for commercial purposes, share-alike whatever you do with it and take the time to give the proper credits:  :)

1. Download qhull, and unzip it in a folder of your choice.

2. Get going and search for “System.dll”. What you’re interested in is the 2.0 version which you’ll usually find in here: “C:\WINDOWS\Microsoft.NET\Framework\v2.0.5[...]\”. If you can’t find it, I’m amazed grasshopper works for you. Anyway, you can find and install it from here.

3. Add the newly found System.dll version 2.o as a referenced assembly of the qhull component in the definition file.refass

If it turns orange, it’s cool.

4. Write in the panel that is linked to the “path” input the full path to the qhull program qvoronoi. You don’t need to add the .exe extension, but you can do it if you feel confortable.

pathh

5. There’s just one more thing you should know: facets that contain the infinite vertex are omitted altogether, without remorse. So as to have as little facets tending towards infinitum, I always add the corners of the points bounding box to the input sites.

bbx

You can scale the bounding box in respect with its center, or you can just call the whole thing off – it’s your choice.

I think this just about covers everything. Take care and have fun.

didi out.

PS: Qhull does more than voronoi. So if you have the time to explore and test, please do – the package is very powerfull and it can be used for more than this.

qhull-copy

How about 60 points for real-time 3d voronoi manipulation in grasshopper?

Here’s a screenshot:

screenshot

This isn’t a scam. Stay tuned for more free voronoi PrOn (and other qhull-enabled goodies.)

dimitrie stefanescu

(right click save target as)

Delaunay Triangulation in Rhino’s Grasshopper plugin.

It’s pretty straightforward. Just don’t input in the magic node duplicating points or everything will start blowing up.

def2

First one to make it output the voronoi diagram wins a candybar.

Who’s interested can just grab a pdf file of the whole 91 page keynote here (quite a large file).

htwk_pres_020409f_page_13htwk_pres_020409f_page_26

I talked about some projects I did (some together with Veronica Popescu) over the last two years, always insisting on the computational approach and detailing the techniques used.

htwk_pres_020409f_page_34htwk_pres_020409f_page_35htwk_pres_020409f_page_38htwk_pres_020409f_page_39

I presented scripting approaches and more interactive (parametric) grasshopper based modeling. Some  Processing based approaches were presented and I insisted on the necessity of using multiple open tools that can be made to communicate between one another.

htwk_pres_020409f_page_44htwk_pres_020409f_page_60htwk_pres_020409f_page_66htwk_pres_020409f_page_72

I tried to clearly mark out the relationship between fabrication and the overall design – how material properties and building techniques inform the design and viceversa.

htwk_pres_020409f_page_75htwk_pres_020409f_page_83

Reactions were good, and it seems computational approaches are definetively stirring people up.

Thanks are required to Patrick Bedarf, who made this possible and is proving to be an excellent host in Leipzig, and also to prof.  Henning Rambow for all the support.

Also if you are reading this from Leipzig and are interested in joining us tommorow at 16.oo @ HTWK computer pool for some hands-on grasshopper work, there’s  no one stopping you.

Team project with Veronica Popescu.

p1-copymic

p3-copymic

p2-copymic

p4-copymic

p5-copymic

Our solution proposed the creation of several interlinked interior and exterior courtyards that both encouraged interaction with the surrounding busy streets while at the same time offering an intimate place to retreat to. Various social and commercial functions requiring different visibility/exposure levels can occupy this space at ground floor level.

The space-partitioning algorithm we used (Voronoi), though a cliche, provided us with the ability to fill-out the space alloted for the project in a coherent, integrated manner without the urbanistic disruptions created by bar-type blocks (or modernist urbanism and its present refinements). Through the parametric approach used (see previous post) we were able to continualy search for the best solution (regarding geometry, overall&floor height/number of stories, surface areas, access at pedestrian level, acces towards the apartments) within a fluent design process. This allowed us to strictly respect the main given restrictions (POT, CUT, etc.) of the assignement while at the same time keeping and fostering the added benefits of continous and easy experimentation.

This is just a prototype for our current school assignement involving collective housing (~80+ apartments + commercial and community spaces).

randarefrumoasa2-copy

We are using the excellent space-partitioning properties of the Voronoi algorithm to create a lattice of interior and exterior courtyards that progressively make a transition from public space to semi-public, semi-private, and, in the end private space. This way we propose the creation of a coherent urban lattice encouraging interaction with the busy city outside while in the same time offering various degrees of protection/”cosiness”. We are not proposing a new type of urban tissue in itself, but merely adapting and reinterpreting some qualities of sponaneous developement and local tradition(“fundatura”) in a flexible (yet highly accurate) digital framework.

randarefrumoasa-copy

As I was saying at the begging of the post, this is just a technical showdown – everything you see rendered above is far from what the end product will probably be  (since also the way the assignement was formulated forms that evade from some general bar-variation are quite difficult to fit in the judging criteria). Yet it indeed demonstrates the versatility of parametric/generative architecture and the capabilities of the digital framework proposed to control and manipulate with accuracy all aspects of the project (from raw geometry and algorithm to technical: floor height, floor areas, built/unbuilt ratio, sun exposure and so on – the possibility to expand the definition to apartment level details is definitively there).

grasshopperdefinition1

That above graphic  is a watered down version of the grasshopper definition (I will not release it under any license for now).

Here’s the latest school project, finished some time ago in early January. After pondering wether to reveal it or not (not that proud of it), I decided for the former in the end…

w_plan

w_fatadesectiunidetaliutehnic

w_machetaa3

Latest school project:

(board 1)

wb1

 

(board 2)

wb3

 

(board 3)

wb2

 

{input}

The project required us to design an archeological center consisting of one conference room (75 seats), three workshop spaces and a bar/buffet [+ reception and service spaces]. Adjacent we will have to design a small hotel/pension, so our projects will have to be able to scale up formally (and function-wise).

{output}

My project is based on the act of cutting open the ground and inviting people and light inside pays tribute to a defining part of archeology “per se”: excavating sites in order to recover cultural remains and other artifacts in order to better understand mankind.

The overall form of the building emerges in a subtle way from the surrounding landscape, inviting its discovery in a less violent manner. Not choosing to mark its presence in a classical/standard way was a decision taken so as to echo the fact that archeology has the task of surveying areas in order to find new sites – information is never out in the open and its artefacts are hidden – at the same time not disrupting the surrounding beautifully curved landscape. 

The space inside curves gently around three interior courtyards, following the natural terrain. Luminaries assist the inerior courtyards both formally (composition-wise) and functionally (in providing natural sunlight).

{model}

3D Print and cardboard:

——

3d printing done on a  nice ZCorp 510 at Spot Desing – thanks for the flexible payment option and patience!

Boards printed at duostudio (Y!: studio.plot) inside the English passage – thanks for the longlasting quality, 15% early bird price cut and friendly staff ;)

Also thanks to our assistant teacher (andra panait) which happily provided help and counseling during her private (spare) time.

UPDATED HERE!

Having some more haha with the previous grashopper sketch, this time working on curves.

multattcrv

This is intended in some sort of terrain manipulation for the ongoing project – too bad things started shaping like some sort of electrical field/strange attractor (it has nothing to do with the above, the similarity is purely formal).

multattcrv2

Download the .ghx file here. (right click, save target as)

Also there’s a bug in the code – something’s not working right. Initial attractors seem to have much more power than the latter. Maybe someone that takes a fresh look over the code could point out my mistakes.

sk

– LATER EDIT –

There seems to be also a little glitch in provding the code for curve_gen scripting node, so here it is (copy and paste it):

y = int(y)
Dim pt As on3dPoint
Dim i As Double
i = -1
Dim crvs As New List(Of onNurbsCurve)
‘Dim arr As New List (Of on3dPoint)
Dim crvarr() As On3dPoint
ReDim crvarr(y)
For Each pt In x
i = i + 1
crvarr(i) = pt
If (i Mod (y) = 0) And (i <> 0) Then
Dim crvv As New OnNurbsCurve
crvv.CreateClampedUniformNurbs(3, 4, crvarr)
crvs.Add(crvv)
Print(“curveout ” + CStr(crvs.Count))
ReDim crvarr(y)
i = -1
End If
Next
A = crvs
Take care,
d.

UPDATED HERE!

Multiple Attractors working in Rhino’s Grasshopper, all handled in a nice VBScript Component.

Works with quite anything (initially deisgned for surfaces).

Download the definition file.

Have fun with it. I still didn’t have the time to put this to a proper, nicely rendered use and it’s been almost a month now since it’s finished. Quite fustrating.

Back in school, Veronica and me hosted a big tryout of the waffle code advertised earlier (which is now used in Chile, San Fransisco and Bucharest – sorry i couldn’t help boasting).

The assembly of roughly 486 ribs into an alien-looking 1/500 terrain model generated quite a nice social event…

We still owe the laser cutter guys some obscene amount of money, but we hope to repay our studio’s debt asap.

First run:

Thanks to Manuel, who took interest in the scripts posted earlier, we both put up some work and came up with a better result. 

English version.

Spanish version.

(they are the same)

The script works now with intersections in any direction (swithch from scale to extend line). Also handles somehow geometries that have holes inside and finnaly some little extra options added (you can choose to extend the split line or not, material thickness). 

Also, there is one think to keep in mind when using the scripts. You will sometimes get errors when using a too low absolute tolerance in Rhino. So go to Tools>Options>Units and set Absolute tolerance to 0.0000001 or something absurdly accurate.

Over time, a lot of my research into architecture and scripting/algorithms overlooked – due to the conditions present in my school and country- the ever-important fabrication side of things. It’s easy to get distracted, create nice shapes, and then completely forget that, hey, i have to build them!

As I’ve learned recently, the best approach (and, of course, the hardest) is to go both-ways. Material properties and construction tehniques inform the final product as much as algorithm, concept and anything else does. This is an emerging system, constantly exchanging information back and forth between each component of the design process.

I’m writing these banalities because i feel they need to be pushed up front a bit, especially in my school. Anyobdy can create blobs, what about being able to construct (not sculpt!) them, even at a 1:50 model scale? Thinking of fabrication expands your way of architectural creation not by adding a surplus of superficial constraints (like the over-empasis on concept and/or philosophy that’s highly praised here) but by adding real challanges that, as an architect, you will encounter not at a model 1:50 scale but at real-life 1:1 scale.

That’s why i’ve created a small tutorial-like presentation on how to laser-cut a surface.

intro
  • Also, i’m using an older script that would need some tweaking, but for the moment it does it what it’s supposed to : unrolling all given surfaces and numbering them in the process.

    Download the unroll script here.

  • And then there’s the compiled .pdf with the baby steps.

    Download the .pdf here.

As always, if there’s any questions or curses, drop a line.

NOTE:

CutMyOwnRibs script updated.

Now that we didn’t win anything (so it seems) I can publish this project. It was great working on it, though a bit stressful towards its final stages…

Here it goes:

This project is a collaboration between Veronica and me.

Creation

The urban bacteria is a responsive structure that is not built; it grows following the path dictated by an algorithm that takes into account the geometry of the site as well as the available sunlight. It adapts to almost any given urban space, evolving into an organism fit for the conditions it encounters.
We created in processing (processing.org) an autonomous system that is emergent (it demonstrates an “internal will to reach coherence” – Cecil Balmond). It was used to compute the structure of the bacteria and simulate its growth in a variety of conditions.

Pulse

It has a life of its own. It pulses along with the variations in sunlight: when there’s a excess/high amount of sunlight available it increases its volume, regaining its initial form as a direct result of a decrease in available sunlight (caused by clouds, sunset). In its “expanded” form it offers more shadow to the pedestrian space below when it is most needed, increasing its quality and, therefore, inviting people to use it.

Daylight > nightlight; natural light > artificial light

During the day, the “urban bacteria” stores the excess energy resulted from sunlight and releases it during the night. The quality of an urban space is linked with the amount of light it receives during the night – this “living structure” proposes an ecological/economical way of transforming daylight into night light, sunlight into artificial light.

Materials

The membrane of the structure has a multiple role: absorb sunlight and create shadow during the day and release light during the night. We propose a multi-layered material consisting of two layers of polarizer sheets (in between which there’s another layer of cellophane) superimposed over a photovoltaic lattice that transforms sunlight into energy. The double layer of polarizing material creates an intense visual effect (by speculating small shifts in geometry and sunlight angle) that can be used to enrich the surrounding urban space.

“Urban bacteria” is an autonomous shape living in concordance with the rhythm of the environment.

Final boards:

This project was developed for the Velux IVA competition.

Scripts

RhinoScript and Processing

Process

Existing geometry in which the bacteria would evolve was constructed in Rhino and then custom-exported as simple rectangular planes in a specially built p55.in file. This would be custom-imported in Processing.

The growth algorithm was programmed in Processing. Running inside the imported geometry the bacteria would grow. The thus-grown (see above for details) structure would be custom-exported for Rhino.

Via RhinoScript, the “bacteria” would be imported and given a form via a custom script that took into consideration the time of day. Fin.

I had some fun some time ago with plexiglass, a laser printer, rhino, and a very limited and buggy script that made “ribs” out of a surface.

The results were nice, so I decided to share:

Here’s the bugged up script (it’s quite useless, but people may find inspiration where I didn’t):

Option Explicit

Read More »

As I promised, I hand out some of the scripts I’ve written in the course of the latest project.

Massive unroll Script:

Select as many surfaces as you like and then unroll each one of them.

Download it.


Adaptive fenestration script:

An interesting script that cuts holes in a surface based on the relation with a given attractor(point). I used it to generate a porous membrane for my latest project.

Download it.


Those were some scripts that have actually proven to be quite stable…

Here are some other potentially super-bugged scripts:

Faceting. – Does the same as the adaptive fenestration script only it also “facets” the seed surface.

Ribs. – My attempt (quite sucesefull) at writing a honeycomb script.

(1of2)

First set of drawings from a single-family home project for school.

Getting a grip on the surroundings:

After an initial study of the surroundings, several ways of tackling this project have been bouncing up and down in my head. I won’t go through all the urban analysis of the area, suffice to say that taking into account the general characteristics (building regulations, urban tissue, the relation between buildings and their respective lots) and specific characteristics (how much sun do I get and from where? how much privacy? what role does vegetation play?) I was able to identify some “core variables” around which I could start working.

The site is a corner site. This must be reflected in the construction.

I  can’t directly attack the corner due to the constraint pushed by the general characteristic mentioned above – the relation between buildings and their respective lots – they all are free-standing separate objects.

Sunlight. The south is blocked by high-rise (10 stories) buildings. I must get the most out of what reaches the site while still offering a decent level of privacy (imagine 20 apartments looking down into your house).

The program was a classical single-family home (living room, kitchen, dining, 3 bedrooms, study/library, garage). I also wanted to open up the spaces inside towards the garden and the trees (which act as a natural privacy shield) surrounding the lot.

Air must come in and then out (get as much natural ventilation as possible).

Porosity sprang to mind. What if I can create a living, adaptive porous block that acts as a retreat and yet still opens up to let in fresh air, sunlight, perspective and, most important, a family? I investigated a little bit of fractals, went through to fractal architecture and, most important early-on in the design process, (Steven Holl’s) porosity architecture.

Initial concept (working towards porosity): *note: this is not how the final project looks like. the img below is just a concept sketch.

So, all talk and no scripts? Wait, no!

More to come in the next post. I promise you adaptive (in relation to an attractor/point) porosity on a given surface and a massive unroll script.

Here’s a nifty script to create a menger sponge in Rhino:

Option Explicit


‘Script written by Dimitrie Stefanescu
‘Released under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0

Call sponge()

Read More »