Introduction: Solids of Constant Width

About: I make things

If you were to take a hard covered book and to roll it on top of three unknown objects and you felt the book rolling smoothly, not ever bumping up and down or changing the distance of it and the table, you would expect the three solids under the book were spheres. In fact the three solids don't necessarily have to be spheres to have this property. There are other solids which have the same diameter in all directions (not the same radius). These are more commonly known as solids of a constant width or solids of a constant diameter. There aren't that many uses for these solids although they can be used as a substitute for a sphere in order to use less volume. You can see them in various science or maths museums, including the Momath in New York

In this Instructible we will use AutoCAD to design two different sorts of solid of a constant width: A solid of revolution of a Reuleaux triangle (triangle with curved sides), and the Meissner tetrahedron which is a solid made from the intersection of four spheres whose centers are situated at the vertices of a tetrahedron, and whose diameters are the length of the edges of the same tetrahedron and that has 3 curved off edges. As we go through this tutorial together we will learn about: 3D design using AutoCAD, preparing objects for 3D printing and we will continue to learn about solids of a constant width.

Step 1: Setting Up AutoCAD

The reason we are using AutoCAD is because it is a very powerful software. It does not have the same limitations as programs such as 123d design or tinkercad. Some of the things we want to do to make our solids you just can't do in other programs. You can get AutoCAD for free if you are a student, but if you can't get it then you may be able to follow along loosely using another powerful CAD program.

Note: I am not an AutoCAD expert, so I am sure there are easier ways to do some of the things I do in this tutorial but all I want to show is a way to design solids of a constant width in AutoCAD.

Before we start we will need to set up the file. To do this we will open AutoCAD and create and save a file as SolidOfAConstantWidth1.dwg in your preferred folder much the same as you would save any other kind of file. You should turn on object snap and 3D object snap at the bottom left of the screen and you may also want to turn on the grid and set the scale to 1:1. I will be working in metric so if you are using imperial and you want to have the same size solid you will need to scale it at the end.

Step 2: The Reuleaux Triangle

To make a solid of revolution of a Reuleaux triangle you need to start off with a Reuleaux triangle which is a 2D shape of a constant width.This is made by taking a triangle and placing circles on each of the vertices then taking away every thing except for the three smaller arcs going from vertex to vertex.

First we will make a triangle: (If you find it more comfortable finding the button for each command instead of typing feel free.)

1) type: polygon [enter] // this calls the polygon command.

2) type: 3 [enter] // this is to say how many sides we want.

3) type: 100,100 [enter] // we are saying where we want the center.

4) type: I [enter] // this says that we want our triangle to be inscribed in an imaginary circle.

5) type: 20 [enter] // this tells AutoCAD the radius of the imaginary circle in mm.

The triangle might look a little small so you can zoom in by turning the scroll wheel and pan by holding the scroll wheel down while moving the mouse.

Step 3: Circles!

Now we will need to add circle to each vertex:

1) type: circle [enter] // calls the circle command.

2) click one vertex of the triangle // this is to define the centre of the circle. We are not typing in the coordinates here because it is easier to use the mouse. If the triangle's vertex does not have a green square around it when you move your mouse towards it make sure object snap is on.

3) click on another vertex on the triangle // this defines the radius of the circle.

4) repeat for the other two vertices.

Step 4: Give It a Trim

We now want to delete all the excess lines to do this we will use the trim command:

1) type: trim [enter] //calls the trim command.

2) select everything by clicking in the top left corner and then clicking in the bottom right corner making sure everything was covered by the blue shaded area [enter].

3) click all the lines that are not needed [enter] // look at the picture for reference one line won't get deleted.

4) click on the remaining line you no longer need and press delete.

Now you have completed your Reuleaux triangle. You can also complete the same process for other polygons with an odd number of sides. In fact the British 20p and 50p coins are a Reuleaux heptagons. If you want to laser cut your file you can save it as a .dxf file now and cut that out.

Step 5: Before We Go 3D

Before we are finished with 2D we need to cut our shape in half so that when we use the revolve command later on everything works out fine.

To cut it in half:

1) type: line [enter] // calls the line command.

