It all starts with a YouTube video about (as defined by the author) Lego folding or lego origami. After watching that video I couldn’t help myself but find the quickest way to get all the over 400 Lego pieces myself!
While building the structure, as described in the video, I started to understand the underlying mechanism and discovered that the mechanism has indeed a connection with origami, perhaps even closer related than the video’s author realizes. Spoil alert, the mechanism is a grid of rectangles connected by their corners. The movement occurs when one or more rectangles rotate on its axis, causing all other rectangles to also rotate together.
Funny enough, I studied this very same mechanism when I was back in Architecture School while doing academic research. In case you want to check it out, here is the link to see its publication in the Cadernos de Arquitetura e Urbanismo magazine (see page 31). Side note, in case the magazine’s name isn’t explicit enough, Portuguese proficiency is recommended, but, in any case, there are some cool pictures to see too 😊
During my research, I learned that this mechanism was first demonstrated by Ron Resch back in the 60s, which can be seen in his film, taking us all the way back to origami tessellations!
Feeling a little nostalgic, I decided to try and reproduce the Lego build using Rhino, Grasshopper and Kangaroo.
To start, I modeled the Lego modules in Rhino in order to get the right proportions and understand the mechanism’s pattern. Here we have an image of how the modules are connected and laid out when fully opened and closed. Here we have an image of how the modules are connected and laid out when fully opened and closed.
With the rectangular grid defined, I moved to Grasshopper and recreated the rectangular grid in its open position.
Then I defined the logic that sets the physical constraints and movement for the Kangaroo goals. In short, we have the fixed rectangular grid (red rectangles) which maintains its size and shape, and we have the empty spaces in between, which collapse, as one of its diagonals increases/decreases in size.
IMAGE NOTE: This image shows the rectangular grid in its original position overlapping the Kangaroo geometry as it simulates the movement.
Kangaroo does all the rest by itself. Since all rectangles are connected by their corner, Kangaroo automatically connects them as a part of a single system, ensuring that they stay attached together and affect each other’s position and orientation. With that system in place, as the empty space diagonal’s decreases/increases, the rectangles are automatically induced to rotate symmetrically.
To finalize, I linked the Lego module from Rhino into Grasshopper, duplicated and mirror as needed to match the rectangular grid coming out of Kangaroo. The resulting structure reproduces precisely the Lego movement as if there was no plasticity, and the entire grid moves at the same time.
If you are interested in playing with the script yourself, check it out in the file below. For this exercise, I used Rhino 7 and Grasshopper + Kangaroo2, which come pre-installed in Rhino 7. Have fun!
About the Author:
Clara is a design technologist coming from an architectural background and a drive to use the available technology tools to their fullest enabling a more efficient process that leaves more room for the creativity and the fun part of the design to flourish. Clara also has a long history of fascination for topology, origami, complex structures and geometries which inevitably brought her to the computational design world. Since her days at school, back in Ouro Preto Brazil, and while studying abroad in Dessau, Germany, she has strived to implement technologies such as Grasshopper, Processing, Arduino and 3d Printing in her academic and side gig projects. While in the professional architecture industry she has often been the voice in the office advocating for the use of Dynamo and strategizing on ways to use the computer and Revit to cut the time spent in repetitive and tedious tasks.