(Copied from my blog)
(Update 2023-07-19, I have posted this model on MakeWithTech, which provides an online copy of OpenScad and a web interface to enter in the parameters)
I made my Benchy Hat for Open Sauce 2023. The most common comment after "Nice hat!" was “Where can I get one?”
In a simpler world I would just post an STL file. But we have two problems:
To get around these two limitations I am not distributing the final product at all. I will be teaching you how to make this style of custom hat for you or anyone you wish to make a hat for. And as you will be making your own modified benchy, everone is happy. You'll just need:
I can't say that I made a complete survey of every possible way to make a hat with a 3d printer. I was trying for a simple gag that would:
The Design
In my minimal research I discovered that making a hat light is the key to keeping it comfortable. I used to work all day in a hard hat, but they aren't very comfortable. A hard hat typically weight around 15 oz. (426 g.). So that was my upper measure. One source the stated a weight of between 80 g. (3 oz.) to 115 g. (5 oz.) as being "easy to manage" for a hat. Another source stated the weight of a typical ball cap as between 3 oz. (86 g.) to 4 oz. (114 g.). Plus or minus an ounce. So helpful.
The final weight of my hat was around 280 g. (10 oz.). Which was relatively comfortable. But to pull that off I had to stick to 2 0.4mm perimeter walls, very sparse infill, and the bare minimum of ceiling and floor layers (about 4). Anything less would look bad/fall apart. Anything more adds weight.
The Fit
I did some minimal research into hat making. I found some handy charts with ranges of sizes, and distributions of humans who fall into those ranges:
I also tracked down the template for a simple hat that I knew fit me:
But while distributions are nice... they don't help me fit my particular head. And the simple hat template was only simple because it was made of fabric that could stretch to the shape of my head. In fact, as it turns out, most hats are deliberately made small so that your head stretches the fabric. This helps a hat actually stay on. Terrible plan for a plastic hat, though.
So the process of fitting my head ended up being a game of educated trial and error. Over 5 versions I developed a skull cap that fit my head. I also wore the more comfortable ones for several hours to make sure they stayed comfortable.
I worked with simple geometric shapes which together formed a solid hull. I would then hollow out the hull to form a shell. (See the HeadPan module inside the file). For my test fits, I added holes to allow me to feel how off the fit actually was:
But for now we will focus on editing Benchyhat-v1.0.scad
The user serviceable parts of the file are at the top:
crown | mm | height from the tip of the head to the brim/bottom of the hat |
headLength | mm | distance from the front of the head opening to the back |
frontDiameter | mm | Diameter of the hat at the front (and back) |
centerDiameter | mm | Diameter of the hat in the center |
topflat | 0-1 | The inflection point where the hat transitions from a cone to a spherical top. Expressed as a fraction from 0.0 (bottom) to 1.0 (all the way at the top) |
drawBenchy | true or false | Place the "benchy" (or other object file) in the scene |
helmetHoles | true or false | Perforate the headpan to allow for internal measurements when worn |
benchyFile | Filename | The name of the STL file (located in the same folder as this script). In case you want to try making a hat out of something else. |
benchyScale | vector | The scale factor (in X,Y,Z) for the STL file |
benchyLocation | vector | An offset in x,y,z to place the STL file in the scene |
Sizing a hat
Unfortunately, the CAD file as written doesn't really lend itself well to translating from conventional hat sizes. The default numbers in the cad file fit the same head as fits in a 55cm circumference bucket hat. Play with the numbers. Do some test printouts. Dial in the exact size for you and yours.
Assuming heads are all the same shape, here is a rough chart of how the parameters for the design would scale up or down for different sized heads:
gender | percentile | headLength | crown | centerDiameter | frontDiameter |
---|---|---|---|---|---|
male | 1 % | 183 | 81 | 131 | 119 |
male | 5 % | 188 | 82 | 135 | 123 |
male | 50 % | 200 | 85 | 145 | 132 |
male | 95 % | 211 | 89 | 155 | 141 |
male | 99 % | 217 | 92 | 159 | 145 |
female | 1 % | 175 | 76 | 125 | 114 |
female | 5 % | 180 | 78 | 128 | 116 |
female | 50 % | 191 | 82 | 133 | 121 |
female | 95 % | 202 | 87 | 143 | 130 |
female | 99 % | 207 | 89 | 150 | 136 |
A 1st percentile (1%) person is very small. A 99the percentile (99%) person is very large. An 50th percentile person (50%) is average. But, of course, all heads are a little different. So you'll probably be printing out a few test prints. I recommend using the settings drawBenchy=false and helmetHoles=true when doing test prints. The hole option lets to poke a finger or a measurement instrument through to see if there if there is extra space.
TIPS:
My hat printed without supports on an Ender 5 S1. You have to turn it 45 degrees to allow it to fit on the build plate. The overhangs inside the helmet were a bit messy, so I cleaned them with a dremel too.
While I did end up with a hat that perfectly fit my head, I did find the need to place some felt spacers at the top. They provide an air gap to allow sweat to evaporate, and not condense and drip into my face. You have to use a lot of them to distribute the weight of the hat over a large surface area of your head.
The author marked this model as their own original creation.