[New feature] Sketcher Constrain Contextually

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!
drmacro
Veteran
Posts: 8866
Joined: Sun Mar 02, 2014 4:35 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by drmacro »

NewJoker wrote: Sat Feb 05, 2022 1:26 pm ...


It's very convenient for me in commercial software and I'd love to finally see it in FreeCAD as well. Of course, the same sketch can be created without it but there's much more tedious clicking. For example, to draw a dimensioned rectangle you have to:

1) commercial software with these tools:
- select rectangle tool
- pick starting point
- type first dimension
- press Tab
- type second dimension
- press Enter

2) FreeCAD without these tools:
- select rectangle tool
- pick starting point
- pick end point
- select horizontal dimension
- choose horizontal line
- type dimension
- press Ok
- select vertical dimension
- choose vertical line
- type dimension
- press Ok

So almost two times more steps to draw a simple rectangle.

That's just for the tool settings widget. The other feature (contextual dimension) is also very handy since you don't have to switch back and forth between the 5 dimension constraint types.
So, it takes you how much longer with process #2?

I just timed it for me, including starting and stopping the stopwatch it took 18 seconds (rounded up to the nearest integer). So, let's say, with this new feature, you cut that by 1/4, that's 4.5 seconds. To save a minute you'd need to draw and constrain 13.3 rectangles.

I don't see this savings impacting my productivity. But, that is my failing I guess. :mrgreen:
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by NewJoker »

drmacro wrote: Sat Feb 05, 2022 1:45 pm So, it takes you how much longer with process #2?

I just timed it for me, including starting and stopping the stopwatch it took 18 seconds (rounded up to the nearest integer). So, let's say, with this new feature, you cut that by 1/4, that's 4.5 seconds. To save a minute you'd need to draw and constrain 13.3 rectangles.

I don't see this savings impacting my productivity. But, that is my failing I guess. :mrgreen:
It took me less than 4 s in Fusion and almost exactly two times longer in FreeCAD. The time gain will be much larger for inexperienced users. But it's not only about the time, what also matters is convenience. Sketching is more enjoyable with these features.
drmacro
Veteran
Posts: 8866
Joined: Sun Mar 02, 2014 4:35 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by drmacro »

NewJoker wrote: Sat Feb 05, 2022 2:16 pm ...
It took me less than 4 s in Fusion and almost exactly two times longer in FreeCAD. The time gain will be much larger for inexperienced users. But it's not only about the time, what also matters is convenience. Sketching is more enjoyable with these features.
What is the rush? I've found it enjoyable for years. My goal when constraining a sketch is to have a well thought out constraint scheme, not to get to "fully constrained" as fast as possible. And, of course, we know fully constrained is not the end all, since fully constrained does not assure a single unique solution.

I doubt inexperienced users will gain much, if anything. Because they are going to be presented with things that change with context and they aren't completely clear on which context is which. (That is, truly inexperienced CAD users, ex <insert tool of choice> users are a different, since dealing with expectations based on other software is always an issue.)

I guess I don't play the game, so I don't see the "game changing" part. :oops:

If this or any other feature fits your workflow, you should use it. I just like to understand why people feel they need things...and of course I want to make sure I'm not missing something that will dramatically improve my workflow. ;)
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
chrisb
Veteran
Posts: 53922
Joined: Tue Mar 17, 2015 9:14 am

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by chrisb »

I think too that it's not the time gain, bot more the feeling of smoothness - which is good. Here it leads to a different concern: If it is so convenient, it may encourage especially newbies to add more dimensions than necessary.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by obelisk79 »

Game-changer? No. Convenient and more intuitive, for those who appreciate such things? Very likely. I do miss some powerful convenience factors from sketching in other cad packages.

Full disclosure, I'm am unable to view youtube so have no idea how this newly developed tool functions. However, here are a couple of 'convenience features' that I was accustomed to from similar software to freecad.

1. Contextual constraints (while sketching), you could apply constraints based on contextual actions based on the type of elements selected and mouse movements between said elements. If was fairly intuitive without any explanation needed beyond a few minutes playing around and effective constraints could be added automatically while placing lines, arcs circles etc into the sketch. The behavior was based on repeatable and predictable rules so once familiar, it was naturally easy to add the type of constraints desired.

2. Rather than clutter a sketch with oodles of constraint icons you had the option to have constraints be displayed following one of the following behaviors:
a. Only display the constraints associated when a specific element of a sketch is selected (focused display)
b. constraint symbols shown, but not associated index numbers. Selecting a constraint icon highlighted the associated sketch elements (simplified display)
c. Full bore, constraints displayed in a fashion very similar to FreeCAD's current sketcher behavior. (detailed display)

