I forgot to post the link for instructions on molding craft foam, but luckily I was reminded in a comment (thanks, Melissa). Unluckily, it ain't online anymore. So I'll describe the process as best I can remember here:
1. Find a bowl about the size of the head you're making a bonnet for. Place the bowl upside down on your table.
2. Cut a round piece of craft foam that is large enough to cover the bowl and fan out onto the table a bit (enough to make your bonnet brim).
3. Cut two round pieces of fabric with a diameter about 1/4 inch larger than the craft foam piece.
4. Sandwich the foam piece between the fabric pieces with right sides out and zigzag around the perimeter. It's okay if you sew thru the foam, too.
5. Now do some sewing all over the fabric/foam sandwich so the foam doesn't slip around inside the fabric. You can do decorative sewing or whatever, as much as you like.
6. Preheat your oven for low heat (I think it was 200 F).
7. Place your fabric/foam piece in the oven for 2 - 3 minutes. (Try 2 minutes first. If it's not warm enough to mold, you can try again with a longer heat time.
8. HERE YOU MUST WORK QUICKLY (the foam cools quickly). Place the fabric/foam piece over the bowl and mold it around the bowl with your hands. Hold it in place until it's cooled.
9. Your piece is now molded to roughly the shape of the bowl - bonnet shaped. Good news - if it didn't turn out quite right, you can reheat the piece and try again.
10. Further embellish the bonnet with beads, fibers, ribbon, whatever. Add chin ties. If the fit is a bit large, you can gather it in a bit with heavy thread.
Hopefully this will help for now. If I get around to doing a tutorial with pics, I'll post it on the new Decidedly Differnt Dolls (3D) Blog.
Here's another bonnet I made for a round robin doll.
6 years ago