Skip navigation

Category Archives: programming

More info.

More info and definition files here.

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.

Call them what you will, but there’s been a huge hype about them some time ago.

Grasshopper’s scripting capabilites are now a huge super cool feature, especially if you’re coding in visual studio (c#) and then pasting the shit or making dlls. I did this some time ago when i suddenly realized that you can declare your own static variables inside scripting nodes (and these guys hold up their values during the updating procedure). And the vector math is already there too.

This is an implementation based on Craig Reynolds‘s neurons, and a little bit on Daniel Shiffman’s processing example (which was updated and used some time ago for this.

Now, if somebody will be nice and implement some collision detection…

PS: I will upload the def. soonish (i have to clean it up a bit first). Ok i didn’t clean it up; here’s the link.

Here’s a new 10 day link: http://dl.transfer.ro/boidsT-Transfer_RO-16Nov-ad56f6.zip

Final link, stable and sound: http://improved.ro/Grasshopper/boidsTCAV.zip

 


/sneak preview.

Definition file (.ghx).

Referenced assembly (.dll).

Please note that the referenced assembly is based entirely on code from luvtechno.net.

I’m on the speaker list at the Rule Based Design Symposium at the TU Berlin. Thank you Christophe for the invite!

(27.05.09) The Symposium takes place at 18:00 in the Geodätenstand 6 O.G. TU Berlin Hauptgebäude, Straße des 17. Juni 135, 10623 Berlin.

The Rule Based Design Symposium highlights contemporary academic and practice based research employing CAD, CAM, Coding/Web tools in addressing & communicating architectural design intents & constraints. The research spectrum ranges from theory to the digital crafting of buildings and their components.

Organized by Christophe Barlieb.

RBD_A1

Flexibility in thought and expression is vital to all creative fields. The power of a new generation of parametric and bespoke CAD tools lies in the ability to negotiate and communicating the design intent clearly. This streamlining saves time, materials while integrating architecture, engineering and fabrication over the course of the entire architectural design process.

The symposium features research works by young contemporary academics in the fields of mathematics, architecture and fabrication

Schedule:
Time Speaker Affiliation Theme
18:00 Gisela Baurmann TU Berlin RBD Opening Statements
18:05 Kristoffer Josefsson TU Berlin Mathematics in Architecture
18:25 Dimitrie Stefanescu U.Bucharest Scripting Architecture
18:45 Christophe Barlieb TU Berlin Integration of Engineering & Design
19:05 Norbert Palz CITA Rapid Prototyping in Architecture
19:25 Martin Tamke CITA Fabrication of Architecture
19:45 Baurmann, Barlieb, Pfeiffer TU Berlin Discussion with Speakers & Public
20:00 PARTY

3d voronoi qhull dimitrie stefanescu

 

Deprecated. There’s a new version here.

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.

pras_090326_page_1

I get to speak on the 2nd of April there about parametric modelling and show off some projects. Suggestions are more than welcome.

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).

multipleattex

Again, out of popular requests during some time since the original was made, I have cleaned up the multiple attractors definition file. Included is also an example of attractors influencing the aperture openings of a given surface. The definition is now much more explained (exccesive use of post-it notes). Have fun, and download!

Download. ( 40kb .zip)

Voronoi Examples Grasshopper

Out of popular demand, I have compiled a nice file detailing the possible uses of the Voronoi node, complete with the accompanying rhino file.

Download. (60 kb .zip)

renderupload

For those who really like to play with voronoi regions and stuff, here’s the final grasshopper definition file (right click, save target as – else you’ll get a ~250kb of useless xml in your browser window).

The vcell component outputs now individual cells as closed polylines and closed nurbs curves. This is useful if you are using this for some urban project like i am i would have liked to, mostly due to easy offsetting and area calculation possiblities – included in the definition file – or height extrusion – included as well. You can even go further and color (using shaders) each cell coresponding with its mass/area/height etc.

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.

Follow

Get every new post delivered to your Inbox.

Join 39 other followers