From Point Cloud 2 FEA

Designing a medical device commonly starts with the healthy or diseased anatomy. Geometry without significant simplifications typically comes from various 3D scanning technologies such as CT or MRI. Here we will go through turning scanned point cloud data into usable NURBS CAD geometry with Catia.



While out on the interwebs I happened upon a CT scan of a jaw in STL format. Unfortunately, I didn’t note the source otherwise I would link to it here. I wondered ‘What does the stress distribution look like on teeth?’ To get to that answer I would need to take this scan data through CATIA to create CAD geometry.

From Scan 2 CAD

The scan was partitioned as 2 separate STL files. Each of these files conveniently had separate solids for the gums and each tooth. The STLs were imported into CATIA using the Digitized Shape Editor’s (DSE) Import function where the default settings were used.

Point Cloud Jaw

Here I’ll give the top level steps required to get the gums from point cloud to useful NURBS geometry. In next steps I’ll go into depth on a single tooth. A copy of each point cloud was created since many operations in DSE do NOT have an undo. Therefore if you remove some points in error you will need to reimport the cloud. Therefore for each tooth and each gum a copy of the clouds were created.


The gums were isolated by using the Remove command with Flood as the selection mode.

Surface Gums

Automatic Surface was used to create a skinned surface of each gum.

Surface Gums2


The gums were relatively easy but wow there are a lot of teeth! As you may have noticed from other posts my OCD really shines through with my organization of CAD models. Therefore, I needed to have some sort of system for keeping all them straight (first mouth pun).  With the help of Google image search I found this numbering system. Who knew that adults have 32 teeth and your top right tooth is #1?


A new Geometrical Set was added along with a copy of the scan data. The copied cloud was Activated and then isolated with the Remove command with the Flood selection Mode.


Surface Tooth1Catia Remove Flood

Mesh Cleaner can now be used to make sure there aren’t issues with the mesh such as duplicate triangles from the STL. This tooth didn’t have any issues but others did. If you download the CATPart at the bottom of the post you can see how each tooth was handled.

Catia Mesh Cleaner

At this point is was clear that my free STLs didn’t have any tooth root geometry which was a real bummer and makes the FEA just a pretty picture. Therefore, to make the teeth watertight a Fill Surface was used by selecting the free edges. No supports were selected to avoid a tangent Fill.

Fill Surface

With the Pringle® shaped fill in place the surfaces were Joined.

Surface Tooth 4Catia Join Surface

A CloseSurface was used to create a new Solid Body.

Surface Tooth 2

Now it’s time to do that 31 more times, WAHOO! On the bright side this person was missing their wisdom teeth so only 27 more times! My previous blog post went through how I created a custom toolbar to speed this process along which can be accessed here. Here is my time saving ‘PointCloud2Surface’ toolbar.


Here is the finished model with separate Part Bodies for each tooth and gums. Switching the colors really made it come alive and creep out my wife.



The CATIA (*.CATPart) file was then exported as a STEP file (*.stp) which Abaqus can import from.


Unfortunately, the FEA side of this blog is of little value because the roots of the teeth and jaw bones were not included in the original scan data. Because of this the simulation is of little more value than as a pretty picture or as I like to call it ‘breaking out my crayons to make pretty rainbow plots’. Who doesn’t like rainbows? Well here is some eye candy.


Click jaw above to play animation.



Pleases help us by: liking, subscribing, retweeting or whatever else can be done today! It really does help. Email if you have any questions or suggestions.

Thank you.

Rob Stupplebeen