In July it was time to get back to designing and 3D printing some more math models. I had previously seen some beautiful models printed by Dave Pfaff on the Series 1 Pro, using its ability to print in a spiral. I wanted to print a large hyperboloid of one sheet using this printing technique.

So I went back to Cinema4D to design the model. I used the Function tool to make the hyperbola $$\frac{x^2}{4} -\frac{y^2}{9}=1$$, which has asymptotes $$y=\pm \frac{3x}{2}$$. I then used the Lathe tool to revolve the hyperbola around the $$y$$-axis and create a hyperboloid of one sheet. I knew, from the asymptotes, that the surface would have an angle  greater than $$45^\circ$$ angle with the $$xz$$-plane. (Recall that in Cinema 4D, the $$y$$-axis points upwards where the $$z$$-axis usually points in mathematics.) Having a steep angle with the plane is important feature when 3D printing in a spiral. Since there won’t be any supports printed, a steep angle increases the chances of a good print.

At this point I used the surface I had created to make two different kinds of models. For the first model, I simply added a top and bottom to create a closed volume.  For the second model, I thickened the surface using the Extrude tool (2mm), again creating a closed volume. The extruded surface had raised top and bottom rims, which meant the model would not sit flat. So I selected all the point around the top (respectively bottom) rim and brought them down (resp. up) an appropriate distance. Apart from this, this thickened model needed very little doing to it. I then created a third model by adding equations and removing them from the thickened surface. This ended up being quite involved as I used the Bend Tool to make sure the equations sat nicely on the surface.

In order to get a spiral print, I took the first closed model, and adjusted the print settings on the Series 1 Pro printer. The top and bottom layers of the model are not printed; instead the nozzle goes around in a spiral, printing the surface 1 layer thick. Initially, we had trouble with both the fan and print speed settings. This meant the filament was not setting at the bottom of the model, leaving a gaps and giving a ragged appearance. After we slowed the print speed down and made sure the fan turned on after 1mm (rather than after 10mm), the prints turned out beautifully. The small model is about 13cm tall, and the large one about 20cm tall. These models can be found on Thingiverse here.

The next set of models was the hyperbolic paraboloid again, but this time I wanted to surface to look more like a saddle shape. To achieve this I went into Mathematica and use ParametricPlot3D command to plot the surface $$z=x^2-y^2$$. Instead of displaying it inside a box, I had Mathematica just show the part of the surface inside the circle $$x^2+y^2=1$$. To do this, I used the RegionFunction command.

I exported the Mathematica file as a .wrl to Cinema4D. Once there, I extruded the surface (again 2mm thick), then had to spend a significant amount of time repairing the mesh. To do this, I used the Optimize function, and also went around the surface repairing the mesh by hand (removing points, lines and faces, then using the Fill Polygon Hole tool to repair the gaps). I made two copies of the model, one with equations and one without. (I also built the equations in Cinema4D and extruded them. I then removed them from the surface using the Boole tool.) I 3D printed the resulting models on the FormLabs Form 1+ printer in clear and grey resin. The surfaces printed very well, though there were a fair number of supports to remove.

These models can be found on Thingiverse here.

Quadratic Surfaces – Hyperboloid of Two Sheets

The last quadratic surface I printed was a hyperboloid of two sheets.

For the hyperboloid of two sheets I created the entire object from scratch in Cinema 4D using the same process I used to create the cone and other similar objects. For this surface I used the same formula spline as the hyperboloid of one sheet $$x(t)=cosh(t), y(t)=sinh(t), z(t)=0$$, and then rotated it to the correct orientation. I then used the lathe tool and rotated this spline 180 degrees since this was all it needed. Because of this I needed to use only 30 rotation segments for a total of 60 all around the object.

I also had to reverse the normals on half of the object to make sure they were all aligned with the other half before I extruded the surface. I optimized the polygons to be sure the edges joined up into one object. I then extruded the surface to create my hyperboloid of two sheets. I copied this and put equations through one of them. I also made sure to Boole the edges of the hyperboloid to make them flat for printing.

Here is a picture of the final object! It can be found on Thingiverse here.

The next quadratic surfaces I printed were an elliptic paraboloid and a regular paraboloid.

For the elliptic paraboloid I imported the surface from Mathematica.

I then optimized the polygons, extruded them by 0.20 cm to give the surface thickness. After that I used the boole tool to make the edge flat and added an equation through the surface.

I created the regular paraboloid from scratch in Cinema 4D using the same process as the cone.  I used the formula spline $$x(t)=t, y(t)=t^2, z(t)=0$$ and then used the lathe tool with 60 rotation segments to rotate it 360 degrees. I optimized the polygons and extruded them to give the surface thickness. I also made sure to “boole” the edge to make it flat and added an equation.

I printed both paraboloids on the same build bed with the MakerBot 2X printer. They can be found on Thingiverse here and here.

The next quadratic surface I made was a cone. This is a particularly challenging object since the cone’s two halves meet at a single point in the center. In order to deal with this printing challenge, I originally attempted to create the object and add a certain amount of thickness to the middle so it would print correctly.

