Blender : Access sub object data

I wonder if it will be possible to access sub-object level elements (vertex, edge, face) and the associated data like Vertex Groups especially, so you can then have these extra tags in Speckle and filter them in Grasshopper for example.
You could then say this face is a slab, this face is a wall, etc so basically get a BIM workflow out of a single mesh object in Blender!

The Blender to Speckle conversion doesn’t reference MeshEdges (currently at least), just Faces and Vertices. Additionally, the data associated with a displayValue mesh is of the object that ‘possesses’ the mesh or meshes; aggregated, as it were.

You can access the geometric properties of the Mesh in GH by not expanding the parent object and then expanding on the displayValue. In this case, the relationship between the object properties and the display is a bit clearer.

Screen Recording 2022-06-24 at 11_12_19

The speckle team are looking at the material support of Speckle Objects, and perhaps in looking at multi-material meshes this support for data associated with loops might come up. I’ll let them elaborate tho.

1 Like

So you do have access to individual faces sent from Blender? Do those come from the indexes of sub-object Blender meshes?

Vertex Groups go further because they are data which helps to organize the mesh in a similar way to selection groups but with more options because in Blender if you select 2 vertices, it will automatically select an edge between them and if you select 3, then it selects a face.

So now i wonder if is possible to add these custom Vertex Groups to the displayValue list and then Grasshopper to be able to select the vertices/edges/faces based on selecting the Vertex Groups.
Vertex Groups can have custom alphanumeric naming in Blender, so they would need to appear in GH list and be associated with the geometry they point to so they can be retrieved further in GH with List Item, and etc
Not to mention they can also have Weight, which can open even more possibilities for mesh and data organizing and BIM converting.

My ideal scenario that I am thinking of with this, is that you can assign different BIM conversion logic so you can have some edges (pairs of 2 vertices) to become beams or pillars, some faces ( at least 3 vertices) to become slabs, etc and all this info in a single mesh object.