1 Introduction

Integration of 3D printing and 3D scan technologies has been widely applied in medicine. The non-contact scanners can capture the 3D anatomic surfaces, and these images can be developed as medical article by 3D modeling and materialized by 3D printing devices as physical models [1,2,3]. These digital technologies render it possible to customize braces or prosthesis, and increase patient treatment satisfaction [4, 5]. Beside the patients, the healthcare workers (HCW) are potential demanders of personalized device. They work in the medical environment there exists various patients, and have long exposure to highly infective hazard. Personal protective equipment can protect them from the spread of illness, and filtering face-piece respirators are the frequent device used to prevent inhalation of infectious agents.

The level of protection provided by a respirator is determined by the efficiency of the filter material and how well the face-piece fits to the worker’s face, and disposable N95 mask is the most frequent choice. The Occupational Safety and Health Administration (OSHA) requires workers to do annual fit test to ensure that the respirator fits correctly and no leaks exit [6, 7]. According to the quantitative fit testing (QNFT) protocols, the subject should complete a series of head motions during the test (Fig. 1), and the presence of the agent is detected by an instrument. A fit factor is used to express the results of a quantitative fit test. However, wearers have different face features, and disposable mask of mass production cannot achieve a very close facial fit to everyone with a standard design. In a quantitative fit test of 209 subjects, the result showed that only 63.2% of the subjects obtained a fit factor greater than 100, which is the fit test pass/fail level for filtering face-pieces recommended by the respirator authority in America [8].

Fig. 1.
figure 1

Pictures about quantitative fit test from OSHA website. a. The instrument that detects fit factor in QNFT. b. A subject is following the instruction of the fit test excise.

Now 3D scan, 3D printing technology and bio-compatible material bring the opportunity to realize the wearer-specific respirator. The 3D scanning can catch precise facial surface to create a well fit of contact part. Using the medical-grade filament and a commercial FDM printer can produce such respirator in few hours. Based on the similar experience of customizing medical device, the 3D-printed respirator has the chance to improve the wearing fitness and comfortability. Furthermore, usually the infection control practitioner (ICP) of hospital is in charge of respirator selection for HCW and fit test record, because ICP is responsible for the prevention, observation and reporting of infectious diseases. Compared the disposable N95 mask, the customized respirator may help ICP to improve the fit testing result.

Although the introduction of 3D printing equipment in the medical engineering unit of hospitals is growing, and a handheld scanner can provide enough precision and easy use. However, the challenge is the respirator design requires is a time-consuming process that requires significant CAD experience, and there does not exist a qualified CAD expert in the hospital or appropriate CAD tool to aid ICP to deal with mass respirators for all healthcare professionals. In this work, the object is to develop a custom-fit respirator design and its semi-automatic modeling process based on the requirements of fit test, and help ICP on the respirator design task efficiently without deep CAD involvement.

2 Method

In this section, we present the detailed steps and principles for building an automatic system for splint design with a programmable modeling tool.

2.1 Scan and Face Samples

A handheld scanner, Sense (3D Systems), is used for scanning and able to output a mesh model of the face. It is affordable and offers the basic function of background clipping. Five scanned face samples were obtained from adult volunteers and labeled as A to E (Fig. 2), two males (C and D) and three females. These samples are aligned to a base line that passes their eyes on the side view to emphasize the difference of face sizes. The scanned anatomic range should include complete eye, nose, mouth, cheek, jaw and throat.

Fig. 2.
figure 2

Side view of five scanned face samples

2.2 Software Selection

Due to the programmable requirements for designing this system, we used Rhinoceros 3D Version 5.0 (Robert McNeel & Associates) as the main modeling environment; this can be jointly operated with a visual programming tool, Grasshopper 3D (Robert McNeel & Associates). It uses node-based graphics to edit and express the parametric input/output relationship and is the primary program language used in this study for automated modeling.

2.3 Material

Considering the filter availability, we selected 3M 7711 (3M) filter for the standard material of our respirator, and any round-pad disposable filter with a diameter 86 mm is also compatible. Fabrial-R (JSR) filament, the medical-grade filament that matches ISO-10993-10 standards (tests for irritation and skin sensitization), is used for printing the customizable part. In the thin thickness, the filament has the good performance on flexibility and softness (Fig. 3).

Fig. 3.
figure 3

Medical-grade filament and medical studies. a. Fabrial-R filament of JSR. b. Head model for nasogastric tube feeding training. c. Prototype in the study of Fabrial-R’s softness and watertightness d. Prosthesis prototype of SHC design studio.

2.4 System Designer and Design Agent

