This is a very versatile OpenSCAD app that will let you create a wide variety of tools with different profiles and uses: spatulas, moulding tools, sanding blocks and paint stirrers (and what you can imagine). Some STLs are included as example, as well as the JSON file used to create those. The JSON is zipped due to Printables filetype constraints; just unzip it in the same folder where you've put the Spatula.scad file.
If you're new to OpenSCAD and its customizer, please check the "Using OpenSCAD customizer" PDF in the "Other files" section.
As featured highlights, it has a whooping 21 different types of configurable edges; independent handle and blade (that can be fused in one block), and possibility of 2D output —just set the height of handle and blade to 0, and you'll be able to export a SVG for CNC cutting or any other use.
The parameters are (mostly) explained in the customizer for the file itself (so their description will appear in the customizer bar), but there are a few caveats; check the detailed explanation for the edge types below.
Usage tips
If you plan on making sanding blocks, pay attention to the OpenSCAD console. For most of the edge types (or "blade features") there will be a message indicating the size of the feature, like the full length of a rounded edge or the angle of an arc specified by width and depth. This way, for instance, you can know the exact size of the hook-and-loop strips for a sanding block (and adapt the model to what you have). FWIW, the example sanding blocks have been made so they work with sanding strips of 30x50mm. (I buy them by the roll and cut them using a template and scissors.)
When making an object, you should leave some space for the blade feature in the blade; that is, blade depth should be greater than the feature size (depth). Otherwise, OpenSCAD may not render the model right, as there would be conflicts in overlapping edges, vertices or volumes (resulting in a "Polyhedron is not closed" CGAL-NEF error). Depth can be just the tiniest amount greater than the blade feature size; error may pop up only when both are exactly the same size.
Types of edges
The type of edge is the “Blade feature” parameter. There are several available:
- Straight. This one's pretty straightforward: exactly what it says on the tin.
- Rounded. Both corners of the blade edge are rounded. By setting the "Blade feature precision" to a very low value you can make n-gonal points.
- Single rounded corner. Only the bottom right corner is rounded. (If you need the bottom left, mirror the model in your slicer).
- Indented corners. Both corners have a quarter of circle inwards cut.
- Single indented corner. Only the bottom right corner is indented.
- Slanted by depth. The right side of the blade is shorter than the left side in the amount specified by "Blade feature size" parameter, so the edge is slanted. The console will output not only the edge length, but also the resulting angle.
- Slanted by angle. As above, but instead of the depth, you enter the angle of slanting by the "Blade feature custom angle" parameter. 0 is a fully straight edge, 90 is the maximum amount (which will result in a half-width blade, as it's fully perpendicular to the blade edge). Any angle greater than 90 will be limited to 90.
- Serrated (triangles). The edge will have a pattern of triangles of equal width and depth, as specified by "Blade feature size"; so they have a point angle of roughly 63.44 degrees. This is one of the edges used to lay thick grouting and cement, like tiling cement or thick wall plastering.
- Triangles by width and depth. Similar to the one above, a pattern of triangles having "Blade feature size" width and "Blade feature size 2" depth.
- Squares (castellated). The edge will have a pattern of squares of equal width and depth, as specified by "Blade feature size". Like the triangles pattern, this one is often used to lay thick grouting and cement.
- Squares by width and depth. The edge has a pattern of squares or rectangles of "Blade feature size" width and "Blade feature size 2" depth.
- Waves. Similar to both triangles and squares, the edge will have a wavy pattern of senoidal waves of equal width and depth; thus, the points are semicircles.
- Waves by width and depth. An elliptical wave edge, with the width set by "Blade feature size" and the depth set by "Blade feature size 2". You could make a comb out of this.
- Rounded custom angle point. A point with the angle set by "Blade feature custom angle" and the radius set by "Blade feature size". You can set the "Blade feature size" to 0 to have a non-rounded point. Vertex of the angle is, logically, at the midpoint of the edge; so, an angle of 180 (which is non-feasible by the parameters) would render a straight edge. Note that with this type of edge, the actual blade width may not be the one that you specified in the "Blade width" parameter (and usually won't). This is because the sides of the blade will keep the same angle as the point. The console will output the minimum width required for the specified depth. This one is very practical for trimming and filling non-fully-straight corners, though you will need a goniometer to measure the angle of those corners.
- Arc point by width and depth. This can be very useful for mouldings and profiles that are not exactly a quarter or a half circle, but can be easily measured in 2 dimensions (width/depth, height/depth, &c). You should always set the bigger number as "Blade feature size" and the smaller dimension as "Blade feature size 2". Be aware, though, that if you're using that for a sanding block and add a hook-and-loop strip, measurements will be off. The OpenSCAD console will output the angle and radius of the arc, so you can adjust a rounded point; just add the thickness of the hook-and-loop to the radius, and you'll be good to go. In the same way, the rounded points will output the chord and sagitta of the equivalent circular segment; that is, the "width and depth" of the "arc by width and depth" blade type, so you can go back and forth from one to another.
- Inwards custom angle point. Very similar to rounded custom angle point, just inwards; so, it's useful for protruding corners. Note, though, that in this one its possible that the depth is not the same as the one specified by the "Blade depth" parameter; you need to make sure that the Blade width is at least the same as the required width, as indicated by the console. Ideally, it should be just a tad bit bigger, if you're going to 3D print it. Note, also, that the Blade feature margin here is from the innermost point of the inwards angle point to the start of the blade; that is, along Y axis, and not along X like triangles or squares do.
- Inwards arc point by width and depth. Same as above, but like the arc point by width and depth, using 2 measures of an arc. You should always set the bigger number as "Blade feature size" and the smaller dimension as "Blade feature size 2". OpenSCAD console will output the values for its equivalent of the type “Inwards custom angle point”.
- Fractalized rugged edge. This has a rugged edge, controlled by the fractalization parameters and the Blade feature size parameter. The maximum width of the first iteration will be Blade feature size, so actually the distance on Y between the two most distant points along the edge will approximate (but never be equal to) 2 * Blade feature size, as the random fractalization may “stack” in the same direction. The edge, though, will be adjusted so the furthest point(s) is exactly along the Blade depth value. Since the number of points grows exponentially with each iteration, be careful with the value of the recursion levels; usually you won't need more than 8.
- Fractalized slanted. As the slanted by depth, with a fractalized edge. Blade feature size is the basic size of fractal indentations or protrusions, while Blade feature size 2 is the depth of slanting.
- Fractalized slanted by angle. Like the slanted by angle, with a fractalized edge. Blade feature size is the basic size of fractal indentations or protrusions
- Stirring tool. This has a single-column pattern of rounded squares all along the blade depth. Blade feature size is the square height, while Blade feature size 2 is their vertical spacing (distance along Y axis between squares). To control the square width, use the Blade feature margin parameter; the column will fit in the space between margins (that is, Blade width - (2 * Blade feature margin ) ).
Final and strange note
There are some unverified claims about the 3-prong wavy-edge spatula, codenamed "Clyde" as STL. It's been reported that, in the rare circumstances that you swallow a pill-shaped thing (an Altoids, Ibuprofen or whatever) when using the tool whilst listening to Shakira's "Waka Waka", the tool may change color to blue and cease to function. If that's the case, you should just wait some seconds and the Clyde tool will return to normal. I haven't been able to confirm nor deny these claims.