• Parametric 40mm gas mask threads in OpenSCAD

    nsfw_maker10/08/2023 at 08:06 0 comments

    The 40mm thread used by common filters is defined in NATO standardisation agreement (STANAG) 4155. Its thread profile is essentially a series of semi-circles. There are a lot of OpenSCAD thread libraries, but as far as I'm aware, none of them can do a thread like this. There are also a few STL models of the thread available, but I wanted a parametric model. Why? First so that I can adjust the tolerances to get something that can be 3D printed, but second so I can also create parts for the 40mm GOST thread profile.

    What's the difference between 40mm NATO and 40mm GOST. Obviously the former is used by most NATO equipment, but the latter is used on most soviet and Russian equipment, including a lot of hoses available on Aliexpress. The physical difference between them the thread pitch: the thread pitch of STANAG 4155 is 3.629mm, aka 7 threads per inch (btw mixing metric and imperial in one part like this drives me up the wall), while the 40mm GOST thread pitch is 4mm. The larger pitch means either the radius of the semi-circles needs to be larger, or the thread angle (where the semi-circles go from concave to convex) needs to be lower. I've never found a handy chart like the one above for 40mm GOST, so I don't know which is correct, so I just chose to keep the thread angle the same and calculate the new radius.

    But, how to implement this in OpenSCAD? It turns out this is pretty simple, we can use a series of linear extrusions to build up the thread. This is a bit similar to using a file to cut a thread into metal rod - a whole series of linear cuts. First, we need the profile of the thread:

    Then we extrude this and place it a the right major diameter, and give it the right angle:

    Then just repeat until we have a fully formed thread:

    For the internal thread we don't even need to use any boolean operations, so this seems like a completely hack-y solution, but it actually renders quite quickly. The only other thing necessary is to intersect it with a cylinder to cleanly cut off the end of the threads.

    There is one small mistake - when tiling the threads I haven't accounted for cosine error. But, as printed these seem to work just fine.

    I need to clean up the code and add comments, but hopefully I'll upload the scad file for this thread soon

  • 3M to 40mm Filter Adapters

    nsfw_maker10/06/2023 at 12:29 0 comments

    One of the first parts needed is an adapter from 3M's bayonet-style filter port to the standard 40mm NATO port. This is a pretty simple part, but involved a few iterations to get the dimensions for the bayonet port, in order to get a good fit. This also involved creating the rounded thread profile in OpenSCAD which was a challenge, and something I'll cover in the next project log.

    This adapter works really well on the mask, but I would actually be cautious about using it will a full-size filter, especially the military C2 filters. The reason is I'm not sure I really trust the plastic bayonet port on the mask to take the weight and torque of a heavy filter, especially when moving. The real goal here is to use an adapter to attach breathing hoses to the mask, so the next part will be a tilted adapter, and one that is compatible with the 40mm GOST fittings used by Russian-style gas mask hoses.