Modeling Villa Savoye in Rhino New

From TOI-Pedia
Render of final model

Getting started

In this tutorial we will use Rhino without plugins 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 modelling, there are a few things you want to set up first. When you first start Rhino, make sure you are working with millimeters. Do this by going to, File » New » Large Objects – Millimeters.

Importing AutoCAD files

Import the DWG File

Now we can go ahead and import the AutoCAD file into Rhino, File » Import. Select the file Villa_Savoye.dwg and accept the standard import options.

Layer Management

After importing the AutoCAD file, you will notice that Rhino automatically makes new layers for the imported objects. For this Rhino uses the layer information from the AutoCAD file. Rhino also makes some default layers at startup. Go ahead and delete the default layers, as we will make our own.

  • 1: Visibility: This will toggle the visibility of the objects within the layer.
  • 2: Lock/Unlock: This will lock the layer, so its contents can’t be modified. Click again to unlock.
  • 3: Layer color: This gives the objects of that layer a color.
Layer Management

Changing the Grid size

Change the Grid Size

With the dwg file properly imported we notice that the generated grid size is not sufficient to cover the project. We can change this by using the command Options and navigating to Document Properties » Grid. Here we can change both Minor grid line spacing & Snap spacing to 25mm. This will increase the grid size to comfortably contain the project.

Modeling the walls

Make a new layer

Now we will model the walls on the ground floor. Firstly, create a new layer and name it newWalls_00. Be sure to activate the new layer by double clicking on it. To ensure that we don’t accidentally modify the reference layers from AutoCAD, lock them.

Tip: Rhino gives every highlighted object a yellow color. To prevent confusion any layer imported with a yellow color can be changed via the Layer Color option.
Maximize the Top Viewport

Turn the visibility of all the new layers off, except the newWalls_00 layer and the imported floor_00 layer, so we can specifically focus on the ground floor. To make drawing easier we can work in 2D. Do this by double clicking Top in the top left corner of the respective viewport.

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. If snapping is not working on the imported lines check that Options » Rhino Options » Modelling Aids » Snap to locked objects is enabled.

Rectangle and Polyline tool

Use the command Polyline to draw on the reference lines. You can 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 Polyline.

Tip: You can use the PersistentClose option to draw a closed polyline. Do this by typing P + [enter] while drawing the Polyline. This option is given in the Commandline, P is the underscored letter for this specific option and therefore the required shortcut

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 enable the snapping option Near in the Snap Menu.

Arc tool Flyout Menu

For this wall, we will use the tool Arc. If you look closely, some tools on the Toolbar have a black triangle in the bottom right. Clicking on these triangles opens the tools Flyout menu. We will open the Flyout of the Arc tool and select the second option named: Arc: start, end, point on arc When using different tools, keep an eye on the command line to see what the options and requirements are.

Tip: If you use a Flyout regularly you can attach it to the Toolbar for easier access.

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 on the arc, which can be any point. 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 finally move your cursor to a last position on the arc the curve is finished.

The end result should look like this

Do the same for the other curve and finish outlining the rest of this wall with the Polyline and the Rectangle tools.

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

Keep an eye on the Commandbar and create closed curves

In order to properly extrude the walls in the next step make sure that the drawn curves are joined into closed curves. By keeping an eye on the Commandbar you can see if a selected curve is closed or open. By selecting connecting open curves and using the Join command they can be joined into a closed curve.

Result of drawing the walls

Use the previously described techniques to draw proper closed curves for all the walls on the floor_00 layer. Your results should look like the image.

Extruding the Walls

With all the curves drawn we will now use them as a base to extrude the walls from. Select al your drawn curves in the newWalls_00 layer. You can use [Ctrl] + [A] if all other layers are locked or invisible. You can also right click on the layer and choose Select Objects. You can double check that all curves are closed by selecting them with the command SelClosedCrv.

Switch to Perspective view

