Sketcher mini-features

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Sketcher mini-features

Post by triplus »

abdullah wrote:The question is, it is a common operation to make points coincident with the origin? In my workflow, either it gets constrained via "autoconstraints" on creation or it is extremely rare that I have to do this operation. If it is worth in your workflow, then I can implement it, it is not that it would take me more than 10 minutes. ;)
Well the truth is due to the new availability of continue mode for constraints (relations) adding coincidence can now be much faster. And in this mode you have to select 2 points to produce something. The pop-up window scenario therefore can't happen. But if you use the "old approach" and select only one point the tool will produce a pop-up window that doesn't do much. In this "mini-use-case" i am guessing FreeCAD could assume origin to be the second point. But said that i can continue to use FreeCAD just fine if that doesn't happen. ;)
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Sketcher mini-features

Post by abdullah »

wmayer wrote: However, one nuisance is still that the constraint symbols are coincident. Look at the following situation:
  • Draw a vertical line
  • If not automatically done set the vertical constraint to be sure the line is really vertical
  • Remove the vertical constraint
  • Select the two end points of the line and the origin
  • Apply the lock constraint
Now the two symbols that set the distance to the origin exactly overlap and I wonder if this can be avoided.
At a first glance I do not think it is something to consider at the moment of the creation of the constraints, as it is a visualization issue. It would appear that is something that should be tackled at ViewProvider level. In any case, I will add this to my mini-feature list.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Sketcher mini-features

Post by abdullah »

triplus wrote:Well the truth is due to the new availability of continue mode for constraints (relations) adding coincidence can now be much faster. And in this mode you have to select 2 points to produce something. The pop-up window scenario therefore can't happen.
In the new workflow, sometimes it has happened to me that sometimes I miss the autoconstraint when hitting the mouse button. This is why I find DeepSOIC's idea more useful for a final user in today's workflow. Only if I could steal his idea and implement it as a mini-feature!!
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Sketcher mini-features

Post by triplus »

abdullah wrote:This is why I find DeepSOIC's idea more useful for a final user in today's workflow. Only if I could steal his idea and implement it as a mini-feature!!
This one?
DeepSOIC wrote:I would like it to find the closest point and get coincident to it. Also some smartness is due. So that it doesn't suddenly make a redundant coincident between points that have tangent connection applied already... and doesn't throw that point off the screen because the closest point happened to be so far away...
And if yes while in continue mode or always? This proposal is on a totally different level. My was after one specific use-case where eliminating pop-up by doing a reasonable thing was proposed. But this follow up proposal is way more aggressive and a whole lot of assumption would need to happen. Why would FreeCAD assume the nearest point is what user is after? The chance user is not after such result is too high in my opinion for FreeCAD to make such assumptions. And if FreeCAD does something often and the end user didn't expected the outcome. That doesn't come down to FreeCAD behaving smart anymore. ;)
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Sketcher mini-features

Post by DeepSOIC »

triplus wrote:My was after one specific use-case where eliminating pop-up by doing a reasonable thing was proposed. But this follow up proposal is way more aggressive
I don't see how it is more aggressive. It still eliminates the pop-up, it still does something reasonable (and I think way more reasonable than making coincident to origin, which is rarely an intention). But I agree that with continue modes, regular modes, and maybe this, the behavior is getting horribly horribly complicated.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Sketcher mini-features

Post by triplus »

DeepSOIC wrote:
triplus wrote:My was after one specific use-case where eliminating pop-up by doing a reasonable thing was proposed. But this follow up proposal is way more aggressive
I don't see how it is more aggressive. It still eliminates the pop-up, it still does something reasonable (and I think way more reasonable than making coincident to origin, which is rarely an intention). But I agree that with continue modes, regular modes, and maybe this, the behavior is getting horribly horribly complicated.
Currently we have a pop-up that doesn't do much in one specific use-case and only when not using continue mode. Therefore this is rather isolated and predictable use-case. If single point is selected the assumption origin is the second point is in my opinion reasonable. Instead of creating the pop-up. As i don't always create geometry like arcs with center point coincident to origin. And when working on it i do sometimes decide center point should be coincident to origin. But OK as you say it is not reasonable for FreeCAD to make assumption like that. I can cope with that and say lets forget about the proposal altogether.

As for the other part when you say if we take this idea and multiply the use-cases by 100 to make it more reasonable. And assume user always wants the nearest point when adding coincidence. If such behaviour would be the default behaviour i can imagine we would get complaints often. That is what i said is not reasonable. Assumption user always wants to add coincidence to nearest point. When in continue mode and if user decides (for example modifier key) use the nearest point. That would add complexity that much is true. But i guess it wouldn't change the current default experience. Or i guess another command for coincidence where selecting a single point in the first place is expected. And the nearest point is after being used as a second point.

