[Merged] Split Edge function for Sketcher

Info about new community or project announcements, implemented features, classes, modules or APIs. Might get technical!
PLEASE DO NOT POST HELP REQUESTS OR OTHER DISCUSSIONS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
tpavlicek
Posts: 60
Joined: Sun Jan 07, 2018 2:15 am

[Merged] Split Edge function for Sketcher

Post by tpavlicek »

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
Last edited by Kunda1 on Sat Apr 24, 2021 1:09 pm, edited 1 time in total.
Reason: PR was merged
davidosterberg
Posts: 529
Joined: Fri Sep 18, 2020 5:40 pm

Re: Split Edge function for Sketcher

Post by davidosterberg »

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.
tpavlicek
Posts: 60
Joined: Sun Jan 07, 2018 2:15 am

Re: Split Edge function for Sketcher

Post by tpavlicek »

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
zardozer
Posts: 49
Joined: Sat Nov 07, 2020 2:35 am

Re: Split Edge function for Sketcher

Post by zardozer »

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.
RatonLaveur
Posts: 991
Joined: Wed Mar 27, 2019 10:45 am

Re: Split Edge function for Sketcher

Post by RatonLaveur »

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?
tpavlicek
Posts: 60
Joined: Sun Jan 07, 2018 2:15 am

Re: Split Edge function for Sketcher

Post by tpavlicek »

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
chrisb
Veteran
Posts: 53786
Joined: Tue Mar 17, 2015 9:14 am

Re: Split Edge function for Sketcher

Post by chrisb »

tpavlicek wrote: Tue Mar 16, 2021 5:56 pm 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?
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.
tpavlicek
Posts: 60
Joined: Sun Jan 07, 2018 2:15 am

Re: Split Edge function for Sketcher

Post by tpavlicek »

Hello Chris,

chrisb wrote: Tue Mar 16, 2021 6:47 pm AFAIK you cannot remove entries from the standard toolbar, you only can create your own additional one.
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.

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.
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 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).
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
chrisb
Veteran
Posts: 53786
Joined: Tue Mar 17, 2015 9:14 am

Re: Split Edge function for Sketcher

Post by chrisb »

tpavlicek wrote: Tue Mar 16, 2021 9:24 pm This sounds interesting, though I never felt a need for such a thing in contrast to "breaking edges".
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.
User avatar
jonasb
Posts: 162
Joined: Tue Dec 22, 2020 7:57 pm

Re: Split Edge function for Sketcher

Post by jonasb »

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...
Post Reply