Scale in direction?

I’m not sure how to describe this, but what I’m looking to do is scaling kind of diagonally. My model is facing diagonally and I extruded a ring around it. Now I’m trying to scale the top of the ring inwards so looks less blocky.

This is how it looks.

When I try to scale along the X axis it turns into this:

It works fine when I’m scaling the ring outwards, so how can I make scale it in the direction the tubes are facing?

I hope this was somewhat understandable. Would be great if someone could help me with this. Thanks in advance.

Pivot point to median and nomal scale.

Sadly that doesn’t work. Normal scaling only makes it bigger and smaller, and scaling along the axis still attempts to turn the thing into a möbius strip.

Then I dont understand what are you trying to do. Try to scale only edgeloop instead of faces if that helps.

Try switching your Transform Orientation from Global to Local.

I’m trying to do this:

to this (in this case achieved by just scaling down those faces on the y axis):

only that I want to do this on the mesh in the images above, which is tilted diagonally which means trying to scale along an axis doesn’t work out right because the axis is straight, not diagonal.

Here is an example, see:

This is how it looks. It is diagonal now.


When I now scale the faces down on the y axis like in the images above, this happens:

(Posted twice because the limit is 3 images per post, sorry about that)

Aah, just make custom transform orientation one of those long edges and then scale with its axe.
Another method is to make loopcut middle of your selected faces, bevel it an delete border 2 edgeloops.
Third one is inset those selected faces and delete 2 border edgeloops.

you could double tap G and just move the edgeloops manually.Can’t remember how to scale at an angle but it has to do with creating a custom transformation orientation and scaling on it.

What happened when you tried Local Transform? I’m not clear on why this isn’t achieving the desired result. When I use Local Transform to scale I get something like this,

As JuhaW stated, just make a custom orientation. Select the edge you want to orient on, press Ctrl+Alt+Space, then give the orientation a name.

You don’t have to do all that. Ctrl-Alt to select the edge ring you want to scale. pick individual origins from the pivot point menu. Press S to scale. Since edges are 1D (corrected: I can’t believe I originally said 2D!) they only scale in one axis so the orientation is irrelevant.

For this case, try this :

Make the Orientation to Normal :

Notice the Manipulator changing its orientation accordingly :

Now you want to scale on the Normal Y , and there is the trick, if you now press S then Y , it will still scale only on the Global Y (even despite you set the orientation to Normal … one of the Blender “funny” )

What you need to do is press S then Y then press again Y , and it will now scale on the Normal Y

And notice how Blender gets crazy, after doing that scaling, the Normals orientation have completely changed (so S then Y then Y will lead to scale in a completely different way), i can’t say if it a bug that should be reported or another Blender “funny” .

That’s why creating a custom orientation should be the best way , as even Blender changing the normals will not break your custom orientation, allowing you to scale again without losing the direction you wish

Here’s a screenshot to explain my last post. Oops Sanctuary in between.

I’m not entirely sure what I did wrong, but when I tried local transform it just did the same thing as above. I believe it was because I tried to scale faces, not edges.

Thanks, the method you explained works great.

And thank you Sanctuary, that also works. And I learned about custom orientation. Thanks to everyone for the help.