====================== This work is about the modeling of self-supporting shapes, that is, shapes whose boundary itself can be fabricated in layers with minimal support or no support at all. We define such a class of shapes and demonstrate their use in three interesting applications of FDM. ====================== The initial motivation was dual-material 3D printing, where the printer is equiped with two extruders. When one is in use, the other is waiting but the melted material inside starts to ooze. ----------- Then the oozing material drips on the fabricated object and the result is usually not satisfying. A frequently used solution to this problem is to carefully plan the head motion so as to wipe the oozing material against an additional structure that is co-fabricated nearby the main object. ----------- The Makerbot software or the work by Tim Reiner and colleagues model such an ----------- external structure that serves as a cleaning area for preparing a clean extrusion. ----------- Jean Hegel and Sylvain Lefebvre recognized the importance of placing the wiping structure close to the main object so as to minimize travel-time and therefore re-oozing between the wipe and the actual extrusion. So they project the main object on the horizontal plane, dilate it a little and model a protective wall as a vertical extrusion of this dilated projection. ======================== In the present work, we ask ourselves if one can model a "protective enclosure" that would be even more tightly fit around the object. The goal is of course to minimize the quantity of used material, speed up the fabrication and improve the final quality. ----------- In doing so, we end up with a simple 2-pass technique to compute such a tight enclosure. It turns out that its implementation is very similar to the code that computes the "Ooze Shield" in the Cura software, precisely for dual-material printing. ======================== In the rest of the talk, I will - provide a precise definition of the simple-enclosure and the two-pass technique to compute it. And show - application to dual-material printing (as in Cura) - to support structure - and to model internal cavities, which is the most interesting application in our opinion. ===================== Let us define the problem. We start with an object of interest O (say a kind of bird). --------------------- We then want to model a shape W with 3 enclosure constraints 1. W contains O 2. The boundary of W is self-supported, that is, its boundary must be succesfully printed on its own, save a minimal amount of support. 3. W has minimal volume (otherwise, a bounding box would do). ---------------------- The self-support constraint is largely related to the fabrication process. In FDM, a filament of plastic will stay in place if it is sufficiently supported from below by previously deposited filaments. ---------------------- This entails an upper bound on the slope that a surface can have while still being fabricable/printable without support. ---------------------- In order to better understand the self-support property, it is also important to look at the local extrema of the enclosure. [Figure 1] Here, on the left, is a typical object O, and a shape W that examplifies the kind of enclosure that we would like to model. Next to it we illustrate the four kinds of local extrema that one can find on the boundary of the enclosure: peaks, caves, local minimas and basins. Observe that the boundary of peaks and caves are self-supported but local minima and basins do require some support such as a pillar. Basins should be avoided since a pillar supporting it would have to rest on the main object, in the red area below. ---------------------- The minima are the main variable in a trade-off that we have to make between minimizing the volume of W on one hand, and minimizing the amount of required additional support structure, on the other hand. ---------------------- [Figure 2] Indeed, an enclosure with no minima is easy to obtain, but it does not satisfy the minimal volume requirement. It may stray far form the main object O (left) ---------------------- On the other hand, with a large number of minima, one can model an enclosure that stays very close to the surface but a large amount of support structure is then required. ---------------------- We think that our simple-enclosure, that I'll define now, strikes a good balance between those extremes. ========================= To model the simple enclosure, we work on slices of the object. Given an object X in space, the slice X_z is the planar shape obtained by taking the intersection of X with an horizontal plane at height z. ---------------------- We also use 2D morphological operations. Here is, in red, the notation for dilation and erosion of a slice by a disk or radius r, which I simply define graphically here. [drawing] ---------------------- So, here is how we write the self-support property of the boundary of the enclosure in terms of slices and erosions. For any pair of heights z and z', the erosion of the slice of W at height z', ---------------------- by a radius proportional to the vertical distance between the two slices, must ---------------------- be included in the slice of W at height z. ---------------------- This formulation of the self-support property is a balance-point in the trade-off that I mentioned earlier. This is discussed in more detail in the paper. In particular, this formulation is guaranteed to produce no basin and only few minima, each one associated with some globally overhanging part of the main object of interest O. Then, adding the 2 other constraints, that W contains O and that W should have minimal volume, uniquely defines the enclosure volume. Let us be more concrete and consider the discrete setting, in which an object to be fabricated is modeled using a discrete set of slices, as is the case in the real world. ====================== This readily translates into a procedure that computes the minimal simple-enclosure W using a two passes over the slices of O. [pseudo code, explanation] ====================== In practice, the technique works well for both a bitmap... ====================== Here is our first application of the simple enclosure, to compute low complexity support structure. We use only the downward propagation and subtract the original object from the result. We obtain the pink volume here, which ends in a simple local minimum that can be supported with a single pillar. The paper describes additional refinements to this technique, such as the thin blue layer shown here, that provides easier detaching, as well as the use of morphological closure to further simplify the support.