Modeling Villa Savoye in Rhino
In this tutorial, we will use Rhino and only Rhino (no grasshopper) to make a 3d model of Villa Savoye. Before you start this tutorial, it is highly recommended that you read the introduction of Rhino first: Rhino Introduction. The introduction provides the essential knowledge of some basics of Rhino, like the command line and the snapping tools.
If you wish to model and follow along the tutorial, download the AutoCAD file of Villa Savoye here: Villa Savoye DWG.
Setting up the project
Before we start modeling, there are a few things you may want to set up first. When you first start Rhino, make sure you are working with millimeters. Do this by going to,.
Importing AutoCAD files
Now we can go ahead and import the AutoCAD file into Rhino,
After importing the AutoCAD file, you will notice that Rhino automatically makes new layers for the imported objects. In this case, Rhino actually used the layer information from the AutoCAD file. Rhino also makes some default layers for you to start. Go ahead and delete them, as we will make our own.
- Visibility: This will toggle the visibility of the objects within the layer.
- Lock/Unlock: This will lock the layer, so its contents can’t be modified. Click again to unlock.
- Layer color: This gives the objects of that layer a color.
Enable Modeling Aids
To make Rhino gives us more visual feedback; we should enable the cursor tooltips, which will make modeling in Rhino more interactive. Go to, in the option window go to and enable the following options: Osnaps, Distance and command prompt.
Modeling the walls
Now we will model the walls on the ground floor. Firstly, create a new layer and give it a name. Be sure to activate the newly created layer by double clicking on it. To ensure that we don’t accidentally modify the reference layers from AutoCAD, lock them.
Toggle the visibility of all the layers, except our newly created layer and the floor_00 layer, so we can focus on the ground floor. Pick the Polyline Tool and left-click on it to start drawing a continuous line that is joined together. Right-click will also draw a continuous line, but it will not be joined together.
Because we can use our AutoCAD drawing as a reference, we want to snap to the endpoints of the lines from this drawing. For more information about snapping, see Drawing Aids in Rhino.
Make sure Osnap is activated and select End point snap. This snaps the cursor to the endpoints of any curves or lines. With that set up, go ahead and maximize the Top Viewport. Do this by double clicking on the viewport name.
Use the Polyline tool to draw on the reference lines.
You may also use the Rectangle tool to draw the lines. Draw one wall at a time if you wish to have more control and ability to edit your model later. Otherwise you can make multiple walls with one continuous curve.
After drawing the line, we will extrude the curve to make a solid 3D wall. This is best done in the perspective viewport, because you have visual feedback. Do this by double clicking on the Top viewport to go back to the 4 viewports. Select the curve and go to
In the command line, we are asked to enter an extrusion distance, enter 2750 (remember, we are working in millimeters) and within the parenthesis, there are several options that we can toggle for the extrusion. In our case, we want the extrusion to be capped, so we click on the Cap option. This will close the top of the wall, making it into a closed solid.
This is how our wall looks like in the perspective view.
Modeling the curved wall
Notice the curved wall. We will be making this wall in three sections. Before we actually start drawing, we need to toggle the Mid Snap tool in the Osnap toolbar at the bottom of Rhino.
For this wall, we will use a new tool, called the Arc Tool. If you look closely, some tools have a white triangle at the bottom right. If you click and hold on these tools, additional tools with pop up. Go ahead, click and hold on the Arc Tool, you will see a window pop up with 7 more ways to makes arcs. We will use the second one. When using these tools, it is highly recommended to look at the command line to see what the options and requirements are.
In the command line, it asks us to pick a start point, then an end point and lastly, a point in the arc, which will be the midpoint. So move your cursor to number  and it should snap to the curve’s end point. Next click on the other endpoint, which is number  and if you move your cursor to number , it should snap to the curve’s midpoint.
Do the same for the other curve and finish building the rest of this wall with the polyline tool.
We have built this curve of the wall with multiple curves and you can join the curves together for easy selection or just leave them as separate parts. These curves only serve as the profile from which we will extrude our wall from into 3D. If your do want to join them, select all the curves and click on Join (or go to
Select the curve and extrude it, just like how we did for the first wall. Your project so far should look like the image to the right.
Modeling the glass entrance
Now we will model the glass at the entrance. If you take a look at the photo below, you will notice that it consists of multiple glass panels. To draw the curves on the glass wall, we will use the Arc tool. Click and hold on the Arc tools, to get more tools and we will pick the second one again.
When drawing the curves you might encounter some problems and inaccuracies. The longer curve from the AutoCAD drawing might not completely coincide with your curve, but you can ignore that for now (the curve is actually not an exact arc). As for the shorter line you might encounter an additional different problem. For instance, you might get the curve to be like the image to the right.
The reason is that when you draw the curve in the topview, your cursor might snap to the wrong point, because the End Point Osnap snaps your cursor to the endpoint of the upper corner of the wall. The easiest way to fix this is to draw the curve in the perspective view and remember to use End Point and Mid-Point Osnaps.
To give the panels a thickness, we will use the offset curve command. Select the curve and go to
After offsetting the curve, the newly created curve might intersect with other curves in our model, so we would definitely want to fix that so that we maintain a clean model and avoid any possible problems later. If you look closely to the shorter curve, you will notice that the new curve intersects with the reference of the entrance lines. We can simply fix this by using the Trim tool. First unlock the floor_00 layer so we can use select the reference lines. Secondly, go to. Select the cutting object, which is our reference line, hit enter or right click, then click on the part of the curve we do not want, then right click again or hit enter. Do the same for the rest of the offset curves.
If you need extending a curve instead of trimming, you can go to
After cleaning the curves, we can go ahead and loft these curves together to form a surface for extruding. Select the either two curves from each side and go to
Next we will extrude the surfaces to give it a height. Select a surface and go to
Adjust the settings of in this window to give it a glassy look when we render out our model. You may use the settings from this example or you can fine-tune it to your preference.
The transparency will not be visible in the viewports, but in the rendered image. To have a quick look at the rendered image, select the perspective viewport, then go to. We will adjust some settings to make the rendering more appealing. Setting the anti-aliasing to a higher value reduces the jagged edges in our render. We've also changed the Background Color to white.
Here’s a quick look at the rendered image.
To see through objects in the viewport itself, we need to turn on the Ghosted View. First select the perspective viewport and go to. The same can be applied to all viewports. Right clicking on the viewport’s name also gives you the menu to change the shading mode.
We'll continue modeling the panel frames. Be sure to set the beganeGrond layer back to active by right clicking on the layer and click Set Current. We will start with the horizontal element. Pick the outer curve and make a duplicate by going to
To move the duplicated curve, you can drag and move with the mouse. In our case we will use the move command under
Click on one of the end points of the curve and type in 1200 in the command line to move it 1200mm up. We will offset the curve 10mm to the outside and 50mm to the inside. The image to the right shows the three curves at a height of 1200mm from the ground. Remember to clean the curves by trimming and extending afterwards.
We will model the entrance using the polyline tool. With the polyline tool still selected, go ahead and close the curve of the horizontal frame. To avoid any issue with snapping the wrong points, it is better to work in the perspective view for better visual feedback. After closing the curve, select the curves and Join them. Do the same for the other side.
Next, extrude the curves and input a value of 50 for the extrusion to finish the horizontal framing.
For the vertical elements, create a rectangular profile of 40mm by 100mm with the polyline tool.
Use the Move, Rotate, Ortho Snap and Near point snap tools to get the profile in the right position as shown in the image above. Don’t worry about the profile overlapping the walls, because we will be deleting this one. If the profile or curve is not on the ground plane, move it to the ground plane within the perspective view.
Next we will use the array tool to generate our vertical elements along a curve. In the image at the right you can find the exact count of panels.
We'll start with the short section. We need 16 panels, so that means that we will have 17 vertical elements. Go to
Go ahead and delete the first and the last profile/curve. Repeat for the other side and extrude the curves with a value of 2750. Your model will look similar to the image to the right.
We will use Booleans to define the entrance. Model a box that intersects the entrance. Use the reference lines to define the width and use 2100mm as height. The depth doesn’t matter, as long as it fully intersects the entrance. Go to
Modeling the curved stairs
Now we will move on to model the curved stairs. For simplicity, we will make a new layer named stairs and hide the glassPanels and beganeGrond layers. Be sure to activate the newly created layer to model in that layer.
Model the first part of the stairs first, which is the flat balustrade. Use the Arc tool and Polyline tool or the Rectangle tool to model the curves for the stairs and extrude them with a value of 600.
Now we make a curve profile for the railing. If you have created the curve with the polyline into one continuous curve, select the curves and go to
Move the middle curve up by 800mm. Select the curve and go to
Now comes the difficult part, the sloping curved section of the stair. We will be making a curve as the profile of the stairs and then extrude it. Firstly select and duplicate the existing curve of the stairs, because we will be using it as the profile. Remember to join the duplicated curve into one single curve. Now we will modify the Control Points of the duplicated curve. To turn on the control points, select the curve and hit F10 on your keyboard to turn on the control points (hit F11 to turn it off again. In the image below, the control points are divided into sets for clarity.
We have been working with a height of 2750mm for the walls, but the height, including the floor thickness is 3100mm. The actual stairs has 18 treads, which means Set 01 through Set 03 will have 6 treads and will rise 1033mm. Set 03 through Set 07 will also consist of 6 treads and rise 1033mm. The same goes for Set 07 through Set 09, but with a rising height of 1034mm.
Select the control points and move the points to a height based on the above information. Continue doing this until you have something like the image to the right.
Next, explode the curve so we can select the long curves for lofting into a surface (remember to join the outer curve after exploding and choose Normal in the Loft window). The reason is when we extrude the surface into solids, we will have the top and the bottom capped. Rhino will not make caps when you extrude a distorted curve like this into a solid.
After lofting the curves into a surface, extrude that surface with a value of 600 and your results should look like the right image.
Use Booleans operation to get rid of the excess railing. Go to
Now use one of the existing curves to make the railing. When you use the Pipe command on the curve, you may encounter problem like the middle section not appearing or when the pipes don’t connect smoothly. This issue can be easily resolved by rebuilding the curve.
Select the curve you would like to rebuild and go to
The numbers between parentheses (99) is the current count of control points and the same goes for the degree number. If we modify the points count to about 42 and click preview, we will see that the maximum deviation of the new curve from the old one is only about 4.3mm and the place of this deviation is marked by a red line. Setting the control points extremely high will lower the deviation, but that is just overkill. We will go with this number and rebuild our curve. After rebuilding go ahead and do the Pipe command once more.
Now we make the vertical pole in the middle of the stair. For the following command to work the way we want, first toggle the Center Osnap. This Osnap will find the center of any non-straight curve if you hover your mouse near the edges. Go to
Now we will make the bottom of the stairs. We will do this with the Sweep Two Rails command. First, draw a polyline as a profile curve at the start of the stairs between the end points of the two curves. Go to
Create a single stair step at the bottom of the staircase. The dimensions of the actual step are roughly 172.2mm for the riser and 275mm for the tread. Select the inner curve and explode it into three segments. The reason for this is because the middle spiral section is a little difficult to use the Array option in one go. Go to
To make the gaps between the steps in the spiral section disappear, we will extend the edges of those steps beyond the staircase, so we can use Booleans to cut them off. Go to the command line and type in RotateEdge and select all the back edges of the steps in the spiral section and pick the center of the vertical pole as the center point for the rotation. You will have something like the image to the right.
Afterwards, make a tube with no caps with a radius equal to the radius of the middle section. We will use this tube as a cutting object to get rid of excess materials. Select all the steps in the spiral section and go to. Delete the unwanted pieces and you will end up with curved steps.
Repeat the same for the inside of these steps. After you have extended and split the spiral sections steps, select them again and trim off the excess pieces,
Copy the lower and upper section of the sloped balustrade to the center to finish the stairs. Add any details if desired to match the actual stair even more.
Modeling the ramp
Use the polyline tool to make the ramp, then modify the control points and extrude it with a value of 150 to give it a thickness. Use the same technique for the balustrade. Use the existing curves to make the railing.
Toggle the columns layer and model the columns with the curve and extrude options. This is how the whole ground floor should look like.
Continue to use the methods of the ground floor and model the first floor. Move the floor_01 layer to a height of 3100mm and make a floor for the first floor. The gross height of the ground floor including the thickness of the first floor is 3100 mm, so we would want to give our first floor a thickness of 350mm. Use Booleans command with to cut out holes in the floor for the ramp and the stairs. Looks through pictures of the villa Savoye to get a better visual feedback where all the walls are placed, because the current AutoCAD file does not show walls where the windows are.
Duplicate the stair and ramp from the ground floor and align them for the first floor. Your first floor should look similar to the right image.
Next we will use Booleans again to make the windows on all sides. If you look at pictures of the façade, you will notice that the front façade has 14 windows. The rest has 4 rectangular openings. The height of these windows or openings is 1000mm.
Draw a line between the two inner corners of the front façade and move it down -1750mm. This will be our array curve.
Model a box of 1150mm in width, 1000mm in height and 500mm in depth. Place the box so that it intersects the wall. Use an Array option and make 15 copies. Select No Orientation and delete the last copy.
Use Booleans operations to make the openings. For the rest of the exterior openings, model a box with the width between two columns and a height of 1000mm. Duplicate this box and place it where the openings are and apply the same Booleans technique. The result should look like to this.
Finally, model the roof and your model should look similar to the image below.