# 3D Printed parametric gas-mask
## _Masque à gaz paramétrique imprimé en 3D (**version francaise [ici](./Readme.fr.md)**)_
_\[**English version automatically spell checked with minimum effort put into proofreading**\]_
[![fr](https://img.shields.io/badge/lang-fr-red.svg)](./Readme.fr.md)
[![en](https://img.shields.io/badge/lang-en-green.svg)](./Readme.md)
Here is the [printable page](https://www.printables.com/model/1114079-parametric-gas-mask) for this model.
## 1 - General principle
There was many major version (8 in total) of this gas mask before arriving at a final design.
We will describe the general design principle of the latest version of the mask in this section. The is also a similar [_section on the older version_](#4-older-version), that is more succinct as it is not the recommended version _at least not without you tweaking and understanding this version_.
To know how to assemble/print this mask, see the [_section on mask assembly and printing_](#2-mask-assembly-and-printing_), and if you want to change parameters check the [_section explaining parameters_](#3-explanation-of-parameters).
### Maintenance
It is recommended to apply grease (_prefer food safe Vaseline_) around thread, around the insuflation mask connector and around the perimeter of the one way valve to improve the seal.
If you are using a 3D printed (_or DIY_) filter (_as described in [the section bellow](#1-b-filter-canister)_), change regularly the filter material - in general activated charcoal - and clean the enclosure if you don't change it.
In general do a fitment check before using the mask : put a piece of plastic (_or your hand_) at the entrance of the filter you are using, and breath in hard. You shouldn't fill air entering you lungs, and the mask should compress to you face under the suction force.
### 1.a - Interfacing with the face
The final design relies on an insuflation mask (_with a standard 22m inner diameter connector_) for good fitment to the face of the user. The advantage of this is that the fitment is good, there are multiple sizes to choose from, and insuflation mask are readily available (_they are suppose to be single use only, and are used at every anesthesia, CPR and in many other cases_) and **cheap** (_there are some available for around 2€ at [medisafe.fr](https://www.medisafe.fr/secours/oxygene/insufflateur-bavu/masque-insufflateur-usage-unique.html#MA285-2612-TAI1140_) for example_).
The downside of this method are that firstly these mask tend to deteriorate over time and with use as they are meant to be single use item, however they are obviously swappable so they can be switched when unusable ; and secondly that the height of these mask and the length of the adapter puts the majority of the mask weight far from the face and thus a bit uncomfortable, especially under quick head movements.
For a mask that directly fit on the face, see the [_section on the older version_](#4-older-version).
### 1.b - Filter canister
This mask supports standard 40mm threaded canisters - sometimes also known as "_nato threaded_" canisters - which the standard dimensions are defined in [sources/dimension/nato_thread_spec.png](./sources/dimension/nato_thread_spec.png).
This mask can support two separate canisters, which can be advantageous if you need more filtration or less resistance to breathing, especially with smaller canisters. If you want to use a single canister, you can plug the other thread using a 40mm canister plug - one of which can be printed from the provided file (_located at_ [(distorsion/)3D-printed-parametric-40mm-gas-mask-canister/3Dfiles/nato_thread_plug.stl](https://git.deuxfleurs.fr/distorsion/3D-printed-parametric-40mm-gas-mask-canister/src/branch/main/3Dfiles)) in the _submodule_ mentioned in the next paragraph.
We also provide a 3D printed canister following this standard and compatible with this mask and other standard gas mask in the [distorsion/3D-printed-parametric-40mm-gas-mask-canister](https://git.deuxfleurs.fr/distorsion/3D-printed-parametric-40mm-gas-mask-canister) repository, which is a submodule of this repository located at [./3D-printed-parametric-40mm-gas-mask-canister](./).
:warning: **WARNING : _Please don't use a 3D printed canister (or even our mask) in life threatening situations !_** :warning: Or at least understand the inner working of gas mask and test your gas mask (_especially its fitment to your face_) before using it.
There is also an older version of such a canister modeled within the file of the [_old gas mask version_](#4-b-_older-version-_-filter-canister).
There also exist 3D printed adapter from this standard to other standard gas mask connector if you search on 3D printing site.
### 1.c - One way valve(s)
This mask uses a (_one or two_) 3D printed one-way valve : one for exhaling, and can also use one for inhaling. The design of the one way valve is presented in more detail in the [distorsion/3D-printed-parametric-respiratory-one-way-valve](https://git.deuxfleurs.fr/distorsion/3D-printed-parametric-respiratory-one-way-valve) repository, which is also a submodule of this repository present at [./sources/3D-printed-parametric-respiratory-one-way-valve](./sources/).
The "output" one way valve (_which is used for exhaling_) is useful to make breathing easier by not forcing you to exhale through the canister, while preventing air to come in without passing through the canister. A filter can be held in front of this valve to prevent particles from deposing at the exit of this valve, which could reduce its seal while inhaling. However, this valve is an output valve and will thus naturally push away suspended particles, and it is oriented down thus making gravity help in preventing particles from sticking to the valve. Thus to make the mask lighter it is not recommended to use the longer version of the output valve that is made to hold a filter.
An "input" one way valve (_used for inhaling_) can be used to force air to not exit through the canister. This makes both exhaling and inhaling harder, and this thus not recommended, _at least without tweaking other parameters_.
## 2 - Mask assembly and printing
### 2.a - Supplies : _3D Printing_
Assembly of the mask is very simple, you will first need to print :
- 1 main adapter from [3Dfiles/adapter_tube.stl](./3Dfiles/)
- supplies for the output one-way valve :
- 1 base for the one-way valve [3Dfiles/one_way_valve/owv_base_cap.stl](./3Dfiles/one_way_valve/)
- either 1 membrane insert for the one-way valve [3Dfiles/one_way_valve/owv_membrane_insert.stl](./3Dfiles/one_way_valve/), or 1 separate membrane (_printed out of TPU_) [3Dfiles/one_way_valve/owv_separate_membrane.stl](./3Dfiles/one_way_valve/) and 1 holder for the membrane [3Dfiles/one_way_valve/owv_separate_membrane_insert.stl](./3Dfiles/one_way_valve/)
- _Optionally :_ 1 cap to hold a filter at the exit of the one way valve [3Dfiles/one_way_valve/owv_base_cap.stl](./3Dfiles/one_way_valve/). :warning: **_Will require modifying the adapter tube file parameters !_** :warning:
- _Optionally :_ supplies for an input-one way valve : :warning: **_Will require modifying the adapter tube file parameters !_** :warning:
- 1 base for the one-way valve [3Dfiles/one_way_valve/owv_base_cap.stl](./3Dfiles/one_way_valve/)
- either 1 membrane insert for the one-way valve [3Dfiles/one_way_valve/owv_membrane_insert.stl](./3Dfiles/one_way_valve/), or 1 separate membrane (_printed out of TPU_) [3Dfiles/one_way_valve/owv_separate_membrane.stl](./3Dfiles/one_way_valve/) and 1 holder for the membrane [3Dfiles/one_way_valve/owv_separate_membrane_insert.stl](./3Dfiles/one_way_valve/)
Everything (_except the separate membrane which is to be printed out of TPU, but can be replaced by a membrane insert_) is very resilient to different print parameters and materials. We would suggest PETG, especially for the _membrane insert_ which has to flex at each breath.
Print orientation are quite evident, although we would suggest printing the adapter tube with the flat "top" surface on the bed, and using minimal support to support the two threads meant to hold filters and to support the insuflation mask connector.
### 2.b - Supplies : _Other supplies_
You will also need extra supplies :
- 1 insuflation mask of the correct size
- ~1m/3ft of elastic to hold the mask to your face
- either 2 compatible filter canister or 1 filter canister and 1 plug
### 2.c - Assembly : _Insuflation mask and elastic straps_
To assemble you can connect the insufltion mask to the adapter with the opening of the main tube of the adapter pointing toward the chin ; and tie two adjustable elastic loops (_simply tie the elastic to one side, loop it through the other side and tie a knot onto itself so it can slide lengthening/shortening the elastic loop length_) to the two pairs of tie-off points to hold the mask to your face.
### 2.d - Assembly : _Output one-way valve_
To assemble the output one-way valve you can first screw the base ([3Dfiles/one_way_valve/owv_base_cap.stl](./3Dfiles/one_way_valve/)) into the main tube of the adapter, with the smoother surface pointing down, until it is right under the tube that connect to the insuflation mask.
After greasing the surface you can screw the membrane insert ([3Dfiles/one_way_valve/owv_membrane_insert.stl](./3Dfiles/one_way_valve/)_, or equivalently_ [3Dfiles/one_way_valve/owv_separate_membrane.stl](./3Dfiles/one_way_valve/) _and_ [3Dfiles/one_way_valve/owv_separate_membrane_insert.stl](./3Dfiles/one_way_valve/)) until the membrane makes contact with the smooth surface of the base.
If you opted to use an output filter (:warning: _**and have accordingly modified the parameters of the adapter tube**, as shown in the above picture_ :warning:), you can no put the filter material (_cotton, or some other minimally air-restricting material_) at the output of the one-way valve, and thread a cap ([3Dfiles/one_way_valve/owv_base_cap.stl](./3Dfiles/one_way_valve/)) to hold it into place.
### 2.e - Assembly : _Optional input one-way valve_
**Note** that if you chose to use an input one-way valve (:warning: _**and have accordingly modified the parameters of the adapter tube**, as shown in the above picture_ :warning:), you need to screw the same 3D-prints as for the output one-way valve **before** screwing the ones for the output one-way valve. The pieces for the input one-way valve would be screwed in the same order and orientation as for the output one-way valve, but would be screwed as far as possible into the adapter tube.
You can finally screw a canister or plug to each of the two thread, and you have an assembled mask !
## 3 - Explanation of parameters
If you want to changes the parameters of this design, you can edit the _Freecad_ file [3Dfiles/gas_mask_v8.FCStd](./3Dfiles/), which is fully parametric, with parameters present in the **Spreadsheet**.
Parameters are color coded, as is explained in the beginning of the **Spreadsheet**.
If you want/need to change parameters, we would suggest you play with them and try to understand the impact of each parameters. We will only explain a small selection of important parameters that you are most likely to have to edit.
If you need to change multiple parameters, you can right click on the name of the file in Freecad "_gas_mask_v8_" then enable "_skip recompute_" so that you can change every parameters without recomputes, and the re-enable recomputes and right-click on the "_adapter_tube_" body and click "_recompute_".
### 3.a - Structural parameters
_**wall_thickness** :_ \[_default=2.7mm_\] The wall thickness across the print (_except for the strap attachment point_). Can be tweaked to make the print either stronger or weaker but lighter and faster to print.
_**snap_fit_clearance** :_ \[_default=0.09mm_\] The clearance between two objects that would fit together with difficulty. Also impact the clearance between threads.
### 3.b - Geometrical parameters
_**nt_horizontal_angle** and **nt_vertical_angle** :_ \[_default=20° and 30°_\] The former is the horizontal angle away from the two arms of the adapter tube being perfectly parallel, having such an angle is useful to bring the center of mass closer to your face. The latter is similarly the vertical angle of the arms of the adapter tube, which is used to lower the center of mass so the adapter tube doesn't want to rotate around the connector of the insuflation mask under the weight of the filter canister.
### 3.c - Insuflation mask parameters
The mask diameter is standard to 22mm (set yt _**imc_max_outer_diameter**_).
_**imc_length** :_ \[_default=20mm_\] Length of the connector of the insuflation mask. Can be adapted to your specific mask.
### 3.d - Strap holder parameters
_**sh_thickness** :_ \[_default=4mm_\] Thickness of the strap holder. Can be adapted to your material and printing orientation so that you are confident that the strap holder won't break off when wearing the mask.
_**sh_bottom_angle** and **sh_top_angle**:_ \[_default=60° and 25°_\] The former is the horizontal angle between the strap holders at the bottom of the adapter tube, and the latter is the angle of the top strap holders around the arm of the adapter tube.
_**sh_strap_width** and **sh_strap_hole_width**:_ \[_default=15mm and 3mm_\] Width and passage width of the strap holder. Should be adapter to the elastic strap you are using.
### 3.e - One-way valve
Most of the parameters of the one-way valve are described in the readme of the associated repository : [distorsion/3D-printed-parametric-respiratory-one-way-valve](https://git.deuxfleurs.fr/distorsion/3D-printed-parametric-respiratory-one-way-valve).
However we want to describe two parameters, as they are mentioned here regarding the input one-way valve and the possibility of having a filter on the exit of the output one-way valve :
_**has_input_owv_1_yes_0_no** :_ \[_default=0_\] If set to **1** rather than **0**, will add the required length to screw an input one-way valve.
_**has_output_cover_owv_1_yes_0_no** :_ \[_default=0_\] If set to **1** rather than **0**, will add the required length to screw a cap to hold a filter at the exit of the output one-way valve.
## 4 - Older version
The older version of the mask - _which was the 6th version (v6)_ - can be made either to work with standard 40mm cartridge (as the newer version), or an integrated canister which makes it more comfortable to use.
As this version is not the main supported version, we will not go into detail into explanation, and we will focus on differences with the latest version.
We didn't put in the directory the _.stl_ files for this version as it would have to be tweaked t be used anyway. You can edit the _Freecad_ file located at [3Dfiles/older_version/gas_mask_v6.FCStd](./3Dfiles/older_version/) and export bodies to _.stl_ to print them.
### 4.a - _Older version :_ Interfacing with the face
This older version used a mold to mold a skirt that then creates a good seal with the face. For this skirt to be effective, the face measures have to be quite precise.
In the past we used _silicone caulk_ for both this skirt and the _one-way valve membrane_. Although this is mechanically sound, this degases armful chemical, and can thus not be worn safely for at least wees or month if ever. We thus recommend either refining the molding technique to use pourable silicone, or making moldable silicone from pourable two-parts silicone and a filler material like corn starch. **Do your own experiments !**
### 4.b - _Older version :_ Filter canister
The integrated filter canister is assembled and printed in the same way as the we provided in the repo and submodule [distorsion/3D-printed-parametric-respiratory-one-way-valve](https://git.deuxfleurs.fr/distorsion/3D-printed-parametric-40mm-gas-mask-canister).
The nato compatible canister simply consisted in an adapter that would provide a base to connect a 40mm gas mask to the same component as the integrated canister. There is also an adapter that connects to the gas mask like an integrated canister and converts it to a 40mm gas mask. This adapter is required as it also hold the one-way valve, which with an integrated canister is held in by the canister.
everything can be printed without support, except the canister cap which can be printed face down with support only the the central hole.
### 4.c - _Older version :_ One way valve
Here the one way valve consist of an insert holding a silicone membrane, which can either be molded or cut off of a silicone sheet.
We chose to not use this design anymore as such a soft but small valve, while providing the same (_or even a lower_) cracking pressure as the larger stiffer membrane of the newer design, has the issue of letting air pass when there isn't a high enough negative pressure to close the membrane.
### 4.d - _Older version :_ Short explanation of parameters
As with the latest version, parameters are color coded, as is explained in the beginning of the **Spreadsheet** within the _Freecad_ file [3Dfiles/older_version/gas_mask_v6.FCStd](./3Dfiles/older_version/).
Structural parameters are largely the same between this version and the newest version.
Parameters that are presented in gray are target values that can be applied to other parameters (_that share part of the name_) to obtain a certain effect - _mainly using the integrated canister or having the minimal size to use the nato-adapter with a 40mm canister_ -; which can also be done by setting to **0** instead of **1** the \"_direct mount (1) or nato thread mount (0)_" field associated to the _**dm1_nt0_selector**_ parameter.
You will also need to enter face measures, which are denoted by a pink color. You can check "_mask_body -> face_interface -> Boolean -> mask_body_lip -> Pad011 -> **Sketch020**_" to understand the exact meaning of each parameter, and thus how you should measure your own face.
## License
```
"3D Printed parametric gas-mask" (c) by @distorsion
"3D Printed parametric gas-mask" is licensed under a
Creative Commons Attribution 4.0 International License.
You should have received a copy of the license along with this
work. If not, see .
```