T-Splines Opensource Library

start reading from

http://forum.freecadweb.org/viewtopic.php?f=10&t=16982

it could be usefull/possible to integrate in Blender?

:pThis is extraordinary news, I hope someone implements this algorithm in FreeCAD as soon as possible and maybe even in Blender, But I’ve given up hope of seeing NURBS in Blender

Yes that is for sure a interesting development. :slight_smile:

I always saw T-Splines as a really interesting intermediate format between the two ‘extremes’ in 3d data : Mesh & Nurbs.
So if you go from Mesh, it would be : Mesh -) Polygon -) Opensubdiv -) T-Splines -) Nurbs

So who knows ?, maybe if Blender sometimes in the future gets T-Splines, there isn’t that big a step for it to also get Nurbs.
But I would be surprised though if it was anytime soon.

ah that would be fantastic!

T-SPines is not ideal for class a surfacing but I really hat that method anyway and I find for organic modeling this is ideal!

I think “It won’t be a priority” :wink: for multiple reasons.
The most direct one is that implementing it would mean implement something that is functional only to 3rd party softwares and not something that is useful in a full-blender production.
I guess being a pure pipeline’s node is not the blender’s philosophy, but that’s just my guess.

Would be interesting to have someone with NURBS knowledge to comment on whether it is applicable to blender…

T-Splines in Blender only makes sense when Blender has a basic set of NURBS tools such
as loft revolve patch sweep with rails trim split and fillet.

Otherwise T-S 2 NURBS in Blender would be pointless as you could not do anything with it.

Ideal for blender + product design if you’re wanting to pass on surfaces to other pipelines at speed. Particularly organic surfaces where efficient editing is paramount when holding design lines, and where sketching out concepts is best done closely tied to a rendering orientated workflow.

Better flexibility in rapid surface sketching available in an app like blender - would open out how product designers can better engage with the blender eco-system, such that general engineering surface arrangements + surface form integrity - gets exported reliably, yet still allow users to retain a higher level of editing to and fro, as a product develops across a marketing & concept team.

Industrial Design with volumetric ‘general arrangements’ as a start point, with accurate surface retention in concept, then engineering refinement pushed out in parallel.

Take a leaf from Modo’s play-book. Engineered surface integrity, closely tied to materials and a rendering pipeline helped them grow how their product crossed over with CGI users - many of the CGI users sat in film companies have their backsides also parked in product and industrial design.

problem is however that most sub-d like created NURBS are having a bad patch layout and heavy isoprams content which makes t-splines great for concept stuff but less usable for finale cad models. Modo is just good at PR not much more better otherwise/

I am confused about the patent status of T-Splines. I know there is a patent. Does anyone know how the open source implementation got around that?

I think the author, has taken the basic idea, and have created a version all by himself, without breaking the code protected. plus this is a library that can be used as an engine for T-spline

Specific code is a copyright issue, not a patent one. You can write the same algorithm in a completely different language and still violate a patent.

Perhaps there isn’t a valid patent in the author’s jurisdiction?

I know the inventor of T-Splines and his brother. I can drop them a note and ask what the situation is.

In Europe this is the law.

It states that "excluded from the protection granted by this law the ideas and principles which underlie any element of a program, including those which underlie its interfaces ". Therefore the copyright subsists in any form of expression of the source code or object code, but not in the ideas and principles underlying the source code or object of a program.

Patents and copyrights are not the same thing.

Some excerpts found on the net:

As for the patent protection of computer-implemented inventions
[3], the legal situation is ambiguous and therefore a source of uncertainty. In fact, the laws of the Member States concerning patents and the European Patent Convention (EPC) [4] excludes from patentability computer programs ’ as such ', but thousands of patents for computer-implemented inventions have been granted by the European Patent Office (EPO) and by national patent offices. Many of these patents cover the key areas of information technology, i.e. digital data processing, recognition, representation and storage of data. Other patents are issued in technical fields such as automotive and mechanical engineering, for example for processors controlled by programs.

form wikipedia Software patents under the European Patent Convention

The European Patent Convention (EPC), Article 52, paragraph 2, excludes from patentability, in particular

  • discoveries, scientific theories and mathematical methods;
  • aesthetic creations;
  • schemes, rules and methods for performing mental acts, playing games or doing business, and programs for computers;
  • presentations of information."

That’s all find and nice, but kind of irrelevant considering the author of this library appears to be working out of China and hosting code on GitHub, which has never disclosed the location of their datacenters.

That said, based on this minor bit of research, it’s not likely that the T-splines patent is valid in China, so there’s some clearance for the developer there. However, the viability of integrating this library in Blender (from an IP point of view) is still somewhat suspect. That’s a question for an actual IP lawyer.

OK the fact of the matter is this: software patents are valid in the US only for now, having said that, we must consider that, it is illusory, patenting ideas, because then you could patent, also a stroke type, with a digital brush, in a painting program, I find it bizarre. Initially, Blender, and other 3D software, had implemented the subdivision surfaces, similar to Catmull and Clark, but they were still covered by patent, and nobody has broken any patent. I think there are always different roads, to get to the same result; It’s as if someone wanted to patent the Fosbury Flop.

Pixar’s OpenSubdiv V2: A detailed look
Linus Torvalds: Software Patents Makes No Sense

I think (I hope) we can all agree that everyone is completely out of their depth when it comes to a firm understanding of intellectual property law. It’s not likely that anyone on this forum has the capacity to give effective legal advice in this matter (and even if someone did, that person is likely not willing to offer it as “real” legal advice). We’re in a realm where the best arguments we can make are “my understanding is” and “it doesn’t make sense to me.” So it’s probably best to just table the IP discussion.

The really interesting things are that a) this library exists as GPL code and b) on a technical level, it’s of limited use to Blender without heavy development on the NURBS system.

You’re right I’m not an expert in patent law–leaving aside the controversy, and I think like you, in Blender now are useless, no decent Nurbs, to interact with T-splines.
I saw that on the official forums was posted on open source project. and also on SourceForge has a page dedicated to T-splines, I expect a development of the situation.
T-spline forum post
[SourceForge T-spline

http://www.sciencedirect.com/science/article/pii/S0010448516300616](https://sourceforge.net/projects/tspline/)
https://www.researchgate.net/publication/304364677_Reconsideration_of_T-spline_data_models_and_their_exchanges_using_STEP