Designing a Skull Implant with Game Art Tools

[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”5b9fd32cbb2ee”]Cranioplasty[/ideo_wow_title]

Cranioplasty is a surgical repair of a defect or deformity of a skull [Wikipedia]. It is typically performed using a titanium plate or mesh, a synthetic bone substitute (“bone cement” aka plexiglass/acrylic), or transplanted bone.

You can see an example of the process using a titanium mesh on a model skull in the video to the right. Self-tapping screws are used to secure the implant to the skull.

In this study (Warning: some gore) doctors secured a custom acrylic implant to the patient’s skull using metal bands with similar self-tapping screws. What’s fascinating about this study is that they used ZBrush (game art software) to create a 3D printed PLA tool for molding. They cast the tool in plaster to create a negative mold, then poured acrylic into this mold to create a customized prosthesis.

The image below shows the molded prosthesis being test fitted to a 3D printed section of the damaged skull.

Cast plastic implant in 3D printed section of damaged skull.

This is remarkable because of the dramatic cost savings that this can produce. In their words:

“In Mexico these procedures have to be payed in full by the patient, limiting their reach and practice in the general population since they are costly. A customized titanium implant costs around US$5000, and those made from PEEK around US$7000 or more depending on their size. The customized prostheses proposed by the authors have a cost of about US$600, including the digital design, printing of a 3D prototype and the PMMA prosthesis itself. Both titanium and PMMA are the most commonly used alloplastic materials.”

[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”fa90a5a7d077″]Tutorial[/ideo_wow_title]

In this article I will share the technique that I developed to quickly produce a cranioplastic implant using MODO, a DCC (Digital Content Creation) software similar to 3DS Max, Blender and Maya.

The results of this tutorial are meant to be used with either a metal 3D printer or cast in silicon/plaster to create a mold for an acrylic pour – similar to the method detailed in the linked study above.

Note: You may have issues playing the WEBMs on mobile.

The first thing we’ll need to do is bring in the model. I used the default scan data that came with InVesalius, a free software package developed by a Brazilian University. This package allows you to create a 3D model from DICOM images. Computed Tomography (CT) scanners export scans as a series of 2D images or slices. Software like InVesalius will allow you to generate a mesh based on the derived point cloud.

DICOM scan from Invesalius, showing the skull defect.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”5a59ddab7ff2″]

I segmented the model to only include bone matter using the density sliders in InVesalius. Then I exported the result as an .STL file.

Afterwards the file was loaded into MODO. The first thing I have to do is center the model in all axis using the “Center Selected” command.

Importing Skull into MODO and centering it.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”5ba0324f0a2e4″]

The plan for this model is to use MODO‘s powerful retopology tools to create a series of surfaces that will define the boundaries of our implant. We will then take those surfaces into a manufacturing based program (Fusion 360) and intersect them with each other to form the final shape.

This model is designed to be cast in acrylic and attached to the skull titanium bridge plates as in the linked study. If it were to be printed in metal then the bridge plates could be designed into the part itself.

The boundary surfaces we will build.
3D Prints of the skull and its implant.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”61078f1881ac”]
[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”5ba03605919db”]Creating the Outer Surface[/ideo_wow_title]

We will start with the retopology mode. In MODO, we use this mode to trace new geometry over an existing mesh. We’re going to trace over the existing side of the skull and then mirror it to the other side of the head.

Subdividing the new surface will also snap the new verts to the mesh, resulting in a very quick and easy workflow for mesh retopologization.

You’ll notice that at the end of the animation I zoomed into the skull and rolled the surface away from me.

I call this “Inspecting the Horizon”. It is a technique for inspecting the quality of the retopology. As the mesh is rolled away from my view, its silhouette (or “horizon”) is clearly visible. If either mesh has a peak or a valley relative to each other then I will clearly see where they diverge.

Horizon inspection explained.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”c339099e5fe2″]

Next I mirror this rebuilt surface to the other side of the skull. To make it match up, I set my action center to the center of the world (which is now also the center of the skull).