2) click the top vertex then the centre of the bottom curve [enter] // if a green triangle does not appear at the centre of the curve your midpoint snap is not on. To turn it on right click on object snap in the bottom left corner and select midpoint.

3) type: trim [enter] // calls the midpoint command.

4) select everything by clicking the top left corner then the bottom right corner [enter].

5) click everything on one side of the line [enter].

6) delete anything left on that side by clicking it and pressing delete // you should be left with half a Reuleaux triangle like in the picture above.

Step 6: Going 3D

When we go to 3D you can change the work space by clicking the "drafting and annotation" drop down menu and choosing 3D modeling. This allows you to have buttons for all the functions we will need for 3D design on hand. You will also want to change your view. You can either do this by clicking points on the cube in the top right corner or holding down shift and the scroll wheel at the same time.

the first thing we want to do in 3D with our shape is turn it into a surface:

1) type: planesurf [enter] // calls the planar surface command.

2) type: object [enter] // this specifies that you are turning a shape into a surface.

3) click the edges of the shape [enter].

Step 7: Revolve

In this step we are going to use the revolve command. The revolve command makes a solid out of a circular path taken by a surface.

1) type: revolve [enter] // calls the revolve command.

2) click the surface [enter].

3) click both ends of the line we made earlier // here we are defining the axis it is going to spin around.

4) type: 360 [enter] // tell it to do a full rotation.

You have now finished your Reuleaux tetrahedron. You are probably seeing it as a 2D wire frame so to see it more realistically click on 2D wire frame at the top left of your screen and select conceptual If you want to rotate your solid:

1) type: 3drotate [enter] // calls the command.

2) select the whole solid by clicking top left then top right [enter].

3) select the center of the base // if you can't select it you need to turn on 3D object snap [enter].

4) click the red axis // this defines the axis you want it to turn about.

5) type 90 [enter] // this says you want to turn 90 degrees.

Step 8: Export

So that we can 3D print our solid we need to export it as an .stl file to do this you need to:

1) select the object.

2) click the big AutoCAD A in the top left corner of the display and click export and then scroll down to other formats.

3) then save as SolidOfAConstantWidth.stl

Now you should have a file ready to be sliced for 3D printing. Check out the 3D printing step later for printer settings.

You can also make Reuleaux pentagons and rotate them to make another solid of constant width.

Step 9: The Meisner Tetrahedron

A Meisner tetrahedron is a Reuleaux tetrahedron which was had 3 of its edges smoothed down so that it is a perfect solid of a constant width. A Reuleaux tetrahedron is a solid made from the intersection of four spheres whose centers are situated at the vertices of a tetrahedron and whose diameters are the length of the edges of the same tetrahedron.

We are going to make a Meisner tetrahedron by making a regular tetrahedron and then adding spheres to the corners. Then we are going to use the intersect command to get just the intersection of the four spheres. After this we will remove 3 of the edges using the slice command and replace them with a solid of rotation of a segment of a circle of the same radius as the spheres. The cord cutting the sphere will be the length of one of the edges of our tetrahedron.

We will need to create a new file called SolidOfAConstantWidth2.dwg for example. We will do this by clicking new at the top right of the display then choosing our template. I normally choose acadiso. Then we will click the save as button and save it in our preferred folder as something like SolidOfAConstantWidth2.dwg.

Step 10: Making a Tetrahedron

To make a tetrahedron we first need to make a triangle. We will do this in exactly the same way as we created the triangle for the previous solid of a constant width:

1) type: polygon [enter] // this calls the polygon command.

2) type: 3 [enter] // this is to say how many sides we want.

3) type: 100,100 [enter] // we are saying where we want the centre.

4) type: I [enter] // this says that we want the triangle to be inscribed in an imaginary circle.

5) type: 20 [enter] // this tells AutoCAD the radius of the imaginary circle in mm.

Now that we have made our triangle we need to make it 3D. So if you aren't already in 3D modeling now might be a good time to to change to it by choosing it from the drop down menu at the top of the screen. We now want to add on 3 lines to a top vertex :

1) type: line [enter] // this calls the line command.

2) click one of the vertices of the triangle // this defines the start point of our line.

