Skip navigation

Category Archives: rhinoscript

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)

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.

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.

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.

boring random surface, as seen on the cover of this book.

Here’s the script:

Read More »

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.

The following workshop, during the dates below:

Thanks to a bunch of people (OAR, parental funds and Nemetschek Romania – if you want to expand the list – there are still a lot of expenses to be taken care of – drop a line).

Thanks also to Aleluya! Barcelona for providing special rates to eastern students…

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.

home/house: an architectural organism

The house must not be seen as an opaque shell, but as an osmotic membrane.

The built environment intersects with the living environment.

Create a formal and functional interdependence between the architectural object (building) and the subjective object (home).

So you can see what porosity led to.

And here are some pictures of the model:

Balsa wood and plexiglass, nicely cut by CO2 laser.

First step of the project is here.

(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 »

prezentare_1250.jpg mobilier-copy.jpg plansafinala3_1200.jpg plandesfasurate_1200.jpg

We started out on this by analyzing the area and its surroundings from the point of view of circulation (more on how we did this). How would people move around? The conclusions from this study where integrated later on in the project.

vederi_1200.jpg

Next we took on the task of (re)creating the landscape – modify the terrain in a functional yet unobtrusive way. Formal concepts revolved around radiolaria, foam, water, waves etc. Luckily we had a working circle packing applet in processing ready (which was used for this). From here on, it was quite straightforward: expand the circles to smooth spherical caps and smartly transform them into urban furniture.

The interstitial space that remained between the”bubbles” is packed with wood alongside the routes we discovered to be ideal using the circulation study. The rest is English lawn :) pure green smartly-cut grass.

This project is a collaboration between Veronica and me.

Tools we used include:
Processing was VERY important early on in the design process – we used it for the circulation study as well as for the early circle packing experiments (size, density, spread etc).

Rhino and RhinoScript: RhinoScript is great – we used it extensively (create spherical caps based on the generating circle’s radius, expand circles, contract circles, import circles which the processing applet generated, etc.). Rhino was used for everything else – 3D modelling and, of course, making valid STL files for the 3D printer and also exporting the right things for the laser printer.

macheta1.jpgmacheta4.jpgmacheta2.jpg

Laser cutting was done here (as always).

3D wax models were kindly made for us by mazarom (at the moment the only 3D printing service in Bucharest). If you need a complicated model, don’t hesitate to contact them!

Plotting the final presentation was done at studio spot. They don’t have a webiste

Things evolve:

portul tomis plansa prezentare

Veronica and me (Dimitrie). This could have looked better, but alas, we had to make a 1m x 1.3m model in the same time.

header.jpg

SPRscrpts

for Rhino is out now. Grab it while it’s fresh (and buggy).

Sorry for the huge delay.

RELEASED!

SPRscrpts is coming (with documentation). It brings to your Rhino 4 SuperShapes, SphericalHarmonics, SuperTori and Shells. Below is an illustration of what it can do (that’s the shell script at work).

sprscrptsteaser.jpg

Follow

Get every new post delivered to your Inbox.

Join 39 other followers