The 3M 6800 series full-face respirator is a high-quality commonly available respirator, but there are a few useful accessories that it needs.
IMPORTANT: these parts are designed to be more aesthetic than functional. While using them on your respirator, they are likely to compromise any respiratory protection it would normally provide. There is also the chance that they will permanently damage your respirator, so use with caution. These are not Personal Protective Equipment (PPE).
The goal will be create adapters from the 3M filter connection to standard 40mm NATO and 40mm GOST ports. This will allow both filters and breathing hoses to be used. In the longer term I want to add the necessary instructions to add a tinting film to the respirator.
One of the things I like about the 6800 is that it's actually fairly modular, so one goal will be to create a replacement faceplate that is reminiscent of the "bug-eyed" S-10 masks... We'll see how that goes
Files
adapter_3m_to_40mmnato.stl
Adapter to attach 40mm NATO size filters to 3M bayonet fittings
Standard Tesselated Geometry -
1.61 MB -
10/06/2023 at 12:31
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
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.
This is great! But instead of doing a ton of booleans, you might want to use my quickthread library ( https://www.thingiverse.com/thing:2277141/files ) which has a rawthread() module that lets you have an arbitrary thread profile. A thread profile is a list of 2D coordinates; in your case, I'd probably generate those with a Bezier spline: https://www.thingiverse.com/thing:2207518 .
This is great! But instead of doing a ton of booleans, you might want to use my quickthread library ( https://www.thingiverse.com/thing:2277141/files ) which has a rawthread() module that lets you have an arbitrary thread profile. A thread profile is a list of 2D coordinates; in your case, I'd probably generate those with a Bezier spline: https://www.thingiverse.com/thing:2207518 .