Zooming out WHILE selecting impossible?

Hi,
I never succeed zooming out while selecting rectangle has been initiated !
As soon as I turn my mouse wheel, my selection rectangle diseapear and I can no more complete my selection rectangle…
I need this when selecting a very precise rectangular portion of a big model
(to make it a sub group for instance)
-using SU Make 2017
Thanks for your kelp

Maybe you’ll need to find a different way of making the selection. Perhaps you could use Outliner or maybe orbiting the camera would help. Sometimes I find switching to parallel projection and a standard view helps.

This has bothered me too in my years as a SketchUp user, but there is an explanation for this limitation.

What is a rectangle in 2D screen space, is a pyramid with the tip on the camera in 3D model space. The corners in 2D space resemble the edges of the pyramid. Entities inside this pyramid gets selected.

If you selected the first corner, moved the camera to select the second corner, the question is where the first corner should go. Should it stay on the same place on the 2D screen, ignoring the model moving behind it? That would probably feel broken, as you want the selection to include certain entities in 3D space, and move with them as they move in your view

The corner would somehow need to retain its position in 3D space, and this is where it gets complicated. A 2D point on a screen simply doesn’t have a defined position in 3D space. It all depends on how “deep” into the screen you imagine it to be. A 2D screen space point could be any 3D space point along an infinitely long line, like the edges of the pyramid drawn above.

The problem is that as soon as the camera moves, this line wouldn’t resemble a single point anymore in screen 2D space, but a line. After moving the camera, the first corner could be anywhere along an infinitely long line and SketchUp can’t easily know where you would desire for it to go.

This could perhaps be addressed by simply giving the corner a depth in 3D space from the start. It could be on the intersection with geometry or the ground plane, but chances are the point wouldn’t be at the depth you imagined it in your head, and the selection box corner then wanders way off to some unexpected place as soon as you move the camera. This could easily be confusing and feel broken. I think it’s a reasonable design choice to just drop the selection box once the camera starts moving to avoid having to answer how the first corner should be treated.

There is one exception though worth noting. In parallel projection, panning or zooming doesn’t create any such ambiguity where you want the first corner to go. The model space 3D line would still map to a single defined screen space 2D point after such a camera change and in theory SketchUp could keep the first corner. However I can’t say how much work this would involve to implement or what the benefit to cost ratio would be. I can imagine it wouldn’t be a high priority, but I don’t know and it’s not my decision to make.

I hope this explains the situation!

6 Likes

Thanks for your ‘to the point’ detailed answer!
I am actually always working in parallele projection, and that point was my concern.
In that parallele representation, the apparent 2D-rectangular selection defines in fact a rectangular prism whose intersection with the model should be easy to evaluate. And the fist 2D-corner would define one of the four generator edges of this prism (a simple line), and should be easy to memorize when engaging a zoom out with the mouse wheel…The final opposite generator edge would then be defined, after the zoomout, on left-click-release…? IMHO
How do you feel it?
It would be nice

I agree that from a purely geometrical point of view it would be quite trivial to get this to work in parallel projection, but then there are other factors to how difficult it would be to implement. My responses here are based on my observations as a user and I haven’t looked into how this part of the code is structured. I don’t even work on the same team that typically would implement something like this.

I’ll log this internally though for the right people to have a look at.

Edit: Logged as SU-48610.