Set edges lenght #43586

Closed
opened 2015-02-07 03:42:19 +01:00 by Giuseppe De Marco · 10 comments

Working with Cosenza Blender Training - [x] I discovered some user habits, specially in engineers profiles, geoscientists and everyone of them who came from CAD experience, that needs the opportunity to set an edge lenght to a fixed, absolute, value.

This awareness pushed me to search and then develop the addon that do this.
I also found and started developing on a fork of NirenYang's mesh_edges_length_angle_yi.py - [x], it was the code that ispired me to believe that other guys, in this world, have already thought that it could be useful.

mesh_edges_length.py simply permits us to set the lenght of an edge even if the Scene is in None, Metrical of Imperial units, converting these automatically to the user. It comes with 4 behaviour:

  • Proportional: it sets the edge length increasing it on both sides, preserving the vertices's middle point position, preventing that the center of the edge could be dislocated.
  • Clockwise: It sets the length increasing it from the last vertice in the clockwise direction.
  • Unclockwise: ...opposite direction of the previous.
  • Invert: it inverts the vertices. Probably it's really useless but I'm let it there for some user experiences that actually I don't cognise. Probably sooner or later this feature will be dropped.

Together with the behaviour settings, mesh_edges_length.py comes with a option called "incremental". It let the behaviour function to work as usual but, instead of setting the edge length to the fixed value, it increase the current edge length with the value that we choose.

mesh_edges_length.py could also works on multiple selected edges but just the last in selection history gets his length displayed in the dialog window, to the user eye.

Accessing methods
It could be called in these ways:

  • Shift+Alt+E, I mantained the Yang approach, it was smart
  • in Toolshelf, It was appended in Tools tab
  • CTRL+E, in Edge Special menu, also appended on the bottom

I hope that this toy is to your liking as it was for me during its development, I'm also curious of your feedbacks.

Working with Cosenza Blender Training - [x] I discovered some user habits, specially in engineers profiles, geoscientists and everyone of them who came from CAD experience, that needs the opportunity to set an edge lenght to a fixed, absolute, value. This awareness pushed me to search and then develop the addon that do this. I also found and started developing on a fork of NirenYang's mesh_edges_length_angle_yi.py - [x], it was the code that ispired me to believe that other guys, in this world, have already thought that it could be useful. mesh_edges_length.py simply permits us to set the lenght of an edge even if the Scene is in None, Metrical of Imperial units, converting these automatically to the user. It comes with 4 behaviour: - Proportional: it sets the edge length increasing it on both sides, preserving the vertices's middle point position, preventing that the center of the edge could be dislocated. - Clockwise: It sets the length increasing it from the last vertice in the clockwise direction. - Unclockwise: ...opposite direction of the previous. - Invert: it inverts the vertices. Probably it's really useless but I'm let it there for some user experiences that actually I don't cognise. Probably sooner or later this feature will be dropped. Together with the behaviour settings, mesh_edges_length.py comes with a option called "incremental". It let the behaviour function to work as usual but, instead of setting the edge length to the fixed value, it increase the current edge length with the value that we choose. mesh_edges_length.py could also works on multiple selected edges but just the last in selection history gets his length displayed in the dialog window, to the user eye. Accessing methods It could be called in these ways: - Shift+Alt+E, I mantained the Yang approach, it was smart - in Toolshelf, It was appended in Tools tab - CTRL+E, in Edge Special menu, also appended on the bottom I hope that this toy is to your liking as it was for me during its development, I'm also curious of your feedbacks. - [x] https://www.blendernetwork.org/events/view/7 - [x] https://developer.blender.org/T39999

Changed status to: 'Open'

Changed status to: 'Open'

Added subscriber: @demarcog83

Added subscriber: @demarcog83

