Recent Several Sketcher improvements

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!
abdullah
Posts: 3174
Joined: Sun May 04, 2014 3:16 pm

Recent Several Sketcher improvements

Postby abdullah » Sat Jun 09, 2018 10:02 am

Recently there was a merge of a several new Sketcher functionality and solver fixes. Some of them have just been merged today.

As a result the solver now informs the user way better than before about redundant constraints, which prevents arriving to many highly undesirable situations where changes in values cause overconstraint or conflicting constraints. Many issues that remained hidden in the past were actually caused by unreported redundancies.

Additionally the DoF finder functionality has been merged:

Image


This allows to grasp what is not yet constraint in the sketch. It is a life saver in complex sketches.

Since today, the DoF finder also features a python interface:
https://forum.freecadweb.org/viewtopic.php?f=22&t=29184

I am curious to see what our Python masters will do with it. They never stop to surprise me.

Recently, the sketcher "section functionality" was also merged (Thank DeepSOIC, who did 99.9% of the work :P ). Now it is easier than ever to build those sketches that are just in the middle of the part:
Image

There have been a lot of minor fixes, for example the sketcher notifying a wrong number of DoFs after certain constraint addition or notification of a fully constraint sketch when it simply wasn't.

Another fix, that may not be so "minor", involves rewriting the symmetry about a point solver constraint. This was misbehaving in some corner cases, causing the constraint to be added but not really applied. It was one of those things that caused a certain irrational tendency to crash something against the monitor or the CPU, despite both of them being innocent.

Chrisb and myself, we have gone through most solver tickets in the tracker, if not all (GCS project). Many have been closed and I think some which are in feedback status to see if the solution is what the reporter requested will also be closed. There are very few solver tickets left:
https://freecadweb.org/tracker/view_all_bug_page.php

I want to take this opportunity to thank all reporters over the years, that have invested their time in reporting these problems. To our friends of the help forum and bug tracker managers, who filter all the issues that appear and polish the bug reports, so that they are properly written, to the point and easy to reproduce. Yes it took time. Yes for a while there might be that sensation of making pointless work as nothing was ever solved, but without them the bugs would still be there. To all those who know better than me and help me out when my knowledge is not enough, e.g. DeepSOIC.As always standard general thanks go to Werner, who silently suffers my poor coding style, and reviews and fixes my wrongs.

Now that all this has been merged, I will work on the issue that executes outside sketcher edit mode do not use the default solver selected by the user. I was not aware of this until yesterday. That functionality of selecting solver was intended as an advanced debug tool for sketchs in edit mode, but I see that it has been adopted outside that scope.

I am slightly worried about another misbehaviour, that I have experienced myself, that sometimes when leaving the sketch edit mode and trying to do an operation, FreeCAD complains about "Broken Face". I need a way to reproduce this consistently. I want to fix that one.

I would also like to invite you, now more than ever, to be picky with the solver and report any misbehaviour. Many things that 4 years ago we thought were too picky to be taken care of (as we had much bigger issues), now is just about right.
sgrogran wrote:...
If you could trigger a daily PPA/windows build of v0.18 with the current content of master, I think it would be helpful so that we all get the latest fixes.
chrisb
Posts: 18098
Joined: Tue Mar 17, 2015 9:14 am

Re: Recent Several Sketcher improvements

Postby chrisb » Sat Jun 09, 2018 10:42 am

And a very big THANK YOU goes to Abdullah himself!
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Recent Several Sketcher improvements

Postby easyw-fc » Sat Jun 09, 2018 11:33 am

abdullah wrote:
Sat Jun 09, 2018 10:02 am
Recently there was a merge of a several new Sketcher functionality and solver fixes.
Thanks a lot @adbullah :D
The Sketcher is now a rock solid foundation stone for each CAD design!
User avatar
sgrogan
Posts: 5331
Joined: Wed Oct 22, 2014 5:02 pm

Re: Recent Several Sketcher improvements

Postby sgrogan » Sat Jun 09, 2018 3:39 pm

abdullah wrote:
Sat Jun 09, 2018 10:02 am
If you could trigger a daily PPA/windows build of v0.18 with the current content of master, I think it would be helpful so that we all get the latest fixes.
https://github.com/FreeCAD/FreeCAD/rele ... g/0.18_pre

FreeCAD > 0.18.13931 should have this.
User avatar
hammax
Posts: 841
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee

Re: Recent Several Sketcher improvements

Postby hammax » Sat Jun 09, 2018 4:28 pm

Short and instant notice:

FC_0.18.13935 on Win10_32

FC crashes / fades away, when using "Delete all Geometry" in Sketcher-menue
GeneFC
Posts: 1025
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: Recent Several Sketcher improvements

Postby GeneFC » Sat Jun 09, 2018 7:39 pm

Short and instant response.

I did not see that sort of problem. Created a sketch with various geometries. Closed, reopened, and deleted all geometries. Worked as expected, with no crash or fade.

Same result if I did not close and reopen.

Some of the library components are different for win32 and win64 versions, so that may be a factor.

OS: Windows 7
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13935 (Git)
Build type: Release
Branch: master
Hash: cb133767464337e4b5c8589a1fe33b4d7dad7721
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)

Gene
User avatar
NormandC
Posts: 18534
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Recent Several Sketcher improvements

Postby NormandC » Sat Jun 09, 2018 7:47 pm

Thanks for your work abdullah,

If it weren't for other matters, your sketcher improvements would largely be reason enough for an early 0.18 release.
chrisb
Posts: 18098
Joined: Tue Mar 17, 2015 9:14 am

Re: Recent Several Sketcher improvements

Postby chrisb » Sat Jun 09, 2018 8:01 pm

No problems here either.

Some thoughts:
- Did you try to delete your config files? If you are the only one having problems this is always a good choice.
- Is it repeatable? If so, can you upload a file so we can do exactly the same?


OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13936 (Git)
Build type: Release
Branch: (HEAD detached at 5ea2114)
Hash: 5ea211489a6943fd33e2e15ea3e7ec4d2662beff
Python version: 2.7.15
Qt version: 5.11.0
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Recent Several Sketcher improvements

Postby easyw-fc » Sat Jun 09, 2018 8:23 pm

hammax wrote:
Sat Jun 09, 2018 4:28 pm
Short and instant notice:

FC_0.18.13935 on Win10_32

FC crashes / fades away, when using "Delete all Geometry" in Sketcher-menue
I noticed that this seems to be reproducible if the all geometries has been selected before deleting them...

I can reproduce this bug on the following FC info:

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13935 (Git)
Build type: Release
Branch: master
Hash: cb133767464337e4b5c8589a1fe33b4d7dad7721
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
chrisb
Posts: 18098
Joined: Tue Mar 17, 2015 9:14 am

Re: Recent Several Sketcher improvements

Postby chrisb » Sat Jun 09, 2018 9:23 pm

I now can sort of confirm the issue, however here it is slightly different, marked in blue.

- open sketch or create new one with some geometry
- box select all or part of the sketch
- Sketch->Sketcher tools->Delete All Geometry. Note: FreeCAD is still alive
- close Sketcher: now FreeCAD crashes.

OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.13936 (Git)
Build type: Release
Branch: (HEAD detached at 5ea2114)
Hash: 5ea211489a6943fd33e2e15ea3e7ec4d2662beff
Python version: 2.7.15
Qt version: 5.11.0
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)