The first cone I made using a method similar to my other quadratic surfaces by using a spline with the formula $$x(t)=t, y(t)=1.5*t, z(t)=0$$ (it was important to use the * otherwise Cinema 4D did not multiply) from $$t=-2$$ to $$t=2$$ and rotating it with the lathe tool 360 degrees with 72 subdivisions. Then I optimized the object by 0.02cm. With the first cone I made I reversed the normals so they were facing outwards from the cone surface. When I extruded the surface by 0.25cm this automatically gave center of the object more thickness. Unfortunately I realized that while it gave the center thickness, it also offset the lines of the cone so they didn’t match up, which is not what we wanted. In order to fix this problem I did the same thing but did not reverse the normals (so they were facing the inside) and extruded the surface to give the cone thickness.

With this second cone I removed the center using the Boole Tool, and a cylinder of radius$$=0.25$$cm and height$$=2\cdot 0.25\cdot 1.5=0.75$$cm. We did this in order to preserve the lines of the cone and give it the support the object needed. After removing this cylinder from the center I then added one of the same dimensions in its place. We knew this print had a high potential to fail but decided to print it as a test to see what we might need to change in our design. We left it overnight and it was a huge mess the next morning. Clearly this design didn’t work and we needed to rethink it.

I decided that creating both sides of the cone in one object was just not going to work. Instead I decided to create both halves separately and then connect them using a cylinder made from a sheet of clear overhead plastic (an idea that came from Henry Segerman’s Calculus Surfaces). In order to do this I used the same formula spline except this time from only $$t=-2$$ to $$t=0$$ and copied and rotated it to create the second half. On one half I put the equation for the cone $$\frac{z^2}{4}=x^2+y^2$$ and immediately ran into trouble. I had used too many subdivisions (72) and the object was not accepting the Boole with the equation. After creating many different cones with different subdivisions I found that 60 worked. Once this problem was solved I added the equations to one of the halves of my cone and printed it. When I added the equation I put it all the way through the surface and not just imprinted on it since the object had very little thickness to it.

The print was successful but showed a few flaws in my design. One was the equations and how they were a little too big and how the fraction parts of it needed to be downsized to match the other parts of the equation. This was easy to fix in Adobe Illustrator by changing the font size in the fractions from 36 to 24. I also made sure the numbers in my equation were not italicized and just the variables were. The other design flaw I found was that the bottom of the cone was not completely flat and was angled from when I extruded the surface to give it thickness. To fix this I used a cylinder and “booled” the bottom of both cones to make them flat. I then reprinted my object and had great results. These objects can be found on Thingiverse here.

My next successful quadratic surface was an ellipsoid. This surface I simply imported from Mathematica and then added equations to it, using the same process as described in my post on the hyperboloid of one sheet.

The first ellipsoid I made in was $$\frac{x^2}{16}+\frac{y^2}{25}+\frac{z^2}{4}=1$$. When I put my .STL file into the MakerBot Desktop program I noticed that the program created supported that went up to the equation because it was on a curved surface and cut into the object. I decided to print the object with these supports and the equation on the side of ellipse and no raft.

The first print I did of the ellipsoid I cancelled the print early on so that I could inspect the sides. The surface looked a bit melty, where the filament had shrunk. We decided this was fine and to try to print it again. The second time I printed this object at about half way through the print it fell over and we found it covered in a stringy mess of filament.

Taking this failure and the melty-ness of the ellipsoid, we decided to create a new ellipsoid that was a little rounder. I followed the same process as for the first ellipsoid using the equation $$\frac{x^2}{4}+\frac{y^2}{6}+\frac{z^2}{3}=1$$

This time when I printed it I decided to put the equations on the top of the ellipse and use a raft. It printed perfectly.

After my success with my second ellipsoid I decided to try to print my first ellipsoid again and this time with a raft. The object never fell over and printed perfectly. These ellipsoids can be found on Thingiverse here and here.

Quadratic Surfaces – Hyperboloid of One Sheet

My first successful print of a quadratic surface was a hyperboloid of one sheet.

I began this project by creating a solid hyperboloid of one sheete in Mathematica. I didn’t like this object since it was a complete solid and not the surface I was trying to create.

To make the surface I originally attempted to import a Mathematica file of the surface into Cinema 4D and then give it thickness. This quickly became a nightmare to deal with. I had to be extremely careful about how many plot points I used in Mathematica because too many created too many polygons. These polygons also overlapped and so when I tried to extrude them to give the surface thickness the normals were off and it resulted in a very jagged surface. After spending hours trying to work with my Mathematica file I decided to try to create the surface from scratch in Cinema 4D.

In order to do this I used a ‘formula spline’. In Cinema 4D ‘formula splines’ are created using parametric equations. I used the equations $$x(t)=sinh(t), y(t)=cosh(t), z(t)=0$$. I then rotated this spline 360 degrees using the Lathe tool. I then optimized the polygons in order to fully connect the object where the spline’s rotation began and end. Once this was done I was able to extrude the polygons to give the surface thickness using the polygon extrude and being sure to add caps to my extrusion.

One this was done I had my object complete. The next step was to add equations. Using the instructions for how to put equations on solids I created my equations. In order to put them on the solid I used the bend tool in Cinema 4D. Using this tool was very difficult and took a lot of playing with to make it look good. The first thing I had to do was fit the bend box and rotate it in order to bend my equation correctly. When I went to bend the formula to fit my object, I found I needed to align only the first part of the equation on the left hand side with the surface (and not the center of the formula) since the bend tool bent the equation from the left and not at the center.

The first time I printed my object I realized the equations I had put on my object were far too small. I went back to my Cinema 4D file and make them bigger to get my final object! This object can be found on Thingiverse here.