Now switch to the Perspective viewport in the bottom of the window. With all the closed curves selected use the command: ExtrudeCrv. For the walls we want a solid extrusion, make sure that the option Solid in the Commandbar is toggled to yes.

Extrude the Walls

Moving the mouse at this point will change the height of the extrusion, allowing it to be aligned to existing geometry. Since we do not yet have any reference geometry we will manually enter a value of 2750 millimeters in the Commandbar

Modeling the glass entrance

Now we will model the glass at the entrance. Enable the visibility of the glass_00 layer and find the glass curves. You can make your own new layer to draw the glass curves, play around with the layer colors for clarity. To draw the curves, we will again use the Arc tool and the second option in the Flyout menu.

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 top view, 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. When 3D geometry is present it is advised to use the Perspective view to prevent these drawing mistakes.

'Tip: Moving around a lot in 3D? Use the ZS command to zoom in on selected objects and the ZE command to reset the zoom.

To give the glass panels a thickness, we will offset the drawn glass curves. For this use the Offset command. Now we need to define the thickness of our glass pane. This can be done by entering D or by clicking on Distance in the Commandline. The distance of the offset can first be set to 20 millimeters. Now point the offset in the direction of the interior and finish the curve with the LMB button. Do the same with a distance of 50, we will now have a glass pane with a thickness of 30 millimeters, that is offset towards the inside by 20 millimeters.

Pieces that need trimming

After offsetting the curve, the newly created curve might intersect with other curves in our model, to keep a clean model and prevent future problems we need to fix these issues. If you look closely to your offset curves, you will notice that the new curve does not align properly with the reference curves. The lines can be too long or too short. We can reduce a line length by trimming the excess. Use the command Trim, first select the cutting objects, these are the intersecting reference curves. Now click on the excess part of the new curves and it is removed.

Pieces that would need to be extended

A curve that is too short needs to be extended, use the command Extend. First select the reference curves that function as the goal of the extension. Then select the curve to be extended. After you are done, you should lock the reference layer again, to prevent any accidental modification of the floor_00 layer.

Example of window curves

After properly aligning the curves we should connect them into a proper closed curve. This can be done by connecting the ends of the two lines with a polyline. Use the command Join and CloseCrv on all the connecting pieces to create closed curves. Do the same for all the glass panes. Your result should be similar to the image.

Location of the material window

Next we will extrude the newly made curves to give them a height. Select the glass curves and use the command ExtrudeCrv. Enter 2750 as height. To make these glass panes transparent, we will make a new layer named ExtrudedGlass_00 and put the glass Extrusions into this layer. We can then change the material by clicking on the white circle in the material tab of the Layer browser. This will open a new window in which the Layer material can be edited. For now we will choose the Glass material from the dropdown menu under Type.

Render settings window

Material properties are not visible in the Shaded viewport. Change your viewport to Rendered with the arrow next to the viewport name. You should now be able to see the transparent glass material. We can export this view as an image by using the command ViewCaptureToFile. Here we find settings for the resolution and we can select a transparent background. Remember to save the image as a PNG for transparency.

Tip: To quickly move images between programs you can also use the command 'ViewCaptureToClipboard to copy and paste the image.

Window Frame

We'll continue by modeling the window frames. We will start with the horizontal element. Select the base curve for the glass pane and use the gumball to create and move a copy upwards. Do this by holding [Alt], to copy, and clicking the blue arrow of the gumball. Enter 1200 as the desired height.

Tip: The gumball is an incredibly useful tool that can be enabled in the bottom bar.

Curve copied upwards and offset

With the curve now moved to the desired height, we will now offset it by 15. The offset will of course intersect slightly with the walls, we will solve this in the next step. With the offset curve created at the right height we can now use ExtrudeCrv with a height of 50 to create the horizontal frame element.

The horizontal window mullion

