Definitely. This is the most important addition to the sketcher in years.
Please, as one prominent user who helps in the help forum, please let us know if some related issue appears.
First at all. Never ever feel "pushed"/compelled to code something you do not want to code. You choose your path.
I think constraint substitution should come first, for the sole reason that line-knot tangency fails to converge with line endpoint to knot coincidence. This is ugly (reflects poorly on the sketcher), and at the same time it is reasonably easy to overcome.
Do we need more (dreaded) dependent parameters for AVP?
Nothing obvious to me at this point.
I remember reading about your intention to have knot parameters change continuously. I think that will be challenging (also from the UI point of view, so that it feels natural to a user). I will look into what you produce and will try to be helpful and supportive.
At some point we need to "chew the fat" and make sure the stuff being merged is sufficiently polished even if it's nothing particularly new. On the other hand, taking up something new can lead to spreading resources thin. Which is why it's probably best to take some time, breathe, and then prioritize rather than chasing new features or bug reports.abdullah wrote: ↑Sat Jan 21, 2023 10:07 pm First at all. Never ever feel "pushed"/compelled to code something you do not want to code. You choose your path.
When I prioritise, I tend to do it from the point of view of users. Where we are delivering the most value. That also has the inherent problem that it is based on my point of view. Here, I am ok if user, power users provide an opinion. At the end, I do not use FC tens of hours per day like they do.
Yes indeed it would be a project to make things elegant here. It's relatively simple so I'll try to get it done this week.abdullah wrote: ↑Sat Jan 21, 2023 10:07 pm I think constraint substitution should come first, for the sole reason that line-knot tangency fails to converge with line endpoint to knot coincidence. This is ugly (reflects poorly on the sketcher), and at the same time it is reasonably easy to overcome.
I agree that today constraint substitution is an ugly but effective if-else chain. It might be possible to implement these using a map, so that it is much more elegant. However, that would be a mini-project of its own right.
We might get away with it since we'll also be adding a third point (which I believe was the new thing I added). I need to both revisit the tangent-to-Bspline experiment and look into angle-via-point to make sure.abdullah wrote: ↑Sat Jan 21, 2023 10:07 pm Do we need more (dreaded) dependent parameters for AVP?
uh.... somehow I thought we could get away with the one that we have for the PoO...
I really think this would be another milestone. That would allow tangencies and normals to a B-Spline on any point. The user would get a lot of value IMO.
Of course, although a test will be a bit artificial, as I don't have a current project where I can use these additions.
+1 and many thanks!
This seems to be working OK at least in this simplified example?
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.21.0.31641 (Git)
Build type: Release
Branch: master
Hash: d28d63b87b60161419c6c0c532fbbfaed96926b8
Python 3.10.8, Qt 5.15.6, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods:
* Assembly4 0.12.4
* fasteners 0.4.15
* freecad.gears 1.0.0
* QuickMeasure 2022.10.28
* Render 2022.2.0
The example is not that simple: each segment of the Bspline extrapolates differently. What I believe might be happening is that recompute is called more often.
Yes, of course.