Is there a selection helper like in FreeCAD or is it possible to select (real) faces (not facets), edges, and corners of meshes?

See this snippet of FreeCAD ( from 8s - 11s)


Is there such a helping tool in ThreeJS?

If not:
I know it is possible to get individual facets and their vertices, but is it possible to get the real faces (i.e. one face of a box consists of two facets and therefore 6 vertices) and real 8 corners (not the 24 vertices) of a mesh?

I know it’s easy to get them by myself considering a simple box, but if I have a more complex mesh it gets much harder to calculate them.

Thanks in advance

Not that I am aware of.

Unfortunately, three.js’s geometry classes (which are primarily focused on rendering) are not able to represent such topological information.

Not sure I understand this part. In the video you can clearly see that it’s possible to selected the cylinder component of the left geometry. Without additional information about it’s shape, I think it’s impossible to compute this selection. How would you know which triangles are relevant and which not?

1 Like

This kind of selection you probably mean can be done with a face normal threshold, such as grouping all connected triangles where the face normals are below 90 degree to each other.

I made a geometry construction library that is made for fast and efficient asynchronous construction with an easier and more extensive API than the deprecated Geometry class, it has this functionality too. It’ll be available within next week in case you’re interested.

4 Likes

I’m looking foward to it

Hi @Fyrestar,

will you announce it in the forum when your library is available?

Yes, it has been delayed a little by unexpected work, it should be ready this week.

You need to define which triangles constitute a face. This needn’t be any more complicated than an array of indices. How to obtain these collections is a completely different issue. Different formats can hold submeshes though, so maybe it could just be exported to something that can describe ngons or submeshes. For example, in 3ds max you can define smoothing groups and assign triangles and faces manually. If you were to split the edges of smoothing groups, you’d have something to select.

@Fyrestar,
How is it going? Still working on it? I’m just curious

Did this ever get released?