Introduction: How to Design Custom, 3D Printable Braces for Arm Injury

About: I enjoy creating educational 3D Models and working with Arduino.

Cross-posted on my website at

Traditionally, casts for broken bones are made from heavy, solid, non-breathable plaster. This can create discomfort and skin problems for the patient during the healing process, like itchiness, rashes and skin infections. Custom 3D printed casts made with a breathable, voronoi pattern are a potential DIY solution. This method is obviously not medically approved (as yet) and shouldn’t be used in place of seeing your doctor. However, if you normally wear a wrist split/other brace for injury you could create your own custom version of this with approval from your occupational therapist or specialist.

While this is a great potential solution, 3D modelling and 3D printing a custom cast or brace is time consuming. A standard 3D print of a wrist cast takes about 3 hours to print on a 3D printer, where plaster tends to take about half an hour to fit to a patient and is very cost effective. This method is a DIY solution for experimentation only. I’ve previously blogged on how to create Wrist Braces using Meshmixer, this method is more complex but has a better result and a better fit.
To make one of these, you’ll need a 3D scanner and a copy of Meshmixer and Rhino 3D software, with Grasshopper, the algorithmic modeling plugin installed.

Here's a video with a walkthrough of the Rhino steps:

Step 1: 3D Scanning

First, you’ll need to take a good scan of the area you’d like to make a brace for. I recommend asking ‘patient’ to hold their arm out and resting the fingertips on something to stop the arm from involuntarily shaking. Import the 3D scan into Meshmixer, and use the Plane Cut function to cut away the areas you do not want, i.e. the fingers, thumb and arm. You may also want to do some cleaning with the brush tools depending on the quality of your 3D scanner.

Step 2: Rhino 3D

Next, import your trimmed arm model into Rhino 3D. Use the function MeshtoNURBS to convert the .stl into a polysurface. Create an array of roughly spaced surface planes to fit the length of your scanned model, like the images below.

Step 3:

Next, use the function IntersectTwoSets and highlight first your surface planes, and then the arm model. You will create a series of ‘plane cut’ style curves like the image below.

Step 4:

Sometimes these curves will come out a bit irregular. Use the function _Rebuild on the curves to fix this. Next, use the Loft function to create a new surface using the arm curves. You’ll need to select the curves in order for this to work correctly.

Step 5:

Next, use the function OffsetSurf to create a surface 2mm above the existing surface. This will make sure the brace will sit nicely on top of the skin. You can also cut the brace in half by using the Boolean split tool. Launch Grasshopper for the next step. You’ll need to download this Voronoi algorithm and open it in Grasshopper.

For this algorithm to work as intended, you'll also need the Weaverbird plugin. You can get it here:

Right click the first Brep input component of the algorithm and select Set one Brep and click on the first half of the brace when prompted.

Step 6:

This will now map a voronoi pattern to the offset arm scan. You can go through the algorithm and tweak different aspects, including the hole size and more.

Step 7:

After you’re happy with the outcome, highlight the last section of the algorithm, right click and choose Bake.

Step 8:

Repeat the process on the other half of the brace. You now have a voronoi brace! You should be able to print this standing upright without any supports. You can use ribbon and beads to act as a hinge, or 3D model on a hinge of your own design. Xkelet has some great designs for inspiration. Enjoy!