Soap film frame for the Schwarz P surface

In an earlier post on the mathematics of the Schwarz P surface, we saw how minimal surfaces can be understood by viewing them as soap films. The final challenge was to construct a 3D printed soap film frame for the Schwarz P surface for the Taping Shape*  exhibit at the Rueben H. Fleet Science Center.

From the way the Schwarz P surface is constructed, we know the boundaries of the 4-gons lie in the surface. Thus the surface has many straight lines lying in it. There are also many circles (really almost circles) lying in the surface. To construct a soap film frame in Cinema4D, I simply took these lines and circles and thickened them to get the frame. To prevent interior intersections of the tubes, I used the Boole tool ($$A\cup B$$) as I added in the lines and circles. In essence, this takes the “skin” of the two surfaces and ignores what is inside. The last time I used the Boole tool the surface vanished – it was too much for the program to render. However, by deselecting the High Quality option in the Boole options we were able to get the model to appear. I made three sizes of models: 6cmx6cmx6cm,10cmx10cmx10cm, and 15cmx15cmx15cm. I also made these sizes with two different tube diameters: 2.5mm and 3mm.

Printing the model was another question entirely. We had many fails (two shown below) before we figured out how to print the frame.

In essence, the unsupported parts of the model vibrate when the printer’s extruder is going over them. This leads to the frame being “fuzzy”, and even having visible jumps at some points. The solution was relatively simple. When printing, we selected to have the tubes print as a solid, and we also made sure the entire model had supports. The photo below on the left shows the supports for the uPrint SE print, the one on the right shows the 6cm size 3mm diameter frame printed by the MakerBot 2X replicator.

We found that when we dipped model in soapy water, the soap film gave a lovely approximation of the Schwarz P surface.

The frame has a lot of symmetry too. There are many interesting viewpoints, for example as shown on the right by a 10cm size 2.5mm diameter print by the uPrint SE. You can find the files for the model here on Thingiverse.

*The Taping Shape exhibit is part of the InforMath project funded by the National Science Foundation (DRL-1323587).  (The InforMath Project is a partnership between San Diego State University and several museums at the Balboa Park, including the Rueben H. Fleet Science Center .)

Other Schwarz P surface prints

In the last post, I described how I designed a 3D printable Schwarz P surface unit for the Taping Shape*  exhibit at the Rueben H. Fleet Science Center. In the process of designing that surface, I made two other approximations of the Schwarz P surface. These did not end up in the exhibit, but making them was interesting.

When I was first looking at the Schwarz P surfaces, I found some great graphics on the web here.   I downloaded the .wrl file from there, then edited it in Cinema4D to get one Schwarz P cubical unit. It turns out that this apparently smooth model has an interesting triangulation. (You can select commands in a 3D modeling program to smooth out the edges when it is rendered.) I’m not exactly sure how the folks designed their surface, it is less smooth than my model, but is possibly more mathematically accurate.

As before, I extruded the surface by 5mm and added caps. I found I needed to clean up the rims of the surface, they weren’t level. To do this, I went into Point Mode, then selected the points along the rim. I then used the Set Point Value command (Mesh → Commands → Set Point Value) to set the appropriate $$x$$, $$y$$, or $$z$$ coordinates to be the same. After that, I adjusted some points by hand, and fixed some overlapping polygons near the rim. (By deleting a vertex or polygon as needed, then using the Close Polygon and Knife tools to fill in and tidy up the shape.) I then added in magnet holes as before. I made both a 6cmx6cmx6cm and 10cmx10cmx10cm size model. The figure above shows a comparison between my mostly smooth model and this version. You can find the files for the model, and instructions on how to place the magnets here on Thingiverse.

It turns out that the Schwarz P surface may be approximated by the level surface $$\cos(x)+\cos(y)+\cos(z)=0$$.  I created this surface in Mathematica, then downloaded it as a .wrl file.  I then imported that into Cinema4D. The surface had a very complex triangulation. After playing around for a bit, I worked out that the best thing to do was to optimize the surface once, then extrude the surface 5mm with caps.

Unfortunately, the surface needed a lot of editing! As seen on the left, parts of the surface extended outwards and needed removing. I went into Point Mode and simply deleted these pieces. Worse, there were parts of surfaces inside the model as shown below on the left. Many 3D printers won’t print objects with pieces inside like this. I removed these surfaces, by going into Polygon Mode and deleting them. Alas, tiny holes sometimes appeared in the surface afterwards, and needed to be filled. There were also many overlapping  or missing triangles as shown below on the right. I ended up going over the entire surface (inside and out) and fixing these problems. Some printers would have been able to ignore these triangles, others would not. Fixing these surfaces was a labor of love, but worth it in the end.

Once all the editing was complete, I added in magnet holes as before. I made both a 6cmx6cmx6cm and 10cmx10cmx10cm size model. I printed these on both the MakerBot 2X and uPrint SE printers, the 6cm size is shown below. You can find the files for the model, and instructions on how to place the magnets, here on Thingiverse.

*The Taping Shape exhibit is part of the InforMath project funded by the National Science Foundation (DRL-1323587).  (The InforMath Project is a partnership between San Diego State University and several museums at the Balboa Park, including the Rueben H. Fleet Science Center .)