In this study, the modeling task is compartmentalized and implemented by two roles: the system designer and the design agent. An engineer or designer, who is familiar with CAD software and programming language, can follow the methodology detailed below and create an automated customization system in advance, in the role of system designer. The ICP is the end user of this precompiled system and plays the role of design agent to execute respirator customization, based on the wearer’s conditions. The ICP does not need to know how the program works, and can instead focus on the design and evaluation of the respirator model.

2.5 Respirator Features

The respirator design generated by this system is assembled by 4 components as the below order (Fig. 4), the main body of customized mask, filter, filter fixer and exhalation valve (Fig. 4b). Only the main body is customizable and printed by the Fabrial-R filament, and the other components are mass production of standard model.

Fig. 4.
figure 4

Respirator features

  • Covering surface: The covering surface of respirator is extracted from the scanned region around the nose, mouth and cheek of the wearer’s face model, as marked as red range inside the mask and on the scanned model in Fig. 4c, and it efficiently provides snug fit and respiratory protection for the wearer while maintaining an effective seal. The ideal covering surface should cross the nose ridge, pass the downside of eye, cover the cheek as possible and pass the backside of chin.

  • Filter assembly: The filter is gripped by the front-end structure of mask and the filter fixer, and the fixing ring is locked by the inserted exhalation valve. When replacing the filter, ejecting the valve can release the fixing ring and remove the filter. When customizing the respirator, the filter assembly and valve should be placed with a distance from wearer’s nose and chin to prevent skin abrasion.

  • Exhalation valve: The valve is placed at the downside of respirator near the wearer’s chin. The valve allows the wearer’s breath to escape from the mask without allowing airborne particles to enter. In the assembly, the valve can stock the filter fixer when it inserted into the respirator.

  • Rounded edges: The edge of the respirator is designed as tubular shape to prevent skin abrasion by sharp or rough edges.

2.6 Modeling Process

Based on the above features, a modeling workflow was determined and converted to Grasshopper 3D, a node-based program. The respirator model gradually takes shape as the modeling procedure progresses. Other default parameters have been tested iteratively and optimized. The input methods in Grasshopper 3D and detailed modeling mechanisms are described as the below sections.

2.7 Import the Scanned Face Model, Calibrate and Assign to the Modeling Program

When importing the scanned face, the mesh model may appear in the Rhino 3D space with random angles and positions; therefore the design agent may need to move it to the appropriate position and rotate it to face XZ plane straightly (Fig. 5a). The YZ plane should be on the mirror plane of the face. A set of guide lines colored in purple are provided on the front viewport, and indicates symmetrical intersections of pupils and two ends of mouth. The design agent can evaluate the distance between the model pupils or mouth width to move the model and keep the YZ plane overlap on its mirror plane (Fig. 5b). After the face model is on the ready position, design agent can select it and assign to a mesh component in Grasshopper via its component menu (Fig. 5c), then the model data can pass to the subsequent modeling procedure.

Fig. 5.
figure 5

Calibration of face model. a. Guide lines of mirror plane. b. Position of YZ plane. c. Assign mesh by setting the mesh component menu in Grasshopper.

2.8 Define Covering Surface

In this step, the design agent needs to draw a planar curve, Curve X1 by the control-point-curve command on the side viewport to decide the area covered by the respirator, and the ideal path should avoid the muscle around mouth and neck (Fig. 6a). After the curve is completed, the design agent should assign this curve to a curve component into Grasshopper (Fig. 6b). Then the program use the curve to offset Curve X2 in its left side with a 12 mm distance (Fig. 6c). These two planar curves extend from X-axis to intersect with the face model (Fig. 6d) and generate cross-section curves. The curves can be mirrored and connects with another half as closed 3D curves, Curve X1’ and X2’ (Fig. 6e). For visualizing the covering surface, 30 points are extracted on Curve X1’ and X2’ separately and connected 30 lines, and generate a belt surface by network command (Fig. 6f). Design agent can move the control points of the curve to modify the belt surface, then the program updates the surface’s position on the face model in real time for design agent’s evaluation.

Fig. 6.
figure 6

Generating the covering surface. a. Define Curve X1 and X2. b. Extend surfaces of Curve X1 and X2. c. Intersection curves, Curve X1’ and X2’. d. Result.

2.9 Define Filter Assembly

The filter assembly includes the front end of respirator, filter, fixing ring and exhalation valve, they are fixed structures and components installed in the program. Design agent can set two points, Pt 1 and Pt 2 on the side viewport to decide the base plane of filter assembly (Fig. 7a), and assign the two points to the Grasshopper components. The program uses these two points to form a line, Pt12. Pt12 is set as the Y-axis of the new plane, Plane F, and its midpoint is the original point (Fig. 7b). After the program received the point data, the models of filter assembly are duplicated from the original position to Plane F (Fig. 7c). Design agent can move the points to adjust the position and angle of filter assembly and close the face model (Fig. 7d). Although the Curve X1, Pt 1 and Pt 2 are determined, design agent can adjust them in the following stages based on further model details appears, if necessary.

