[Merged] Split Edge function for Sketcher
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Be nice to others! Respect the FreeCAD code of conduct!
[Merged] Split Edge function for Sketcher
Hi to all,
hopefully I am not the only one, who created an edge in Sketcher, tightened it with several constraints and then found out two smaller edges were needed instead of a single large one. Thus I decided to offer a new functionality for FreeCAD's Sketcher - "Split Edge".
It is a new button, currently allowing to point to a line segment, circle or an arc of circle and "split" them into two (well circle is just converted to an arc) with inner end points joined together by a coincidence constraint. All reasonable constraints like coincident, vertical, horizontal, distance, radius, parallel, tangential etc. are preserved for both descendant edges or transferred to the closer descendant.
For this feature I have created a pull request https://github.com/FreeCAD/FreeCAD/pull/4420. Please feel free to test it, comment or report any bugs. If there is any interest, more geometries (ellipse, parabola, hyporbola) can be added in future. For now I would be more than happy if it makes to the master.
Kind regards,
Tomas
hopefully I am not the only one, who created an edge in Sketcher, tightened it with several constraints and then found out two smaller edges were needed instead of a single large one. Thus I decided to offer a new functionality for FreeCAD's Sketcher - "Split Edge".
It is a new button, currently allowing to point to a line segment, circle or an arc of circle and "split" them into two (well circle is just converted to an arc) with inner end points joined together by a coincidence constraint. All reasonable constraints like coincident, vertical, horizontal, distance, radius, parallel, tangential etc. are preserved for both descendant edges or transferred to the closer descendant.
For this feature I have created a pull request https://github.com/FreeCAD/FreeCAD/pull/4420. Please feel free to test it, comment or report any bugs. If there is any interest, more geometries (ellipse, parabola, hyporbola) can be added in future. For now I would be more than happy if it makes to the master.
Kind regards,
Tomas
Last edited by Kunda1 on Sat Apr 24, 2021 1:09 pm, edited 1 time in total.
Reason: PR was merged
Reason: PR was merged
-
- Posts: 529
- Joined: Fri Sep 18, 2020 5:40 pm
Re: Split Edge function for Sketcher
Seems like a cool feature. I have definitely had the problem you described. I would suggest that the button is grouped with something else, as sketcher has so many other buttons. Also, this if probably not the best place for this announcement, if you want feedback on your idea. Better would be to post in Open Discussion that is watched by more people.
Re: Split Edge function for Sketcher
Hello David,
thank You for Your feedback! As for the extra button, I have nothing against grouping this functionality with something similar, but honestly, I have no idea what this could be. I somewhat feel it belongs to the geometry operations group, like Extend Edge and Trim Edge, but if something should be grouped there, these latter twos are the most likely candidates. Anyway, if You have any suggestions, please let me know.
For the forum area selection, last time I added something new, I posted it to Part Design section and asked moderators, if it does not quite fit there, to kindly place it where it suits better and eventually the topic landed here. So for Split Edge functionality I chose Announcements & Features right away. But feel free to move the topic (if You can) or to create a "sister" thread and link it with this one here.
Kind regards,
Tomas
thank You for Your feedback! As for the extra button, I have nothing against grouping this functionality with something similar, but honestly, I have no idea what this could be. I somewhat feel it belongs to the geometry operations group, like Extend Edge and Trim Edge, but if something should be grouped there, these latter twos are the most likely candidates. Anyway, if You have any suggestions, please let me know.
For the forum area selection, last time I added something new, I posted it to Part Design section and asked moderators, if it does not quite fit there, to kindly place it where it suits better and eventually the topic landed here. So for Split Edge functionality I chose Announcements & Features right away. But feel free to move the topic (if You can) or to create a "sister" thread and link it with this one here.
Kind regards,
Tomas
Re: Split Edge function for Sketcher
This seems like a good feature, and I've been in situations where it would be useful. I don't really think it belongs anywhere but sketcher, though. Next to trim or around there like you say.
-
- Posts: 991
- Joined: Wed Mar 27, 2019 10:45 am
Re: Split Edge function for Sketcher
How about this: split edge should be a dropdown option of point (modal, which means it behaves like diameter/radius constraint, once selected it stays in the selected mode).
Here my reasoning: if i want to "split edge" right now i generally place a point on an edge. It is not equivalent but generally that's what i would use it for. Also point in sketcher is not too used anyway. So normal operations won't be too clogged by "hiding" the new function with point.
What do you think?
Here my reasoning: if i want to "split edge" right now i generally place a point on an edge. It is not equivalent but generally that's what i would use it for. Also point in sketcher is not too used anyway. So normal operations won't be too clogged by "hiding" the new function with point.
What do you think?
Re: Split Edge function for Sketcher
Hello Raton,
thanks for Your suggestion. Basically I do not see any technical problems implementing the solution You propose, only from my point of view it is not much "intuitive". Here's my reasoning:
The proposed implementation in the pull request lets the user point wherever on the line/circle/arc and from a single edge the action creates two connected ones. So in the element list there once was an edge and now there are two of the same type (pardon circle) at the end. The edge was split into two.
In case of the "Splitting Point", no actual point is created, only a "virtual" one. There's no new point in the element list. I feel this somehow defies the "Create <element>" paradigm of that toolbar section. As I feel it, I am "splitting an edge", rather than "adding a point which splits an edge".
Also a question comes to mind, whether the users (especially the new ones) can identify such functionality correctly and not accidentally switch to "Splitting Point" and then ask questions like "Why I can add point only on a line/arc?" here in the forum.
It seems to me we are trying to invent ways how to gain toolbar space on account of usability. But why actually, if anyone with a smaller screen can create their own customized toolbar with exactly the buttons they need most, hide the "bloated" standard toolbars and access the rest of commands from menu?
Of course, we are different people with different mind sets, so probably Your suggestion is the one more people would prefer. Let's find out what others think...
Kind regards,
Tomas
thanks for Your suggestion. Basically I do not see any technical problems implementing the solution You propose, only from my point of view it is not much "intuitive". Here's my reasoning:
The proposed implementation in the pull request lets the user point wherever on the line/circle/arc and from a single edge the action creates two connected ones. So in the element list there once was an edge and now there are two of the same type (pardon circle) at the end. The edge was split into two.
In case of the "Splitting Point", no actual point is created, only a "virtual" one. There's no new point in the element list. I feel this somehow defies the "Create <element>" paradigm of that toolbar section. As I feel it, I am "splitting an edge", rather than "adding a point which splits an edge".
Also a question comes to mind, whether the users (especially the new ones) can identify such functionality correctly and not accidentally switch to "Splitting Point" and then ask questions like "Why I can add point only on a line/arc?" here in the forum.
It seems to me we are trying to invent ways how to gain toolbar space on account of usability. But why actually, if anyone with a smaller screen can create their own customized toolbar with exactly the buttons they need most, hide the "bloated" standard toolbars and access the rest of commands from menu?
Of course, we are different people with different mind sets, so probably Your suggestion is the one more people would prefer. Let's find out what others think...
Kind regards,
Tomas
Re: Split Edge function for Sketcher
AFAIK you cannot remove entries from the standard toolbar, you only can create your own additional one.
I think that both functions - adding a centered point, and splitting a line in two - are not really frequently used, as is the point itself. So I can well acccept a drop down switching between an arbitrary point and a centered one. But we are indeed talking about two functions, and both could be interesting:
1) Create a point wich is to be placed on a line with a symmetry constraint. Such a special point could be in a drop down of "Point".
My real favorite would be to have this in the auto constraints, so that the symmetry is created automatically if you are near the center. This wouldn't require any additional icon.
2) A split function breaking an existing line into two, which should be in a dropdown of the fillet function, because it is indeed a "fillet in the middle of a line" (haha).
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Split Edge function for Sketcher
Hello Chris,
Kind regards,
Tomas
yep, that's correct, nevertheless You can always hide/close the standard panels and create Your own "custom" one with the features best suited to You.
This sounds interesting, though I never felt a need for such a thing in contrast to "breaking edges".chrisb wrote: ↑Tue Mar 16, 2021 6:47 pm 1) Create a point wich is to be placed on a line with a symmetry constraint. Such a special point could be in a drop down of "Point".
My real favorite would be to have this in the auto constraints, so that the symmetry is created automatically if you are near the center. This wouldn't require any additional icon.
Should be "Split Edge" placed under "Fillet" dropdown, then I would really prefer to create an "Edge ..." group dropdown with "Extend Edge", "Trim Edge" and "Split Edge" actions. If anything, at least the operation names sound similar :-)
Kind regards,
Tomas
Re: Split Edge function for Sketcher
I use it more often than split edges. The latter can cause undesired additional edges in a solid which cannot always be refined, and if added later they can cause serious toponaming issues.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Split Edge function for Sketcher
I thing this (very useful!) functionality would fit nicely together with "trim edge": In both cases the edge is split. Only in once case, the excess is removed, in the other it is kept as an individual part.
On the other hand: In other cases where a button is a drop-down with several variants, they are all "operated" in a similar way. In the case of split/trim edge, they are not: in one case you have to click on the segment of an edge you want to remove, in the other you have to click the position where a new point (that splits both parts) is to be inserted.
What do you think about asking in the UX sub-forum? There you have the usability experts...
On the other hand: In other cases where a button is a drop-down with several variants, they are all "operated" in a similar way. In the case of split/trim edge, they are not: in one case you have to click on the segment of an edge you want to remove, in the other you have to click the position where a new point (that splits both parts) is to be inserted.
What do you think about asking in the UX sub-forum? There you have the usability experts...