Prevent flipping component behavior

There are many components that you want to have flipped instances of, like one half of a symmetrical objects like a car, apartments at opposite ends of a building and much more.

There are also components that should never be flipped, like a stove or washing machine with controls on the front, texts, computer keyboards, logos and the like.

Sadly these can’t be easily combined in a SketchUp model. If I make a building where half of the apartments are perfect mirrors of the other half, I naturally want to use components so I can edit one instance and have all changed, but I don’t want to mirror certain items within the apartment, like drawing symbols or the logo on the fridge or a poster on the wall.

To have the best of both worlds, I propose a new component behavior - “Prevent flipping”.
This would make sure a component instance is always drawn as not being flipped, regardless of whether its parent is. This would be controlled from the Edit tab of the Component inspector, next to Face Me, Cut Opening etc. This behavior would be turned on by default for texts created through the 3D Text command.

In practice this would be achieved by having the component graphically flipped (preferably along its red axis, side to side) when the determinant of its “accumulated” transformation is negative.

I’m not 100% sure if the flip should be carried out around the center of the component’s bounds or its axes. Flipping along the bounds would automatically give the correct result in the vast amount of cases,
while flipping around the origin opens up for errors if the origin isn’t wisely placed. On the other hand flipping around the origin opens up for more user control. Using the origin/axes is also more consistent to how Fame Me component works, which I think is quite crucial. However, In contrast to Face Me components there isn’t as direct feedback if you have the axes unwisely placed, and you may not figure out as easily why an instance in a flipped component appears shifted to the side, as you would understand why a Face Me component doesn’t rotate along its center axis.

I’m guessing this would be a medium-easy to medium difficult feature to implement, as it is somewhat closely related to the existing Face Me behavior. The same instance needs to be drawn differently at different instance paths (different instances of a parent), which is already supported for Face Me components.

This could also be one of those neat features that sets SketchUp apart from other programs, and makes it more enjoyable to use. To me this could easily be one of the main selling points for a new version.

@olivia_feng
(Not sure what Sandra’s username is)
@kathy_davies

2 Likes

I think you really hit on something here. Since we mostly mirror along one of the horizontal axis I think the origin of the components would have to be in the center of the object in both directions to maintain its relative position.
I still think it’s a pretty tall order.
I was actually surprised by a behavior yesterday when I changed the axis of a window component after I had placed some and the axis was updated but they remained in the correct position.
I have been doing this type of work for a long time and always had to maintain a left and right version of each unit separately.

@eneroth3 - thank you for this suggestion, and your clear description of the problem you are trying to solve. I will gladly relay this request to the product team for consideration.

2 Likes

Thanks!

let us flip an apartment north to south.
If you flip an apartment, the stove that was facing north must spin and face south.
The refrigerator that was facing east still faces east so spatially all it is doing is sliding to the new location.
And so for all such components according to what angle they are to the mirror plane. They have to go to the new footprint and be oriented correctly.

No spinning around needed. Flipping north/south and spinning 180 degrees is identical to flipping west/east. If objects are flipped left to right along their center they will have the correct location and rotation (given the user consistently uses red axis as left/right but that convention is established with Standard Views as well as Face Me components).

I guess one way (for me) to look at it is. The object first mirrors as usual, then flips on its red axis to correct.

1 Like

Yup, that’s exactly what I mean. Everything flips as it currently does, and if an object with this non-flip property is within a flipped context, it counters for this by flipping an extra time along its own Red.

2 Likes

Semi off topic, but this reminds me of the question/riddle/mind puzzle why a mirror flips right and left, but not up and down.

Mirrors don’t flip left and right. If you face a mirror, it flips your backwards and forwards. It flips around its plane. The idea of you facing a copy of you that is both turned 180 degrees and flipped left to right is a construct of your own brain, likely caused by us being so used to people rotating around a vertical axis that we don’t even notice it.