Sketcher - Processing issue
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
Sketcher - Processing issue
I have this question about Sketcher.
It looks it is not pretty efficient. For instance, I am open to editing some Sketches and I am adding some Blue Constraints (aka References) for me to have the right dimension of a feature inside.
When I close it, it tries to recalculate something. I am not sure what is being recalculated tho. But I did not change anything (physically). I just have created a reference, a measure so to speak.
So, what is being recalculated? Why it does that?
It looks it is not pretty efficient. For instance, I am open to editing some Sketches and I am adding some Blue Constraints (aka References) for me to have the right dimension of a feature inside.
When I close it, it tries to recalculate something. I am not sure what is being recalculated tho. But I did not change anything (physically). I just have created a reference, a measure so to speak.
So, what is being recalculated? Why it does that?
Re: Sketcher - Processing issue
Whenever you change a sketch, every object depending on it is recomputed; i.e. every feature coming later, every sketch referencing the changed sketch, every feature coming after the referencing sketch ...
A change can be significant, even if you add only a blue driven constraint, because it still can be referenced in some expression. FreeCAD could perhaps be smarter in detecting where it is really necessary to recompute, however, it currently isn't.
With sketches it is even worse: even if you only open it in Sketcher, it is already marked as changed, even if you close it immediately without any change at all.
A change can be significant, even if you add only a blue driven constraint, because it still can be referenced in some expression. FreeCAD could perhaps be smarter in detecting where it is really necessary to recompute, however, it currently isn't.
With sketches it is even worse: even if you only open it in Sketcher, it is already marked as changed, even if you close it immediately without any change at all.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Sketcher - Processing issue
Yeah, this could be the easiest way to start the design of this Sketcher-related stuff. Do you have any idea if there is any plan to improve how Sketcher works somehow?
Re: Sketcher - Processing issue
To quote one of the founders of FreeCAD:
"FreeCAD has a very small team of developers. We have not as much time as we would like to dedicate to FreeCAD, and things are not planned ahead, they are done when some developer sees it fit and when he finds time to do it. So we don't maintain a list of tasks to be done. It is up to you to find something you would like to do, for example a defect you would like to correct, or a small feature you think is missing."
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Re: Sketcher - Processing issue
Sure, I am pointing this out as a good inprovement for the platform. So, if someone wants to fix something, or get involved with this community/software, this would be a more than welcome fix since it affects maybe all designs being created with Freecad. If you don't have plans, it is fine. You just don't need to always say such a thing. I am assuming someone else could have a plan. It does not need to be the founders of course.
- adrianinsaval
- Veteran
- Posts: 5553
- Joined: Thu Apr 05, 2018 5:15 pm
Re: Sketcher - Processing issue
This is too broad, FreeCAD as whole doesn't really have much in terms of planning, it's up to each developer, abdullah certainly has plans to improve sketcher but I don't know if what you want is in his list. We say these things not to put you down but to let you know how things are so you can have realistic expectations, that is: this probably won't change any time soon but it certainly is a desired feature.
Re: Sketcher - Processing issue
Since that quote was written the tracker has been made available and, while it is recommended to discuss feature requests here on the forum, anyone with a login and the will to enter the request can. Once it is there then anyone can except the challenge, as mentioned in the quote.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
Re: Sketcher - Processing issue
This is probably not as easy as it may seem. To do this really right, the sketcher should get an additional "Cancel" button, which means all Sketcher editing has to be done on some kind of copy, while referencing the real geometry. I can imagine that this is by far not trivial.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: Sketcher - Processing issue
Even now it sort of works on a pseudo copy. And, the interface between the actual sketch geometry and the solver would probably need to be reworked.chrisb wrote: ↑Tue Nov 30, 2021 10:41 pmThis is probably not as easy as it may seem. To do this really right, the sketcher should get an additional "Cancel" button, which means all Sketcher editing has to be done on some kind of copy, while referencing the real geometry. I can imagine that this is by far not trivial.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."
-
- Veteran
- Posts: 5513
- Joined: Thu Apr 05, 2018 1:53 am
Re: Sketcher - Processing issue
It might be possible to simply make a copy of the sketch when opening the task dialog, and then when the user cancels restore the sketch from the copy. On pressing OK it might be possible to compare the copy to the sketch and avoid the unnecessary recompute if it hasn't changed. Key word here is "might".chrisb wrote: ↑Tue Nov 30, 2021 10:41 pmThis is probably not as easy as it may seem. To do this really right, the sketcher should get an additional "Cancel" button, which means all Sketcher editing has to be done on some kind of copy, while referencing the real geometry. I can imagine that this is by far not trivial.