In order to fix the slight overlap of the horizontal elements and the walls we can use commands that influence 3D geometry instead of 2D curves. For this purpose, we want to cut off a part of the horizontal element. We can do this by first selecting it and using the command BooleanDifference. Then select the boundary walls and press enter, the overlapping pieces will be cut off.

Having trouble seeing things in small corners or under geometry? Use the commands Hide and Isolate to choose what to see. Use the command Show to show all the hidden objects. Can't find your geometry even after using Show? Double check your layer visibility and use the command ZE to reset the zoom.

The rectangular profile in the correct position

For the vertical elements, create a rectangular profile of 40mm by 100mm with the Rectangle tool. Use the Move, Rotate, OSnap and Gumball tools to get the profile in the right position at one end of the glass pane curve. This position is also shown in the image. Double check that the rectangle is at Z=0, or the ground plane, do this by selecting it and checking the coordinates in the bottom bar.

Accidentally drew curves at the wrong height? Use the BoxEdit command to move all the wrong curves back to Z=0 and enable the Planar mode in the Bottom bar to prevent this in the future. The Planar mode forces all unsnapped points of a drawn polyline to be at the same height.


The new basepoint and the Extrusion Edge as a guide rail

Next, we will use an Array function to create multiple copies of the rectangle along a guide rail. For this select the rectangle and use the command ArrayCrv. In the Commandbar click on Basepoint or press B. Select the point in the image as the new Basepoint. Now select the Extrusion Edge off the glass pane as a guide curve. In the Commandbar set the Items for the longer glass pane to 25.

Tidy up the Array for proper alignment

We will now fix some of the chaotic parts of the array. First delete the rectangle created under the wall at the start. Then use Rotate on the last rectangle to align it with the wall. Repeat all these steps for the smaller glass pane with an item amount of 10. Select all the created rectangles and Extrude them with a value of 2750

Result of the Glass Mullions

Finish the bottom floor with an entrance

We will finish the walls of the bottom floor by modelling the frame for the door. We do this by drawing a rectangle in the opening for the entrance. Then extrude this by 650 and place it at the top. We are now done with the bottom floor walls.

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 any unnecessary layers. Be sure to activate the newly created layer to properly model inside it.

Extruded balustrade

Model the first part of the stairs first, which is the flat balustrade. Use the Arc, Polyline and Rectangle tools to model the curves for the stairs and extrude them to a height of 600.

Curve to Offset

Now we will make a curve profile for the railing. If you have created the curve for the balustrade into one continuous curve, you can use the command Explode to explode the closed curve back 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 used Join to create an open curve. This curve is then Offset with a value of 50 towards the center of the balustrade.

Railing using pipe command

Move the middle curve up by 800 using the Gumball. Select the curve and use the Pipe command. Use a radius of 30 and a Flat Cap.

Sets to move