Now, I am not necessarily suggesting that FreeCAD needs to emulate other software, it's quite functional already and in many areas surpasses its theoretical rivals. However, assessing the viability of adding some of these ideas as optional settings is worthy of discussion (potentially as a separate topic), and frankly there is nothing inherently *wrong* with looking at how other sketchers behave to see if anything useful could be gleaned for application here.

I also agree with chrisb, that these conveniences would multiply the potential for newbies to overuse dimensional constraints. I most certainly started off that way in my personal CAD journey, however, I also don't think we should restrict ourselves on the future follies of newcomers since they are going to make mistakes of one nature or another no matter how hard we try, or we turn them off from learning CAD forever due to the difficulty in understanding concepts. If a newbie is able to have some early successes without much trouble despite a less than ideal work-flow they will keep coming back and eventually learn.

I'm sure we could debate the pros/cons of dealing with or protecting newbies from themselves for endless pages. I just don't think development decisions should necessarily be based on them.
cadcam
Posts: 273
Joined: Thu Apr 02, 2020 10:39 am

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by cadcam »

I am not sure I fully understand all the functionality, but do I understand if you want to
dimension a rectangle you need to tab or type in all the dimensions?

I yes. is there a possibility for a mode to populate the all the dimensions from the mouse clicks?
For a circle the x/y of the center and the radius/diameter would auto fill, from the two mouse clicks,
unless an alignment constraint is active for the center or a tangent for the circumference?

Regards
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by NewJoker »

drmacro wrote: Sat Feb 05, 2022 3:38 pm
chrisb wrote: Sat Feb 05, 2022 3:44 pm
I don't want to argue about the same thing again so I will just share a few thoughts. I used to think that FreeCAD is missing so many useful functionalities because there's no one to add them. But I was wrong and the actual reason is that you stick to the approach "don't bring FreeCAD any closer to commercial software since this would promote bad modeling practices". Maybe it would for CAD purists but most of the actual designers and hobbyists don't care about this and they just want to be able to model easily and efficiently. In my opinion, it's not the CAD program's role to teach them about good practices. Practically all commercial codes follow this approach and no one complains that their tools are too convenient.

Maybe another problem is that FreeCAD has no defined goal but regardless, I'm sure that everyone here wants the user base to expand and the software to become more popular. And if the new users are not to be scared away by missing functionalities (as many are now) then tools like the one discussed here are very important.

Anyway, maybe a poll (preferably on Facebook) would be a good idea if you want to stand against the implementation of this tool. I know that the deciding vote belongs to mergers but community projects like this should take other users' opinions into account as well.

Also, let's not forget that this tool is optional and doesn't interfere with existing approaches.

And finally, the sketcher prevents overconstraints so new users should learn pretty quickly how to avoid redundant dimensions.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by GeneFC »

I think a lot of the speed question comes down to how one uses FreeCAD.

If you are simply trying to create a model as fast as possible, without any significant real-time engineering, then speed is very important.

On the other hand if one is designing and engineering while modeling, then the raw operation speed is totally buried in the overall process.

Gene
User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by NewJoker »

cadcam wrote: Sat Feb 05, 2022 5:19 pm I am not sure I fully understand all the functionality, but do I understand if you want to
dimension a rectangle you need to tab or type in all the dimensions?
No, you can still draw like before without inputting any dimensions. Check this video: https://www.youtube.com/watch?v=K8oTQNpI8CQ
Haavard
Posts: 217
Joined: Wed Feb 17, 2021 10:48 pm

Re: NEW FEATURE ! Sketcher Constrain Contextually

Post by Haavard »

GeneFC wrote: Sat Feb 05, 2022 5:32 pm I think a lot of the speed question comes down to how one uses FreeCAD.
+1.

When i design something complex with lots of parametric values tied to spreadsheet etc, then sketching is a very small portion of the overall design time, and the current workflow is just fine.

On the other hand if i just want to design a small 5 minute part for 3D-printing or create a quick mockup as an alternative to paper sketching, then this tool can potentially speed up sketching quite a lot.

It also helps that it makes sketching much more fun, and you can focus on how you want to constrain the sketch, not running the mouse forth and back over the toolbar icons in search of the correct button. In this regard it could perhaps lead to better constraining, not worse.
Post Reply