Yep, I mean flattening the extisting geometry. I used the mathematical meaning of “projection”, which encompasses both viewing and transforming.
The use cases are both correcting broken non-coplanar geometry and creating low-poly and face-me components from more complicated ones to optimize performance in large models.
There are several extensions that are claimed to be capable of “projection onto plane”:
None of which worked in my SU 2017.
Which is paid. Then there are the Architect Tools, which should be able to do it, but I haven’t tested them because I’d feel like taking a sledge hammer to kill a fly.
So despite it looks like a trivial problem, there seems to be no easy solution. Of course I could’ve coded myself something like that, but I thought there’s no reason why it couldn’t be possible to do with the Scale tool. Because flattening is exactly the same as scaling one coordinate to zero.
Having it implemented this way would be a reliable and easily accessible solution.
EDIT: Speaking of the technical issues, this feature could be accessible using the VCB only (so that the user could not cause the geometry to break while randomly moving the mouse). Then there’d be a procedure which would check the geometry for self intersections, merge overlapping edges and faces and so on. If flattening the model wasn’t what user expected (which would be weird considering he entered 0 to the VCB), he could easily use Ctrl+Z.
Ah, I see: flattening groups and components would be a bit worse. But still there seems to be no reason for SketchUp to crash when rendering eg. zero-volume faces and zero-length edges. The only real problem would be editing groups while they’re flattened.