Now comes the difficult part, the sloping curved section of the stairs. 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 balustrade, join the duplicated curve into one closed curve. Now we will modify the Control Points of the duplicated curve. To turn on the visibility of the control points, select the curve and use the F10 key or the command PointsOn to turn on the control points (use F11 or PointsOff to turn it off again. In the image the control points are divided into specific 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 have 18 steps, which means Set 1 through Set 2 will contain 6 steps and will rise 1033mm. Set 2 through Set 6 will also consist of 6 treads and rise 1033mm. The same goes for Set 6 through Set 7, 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

Creating an Extrusion of this upwards sloped curve requires some extra steps. Since the base curve is sloped and therefore not planar (flat in one plane) the curve cannot be capped. We need to specify a surface as the extrusion base to avoid these capping issues.

We can do this by exploding the curves so we can select the long upwards sloping curves separately. To create the required surface we will use Loft between these two curves. We can use ExtrudeSrf on the surfaces with a value of 600 to create a result similar to the image.

Boolean operations can remove any unwanted pieces

Use Booleans operation to get rid of the excess railing. Use the command BooleanDifference between the railing and the newly extruded balustrade. Delete any unwanted pieces and the railing should look like the image.

Potential problems of the pipe command

Now use the gumball and the Offset command on the sloped curve to create a guide for the sloped railing. When using the Pipe command on this curve you may encounter some problems with the railing not connecting properly. We will solve these issues by using the Rebuild command on the guide curve.

Maximum deviation of rebuilt curve

Rebuilding a curve simply means that Rhino will regenerate the curve with a specific degree and amount of control points. The rebuilding also removes any problems that can occur in a curve that has been edited many times. For now select the guide rail and use the Rebuild command.

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 higher will lower the deviation, but this accuracy is unnecessary for this application. We will go with this number and rebuild our curve. After rebuilding go ahead and use the Pipe command once more.

Center Pole

Now we make the vertical pole in the middle of the stairs. For the following command to work the way we want, first toggle the Cen OSnap option. This Osnap will find the center of any non-straight curve if you hover your mouse near the edges. Now select the Circle tool. Select the center point of the curved balustrade and create a circle with a radius 40. Extrude it with a value of 3100.

Stair with the lofted sloped bottom

Select the inner curve of the sloped balustrade and offset it 850 to the inside. You should have something like the image to the right. Now we will make a surface for the bottom of the stairs. We can do this by using the Loft between the offset and original curve. Your result should be similar to the image.

Create the first step

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.

Create the basic step by drawing a triangle at the base of the stairs. Place this half into the balustrade and extrude it to the middle with an value of 900. We can try to create the stairs by using ArrayCrv but we will quickly find out that the curve geometry makes it very difficult to create a straight stair profile.

Three Array operations to create the steps

Instead of using ArrayCrv we will split the stairs into three steps. First use ArrayLinear to create the first straight line of 7 steps. Then select the top step and use ArrayPolar. Select the same center point as the vertical pole. The number of steps is 7, define the guide as the stairs half circle and set the ZOffset to 172.2. Now use the top step of this and do another ArrayLinear with 6 steps to finish creating all the steps.

Spiral steps with wider treads, no gaps

In order to fill the gaps created by the rotated steps we will rotate the outer edges. In Rhino any sub-element like a face or an edge can be selected when both Ctrl and Shift are held. Use the Rotate command and select and rotate the images like the example in the image.

Create the inside balustrades

You can use the Gumball to copy the balustrades towards the center of the staircase with a distance of 900. Create railings for these balustrades by offsetting and moving curves and using Pipe just like in the previous steps.

The final result of the stairs

Now use a combination of the commands BooleanDifference, Trim and Split. to tidy up the staircase and remove any portruding elements of steps. After removing all the unwanted parts your staircase should look completed like the image. Add any details if desired to match the actual stairs even more.

Modeling the ramp

The completed ramp

We will model the ramp using the same techniques as the stairs. Use the polyline tool redraw the outline of the ramp found in layer ramp, then modify the control points to slope it upwards and extrude it with a value of 150 to give it a thickness. Use the Direction parameter of the Extrude command to extrude tilted profile curves in a downwards direction. Use the created curves and geometry to create the balustrade and the railing. For this the commands DupEdge, Offset and Pipe can be useful

View of the completed ground floor

Toggle the columns layer and model the columns with the curve and extrude options. This is what the 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 Boolean operations to cut out holes in the floor for the ramp and the stairs. You can look through pictures of the villa Savoye to further increase the accuracy of your model. Duplicate the stairs 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. Use the Highlighted inner line of the wall as the guide curve.

Curves used to make openings

Create a rectangle parallel to the wall with a width of 1150 and a height of 1000. Move this rectangle so it forms an outline of the window on the wall. Array this curve along the guide with a distance of 1375 which will create the proper 14 windows. Now use the command MakeHole and select the wall. Using the Hole operation here instead of a Boolean will allow us to have more control over the window frames. Use this technique to model any other openings in the building’s facade.

View of the complete model so far

Final Model

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

The final model
Personal tools