Fig. 7.
figure 7

Setting Pt1 and Pt 2. a. Line Pt12. b. Plane F on the midpoint of Pt12. c. Duplicated filter assembly. d. Adjustment of the points.

2.10 Generate Round Edge

In this step, the program generates a round edge, a blend surface connects the covering surface and its offset surface, to prevent skin abrasion on external edge of covering surface. The covering surface offsets a surface with a distance 12 mm, Surface Y, and the distance equals the thickness of round edge (Fig. 8a). The external edge curve of Surface Y, Curve Y’, is extracted, and Curve Y’ and Curve X1’ are the two rail paths of round edge in the subsequent modeling process. A polar array of 30 rectangles are generates on Plane F (Fig. 8c), and their intersection points on Curve Y’ and Curve X1’ are found respectively, Pt Y’ and Pt X1’. Each set of Pt Y’s and Pt X1’s links as a line (Fig. 8d), then each midpoints, Pt Y’X1’ makes a 6-mm move along its own Z-axis on rectangle (Fig. 8e). Pt Y’, Pt X1’ and Pt Y’X1’ link an arc. With the Curve Y’, Curve X1 and all arcs, the round edge surface is generated by network command (Fig. 8f).

Fig. 8.
figure 8

a. Offset surface of covering surface. b. Upper edge line of offset surface. c. Polar array of rectangles. d. Intersection points on Curve Y’ and X1’. e. Arc consisted of Pt Y’, Pt X1’ and Pt Y’X1’. f. Round edge surface

2.11 Generate Respirator

In this step, the program generates two surfaces to connect other surfaces into a solid surface. The front end of respirator is an open surface with the edge lines, Curve Z1’ and Curve Z2’ (Fig. 9a). As the similar steps to create the round edge, the program uses the rectangle array to generate the intersection points on Curve X2’ and Curve Z2’ respectively (Fig. 9b), and get the Pt X2’ and Pt Z2’ (Fig. 9c). Then their midpoint, Pt X2’Z2’ makes a 2-mm move on its Z-axis, and links an arc with previous two points (Fig. 9d).

Fig. 9.
figure 9

a. Edges of front end, Curve Z1’ and Z2’. b. Generate intersections. c. Intersections on Curve Z2’ and X2’. d. Z movement of Pt X2’Z2’. e. Inner surface. f. Outer surface. g. Other functional structures.

With the Curve X2’, Curve Z2’ and arcs, the inner surface of respirator, Surface X2’Z2’, is generated between front end and covering surface. The same process is repeated on the Curve Y’ and Curve Z1’ to create the external surface, Surface Y’Z1’. A solid model of respirator is formed by joining above surfaces. The respirator is fixed by the elastic band set in the wearing, and a pair of grip are required on the two side of Surface Y’Z1’ to fasten the rings of elastic band.

3 Result

3.1 Stability and Feasibility of Modeling Procedure

We applied the semi-automatic modeling process on five face samples to test the stability of respirator generation, and each customization design was completed in 2–4 min successfully (Fig. 10). The Curve X and position of filter assembly are depend on the features of face samples. The input contents are free to be modified in the whole process, so the adjustment of Curve X, Pt 1 and Pt 2 occupies most of time in the process. The model updating only takes 2–4 s after every adjustment.

Fig. 10.
figure 10

Generated models for all face samples

3.2 Respirator Fabrication

The respirators were all printed at a standing angle. Though applying low filling percentage, the weights of five respirators ranged between 60–80 g. Then, Qidi Tech 1, a commercial fused deposition modeling 3D printer (QIDI Technology) was used to print the respirator for Sample C (Fig. 11). The printing time takes about 5 h.

Fig. 11.
figure 11

Printed respirator of Sample C.

4 Discussion

The modeling process has demonstrated stable performance on the limited samples, but an experiment will be hold in the further research and require ICPs’ attendance to discover the possible issues in the training and software operation. Even the input method is simplified and explained to the ICP in the training, but non-CAD user may have difficulty on simple curve drawing or point setting. This respirator design is limited by available options of filter types, and the form and size of respirator are depend on the filter shape. Compared the foldable N95 mask, although the filter we used makes this respirator looks bigger visually, but it provides stable base layers in the printing.

This study proposed the method of building semi-auto automatic modeling process of respirator customization to help ICP design customizable respirator without deep CAD involvement. In the past, for enhancing the breath protection in the hospital, ICP can only implement the fitness test, suggest selection and proper use of effective respirator for health care worker. But if customized respirator can be confirmed that it has better seal tightness than the disposable N95 mask, the customizing solution in this study can provide an effective tool to design personal respirator and maintain its independent production.