3) type: 100,100,28.2843 [enter] // these are the coordinates for our fourth vertex.

4) type: line [enter] // this calls the line command.

5) click the vertex you just made and then another vertex [enter].

6) repeat 4) and 5) for the remaining vertex.

You can use the cube in the top right corner or you can hold shift and your scroll wheel to orbit the object if you wish.

Step 11: Spheres!

Now we need to add the spheres to the vertices of the tetrahedron. It is easiest to do this in 2D wire frame. Change into wire frame by clicking the drop down menu at the very left of the screen as seen in the picture.

Making the spheres:

1) type: sphere [enter] // calls the sphere command.

2) click one vertex then any other vertex of the tetrahedron // the first click defines the centre of the sphere and the second defines the radius.

3) repeat both steps for the other 3 vertices each time clicking on a different vertex so that each vertex is the centre of 1 sphere.

If you are in 2D wire frame your object will look just like a scribble so you can now change back to conceptual by clicking the drop down menu in the left of the screen as shown in the 3rd picture above.

Step 12: Find the Intersection

All we wish to keep from the four spheres is their intersection, so we will use the intersect command to get it:

1) type: intersect [enter] // calls the command.

2) select all by clicking in the top left then in the bottom right [enter] // selecting objects you want to find the intersection of.

You should now have a Reuleaux tetrahedron.

Step 13: Find the Tetrahedron

We need to be able to remove 3 of the edges so that we can replace them with a curved edge. To do this we are going to use the slice command but first we are going to need to create surfaces that we can use to slice the object. The surfaces need to be situated on the same plane as the faces of the tetrahedron we made in the beginning, so instead of making 4 new surfaces from scratch we can turn the tetrahedron's faces into surfaces but first we need to hide the solid. To do this, select the object then right click and select "isolate" then choose "hide objects" and all you should have is the original tetrahedron. We also need to delete the original triangle and replace it with lines so we can make the faces:

1) select the base triangle and press delete.

2) type: line [enter] // call the line function.

3) click one of the base corners then another then the last.

Now that we have a tetrahedron we have to convert the faces to surfaces:

1) type: planesurf [enter] // calls the planesurf command.

2) type: object [enter] // specifies that it is an object you want to convert to a surface.

3) select 3 edges of a face [enter].

4) repeat this step for all four faces // use shift an the scroll wheel to orbit round.

Step 14: Scale the Faces

To slice the solid we need to scale the faces because the part we want to slice is bigger than the faces of our tetrahedron. We use the scale command to make them bigger:

1) type: scale [enter] // calls the scale command.

2) select one of the faces [enter] // defines the face you want to scale.

3) click the centre of the face [enter] // if your mouse does not snap onto it and no blue circle appears, make sure that 3D object snap is on and that when you right click it "center of face snap" is also on at the bottom left of the screen.

4) click continue if a box appears.

5) type: 2 [enter] // this says you want to multiply the size by 2.

6) do this for all faces of the tetrahedron.

Now that you have made all the faces how they need to be we can make our solid reappear again by right clicking and selecting "isolate" and then "end object isolation".

Step 15: Slice the Solid

Now that our surfaces are all prepared we can start to slice:

1) type: slice [enter] // calls the slice command.

2) select the object [enter].

3) type: surface [enter] // this says we want to slice the object with a surface.

4) click one of the faces [enter] // defines the surface that cuts the object.

5) delete the face that you selected by selecting it then pressing delete.

6) repeat these steps for each of the faces. At step 2) make sure that you select all the objects because each time you slice it the number of objects will increase, and after step 5) you will need to press enter the same number of times as the number of objects you are cutting.

Step 16: Remove the Edges

In this step we are going to decide which edges we are going to replace with more curved edges. The reason we do this is because if the solid is on two edges the height will be more than if it is on one face and an edge. Here there are two different ways to have your curved edges: either 3 edges leading to a vertex or 3 edges round a face. Now all we need to do is delete the 3 chosen edges by selecting the edges you want to become curved and pressing delete. In the next steps we will replace them.

Step 17: Making the Replacement Edges 2D

