[Request] A dedicated NURBS workbench

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
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

[Request] A dedicated NURBS workbench

Post by Pauvres_honteux »

Following
Pauvres_honteux wrote: Fri Apr 23, 2021 5:06 pm I will create one (a feature request) for a nurbs workbench. That way anyone can implement it when he/she feels like scrathing that itch!
In order to have a request to hang all discussions from I thought it would be a good idea to create a public feature request here.

Since a NURBS workbench, to its nature, will be very extensive, this thread will act as the formal link collector for anything NURBS related. If/when it becomes to overwhelming perhaps @kunda will consider making a separate forum?

So to get an overview of everything NURBS I urge you to create separate topics and then link to them from this thread.

  • Nurbs in Progress thread of New Design456 Workbench (click tiny up-arrow):
    marja1 wrote: Tue Apr 13, 2021 5:55 pm
Last edited by Pauvres_honteux on Tue Aug 10, 2021 1:12 pm, edited 9 times in total.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Request] A dedicated NURBS workbench

Post by Pauvres_honteux »

User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [Request] A dedicated NURBS workbench

Post by Kunda1 »

Isn't this what the Surface Workbench is supposed to be?
And I agree, once there is a demand, we should consider having a subforum for it. But the other mods should opine on this as well. Obviously we don't want to create hyper-compartmentalization with too many subforums. Off-topic: I really wish we could tag threads.
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Request] A dedicated NURBS workbench

Post by Pauvres_honteux »

Kunda1 wrote: Mon Apr 26, 2021 12:16 pm Isn't this what the Surface Workbench is supposed to be?
NURBS is, as you mention, a subset of surfaces. But as I stated here above it will be so jam packed with tools it'll make the surface workbench really hard to work with just because of the shear number of tools dedicated to manipulating NURBS surfaces. And there really are a ridiculus amount tools/ways of manipulating NURBS surfaces.

For us users, 3D real estate is a very valuable asset.
User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Request] A dedicated NURBS workbench

Post by Pauvres_honteux »

User avatar
Pauvres_honteux
Posts: 728
Joined: Sun Feb 16, 2014 12:05 am
Location: Far side of the moon

Re: [Request] A dedicated NURBS workbench

Post by Pauvres_honteux »

Nurbs in Progress thread of New Design456 Workbench (click tiny up-arrow):
marja1 wrote: Tue Apr 13, 2021 5:55 pm
keithsloan52
Veteran
Posts: 2756
Joined: Mon Feb 27, 2012 5:31 pm

Re: [Request] A dedicated NURBS workbench

Post by keithsloan52 »

There was one https://github.com/microelly2/freecad-nurbs
Looking at the github repro it has not been updated fro a couple of years and i think microkelly has moved on, but vague memory that somebody was looking at updating it, to python3 at least.

There is the basics of a facility to import 3DM files which uses the rhino3dm library https://github.com/KeithSloan/ImportNURBS
But the problem I find is that all the curves/nurbs workbenches have their own ways of creating things, you don't seem to be able to take a FreeCAD file with a Part Bezier or Spline and start editing it. They all create isolated islands :-(
User avatar
Vincent B
Veteran
Posts: 4713
Joined: Sun Apr 05, 2015 9:02 am
Location: La Rochelle, France

Re: [Request] A dedicated NURBS workbench

Post by Vincent B »

Try Workbench Silk.
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: [Request] A dedicated NURBS workbench

Post by Kunda1 »

Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
JeffWitz
Posts: 54
Joined: Fri Mar 27, 2015 9:14 am
Location: Lille, France

Re: [Request] A dedicated NURBS workbench

Post by JeffWitz »

All these discussions are really interesting !
There are a lot of ways to create surface from OpenCascade, I think may be it would be important to make a functional specification.

May be we can work with questions ?

What are the surfaces construction methods that the curves/surfaces workbench does not have ?

Curves/Surfaces Workbenches

If I understand well enough the curves/surfaces workbenches allow one to construct surfaces from edge elements that can be Bézier or NURBS lines. It creates then a parametric (u,v) surface in (x,y,z).

Pros :
* Possibility to have sketches that constrain 1 curves that changes when we change the constraint,
* Possibility to simply apply a trim curve to change the topology,
* Possibility to draw master Edge curves from STL files,
* Possibility to draw master Edge curves from 2D plan with an reference image.
* Possibility to create missing surface with edges playing with NURBS continuity
Cons :
* Difficult to directly create an univariate (u) parametric curve in (x,y,z), possible by entering manually 3D points, not ergonomic,
* Not possible to easily interact with the low levels entities of the NURBS (control points for example),
* Could be necessary to restart entirely a work if the 2D from 1D choice doesn't work the expected way !
* A lot of hidden option in the properties of surfaces and curves not directly available at creation.

So in this regards we are on modeller as Catia V4 that I learned 20 years ago, it is difficult, trials&errors until we get the good method, highly dependent of the OpenCascade limitation from the chosen tool. OpenCascade from now seems better than Catia kernel 20 years ago so it fails less (I don't know from today but it seems that the auto surfaces tools are quite powerful)

But it is certainly the classical Engineer way to go ! But, ti requires to be able to imagine and parametrize all the useful sketching plans and mathematical construction.

The modern way using direct NURBS editing :

Silk
Directly construct the NURBS Patches

Pros :
* Possible to directly construct a complex topology,
* Possible to choose locality by working on the Knot vector,
* Possibility to create plans to fully use the sketcher constrains
Cons :
* Very low level, imply that user must understand maths behind NURBS
* No real 3D contrains as there is constrains only in the sketcher workbench

GrassHopper Node editor
A lot of primitive nodes to be developed and possibility to graphically program, it needs a node editor and it seems that the main developer leave the community.
I think it is an entirely different subject as every geometry created by any way could be a node, and then it is more like a new workflow that something dedicated to surface models.

If we talk about Grasshopper we can say that they are able to pass from one way to model to another mainly because of their internal surface representation. Instead of using NURBS, they've developed T-Splines, that allows automatic transformation from T-Splines to NURBS or Bézier. So they can easily simplfy they workflow. They pass over than one decade on this and implement all the maths that are needed. So it is possible to create any topology and transform it to any other representation for any CAD. It is just mindblowing. As FreeCAD rely mainly on OpenCascade and OpenCascade does not wish to use splines newer that NURBS, it is not something that would be possible in FreeCAD. Opensource libs for T-splines does exist but they are not actively developed and tools to automaticaly convert representations are not available.

The point is to say, that is won't be possible on the next years to have a direct editing way comparable to Rhino. That's fact, the maths we use will not allows us to make this kind of organic shapes by changing on fly the topology. That's why the question of direct editing on low level CAD such as control polygon or control points will be a complex challenge.

So, I'm a bit curious to have information of what kind of shapes people would want to create !
Post Reply