Surface Mesh Segmentation in Blender

I have heavily developed anaddon in 2.79 to assist with mesh surface segmentation. I utilize it in a professional dental modelling workflow. It has wide ranging utility outside of dental/medical. It has some limitations because it is implemented in python. I’d like to discuss the topic here about potentially adding some core features in 2.8 series because a lot of the development is already headed in that direction. Particularly the following areas.

-The heavily improved visualization
-The sculpt mask tools
-Mask Slice
-The contours/isoline visibility in weight paint

Here is a document, outlining some of the use cases, existing work etc. I invite comments and direct editing of this document.
Google Document

Here is a semi-coherent video demonstrating the addon’s current behavior.

I’d like input from developers and users. Determine if this is appropriate for core development or if it needs to stay in addon space. If it is appropriate, I would like to set a target development cost, and I will reach out to my community of dental/medical users and try to reach that goal.

Patrick Moore


Hey! Great talk at the Blender Conference!

I think you should go ahead and start making it- even if it doesn’t land in Blender’s master branch, you can start building your own custom Blender specifically for dental use. This way, customers would even have to bother with installing an addon- they could just download it and go.

And it does look useful for sculpting!

1 Like

Isn’t or couldn’t this healthily overlap with Pablo Dobarro’s face map feature?

Your way of creating these areas is different (and very exciting!) but the end result seems similar.
So it might complement that feature nicely IMO

1 Like

yes I absolutley would like Pablo to lay eyes on this. I mention his work in the document linked above as overlapping.


@pablodp606 lay eyes on this!

Face sets in 2.83 moves this project forward!


Anybody know any good references to finding out if I can manipulate face_set data in python? The API docs don’t make a ton of reference to it outside of the bpy.ops. I’m hoping I can find/manipulate them in a BMesh data layer. Fingers crossed!

1 Like