Topop checker

I’m transitioning from Maya to Blender. There’s a tool that I scripted in Maya that allows me to assign different shaders to certain types of polygons. Tris in yellow, quads in blue, nGones in red, bright red for non-manifold, green for concave etc. The window has there columns. The first one will only assign the shaders, the second one will only select them and the last one will isolate them (local view). It wasn’t that hard to make in Maya since Maya gives you feedback on every function you call. Creating shaders, changing colours, changing selection constraints etc. In Blender, if I create a shader, Blender doesn’t show me what it did. It would get very tedious to check the docs for every command I’m trying to do. So, for any Blender Python expert here, do you think it’s possible to do such a tool? It’s so useful, you have no idea.

Overall I’d say they’re doable. The biggest hurdle will most likely be getting to know the api.

Selecting certain types of geometry can be done using operators like:

bpy.ops.mesh.select_face_by_sides
bpy.ops.mesh.select_non_manifold
bpy.ops.mesh.select_interior_faces

In finding concave faces, Blender doesn’t have an operator or function for that - only one that automatically splits them. However, concavity checks are about comparing the sum of a face’s angles against pi * (edges - 2), so writing a function that finds those isn’t too difficult.

As for creating and assigning materials, you’d probably first want to store any original material on a backup layer, so that any previous material can be restored.

1 Like

That’s a good start. Thanks!