I scale the rebuilt surface outwards to move it beyond the boundaries of the skull’s surface. Then, I activate the Background Constraint mode and set its Geometry Constraint to Vector. Now when I scale the surface inwards, it will move until it intersects the original mesh behind it and stops.

The final result of this step is a clean surface that almost perfectly blends in with the existing surface of the skull.

Final outer surface.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”5becfe9fd57c”]
[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”1635c411353f”]Create the Inner Surface[/ideo_wow_title]

Next I use the same technique to build the inside surface. If this was a real project it would be a good idea to bring in the brain as well to make sure there’s no interference.

Below you can see the end result after some tweaking.

Refined inside face.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”1d903aee2435″]
[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”a75b4f614cbd”]Create Filler Surfaces[/ideo_wow_title]

There’s a gap in the skull between the forehead and the brain cavity. This will make building our final surface (the inner shape of the hole) difficult. To remedy this I freehanded a surface to fit over the gap.

Freehanded cross surface.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”c4301ce84191″]
[ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”51df04b35379″]Create Inner Lip of Defect[/ideo_wow_title]

Now at this point we can create the inner lip by tracing over it using the topology tool. First, start with a plane and try to set its edges to be equidistant from the peak of the defect’s rim. Wrap it around to form a closed loop.

Then, add an edge loop straight down the middle, right along the high point of the defect. This will become your centerline and will be important later.

Finally, subdivide the surface a few times to make it stick to the underlying geometry more closely.

After some refinement you should have a result like below. Make sure to extend the outer surface beyond the defect so that it has a large lip running around it. This will make sure that when it is inset into the hole it will have a surface to sit on.

Refined inner lip of the skull's defect.

Next, you’ll need to select the bottom half of the surface that is below the peak of the defect’s rim and delete it.

Remove lower half of lip surface to prevent undercuts.

We need to do those to prevent undercuts. Undercuts are like “hooks” in the geometry that prevent insertion or mold removal.

It may be necessary to do some further refinement of the surface edge to prevent these undercuts but for now we can just eyeball it. The first print will tell us how difficult it is to insert.

Undercuts in the skull.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”7e10f5a256e6″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”65e6650d4871″]Adding a Tolerance Gap[/ideo_wow_title]

Now that we’ve created a surface without undercuts, we need to offset it so that it will fit despite any manufacturing defects.

No matter how perfect your machining process is, there will always be a small amount of error compared to your CAD model. For this reason, it is important to add a gap between parts, the size of which depending on your manufacturing method. For an average, well-tuned FDM machine, .2 – .25mm on either side (.4 – .5mm total) is a good goal to have, though you can go lower.

Image demonstrating tolerance requirements.

To add tolerances, I’m going to simply offset the surface using the “Thicken” command in Modo with “Thicken” turned off. Before making this offset, I suggest making a copy of the surface and hiding it so you can tweak the tolerances later.

I offset my surface by .5mm – which means a 1mm tolerance gap total. I wanted to start with extra large clearance for this first draft.

One other thing you’ll see me do near the end of the clip is tweak an area where the bone surface is coming through the implant surface. This is the point where you want to adjust the surface by hand to make sure this doesn’t happen.

[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”c1aa00d2c176″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”26246b73ac10″]Extrude the Edges of the Lip Surface[/ideo_wow_title]

Next we need to extend the edges of the surface both inwards and outwards. In order for one surface to trim another, they have to completely intersect one another, and extending the Lip Surface makes sure that will happen.

Set the action center to the origin. Select the internal edge of the Lip Surface and extrude it inwards, scaling towards the origin. Do the same thing for the external edge except extrude it outwards.

I made one final adjustment to the bottom of this surface extension to help it hug the top of the eye socket a bit better.

Tweaking the lip surface extrusion.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”b14ed90ea1f2″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”6a1fed395e83″]Export to Fusion 360[/ideo_wow_title]

