Silk: a NURBS workbench

Need help, or want to share a macro? Post here!
User avatar
microelly2
Posts: 4363
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Silk: a NURBS workbench

Postby microelly2 » Wed May 23, 2018 8:13 pm

I'm not realy a friend of the surface object. It creates good approximations for the input data but the outcome is not stylish:
the poles grid in this case does not have a relation to the border faces and the face is a patch of the bspline surface.
bp_792.png
bp_792.png (105.86 KiB) Viewed 459 times
the waviness of the surface can be smoothed in a second step but it is the result of a brutal interpolation.
I think the task is to find a method which creates for a triangle gab definde by 3 nurbs surfaces a filler consisting of 3 unpatched nurbs.
in my example I used 3 ruled surfaces (along bezier curves) as borders (brown/pink ) and created inside the hole 3 nurbs red, blue green
bp_790.png
bp_790.png (91.58 KiB) Viewed 459 times
bp_791.png
bp_791.png (466.99 KiB) Viewed 459 times
because there is only a small number of poles and because of the simple bezier curves the continuity is not anywhere 2 but the isocurve structure is naturally. The grid of the inner faces is scaled by factor 2 to show the balanced correlation between the knots of all faces.
for statistics:
the border curves have each 7 poles (two connected bezier curves)
the inner area has 36 poles - each segment is a 4 x 4 bspline surface of degree 3, so all edges are simple bezier curves.
here is my example file
https://www.dropbox.com/s/i6n5sas1ky5c6 ... fcstd?dl=0
emills2
Posts: 577
Joined: Tue Apr 28, 2015 11:23 pm

Re: Silk: a NURBS workbench

Postby emills2 » Thu May 24, 2018 5:41 am

microelly2 wrote:
Wed May 23, 2018 8:13 pm
I think the task is to find a method which creates for a triangle gab definde by 3 nurbs surfaces a filler consisting of 3 unpatched nurbs.
in my example I used 3 ruled surfaces (along bezier curves) as borders (brown/pink ) and created inside the hole 3 nurbs red, blue green
that's the same strategy i talked about a year ago:
https://forum.freecadweb.org/viewtopic. ... 20#p187547

and that is precisely what i am comparing the filling surface to in my posts above
Silk_model_74_15.png
Silk_model_74_15.png (195.05 KiB) Viewed 435 times
july 29 2017

Silk has a system that handles N sided patches and gets G2 at the OUTER edges of each 'NStar' (but the center has a slight pinch, and it seems to get worse the more branches the star has)
Silk_model_113_15.png
Silk_model_113_15.png (337.34 KiB) Viewed 435 times
september 17 2017

they are lightweight and fast, but in my estimation, G1 filling from the surface workbench will often be better overall.

i used N 36 control point patches in N 6X6 cubic NURBS surfaces, and that is as far as i want to push it personally. The inner point placement can be refined, but i spent too much energy already in that. the long term goal for me was always to get the final surface using the OCC filling method. Trimmed fitted surfaces are generally considered the state of the art for odd hole filling, and if we keep scratching, we will uncover how to make the built in G2 functionality work.
Silk_model_74_11.png
Silk_model_74_11.png (199.71 KiB) Viewed 435 times
july 29 2017

how did you generate your '3 ruled surface example'? can you run it on my 3 border surfaces in the model so we can compare side by side all 3 versions?
User avatar
PrzemoF
Posts: 2649
Joined: Fri Jul 25, 2014 4:52 pm
Contact:

Re: Silk: a NURBS workbench

Postby PrzemoF » Thu May 24, 2018 8:08 am

emills2 wrote:
Tue May 22, 2018 5:16 pm
triplus wrote:
Tue May 22, 2018 12:37 pm
Nice progress.
definitely :) but i certainly don't claim any credit. all i did was sit back and wait for someone else to implement OCC filling.

i think the kayak models can go a lot further now!
:D I hope it will happen soon!
User avatar
microelly2
Posts: 4363
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Silk: a NURBS workbench

Postby microelly2 » Thu May 24, 2018 3:08 pm

emills2 wrote:
Thu May 24, 2018 5:41 am

that's the same strategy i talked about a year ago:
https://forum.freecadweb.org/viewtopic. ... 20#p187547

and that is precisely what i am comparing the filling surface to in my posts above
Silk_model_74_15.png
july 29 2017

Silk_model_74_11.png
july 29 2017
Yes I see it, nice to have already an implementation.
I aks me now how to make it easy to use.
how did you generate your '3 ruled surface example'? can you run it on my 3 border surfaces in the model so we can compare side by side all 3 versions?
Here is my script
ecke_aus_drei_nurbs.py
(5.43 KiB) Downloaded 24 times
phpBB [video]
emills2
Posts: 577
Joined: Tue Apr 28, 2015 11:23 pm

Re: Silk: a NURBS workbench

Postby emills2 » Fri May 25, 2018 6:29 am

microelly2 wrote:
Thu May 24, 2018 3:08 pm
ping
thanks for the script. it's a lot to digest, so could you load the final surfaces for your 3 piece corner? i'd like to look at them in a bit more detail before trying to understand how your script works.
User avatar
Kunda1
Posts: 5515
Joined: Thu Jan 05, 2017 9:03 pm

Re: Silk: a NURBS workbench

Postby Kunda1 » Sat Sep 07, 2019 12:16 am

Silk WB still needs a logo for the add-on Manager
https://github.com/edwardvmills/Silk/issues/10
Want to contribute back to FC? Checkout:
#lowhangingfruit | Use the Source, Luke. | How to Help FreeCAD | How to report FC bugs and features