Modeling Villa Savoye in Rhino

From TOI-Pedia
Render of final model

Getting started

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

Template selection

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, File » New » Small Objects – Millimeters.

Importing AutoCAD files

Select DWG as file type

Now we can go ahead and import the AutoCAD file into Rhino, File » Import. Make sure you have selected the AutoCAD drawing file – (*.dwg) in the Files of type dropdown menu.


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 Tools » Options, in the option window go to Rhino Options » Modeling Aids » Cursor ToolTips and enable the following options: Osnaps, Distance and command prompt.

Modeling the walls

Make a new layer

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.

Rhino gives every highlighted object a yellow color, so it may be less misleading if we change the color of the floor_00 layer to another color.

Polyline tool

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.

Maximize the Top Viewport

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.

Rectangle tool

Use the Polyline tool to draw on the reference lines.

Tip: You can use the close option by typing c + [enter] to close a Polyline

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 Solid » Extrude Planar Curve » Straight.

More options in the command line

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.

Perspective view of the wall

This is how our wall looks like in the perspective view.

When you are having troubles zooming or panning the camera, select an object and click the yellow Zoom to Selected icon. Rhino steps 035.jpg

Modeling the curved wall

Osnaps options

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.

Arc tool with two options

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.

Click in this order to make the arc curve

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 [1] and it should snap to the curve’s end point. Next click on the other endpoint, which is number [2] and if you move your cursor to number [3], it should snap to the curve’s midpoint.

The end result should look like this

Do the same for the other curve and finish building the rest of this wall with the polyline tool.

You can repeat the last used tool by pressing [enter], or RMB-click

The puzzle pieces icon represents the Join command

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 Edit » Join).

Two walls extruded

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.

The ground floor with extruded walls
Apply the same techniques for the rest of the walls on this floor and your results should look similar to the image below.

Modeling the glass entrance

The ground floor with extruded walls

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.

Wrong snapping points

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.

Distance of the offset command can give a thickness

To give the panels a thickness, we will use the offset curve command. Select the curve and go to Curve » Offset Curve. In the command line, Rhino asks us which side we would want to offset, but we would also like to define a thickness, in this case, the distance from the curve. Click on the Distance option between the parenthesis to change the default distance 0f 1 to 30 (we're working in mm, remember?) and hit enter. Click on the inside to offset the curve to the interior and do the same for the other curve.

Pieces that need trimming

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 Edit » Trim. 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 Curve » Extend Curve » Extend Curve. Follow the command line by select the boundary curve and hit enter or right click then the curve which needs to be extended. After you are done, you should lock the reference layer again, to prevent any accidental modification to the floor_00 layer.

Loft options window

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 Surface » Loft. Style should be left to Normal and the Do not simplify radio button should be selected. Do the same for the other two curves.

Location of the material window

Next we will extrude the surfaces to give it a height. Select a surface and go to Solid » Extrude Surface » Straight. Enter 2750 as height. To give the glass a transparent look, we will make a new layer named glassPanels and put the two glass solids into this layer and change the layer properties. Right click on the newly created glassPanels layer and go to the Material.

Material editor window

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.

Render settings window

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 Render » Render Properties. 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.

The Transparent background option is extremely useful if you only want to render the model and composite it into another image. Be sure to save it as a .PNG extension.

Choose Render » Render to make the actual rendering.

Render preview

Here’s a quick look at the rendered image.

Selection menu

To see through objects in the viewport itself, we need to turn on the Ghosted View. First select the perspective viewport and go to View » Ghosted. 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 Edit » Copy and then Edit » Paste or use the shortcuts. When you want to click on an object that is overlapping with other objects, in that case you will get a menu to choose what you want to select.

Command option for the Move tool. Should be set to YES

To move the duplicated curve, you can drag and move with the mouse. In our case we will use the move command under Transform » Move. Select the curve and use click on the move command. We will be moving it up, thus vertically, so we will click on the vertical option.

Three curves to be extruded

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.

Finish the curves at the ends with polyline tool

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.

View of the extruded curves

Next, extrude the curves and input a value of 50 for the extrusion to finish the horizontal framing.

Rectangular profile

For the vertical elements, create a rectangular profile of 40mm by 100mm with the polyline tool.

Osnaps and transform tools

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.

Number of vertical elements

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.

Array option window

We'll start with the short section. We need 16 panels, so that means that we will have 17 vertical elements. Go to Transform » Array » Along Curve. Select the curve highlighted in red in the image to the right and enter the values as shown.

Ground floor with the glass entrance

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.

Box used to make the entrance

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 Solid » Difference, select the piece we want to keep (the entrance) and hit enter, then select the second piece we want to use as cutting object (the box) and hit enter.

Modeling the curved stairs

The curved stairs in villa Savoye

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.

Extruded flat balustrade

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.

Curve to offset

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 Edit » Explode to explode it into segments so we can either select the inner or the outer ring and offset it to the center for our railing. In this case, I have selected the inner ring and joined them, and then I offset the curve with a distance of 50.

Railing using pipe command

Move the middle curve up by 800mm. Select the curve and go to Solid » Pipe and enter the options as the image to the right.

Sets to move

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.

Sets moved to the proper heights

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.

lofted and extruded curved balustrade

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.

Boolean operations can remove any unwanted pieces

Use Booleans operation to get rid of the excess railing. Go to Solid » Boolean Split and select the railing, press enter and select the middle section of the stair to use it as a cutting object. Now your railing should be cut in two pieces like the image to the right.

Possible problems or issues

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.

Maximum deviation of rebuilt curve

Select the curve you would like to rebuild and go to Edit » Rebuild. Rebuilding a curve simply means that we will modify the degree of the curve and the amount of control points to define the curve. This usually helps, when you want to manipulate a curve’s control points, but there are too many. This option can simplify that and maintain the correct curvature.

Stair with the curved rails going up

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.

Curve to make the sloped stairs

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 Curve » Circle » Center,Radius and give it a radius of 40 and extrude it with a value of 3100. Select the inner curve and offset it 800mm to the inside and you should have something like the image to the right.

Stair with the lofted sloped bottom

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 Surface » Sweep 2 rails and select the two curves and select the profile curve last. Pay close attention to the command line.

Use Array to create the steps

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 Transform » Array » Along Curve and create 7 copies of the steps. When asked for a CP Plane, click on the steps. Do the same for the rest of the steps.

Spiral steps with wider treads, no gaps

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.

Extend steps beyond the staircase boundaries

Go to Surface » Extend Surface and select the edge of the surface to extend. Enter a value like 300. To make this easier, the right click will repeat the last command and so does the spacebar.

Use a big cylinder to cut off unwanted pieaces

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 Edit » Split. Delete the unwanted pieces and you will end up with curved steps.

Stair with unwanted pieces trimmed

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, Edit » Trim. This is what you will have.

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

Completed 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.

View of ground floor with columns

Toggle the columns layer and model the columns with the curve and extrude options. This is how the whole ground floor should look like.

First floor

View of first floor

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.

Select inner corners

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.

Boxes used to make openings

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.

View of the complete model so far

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.

Final Model

Finally, model the roof and your model should look similar to the image below.

The final model
Personal tools