P.S. And what if there is no second point? Produce a pop-up or use origin? As you can see my proposal was/is more of a mini-feture. Where 99% of use-cases are already resolved and there is just that single pop-up dialog use-case scenario left. But OK the pop-up dialog should stay and i am OK with that! ;)
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Sketcher mini-features

Post by abdullah »

DeepSOIC wrote:I don't see how it is more aggressive. It still eliminates the pop-up, it still does something reasonable (and I think way more reasonable than making coincident to origin, which is rarely an intention). But I agree that with continue modes, regular modes, and maybe this, the behavior is getting horribly horribly complicated.
triplus wrote:
DeepSOIC wrote:
triplus wrote:My was after one specific use-case where eliminating pop-up by doing a reasonable thing was proposed. But this follow up proposal is way more aggressive
I don't see how it is more aggressive. It still eliminates the pop-up, it still does something reasonable (and I think way more reasonable than making coincident to origin, which is rarely an intention). But I agree that with continue modes, regular modes, and maybe this, the behavior is getting horribly horribly complicated.
Currently we have a pop-up that doesn't do much in one specific use-case and only when not using continue mode. Therefore this is rather isolated and predictable use-case. If single point is selected the assumption origin is the second point is in my opinion reasonable. Instead of creating the pop-up. As i don't always create geometry like arcs with center point coincident to origin. And when working on it i do sometimes decide center point should be coincident to origin. But OK as you say it is not reasonable for FreeCAD to make assumption like that. I can cope with that and say lets forget about the proposal altogether.

As for the other part when you say if we take this idea and multiply the use-cases by 100 to make it more reasonable. And assume user always wants the nearest point when adding coincidence. If such behaviour would be the default behaviour i can imagine we would get complaints often. That is what i said is not reasonable. Assumption user always wants to add coincidence to nearest point. When in continue mode and if user decides (for example modifier key) use the nearest point. That would add complexity that much is true. But i guess it wouldn't change the current default experience. Or i guess another command for coincidence where selecting a single point in the first place is expected. And the nearest point is after being used as a second point.

P.S. And what if there is no second point? Produce a pop-up or use origin? As you can see my proposal was/is more of a mini-feture. Where 99% of use-cases are already resolved and there is just that single pop-up dialog use-case scenario left. But OK the pop-up dialog should stay and i am OK with that! ;)
Well in my workflow (maybe my pulse trembles too much), DeepSOIC's idea makes sense. I was thinking only for non-continue mode (only for the traditional select+click button or hit key, which is what I mostly use). If I have to think of hitting shift, wait no it was ctrl, lets look at the status bar... then I may well click the second point and get it over with.

Nevertheless, from the feedback I see that it is a much more complicated issue regarding user experience and that what may seem as an advantage for some users is a disadvantage for others. There is no need to bring complexity if there is not an obvious general advantage.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: Sketcher mini-features

Post by triplus »

abdullah wrote:Well in my workflow (maybe my pulse trembles too much), DeepSOIC's idea makes sense. I was thinking only for non-continue mode (only for the traditional select+click button or hit key, which is what I mostly use). If I have to think of hitting shift, wait no it was ctrl, lets look at the status bar... then I may well click the second point and get it over with.

Nevertheless, from the feedback I see that it is a much more complicated issue regarding user experience and that what may seem as an advantage for some users is a disadvantage for others. There is no need to bring complexity if there is not an obvious general advantage.
Or a new and separate command for adding coincidence by selecting a point and automatically using the nearest point. If implemented it should work in the same way when using continue mode.

P.S. But note that this is a totally new feature suggestion. It isn't directly related to my original suggestion. My original suggestion would still apply for such command. What to do when no nearest point can be found? Produce a pop-up or use origin instead.
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Sketcher mini-features

Post by Jee-Bee »

May i ask why it is only about coincidence??

The same issues appear on almost every other constraint.
When creating constraints specially with dimensions the lines are moving around and then the closest point is not always the closest point anymore.
So i prefer a task menu for selected constraint what have added the selected point or line and where you have to add the other elements.
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: Sketcher mini-features

Post by abdullah »

Jee-Bee wrote:May i ask why it is only about coincidence??

The same issues appear on almost every other constraint.
When creating constraints specially with dimensions the lines are moving around and then the closest point is not always the closest point anymore.
So i prefer a task menu for selected constraint what have added the selected point or line and where you have to add the other elements.
It is the point that is the closest in the moment you invoke the command and just then. Afterwards it is just a coincidence constraint.
Post Reply