Blogroll
code
friends
industry
theory
Category Archives: programming
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
How about 60 points for real-time 3d voronoi manipulation in grasshopper?
Here’s a screenshot:
This isn’t a scam. Stay tuned for more free voronoi PrOn (and other qhull-enabled goodies.)
Who’s interested can just grab a pdf file of the whole 91 page keynote here (quite a large file).
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.
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.
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.
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.
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).

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.

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

That above graphic is a watered down version of the grasshopper definition (I will not release it under any license for now).
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)
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)

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)
(board 2)
(board 3)
{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.
Having some more haha with the previous grashopper sketch, this time working on curves.
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).

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































































