A local hospital contacted Mary’s quilting group to sew up cloth covers to prolong the life of their medical-grade N95 masks. Their recommended pattern, the Fu Face Mask from the FreeSewing group, comes in three sizes:
N.B.: Use their original PDF, because a JPG picture probably won’t come out at the right size.
Also N.B.: Used by itself, this is not a medical-grade filter mask.
The patterns do not include the usual 1/4 inch seam allowance around the outside, so I cranked out 3D printed plastic cutting templates.
If you’re not interested in 3D printing, 2D print the PDF file on cardboard, sketch a seam allowance, and cut it out, as quilters have been doing since slightly after home printers happened.
The plan of attack:
- Convert mask outlines into a bitmap image (GIMP)
- Create Bezier curves by tracing outlines (Inkscape)
- Save curves as SVG files
- Convert SVG into solid model (OpenSCAD)
- Add stiffening ribs &c
- Save as STL solid model
- Slice into G-Code file (Slic3r)
- Fire the M2!
So, we begin …
Import the PDF into The GIMP, delete the text & suchlike, convert to monochrome, and save the pattern outlines as a PNG file:
It turns out Inkscape can directly import the PDF, but it valiantly tries to convert all the text and the incidental graphic elements, none of which will be useful in this situation. It’s easier to delete them in The GIMP and make a bank shot off a PNG file.
Import the PNG into Inkscape and trace one outline with the Bezier curve tool:
If you squint really carefully, you’ll see Bezier control handles sticking out of the nodes. I laid three nodes along the top arc and four along the right side, but do what’cha like; the
Insert key or
Shift+I inserts and
Delete removes nodes. It’s easier to center a node in the middle of the PNG line with snapping turned off:
Shift+drag while mousing or globally with
You could unleash the bitmap auto-tracer, but it generates a bazillion uselessly tiny Bezier curves.
When you’re happy, select and copy the path with
Ctrl+C, paste it into a shiny new Inkscape document (
Ctrl-V, save it with a catchy file name like
Fu Mask - Small - nominal.svg, and close that document to return to the document with the PNG outlines and the original path.
Select the original path again, create a dynamic offset with
Ctrl+J, open the XML editor with
Ctrl+Shift+X (which automagically selects the proper SVG element), and change the
inkscape:radius value from 0 to 6.35 (mm, which everyone should use) to get a 1/4 inch seam allowance:
The path will puff out with curved corners:
Copy into a new document, save as
Fu Mask - Small - seam allowance.svg, and close.
Repeat that process for each of the three mask sizes to create three pairs of SVG files: the nominal mask outline and the corresponding seam allowance outline for each size.
The OpenSCAD program imports the SVG files, removes the nominal outline from within the seam allowance to leave the outline, adds stiffening ribs, and stamps an ID letter on both sides of the central button:
Choose one of the three sizes with the OpenSCAD customizer, save the resulting model as an STL file, repeat for the three sizes, and you’re done.
This process can convert any outline paths in SVG files into cutting templates, so, should the Fu Mask not suit your fancy, Use The Source.
For convenience, the STL files are on Thingiverse.
The OpenSCAD source code as a GitHub Gist:
Verily, there’s nothing like a good new problem to take your mind off all your old problems …