[Addon] Edge length equalizer.


(kroopson) #1

Hi. I’ve made a small tool that is setting the selected edges length to the same value.


The source code is here:

Usage:
Select edges that you want to make equal and use the space bar menu to call one of three operators:
Equalize edges length to average
Equalize edges length to longest
Equalize edges length to shortest

After that you can use scale parameter to further resize the results.

Comments and critics are welcome.

Cheers.

PS. If this addon will prove useful I’ll try to submit it to the Blender release.


(ArMan) #2

That is something I’ve been hoped for very long. But what if I want them all to be for example 2cm? Can it be done with this by typing 2cm to somewhere? (of course I can make the shortest edge to 2cm, but it would be cool to do it without that additional step.)


(kroopson) #3

You can scale them with a parameter “Scale” after the operator has been called, however if you need it very much I can make fourth operator that will set the edges lengths to specified value…

… or wait… I’ve got an idea :wink:


(JuhaW) #4

Nice, and one option “edges length to active edge”


(dank0) #5

also it will be nice to equalize edges to last selected.

edit: Juhaw was faster than me :slight_smile:

edit2: And another option will be to pick direction where the sizing will grow/shrink, so i can keep one side original shape and it will only change the other sides


(Oyster) #6

but how to judge the start point and direction of every treated line?


(dank0) #7

same way like with slide edge - double “G” to activate slide with activated slide hit key “E” and you can change the direction with key “F”


(kroopson) #8

The problem is that it’s not by default working on edge rings but on any selected edge. I’ll try to figure out something but in the meantime I’m implementing the operators a little bit different. The equalized edge length is set as a parameter “Widght”, and after the operator has been executed you can actually modify the result length instead of this nonsense “Scale” idea of mine.

Cheers.


(mkbreuer) #9

some time investing to combine it with a min and max value to start the lenght also from a boundary face side?
Would be very handy…

For inspiration https://www.youtube.com/watch?v=55NUR3tAiLk


(masterxeon1001) #10

this is very nice. Also hello mkb haha.


(ArMan) #11

I actually at last now had time to test this. And I have no experiese of python. I saved it as .py file and github did add some .html elements to the file, that cannot be right. Then I tried to copy/paste it to blenders text editor, but I get errors when I click “run script”.

If somebody could help this noob, it would make me happy. ^^


(Cyaoeu) #12

You need to save the Raw version.


(DERBENDER) #13

go to his link, one folder up,then download zip
https://github.com/kroopson/blenderedgeequalize
Cause it is an add-on, put the .py file in your add-on folder and activate it in blender -> user preferences.


(ArMan) #14

Oh. Nice.

I found out that it works very well when you select edge rings, but with edge loops it does not work. I hoped that it would be used to create perfectly spherical loops since ALT + SHIF + S cannot do it alone, cause it does not care about the edge lenghts.


(Jakasan) #15

Thanks seems it will usefull


(Nanomanpro) #16

Very useful, thanks :yes:


(1D_Inc) #17

Hi)
1D_Scripts toolset contains tool called Set Edges Length
It sets edges length to distance, stored by [store dist] button from Sideshift tool of 1D_Scripts
It also contains options


(Vaskania) #18

Was wondering if something like this existed, and then saw it as a recommended addon in hardops. Thanks!

One hopefully small request, a submenu for this in either the specials (w) or edge (ctrl-e) menus.