I forgot to attach the code :(

https://github.com/peppelinux/blender_addons/blob/master/mesh_edges_length.py

sorry about this
G

I forgot to attach the code :( https://github.com/peppelinux/blender_addons/blob/master/mesh_edges_length.py sorry about this G

Added subscriber: @tynkatopi

Added subscriber: @tynkatopi

Nice start, you could add one option: add length, so value will be added to edge length. And maybe pop up dialog window away.

Nice start, you could add one option: add length, so value will be added to edge length. And maybe pop up dialog window away.

Tynkatopi there was a bug that I've just fixed,
now add lenght works and I added the "decrease" modality too.

Hope this helps

Tynkatopi there was a bug that I've just fixed, now add lenght works and I added the "decrease" modality too. Hope this helps

The only critical issue is that increasing / decreasing multiple edges with shared vertices, each others, will deforms the mesh.

I hope to find some solution in the future, when time permits.
Actually self.report returns INPUT OUTPUT ERROR dialog if selection includes edges with shared vertices, the user is now adviced.

I'm working on a more accurate way to increase and decrease multiple edges without breaking the mesh.

I'm realizing that the only way to change the length of a edge without breaking a mesh is understanding how manage edges with foreign connections with others and let the user, with opportune options, choosing how do that.

With this simple addon I've learned how vertices and edge were implemented in Blender, I also learned the differences, in space, between edges in positive and negative domains, the order they appears and the fault using the same approach to all of them.

I should inspect if a vertices is in positive or negative domain (x,y or z) and develop an approach that could work in all the case.

The only critical issue is that increasing / decreasing multiple edges with shared vertices, each others, will deforms the mesh. I hope to find some solution in the future, when time permits. Actually self.report returns INPUT OUTPUT ERROR dialog if selection includes edges with shared vertices, the user is now adviced. I'm working on a more accurate way to increase and decrease multiple edges without breaking the mesh. I'm realizing that the only way to change the length of a edge without breaking a mesh is understanding how manage edges with foreign connections with others and let the user, with opportune options, choosing how do that. With this simple addon I've learned how vertices and edge were implemented in Blender, I also learned the differences, in space, between edges in positive and negative domains, the order they appears and the fault using the same approach to all of them. I should inspect if a vertices is in positive or negative domain (x,y or z) and develop an approach that could work in all the case.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Giuseppe De Marco self-assigned this 2015-04-05 16:23:57 +02:00

This addon is not usefull as I thought , learning blender I understood how to set, with extreme precision , an edge's length .
Otherwise , actually , blender Has a Thing That could be fixed , when it scales in objects mode it changes the dimensions of the mesh without updating the edit attributes , the edges length will not be updated.

Now I use two methods to increase or decrease an edge length , in edit mode I select a vertex or a face , then press the G key , then the X or Y or Z drive to transform the orientation That I need , and then I write positive or negative float number on the keyboard .

The second is simply to scale object in edit mode . NEVER in object mode.

Now that I understand how to do this I think that I will not use the addon I wrote :) but , maybe, I'll think how to intercept the S key press to trigger the EDIT mode and then return in the OBJECT mode without any edit attributes loss.

my two cents, this addon request should be closed ! :)

This addon is not usefull as I thought , learning blender I understood how to set, with extreme precision , an edge's length . Otherwise , actually , blender Has a Thing That could be fixed , when it scales in objects mode it changes the dimensions of the mesh without updating the edit attributes , the edges length will not be updated. Now I use two methods to increase or decrease an edge length , in edit mode I select a vertex or a face , then press the G key , then the X or Y or Z drive to transform the orientation That I need , and then I write positive or negative float number on the keyboard . The second is simply to scale object in edit mode . NEVER in object mode. Now that I understand how to do this I think that I will not use the addon I wrote :) but , maybe, I'll think how to intercept the S key press to trigger the EDIT mode and then return in the OBJECT mode without any edit attributes loss. my two cents, this addon request should be closed ! :)

You should apply scale and edges lengths will be correct.

You should apply scale and edges lengths will be correct.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#43586
No description provided.