How do I snap this? Snap object size to match another object's size

Hi,
how do I snap this? The scaling of the red object should snap to the grey object’s right side so that they share the same size. I’ve tried nearly every snapping-option but can’t get it to work. I struggeling with this for quite some time now but today is the day I’m posting this question :slight_smile:
BTW: I know I can “Copy size to selected” but my question is more of a general nature, as there are situations where “copy to selected” is not working.
Thank you
screenshot

Hi @banana,

be sure to have the scale option selected at the bottom of the dropdown.


then snap to a corner vertex

Cheers,
Dj

Thanks for the answer. It’s kinda working, but it presumes there is a corner vertex to snap to and the position of the objects have to be on par to get the snapping to work.
Is there a way to get it to work with edges too?
Here again another example, where corner vert isn’t working but I need to get these two edges to match when scaling.
screenshot

Add a single vertex into your scene …

using snap-to-edge align it to whichever edge your scaling needs to reference, then scale your other mesh using vertex snapping to that single vertex. Delete it when you’re done.

Dj

Thanks for taking you time and helping me out leaving my noobyhood behind. I did what you said. But it is still not working. Am I still doing something wrong?
Here, have a look
screenshot

Scaling only works from the scaling point, which is the center of your mesh ( for a standard cube), so the dotted diagonal line you can see is the scaling amount, which is unrelated to whether the edges line up. That is a linear result ( ie the other side of the cube also scales the same amount so even if it was already aligned to another edge, it would change.)

It might help if you explain your use case, then I can see if this is going to work as a general rule.

Dj.

Basically I am interested if this snapping function is even existing in blender and if I am just to puzzled to find it/find the right snapping settings.

Example: I am working with architecture at the moment. I’d like to proportionally scale a freshly added cube to let the upper face match the ceiling hight of a given wall/room. Like this:
screenshot

I know it’s possible via snapping when constraining scaling to the Z axis. And I know it’s possible via snapping when moving the upper cube face on the Z axis in edit mode. But is it possible with proportionally scaling (meaning no constraining) as well?

In Adobe Illustrator for example (which is not 3D, it’s 2D Vector, in know, I just want to illustrate the problem) this is very much possible:
screenshot2

And afaik it is even possible in Sketchup. Unfortunatelly I don’t have Sketchup installed to post an example.

Ah, I see,

to the best of my knowledge that isn’t possible with Blenders snapping options, though if anyone knows otherwise, please comment.

Is there a specific reason why it has to be a cube , and does the cube’s centre have to be at the bottom of your architecture mesh ? Depending on your requirements here, there may be further options.

No, it doesn’t have to be a cube with the this center location. It also appears to me, when appending/importing different building modules and trying to match them in scale as close as possible for seamless junctions between the modules (see my second GIF). e.g. when trying to combine different symmetric vault modules with differing sizes (because I used them other projects with different scaling).
Or also just 2D geometric illustration stuff, for motion graphics, kinda like my very first GIF uploaded in my initial post. I know, there are Illustrator, Inkscape and After Effects, which have pretty much better tools for this, but sometimes you have to quickly do something similar in blender, without switching software (which you’d have to have installed at all). Here a snapping function like the one mentioned above would be very helpful.

Why it does not work what you expected, cause blender did not know if you want snap the point to the top (z) or to the right (x).

workaround: constrain the scale, here to z

then correct the scale factor and apply scale

1 Like

Ok, thanks. This way it is working, even if you’re needing two steps.
But I don’t think, the problem roots from blender not knowing which point (x or z) to snap to. Because: Since 4.0 I can choose a snap base, which defines this exact point, from which point/element I want to snap to another point/element. And even in this scenario it is not working. I choose the lower right vert as snap base, then I try to snap to the upper right vert of the lower plane (with scale snapping enabled, of course). But the scale of the upper plane does not match the lower plane’s scale.
screenshot

So maybe this is just not how Blender is working, maybe I am expecting too much and I am greenly transferring my vector software based snapping expectations to blender’s workflow. Dunnow

Blender knows which point you want to snap, but the problem still persists cause by default scaling is proportional, so there a 2 solutions and blender wants to know which you want.
It would only work if the scaling can be done without deforming the object.

But you are right there are cases that should work for example by snapping an edge on an edge.

If you make a post on https://blender.community/c/rightclickselect/ about that i would guess the chances are good for such an improvement.

In Blender 4.0 and newer, while using the Grab, Rotate, or Scale operators, you can press B to enable the snapping features. Combine that with the 3D cursor, and you can go very far, very fast.

https://i.imgur.com/xGhOter.mp4

ScreenCast Keys isn’t working at the moment, so for reference: I’m pressing…

  • Hold D to draw annotations
  • I use the Machin3Tools addon, which means when I hold Tab I get a radial menu to go direct to Vertex/Edge/Face edit modes or Object mode; if you don’t use it, just hit vanilla Tab to go into edit mode.
  • Shift+S to open the Snap 3D Cursor radial menu (snap 3D cursor to corner of mesh)
  • I could’ve used . (Period, not Numpad Decimal) to open the Transformation Pivot Point radial menu, but didn’t.
  • And I’m pressing B both when moving the cube to the floor (G grab, B snap by, click corner of box, click edge of floor) and when scaling the cube (S scale, B scale by, click corner of box, click edge of floor).
1 Like

You can scale/rotate around the 3D Cursor instead. Just change the transformation pivot mode (. Period, not Numpad Decimal; or use the menu which by default is at top-center of the 3D Viewport). See my other reply above for how to quickly employ that in this scenario.