Workflow for FEM Simulation of Soft Tissue Deformation after Bimaxillary Surgery (using 3D Slicer + Open-Source Tools)

Hi everyone,

I’m working on a project to simulate soft tissue deformation resulting from a bimaxillary (orthognathic) surgery.
My goal is to model the soft tissue displacement and facial profile changes based on pre- and postoperative bone movements.

Here’s a video that illustrates what I’m trying to achieve:
:backhand_index_pointing_right: Soft Tissue Simulation after Orthognathic Surgery – Example

I’m planning to use 3D Slicer for segmentation and model preparation, combined with open-source FEM tools such as Gmsh, FEBio, or CalculiX for the actual simulation.

I’d really appreciate any advice or shared experience on the following points:


1. Data Preparation in 3D Slicer

  • Best workflow for segmenting bone and soft tissue regions (e.g., skin, mandible, maxilla).
  • Recommended export formats for meshing (STL, VTK, or direct tetrahedral volume meshes).
  • Methods for simplifying and cleaning the meshes before FEM processing (e.g., decimation, smoothing).

:gear: 2. Meshing and Boundary Setup

  • Generating high-quality tetrahedral meshes (e.g. using Gmsh).
  • Defining boundary conditions based on the surgical bone movements (translation/rotation of the maxilla and mandible).
  • Assigning material properties (elastic, nonlinear, or viscoelastic) to different soft tissue layers.

:abacus: 3. FEM Simulation Tools

  • Has anyone used FEBio, CalculiX, or other open-source solvers for similar soft tissue or craniofacial simulations?
  • Are there any existing scripts, Slicer extensions, or Python modules that simplify the export for such biomechanical setups?

If anyone has done something similar or can share an example workflow or reference, it would be extremely helpful.

Thanks a lot in advance for your time and insights!

That’s a big project, but something that can definitely be done using the tools you mentioned, at least to some level of approximation. Each of the steps you outlines is full of difficulties with no clear best solution, so you’ll need to explore the options and also see what other people have had luck with. Sliding layers of soft and hard tissue remain challenges and will be key in your project I suspect.

I suggest you also look at SOFA, and the SlicerSOFA extension. You can find pointers to everything here.