MODO allows for direct conversion of Subdivision and polygon data to NURBS based surfaces using its exporter tools. Once in Fusion 360, all you have to do is upload the resulting IGES/STEP/etc. file to import it.

In case you are wondering why I used MODO’s Sub-D tools instead of Fusion 360’s, this is because the former’s tools are much faster, more powerful and more feature rich – especially when it comes to retopologizing a mesh.

Exporting SubD to IGS.
Uploading IGES to Fusion 360.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”7b1942cb7be0″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”e751fb7662db”]Import to Fusion 360[/ideo_wow_title]

Once the model is in Fusion, bring in the skull so you can check the tolerance gaps a bit more easily. Make sure you export the model as an .STL from MODO – this one will be placed and scaled properly. If you use the mesh directly from InVesalius then it will be very difficult to line up.

Use the Mesh – Create Mesh command in Fusion 360 to import the skull mesh.

Inserting the skull and surfaces into Fusion 360.
[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”6fbba7854ef5″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”f301a52ac331″]Trim Surfaces[/ideo_wow_title]

Now, use the Modify -> Trim command under the “Patch” tools to trim each surfaces with each other. Use the “Stitch” command to stitch all the resulting surfaces together to form a closed solid.

[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”add8477b6347″][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”520d2a18d896″]Fillet and Analyze[/ideo_wow_title]

We want to make sure that we don’t have any sharp edges on the final model. Use the Modify -> Fillet command under the “Model” options to round off the front and back corners of the model.

Filleting front and back edges.

Once that’s done, use the Inspect -> Section Analysis tool to slice through the model and make sure there are sufficient gaps and no interference between the implant and the skull.

If it all looks good to go, export it as an .STL and send it to the printer!

[vc_separator_icon el_icon=”fa fa-sort-down” el_element_style=”colored-dark” el_element_style_colors=”{‘icon_color’:”,’divider_color’:”}” el_uid=”b3c066c25a8c”][ideo_wow_title el_title_align=”left” el_title_mobile_align=”left” el_elemnt_style_colors=”{‘title_color’:”}” el_uid=”717acd402338″]Conclusion[/ideo_wow_title]

In the coming years we will see a new discipline emerge from the CAD and 3D Visualization fields; “Mixed Reality Modeling” or MRM.

I will write another article detailing this emerging field, but know for now that it exists to blend the capabilities of CAD designers (such as engineers and Industrial Designers) with those of 3D artists in the real time and computer graphics industries.

The techniques in this article are an example of MRM. I used a software tool and methodology usually reserved for 3D visualization in combination with a traditional CAD software package to create a real world object that previously would have been very difficult to design. I then used 3D printing to manufacture it – something that just a few years ago would have been cost prohibitive.

Thank you for reading and I hope you found this article to be useful and interesting. I believe that this technique has the potential to better a lot of people’s lives. It can be used for any design project that requires fitting a prosthesis to an existing organic shape.

Render of the final implant.

4 thoughts on “Designing a Skull Implant with Game Art Tools

  1. Pingback: Interview with Jordan Pelovitz - 3DHeals

  2. Pingback: The Lattice Issue 26: January 20th, 2020 - 3DHeals

  3. Ferry Kurniawan MD Neurosurgeon Reply

    Dear Mr Jordan Pelovitz,
    Thank you very much for this workflow guide, this should help a lot of patients in need for cranioplasty operation, especially in low income regions.
    If we could mimic your workflow guide, the knowledge would spread widely to us in low income region needing this knowledge.
    I am trying to follow your workflow guide, but the guide was a little bit too difficult to mimic for someone with limited designing knowledge like me, because some guide was not showing full screen video and please use dropdown menu instead of shorcut key, but anyway I will try hard to follow your guide.

    Best Regards,

    Ferry Kurniawan MD Neurosurgeon

    • Jordan Reply

      If you have any questions, please feel free to message me directly! Would love to walk you through how to do this.

Leave a Reply

Your email address will not be published. Required fields are marked *