The replacement edge is a solid of revolution of a segment of a circle whose radius is the same length as one of the edges of the tetrahedron. To make this we will just make another triangle and make one circle. We will use the trim command to get just the segment and then we will turn it into a surface. After that we will use the revolve command to make the object.

First we will need to make the 2D shape:

1) type: polygon [enter] // this calls the polygon command.

2) type: 3 [enter] // this is to say how many sides we want.

3) type: 100,150 [enter] // we are saying where we want the centre.

4) type: I [enter] // this says that we want our triangle to be inscribed in an imaginary circle.

5) type: 20 [enter] // this tells AutoCAD the radius of the imaginary circle in mm.

6) type: circle [enter] // this calls the circle command.

7) click on a vertex then on another vertex // the first click defines the centre and the second click defines the radius.

8) type: trim [enter] // calls the trim command.

9) select the circle and the triangle [enter].

10) click the larger arc and the two sides of the triangle not connected by both sides to the circle [enter].

Step 18: Making the Replacement Edges 3D

Now we are going to make the shapes we made in the previous step into surfaces and the use the revolve command to make them solids of revolution:

1) type: planesurf [enter] // this calls the planesurf command.

2) type: object [enter] // this specifies that we want to turn an existing shape into a surface.

3) click the edges of the shape.

4) type: revolve [enter] // calls the revolve command.

5) click the surface [enter].

6) click one end of the straight line then the other end of the line [enter] // this defines the axis of revolution.

7) type: 360 // this says you want to do a full rotation.

Step 19: Moving the Replacement Edges

We now need to move the replacement edges to their place using the 3D align command, but first we will copy the original so we have 3 individual replacement edges:

1) click on the object.

2) press: ctrl + c.

3) press: ctrl + v and drop the copied solid anywhere you want by clicking. Repeat this step for the third edge.

Now we are going to use the 3D align tool to move the objects to their places:

1) type: 3dalign [enter] // calls the command.

2) click one of the replacement edges [enter].

3) click one of the vertices of the replacement edge then the other [enter].

4) click one of the vertices of the tetrahedron making sure that the object snaps to the blue square then click the other end of the same edge also making sure it snaps to the blue square. Then click once more away from the object. If the blue square does not appear, make sure your 3D object snap settings are on.

5) repeat these steps for all three of the replacement edges.

Your Meisner tetrahedron is now almost complete but it is only a collection of little solids, so we need to combine them all to become one big solid. To do this we will use the union command:

1) hide one of the large faces by selecting one then right clicking then selecting "isolate" then "hide objects" // this is so we don't have an empty hole in our design.

2) type: union [enter] // this calls the union command.

3) select the central object and some of the other objects by clicking them [enter].

4) right click and select "isolate" then select "end object isolation".

5) repeat steps 2) and 3) now selecting all the objects.

Step 20: 3D Printing

To 3D print we need to export this solid in exactly the same way as the previous one:

1) select the object.

2) click the big AutoCAD A in the top left corner of the display and click export and then scroll down to other formats.

3) then save as SolidOfAConstantWidth2.stl

Now you should have a file ready to be sliced for 3D printing.

If you have a 3D printer that is great, but if you don't you can either send it to a 3D printing service or you can do a little research and find a place in your area which has one. I go to the local university where they have a few 3D printers and it costs me 7 cents a gram.

I printed mine with 1 shell, 15% infill, 0.15mm layer height, raft and supports, and I found the bigger you printed it the better the effect. With these settings they turned out beautifully although if you want to put them under some pressure there is no harm in increasing the infill. Also removing the supports was a little tricky, but by using a small pair of pliers to remove the bigger bits and then going over it with a Dremel with a sanding drum smoothed it well.

Step 21: Further Reading and Thanks

There is a lot more to learn about solids of a constant width. I found this video especially good and this PDF really interesting. Both go into a bit more detail: in the video you can really see them working and the PDF goes into more detail about the maths.

I hope you liked and found this Instructable interesting. It would mean a lot to me if you were to favorite and vote for it in the Dremel 3D design contest.

If you have any questions or if you would do anything differently, please share it in the comments.

3D Design Contest

Participated in the
3D Design Contest