by Lazar Djuric
Lazar Djuric
Published December 21, 2022

Grasshopper is a powerful tool for creating complex geometries and intricate parametric designs. In this tutorial, we will show you how to create a complex tower in Grasshopper, with two different facade components. One of them in the external facade, which has rectangular models. The other one is the inner facade, containing triangular models.

Check this out if you want to achieve this amazing result using Rhino and Grasshopper!

Setting up the Base Plane and the Grid

To begin with, we need to set up the base plane. As we're creating this complex tower in Grasshopper, this is where we'll define the point for the origin of out XZ plane. This plane is going to be the base of the square grid. To create the grid, we have to define two inputs. First off, grid size, and also the number of cells along both X and Y directions. 

The third step is to multiply the grid along the Z direction. How do we do this? By adding a series of numbers to out Z vector. Make sure that the spacing between the numbers and the grid size are equal. 

Creating Boxes and Importing Curves

Once we've created the base plane and the grid, we can move on. Now we'll create boxes which are based on each cell of the grid. To clarify, the height of the box has to be equal to the grid size. As attractors for the boxes, we will use the predefined curves that we now need to import.

These maintain the boxes based on the distance of the box to the nearest curve. We'll need to calculate these distance. To do the calculation, we will extract the centres of the boxes and pull them to the attractors. The distance from the nearest curve has to be smaller than 16.8.

Removing Overlapping Box Faces and Separating Lists

Third step is to remove overlapping box faces and keep just the shell. To identify which of the faces overlap, extract the centers and follow up with Cull Duplicate component.

This will separate the list of faces into two lists. One of them contains the faces on the bounding box, and the other the remaining faces.

Creating Meshes and Smoothing

The first list, with the bounding box faces, we will convert into a mesh. Using Picture Frame component from the Weavebird plugin, we'll create frames. Then, we will use another set of components from Weavebird. This time, it's Join Mesh and Weld in order to weld the meshes.

Afterwards, apply relaxation smoothing to the resulting mesh, and make sure the naked edges stay fixed.

Using 3D Remesh component, create a triangulated mesh, and set the target length to 2.5. In addition to this, define the number of iterations to 50. 

Subdividing and Coloring the Meshes

With the intention to further subdivide the mesh, we will apply the Split Triangles component from Weavebird. In this case, the number of iterations is set to 1. And additionally, we can assign each ot the meshes a different color, to make them distinguishable.

Creating Floors and Finalizing the Model

In the final step, we will create floors. To do this, the first thing to do is to join the inner triangulated mesh with the frames from the outer mesh. This will result in a single mesh, which requires horizontal contours. Use Contour, and join the generated polylines into closed ones. Collapse the shorter segments with the tolerance of 0.2.

And finally, use borderlines to create the floor surfaces.

All we have to do now is switch to render mode and see the final output. 

Final Thoughts

To sum it up, with the steps we shared you can create a complex tower in Grasshopper, with two distinct facade components. The power and flexibility of parametric design allows us to explore more complex geometries and create intricate projects.

Wheter you're an experienced architect or designer, or you're just getting started with parametricism, mastering Grasshopper will open up a universe of possibilites for your visions. 

Grasshopper Complete Course


Grasshopper Complete Course Pacakge

Master parametric modeling with the Grasshopper Complete Course.


With over 50 hours of in-depth training, this course will teach you how to create intricate algorithms to generate forms.
Click below for more information about the course and get 500+ components, 10 complex projects, and more!

About the Author

Lazar is a an architect and computational
designer with over 11 years of experience in utilizing
Rhino and Grasshopper for advanced design solutions. He
has an international portfolio that spans across multiple
locations including Poland, Spain, Maldives, and China
where he previously resided. As an educator, Lazar is currently sharing his expertise with the How to Rhino community leveraging his deep understanding to educate and inspire the next generation
of architects.