An example of Gordon Surface based upon OCC

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
User avatar
microelly2
Posts: 4690
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: An example of Gordon Surface based upon OCC

Postby microelly2 » Thu Jul 12, 2018 3:54 pm

bp_828.png
bp_828.png (48.61 KiB) Viewed 849 times
one profile has the false direction but it works fine.

red is the result
green is S1
brown is S2
and blue is S3

I made this video with my example to see the differences of these helper shapes

phpBB [video]

the short but good article about gordon surfaces is here:
http://old.cescg.org/CESCG99/MKuklisova/node1.html
freecad-heini-1
Posts: 6925
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: An example of Gordon Surface based upon OCC

Postby freecad-heini-1 » Thu Jul 12, 2018 7:22 pm

Whow Thomas, very nice. Please can you try to create a gordon surface with m experiments to design the tide-bottle in Freecad:
tide_bottle_gordon.fcstd
(115.19 KiB) Downloaded 46 times
User avatar
hammax
Posts: 1089
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee

Re: An example of Gordon Surface based upon OCC

Postby hammax » Fri Jul 13, 2018 6:07 am

… after installing last CurvesWB-update (7) and turning my stern-profile by placement z=180° it works.
But: I had constructed my hull frames by copying from a single starting frame and modification, there should be no fish-twist.
All original placement data were ok.
Maybe the new grid sorting algorithm wants it in this special form.


Gordon_6.PNG
Gordon_6.PNG (76.82 KiB) Viewed 801 times
User avatar
microelly2
Posts: 4690
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: An example of Gordon Surface based upon OCC

Postby microelly2 » Fri Jul 13, 2018 7:38 am

freecad-heini-1 wrote:
Thu Jul 12, 2018 7:22 pm
Whow Thomas, very nice. Please can you try to create a gordon surface with m experiments to design the tide-bottle in Freecad:
tide_bottle_gordon.fcstd
I had to model the circle and the ellipse as beziers,
here are the sketches and curves
bp_829.png
bp_829.png (6.9 KiB) Viewed 789 times
and here the surface
bp_830.png
bp_830.png (22.86 KiB) Viewed 789 times
freecad-heini-1
Posts: 6925
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: An example of Gordon Surface based upon OCC

Postby freecad-heini-1 » Fri Jul 13, 2018 7:44 am

microelly2 wrote:
Fri Jul 13, 2018 7:38 am
freecad-heini-1 wrote:
Thu Jul 12, 2018 7:22 pm
Whow Thomas, very nice. Please can you try to create a gordon surface with m experiments to design the tide-bottle in Freecad:
tide_bottle_gordon.fcstd
I had to model the circle and the ellipse as beziers,
here are the sketches and curves
bp_829.png
and here the surface
bp_830.png
Hi Thomas,
what about the tool from the curves-wb to join the selected Edges into Bspline curves?
Are this kind of bspline curves usable with your gordon surface tool?
Best regards
Wilfried
User avatar
microelly2
Posts: 4690
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: An example of Gordon Surface based upon OCC

Postby microelly2 » Fri Jul 13, 2018 8:32 am

freecad-heini-1 wrote:
Fri Jul 13, 2018 7:44 am
Hi Thomas,
what about the tool from the curves-wb to join the selected Edges into Bspline curves?
Are this kind of bspline curves usable with your gordon surface tool?
Best regards
Wilfried
it is really not a big deal
and I have already the methods to convert most of the surfaces to bspline surfaces,
and now its the time to do it with curves too.
I allways use at a last step to convet the bsplines to multiplicity 3 knots, that means to bezier objects which are easier to edit
and all my methods in the editor work on this base.
So I see no compatibility problem in future. Any curve and surface should have a way to become a bspline if it is needed to perfom free forming actions.
The idea of the Gordon surfaces I had in background for the way to reconstruct shoes from scan: slice the point cloud, convert the slices to beziers with same structure, create a gordon surface from the slice grid. The big benefit of the gorden is the S3 term which gives better results than the loft and the sweeps with one or 2 sweep pathes.
https://youtu.be/4-S1P9MAA04
freecad-heini-1
Posts: 6925
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: An example of Gordon Surface based upon OCC

Postby freecad-heini-1 » Fri Jul 13, 2018 10:03 am

Thank you Thomas for your answer.

Industrial designer mostly provide 2d drawings with dimensions and views in three or more view.
So the common way is to sketch the curves with this dimensions and not freehand.
To design freeform surfaces, the common way is to create the curves in the sketcher using lines and arcs and bspline curves. In some cases it make sense to convert lines and arcs with the curves-wb tool "join the selected Edges into Bspline curves to a joinCurve feature".
With the option corner-break false you can reduce knots and inbetween faces to reach a nice face. All this steps are full parametric. That means, if I change the sketch, the joinCurve will update automatically and the face as well.

What about your workflow. Is it full parametric? Is it possible to use sketcher bsplines and joinCurve and Lattice2 sublink edges?

Best regards
Wilfried
User avatar
hammax
Posts: 1089
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee

Re: An example of Gordon Surface based upon OCC

Postby hammax » Sun Jul 15, 2018 12:06 pm

Hi Chris,
after your todays fixing of the "closed surface bug"
the Gordon feature doesn't work any more.
(Neither in TIGL-test nor on my hull-test.)
FC.18.14061 on Win10-32
User avatar
Chris_G
Posts: 1312
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: An example of Gordon Surface based upon OCC

Postby Chris_G » Sun Jul 15, 2018 1:20 pm

Hi,
I had to add a dependency to python-numpy.
Isn't it bundled in your version of FC ?
What is the result of this command in the python console :

Code: Select all

import numpy
EDIT : I also forgot to remove an unused dependency to scipy.
What is the result of :

Code: Select all

import scipy
If you get an error here, please try to update CurvesWB.
User avatar
hammax
Posts: 1089
Joined: Thu Jan 19, 2017 5:03 pm
Location: Ammersee

Re: An example of Gordon Surface based upon OCC

Postby hammax » Sun Jul 15, 2018 2:12 pm

… numpy is in my package
but scipy is missing (with that I had already earlier version problems) - this should be a task of the FC18dev-package.

In the TIGL-file the following items don't work with the newest update
Full_Nacelle
Fuselage
Heli_Body
Spiral_Wing