Edge Slide Vs. Edge Constraint

I am a new Blender user, Coming from Max and Maya. They both have an edge constraint feature, which simply locks the transforms of verts/edges/faces to either existing edge and faces. I love the edge slide feature in Blender, it works better in most situations, but the nice thing about Max and Maya’s implementation is though, that it also works with rotation and scale. Is there any way to get that with Blender? I’d love to be able to rotate an edge loop over a surface like I can in Max/Maya.



Custom transforms. Ctrl-alt-space is the default hotkey for it. Some (stacked) operations like extruding are a bit bugged in not recognizing it. (It’ll use the normal instead, even if the transform is set to user defined.) But things like move or scale should work. So if you wanted to get the resultant extrude, you’d extrude by 0 and then move on the custom transform.

Letting you know ahead of time it’s not 100% perfect, but it is there.

Thanks Paul,

I am not sure that is the same thing as what I am looking for. Also, I am on 2.8, so that key combo seems to be maximize the viewport. But if it’s where you can pick an arbitrary oject for orientation, that’s not what I am looking for. In Max and Maya, you can constrain an element (like a vertex or edge) to only move along an existing surface (an edge or a face, they work in slightly different ways), so you can move, rotate or scale the selected element(s), but they stay ‘stuck’ to the existing surface, it’s sort of like edge slide, but different. This video maybe will help explain it better. The first part is rotating an edge loop unconstrained, and the second part is rotating with the edge constraint activated.


Just bumping this for more eyes. It’s a feature I find myself missing almost daily.


I think blender doesn’t have this featurem.
But it looks awesome, they should implement it :slight_smile:

you can open a topic on rightclick select.
I think is probably something doable using python.

Thanks for the pointer, I didn’t know rightclick select existed.

The Shear tool works like your video on cylinders, not on cones whether the sloped sides are quads or tris. Demo at 4:30.

Thanks, I love the Shear tool, it’s one of the little modeling tools in Blender that makes things easier for sure. But like you said, it only really works on linear surfaces. I posted something on Rightclick select as well.

and another case usage video

1 Like

I really am missing this feature from max as well. I may try to script it, but not sure if I can do the math / if it requires it. But I’ll look into it. Seems like would have to get the edge vector per vertex and slide along those.

I would love to see this feature as well

Not in 2.8 or at least not last time I tried using it which was possibly on a daily 2.80 build

I have been looking into it a bit today/trying to code something. But not sure if there’s a good way to handle it, in Python. Really it needs to be done internally/properly, and exposed as a Toggle.

Yeah, I thought that as well, since most modeling addons just seem to interact once and/or if they change something more gradually they use a slider, we really need this in some cases.

1 Like

Yeah, the one in Max is “Always On” and isn’t a Modal or anything, which is ideal. It just always tries to constrain as you edit the mesh. I mean, if it HAS to be a Modal, that’s fine, but ideally not.

I was first trying to make something as a Modal, but the tricky part, is to getting/using the verts initially positions, and use that to determine where to go/how to slide along the edge vectors… I think would maybe have to cache the verts initial positions or vectors at the beginning of the Modal possibly, then during the main loop/execution, reset them to their default spots and slide/move along the edge vectors as the user Grabs/Rotates.

I’m sure someone like machin3io could figure it out, as he has done alot of the more complicated stuff I’ve seen. (Mesh Machine). But I know he’s busy with Decal Machine yet and maybe has no interest in trying to make it either.

Actually, I just was messing with meshMachines Offset operator, which kind of does what we want in a way…! You can create a new edge loop from an existing loop, and slide it along the edge, and it keeps the same spacing/general form.

You can take a look at my Modo-Me addon, which has component and last selected(Active becomes the axis for operations) mode. It locks the axis based on those and some others.

Here is a list of axis/center options

1 Like

Thank you. I could try that out. I have ModoMe installed at work.

You can also create a custom TM/Transform via an Edge by Default in Blender. Which I tired, but still doesn’t work as I’d hope/want.

This how it works in 3DS Max. It’s not perfect, but lets you rotate via ScreenSpace for Example, and Constrain to the edges. Also if you move/push it along, each vert will slide until it hits the end of the edge its on, like Blender can do sometimes as well. Which is handy to make certain cuts/forms, or you can also push the whole loop up against another edge loop to “shape” the loop, then slide it back away and it keeps the same form/doesn’t try to re-adjust like blender does.

There is already a function like that in Blender if you want. After edge slide (double G) you can press E and the edge becomes parallel to one of the border edges (with F after pressing E you can toggle between the two borders). As for the Constraint, I agree that it was a useful tool in 3ds max (I’m an old user too), but there are some workarounds when something like that is really need (not too fast though).

1 Like

Aaah, thanks for the F Key Tip. I didn’t mess with Flipped option before, that definitely helps :). Yes, there are some work around/ways to do it, but not as fast for sure. Sometimes I’ve just used Cut/Slice tool and did Cut Through Option and maybe Angle Constraint to get what I wanted.

I got something “working”, but mostly is broken, lmao. In this case, it actually worked, but is pure luck/by chance. I got the basics of it working, but that’s the easy part. Harder part is to figure out how to do proper rotation, and also which edges to slide along, if a vert has 4 edges to choose from. Currently I remove the selected edges off the bat, so it can’t slide along those. But sometimes a vert will slide opposite the other ones, or is totally random. I need some logic to guess/detect what way to go, which is what the internal blender one does.

I’d probably have to setup a Modal, that gets the intial mouse Pos before entering the loop, then use that vector to determine which edges to use/where to slide to.

1 Like

Very cool! If there is anything I can do let me know. I don’t have any real coding ability, but I do have an older maxscript that had some edge slide functionality in it that may have some ideas in it.

While I may not make as much noise as Cedric did for the weld modifier, I posted in this thread, but I don’t think we’ll have modal constraints anytime soon if we don’t make more noise U_u. https://devtalk.blender.org/t/discussions-for-better-snapping-and-precision-modeling-to-come/5351/185?u=xdanic

1 Like