Hi Pilou, sorry I don't think that there is any way to do that currently.
There is a script for selecting objects which are currently visible in the display, but it only selects full objects and not just faces so I don't think it will help you. That script is:
script: /* select displayed objects */ moi.geometryDatabase.selectVisible();
If you separate all the objects into individual surfaces, then that script could get the front ones selected, but that won't help for this case because you want the front one selected while they are still connected as a solid.
If the pieces were not all touching each other, you could separate it, select visible faces, then assign a name or style to those, then join them back into the solid and then use the scene browser to select things of that name or style. But that also won't work for this particular case because all the things are touching each other which will make it difficult to do a group join, pieces may join into their neighbors.
Is this model being created using Grasshopper in Rhino?
If so is it possible for them to modify their construction so that names are assigned to some different groups of pieces so that it could be possible to target a set of them that are not touching other ones? If that was possible then that could help to solve the joining problem.
> When there is no window, maybe something like Select Facets
> adjacents with a maximum angle?
The problem is that those faces are not adjacent in a topological sense, they are not actually connected to one another because each of those cells is a completely separate solid.
They are only adjacent in a spatial sense, and doing things that detect nearest objects in that kind of spatial sense tends to be a lot more difficult to process.
Probably in v3 I could add some new things available to scripts to evaluate surface normals, what would then be possible would be to look at the surface normal of the center point of each face of those solids and only select the face that was pointing most towards the camera. But there is not any way to do that currently.
- Michael
|