What about to ask user rainman110, Martin from Cologne Germany?
An example of Gordon Surface based upon OCC
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: An example of Gordon Surface based upon OCC
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: An example of Gordon Surface based upon OCC
The simplest workaround should be to run the method with ribs which have the same structure: number of poles,multiplicities and the same degree.Chris_G wrote: ↑Wed Nov 14, 2018 9:14 amI am trying to fix Gordon surface.
Currently, the algorithm is only partially working, and produces surfaces that have far too much control points.
The smartest and most important part of the TiGL algorithm is about preparing and reparametrizing the curves before feeding them to the actual Gordon algo.
I realized that these optimization functions were actually skipped in my implementation (and broken BTW).
The good news is that I found were the bug is happening.
The bad news is that it is located in the most complex function, dealing with "matrix solving", that is way over my poor math skills.
So I don't know how I will be able to fix that ...
any two curves can be refined to such a common structure.
Re: An example of Gordon Surface based upon OCC
Well ... I am not very keen on disturbing people.freecad-heini-1 wrote: ↑Wed Nov 14, 2018 9:23 am What about to ask user rainman110, Martin from Cologne Germany?
And I see it as a good opportunity to learn these matrix things first.
Then, if I fail, I might ask for help.
That's not enough. The curves must also be reparametrized, so that they become isoCurves of the future surface.microelly2 wrote: ↑Wed Nov 14, 2018 9:27 am The simplest workaround should be to run the method with ribs which have the same structure: number of poles,multiplicities and the same degree.
any two curves can be refined to such a common structure.
That's all the beauty of the original algorithm : it does this hard job for us.
And even outside of the Gordon surface context, the reparametrizing function offers great functionalities :
- imagine you have a list of points, and you want to fit a curve on them.
- you can set some of the points to be interpolated, while the others will be approximated
- and you can choose the degree, and the number of control points !
So this is a very interesting mix between interpolation and approximation.
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: An example of Gordon Surface based upon OCC
Would be an interesting tool.Chris_G wrote: ↑Wed Nov 14, 2018 9:59 am And even outside of the Gordon surface context, the reparametrizing function offers great functionalities :
- imagine you have a list of points, and you want to fit a curve on them.
- you can set some of the points to be interpolated, while the others will be approximated
- and you can choose the degree, and the number of control points !
So this is a very interesting mix between interpolation and approximation.
How the user will control which points are approximated and which are interpolation anchors?
My idea at the moment is to define bezier with parametric control points and the tangent direction I calculate with least square against a point cloud.
https://youtu.be/kPrQq4UOnR4
Re: An example of Gordon Surface based upon OCC
Good news : I think I managed to fix a couple of bugs !
The resulting surfaces are now almost identical to the one produced by the C++ TiGL algo.
The resulting surfaces are now almost identical to the one produced by the C++ TiGL algo.
Re: An example of Gordon Surface based upon OCC
… yes, now it works also with the interpolated curves
Re: An example of Gordon Surface based upon OCC
… answering gflorent's mail:
An updated ships' hull with gordon surface => very easy and straightforward from
https://forum.freecadweb.org/viewtopic. ... 10#p244083
Maybe look also here: https://forum.freecadweb.org/viewtopic. ... 63#p269050
An updated ships' hull with gordon surface => very easy and straightforward from
https://forum.freecadweb.org/viewtopic. ... 10#p244083
Maybe look also here: https://forum.freecadweb.org/viewtopic. ... 63#p269050
- Attachments
-
- GordonS_Test.FCStd
- FC.18.15208
- (22.82 KiB) Downloaded 80 times
-
- Veteran
- Posts: 7791
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: An example of Gordon Surface based upon OCC
I am starting with the Curves WB. Installed it via the Addons Manager on FC 0.17 13528 on Win 10. I create a BSpline curve with the "Create a BSpline curve" command and then, while it is selected, I click the "Create an editable spline from selected edges" in the hope to be able to modify it later via the control points. Then FreeCAD crashes and closes. Is it the right way to make a BSpline editable? Does anyone know of a good tutorial to get started?
Re: An example of Gordon Surface based upon OCC
CurvesWB is an """EXPERIMENTAL""" workbench.gflorent wrote: ↑Mon Nov 19, 2018 7:37 pm I am starting with the Curves WB. Installed it via the Addons Manager on FC 0.17 13528 on Win 10. I create a BSpline curve with the "Create a BSpline curve" command and then, while it is selected, I click the "Create an editable spline from selected edges" in the hope to be able to modify it later via the control points. Then FreeCAD crashes and closes. Is it the right way to make a BSpline editable? Does anyone know of a good tutorial to get started?
Some tools are not working very good.
These 2 tools you tried should not be used. I should remove them from the toolbar.
For an editable BSpline, you'd better use Sketcher, or Draft.