Rhino python scripts

A couple of rhino python scripts, someone may found useful:

Rename layer names in Rhino with/without asteriks symbol
Prompt for user input on word/character within layer names which needs
to be replaced. Convenient option includes asteriks symbol as a wildcard character. example:
– current layers: Layer01, Layer02, Layer03
– find: L*0*
– replace: Pl*1*
– results in: Player11, Player12, Player13
Layer names could be replaced on a number of levels: parent, sub-layer, sub-sub-layer or mutual combinations of mentioned three.

Select duplicate curves
Selects all duplicate curves in document, whether they’re positioned on top of each other (Rhino’s command “SelDup” would find these) or scattered around. It can remove flipped curves too.

Object names and number of its occurrences
Shows all object’s assigned names and counts the number of its occurrences. Results could be exported to .csv file or just presented on the screen in a form of a message box.

Return the top most group name of an object
Replicates the “ObjectTopGroup” RhinoScript function, which still hasn’t been implemented to PythonScript.
Returns the top most group name that an object is assigned. This function primarily applies to objects that are members of nested groups.

Select closed (solid) objects by Volume
Prompts the user to enter the desired volume amount, and selects the closed (solid) object with closest amount of volume, to the entered one

Generating fractal space frames

Structures under compression load are less efficient than the same structures under tension load. Instead of material breaking, yielding which determines design of a structure, at compression structures – buckling occurs before mentioned events.

By replacing straight beam elements under compression, with a series of fractal space frames (two tetrahedra on both end, and a stack of polyhedra in between) and distributing the initial compression force into tension and compression members of the space frame, R.S.Farr and Y.Mao succeeded in lowering down the amount of required material tens, several hundred times[1].


Read more of this post

Export volume, mass, weight and volume centroids from Rhino to .csv file

An interesting topic emerged at Mcneel forums: calculating Rhino solid’s volume, mass, weight and centroids. Then exporting that data into .csv file.
The following modest rhinoscript function tackles this issue. Check it at github.

Depending on Rhino unit system, data will be exported with following units:

units: Millimeters:    length(mm), volume(mm3), mass(g), weight(N – Newtons)
units: Centimeters:    length(cm), volume(cm3), mass(g), weight(N)
units: Meters:    length(m), volume(m3), mass(kg), weight(N)
units: Inches:    length(in), volume(in3), mass(oz – ounce), weight(N)
units: Feets:    length(ft), volume(ft3), mass(lb), weight(N)

Function additionally labels object’s number’s and volume centroid points are added to the Rhino file:



Exported .csv:


Water supply design definition


I created a Grasshopper definition which designs cold water supply branched network, by using Joseph Brix methode.
Unit load according to German standard DIN1988-W308.
Definition uses an evolutionary algorithm – Octopus to determine the most efficient solution in terms of energy losses along the network.

Read more of this post

Business hotel


Location: Nis, Serbia

Area:  12500 m2 (object) + 8000m2 (surrounding area)


Competition required creating a modern hotel building on a river bank. Location is surrounded from one side by river and on the other by residential homes, with a few alien modern business buildings. Required capacity should be 80 rooms, out of which 70% double rooms, 20% single bedrooms and 10% suites.

Read more of this post

Grasshopper to RFEM/RSTAB

I made an example of exporting data from Rhino/Grasshopper into Dlubal’s RFEM, by using Excel spreadsheets.
The same method can be used for RSTAB.
RFEM/RSTAB are structural analysis and design softwares:

Video show changes in geometry of grid shell and space frame in Grasshopper, which are then reflected to the geometry in RFEM/RSTAB ready for analysis:

Sierpinski pyramids

This project represents my experiment to create Sierpinski square-based pyramids as fractals and also an example of feedback loops usage within Grasshopper.

Code allows manipulation of size of pyramids and the number of iterations within (number of pyramid sub levels). Each one of these three has a different sub level.

Read more of this post

Parametric interior – salon for reading

Area 160 m2

Location: Plav, Montenegro


My ex company gave me an opportunity to be involved in design of interior, for 4 star hotel  located at Lake of Plav, Montenegro. Hotel is going to be build near lake, surrounded by fairy tale scenery and beautiful mountains.

Their task was to design interiors for restaurant, banquet (function) hall lobbies and salons.
My job was to design the reading part of salon located on the south side of hotel.
Read more of this post

Reisseck mountain restaurant and visiting center – international competition 2011 (1st prize)

Area: 1180 m2

Location: Reisseck, Austria

Project status: Under construction

This project won the 1st prize on the international competition in 2011. Snøhetta was third.

Object will be built 2250 meters above sea level in Austrian Alps.  The building will include a top terminal for the Reisseck incline railway, along with information and display areas.

The new top terminal has been interpreted as constructed landscape, which has developed naturally from the topography. The curving lower part of the station follows the contours of the surrounding landscape, and these are accentuated by their stone materiality. The roof encroaches on the building like a protective overhang of snow. Despite avoiding the vernacular architecture of alpine construction, this solution has produced a sensitive response to this unique location.
On the approach, the visitor is heralded by a sequence of different rooms. The ground floor, which is integrated into the slope and is closed to the outside world, is reminiscent of caves and tunnels.

Read more of this post

Underground passage canopy

Area: 2 x 93m2, 2 x 72m2 (4 canopies)

Location: Nis, Serbia

Competition 2011

Competition was announced for project of 4 canopies over the underground passages, at the main city center plateau in Niš, Serbia.
The main precondition for the competition was predominant use of glass.

My intention was to create light, partly transparent spotlight in the “sea” of concrete and marble tiles on the city square.
Few aluminum curved profiles, create the skeleton of the delicate sky-blue nuance of glass cover.
Shape of the canopy acts like a tiny wave, which emerges from the water.

Read more of this post