XNurbs releases a ground-breaking NURBS software

This is quite funny, if you read the question posted by Clement it is directed at XNurbs. Last time I checked that was you not me. I have no problem spending time on this and it’s not awkward for me. I posted a model with an area that is difficult for me to model. Several users on this thread have pitched in with some really good possible solutions and I’m super happy about that.

While you may think this type of modeling is below the capabilities of XNurbs it is nevertheless a good opportunity to show people on this thread how good the software is at solving these types of scenarios. And given that you are currently selling the plug-in for SolidWorks, maybe some of your users can provide you with more examples of what XNurbs is capable of.

If you wanted to get examples created in Rhino, why not invite some of the powerusers on this forum to try a beta version of XNurbs under the condition that they provide you with models generated using XNurbs technology. Seems like the best of both worlds. You get input/examples from real world designers that use Rhino on a daily basis which you can use to showcase the capabilities of XNurbs to other Rhino users and potential customers.


I don’t think it’s going to happen.

I played around with it in SWX+XNurbs. Followed similar path to my original layout with 4 surfaces and a hexagon patch as well as one patch that covers the entire hole.

XNurbs.3dm (608.4 KB)

Hi @Mark_Landsaat,

the input surfaces already had some flaws. I was not able to join everything with an absolute tolerance of 0.001. Once increased to 0.01, i was able to join most of it to analyze it. One edge (marked) yellow cannot be joined but this is probably not related to XNurbs.

The mutiple surfaces on the left built by XNurbs have an edge normal devitaion far below 0.1 degrees, which is pretty good with such low point count.

The single patch on the other side has a maximum edge normal deviation of 2.37 degrees, but i think this is caused by the input surface near the edge marked in yellow. It is not tangent at the corner, so it could not be better


I couldn’t agree more…




1 Like


I’ve been out of the loop for awhile, banging my head against another interface. Can you provide some more info on this plugin? Will it work in the Mac version?

Hi @XNurbs,

such a value would preferably be user configurable. 0.1 is great if the surfaces are not getting too dense.


Few XNurbs users would be willing to provide examples. When I read the communication between @Stratosfear and you “Yeti handles it this way”, I understand why: No one wants to let others know their design or layout using XNurbs.

I guess, like others, you will not show any real production design using XNurbs.

PS: a suggestion of using XNurbs. If possible, do not draw the curves. Instead, let XNurbs generate the curves for you, which are optimized for “minimal energy”. Frankly, I haven’t seen any designer is capable to draw a minimum energy curve, let alone a surface.

You can get more info from our website: xnurbs.com The plugin will only work for Windows.

For your model, if you could consider some basic layout and modify the boundary curves, you should get a good surface on the fly. (The “layout” we used is “the easiest way to select the existing curves” and we did not modify any boundary curves. As you can see, under such a bad method, XNurbs still produces a reasonable surface.)

Could you elaborate? This is interesting! What is the benefit of that and what exactly does this mean for a designer?
I understand a minimum energy curve as a curve with little deviation/variation in its curvature. Basically equally curved. In Design usually acceleration is an important aspect. What’s rather important is to have a smooth curvature flow, but when using single span curves you already ensure smooth curvatures. So you can say Bezier curves/surfaces of low order are of high quality, because they almost always yield good curvature flows. One of the reason why its used in class A modelling. Thinking it the other way around, the moment you start using higher order and more spans, you basically need a functionality to smooth out errors. Is this what you mean by that?

I’d love to see a model made by curves and surfaces created by XNurbs and its minimal energy approach.

Can you measure its visual appeal, brand alignment, design differentiation, and potential for market success, even dominance? Because that’s the curve and surface energy that we designers evaluate when we are shaping a new product. Probably quite the opposite of minimal energy in most cases.

Success looks different for different people depending on what you are aiming at and how you are measuring it.



Just to clarify Mr. @XNurbs, I’m using your term of ‘minimal energy’ in a sarcastic way giving it the meaning of ‘minimal effort’.

The biggest disservice to the design industry has been done by companies claiming they can make easy-to-use software by crippling functionality, dumbing down topology, modeling tools and ignoring an entire generation of important foundational knowledge and best practices of surfacing. The success of tools like Solidworks in product design and Sketchup in architecture are perfect examples of this.

I have a design studio and it hurts me to see the diminishing level of modeling proficiency in designers over the years, lack of skill is what’s capping our growth righ now, we cannot meet client demand, not even close. This is evident not only with recent graduates but with professional with 10+ years to experience who think they can model and create form because they can extrude-cut-boolean-fillet childish blocks in Solidoworks/Fusion/Onshape. And they can even throw in an out-of-control loft sometimes if they are feeling brave.

The biggest niche opportunity in new better modeling tools (something that the big CAD companies give zero fucks about so you should stop worrying about them) is creating tools that give designers/modelers more control. If you can apply your ‘minimal energy’ creation to interpolate and optimize designer’s input geometry while maintaining their design intent you could have something very unique.

Also you should stop being paranoid about the power of your tool. If you understand the business of CAD tools you will soon realize that topology is too hard and expensive to develop and support. And that all the players big stables he’d ones and startups are happier developing bullshit data analysis and PLM features that take 0.1X of the development effort, are priced 10-50X in licensing and reach 1000X userbase. The fact that most companies are making 3D tools that are mostly incapable is a planner business decision. Nothing you develop (or not), share (or not) will change that.

Even at McNeel doesn’t make business sense to develop core geometry features. Just look at how bad not only the surfacing tools are, but also the simple direct editing features are. They’ll sell more licenses creating front for layout or some other BS Autodac parity feature. And that’s perfectly fine.

Modeling is a hard problem. No one is solving it at the CAd company level, at the teaching level, and any part of the market. We can’t complain too much because that’s what makes people who can design and model really in demand and busy, but it would be great to see goodness to be more accessible.

So go ahead make great stuff and tell the whole world about it. Stop the secrecy, it will only bury you into irrelevance, that’s your only business risk right now.

I hope this help,



“There is real progress only when the advantages of a new technology become for everyone”.
(cit. Henry Ford).

Very true, but narrow-minded if taken literally. There’s a market for Fords, for Teslas and for Lyft Subscriptions. They are all different and can be served by different types/sizes of companies and serve a different set of customers.

The biggest challenge of all advanced modeling tools, more so if they are plugins, is that they have a very small chance to reach an already small target market. So whatever they do has to be done to overcome this obscurity, not perpetuate it.

McNeel should try do a lot more to make it easy for plugins to be added to Rhino accounts and Rhino teams. If I can with a few clicks add any plugin to my pool of licenses I think it would make adoption of plugins a lot easier. I’m saying this becomes the real opportunity is in multi-license deployments. And those MUST be easy or they just don’t happen. Just ask the TSplines guys. The 50-100 or so nerds hanging out here talking surfacing for fun and arguing over $100 give or take of what a plugins should cost is a complete waste of time for a plugin developer IMO. The important aspect of this group/forum is to get feedback, not to make money.

Example: if I have to manage a plugin with serial numbers, validation or any extra effort that the simplicity of just adding them to my Rhino Teams account it’s just most likely not worth my time to manage/maintain.

This is why it drives me crazy that if I place a Grasshopper plugin installer in our network for our team to install, the minute the first person installs it, it will get moved to her/his user data folder and disappear from the folder for anyone else to install. I don’t need to hear why this happens. It’s irrelevant. It should just NOT happen.

1 Like

“So you can say Bezier curves/surfaces of low order are of high quality, because they almost always yield good curvature flows.”

That is not true. Curve/Surface quality has little to do with Bezier. One of the reasons why Bezier is used by designers is because of its simplicity: if a designer could make each patch as simple as possible, then with Bezier, it would be possible for a designer to manually manipulate control points. (Of course, it is time-consuming and tedious, and designers never know the perfect solution for the control points.)

Use the following trivial XNurbs surface as an example: creating a lofting with curvature continuity. The generated surface also has a minimum energy, i.e., minimizing the curvature changes, minimizing the acceleration …

The generated surface (G2Blending1.STEP (29.1 KB) ).
For such a simple surface, XNurbs also uses a Bezier because Bezier is good enough to handle such simple boundary curves. Each control points is optimized with millions of calculation and I guess designers are not capable of working out the best solution for control points. The generated boundary curves are also “energy-minimization" curves. So “If possible, do not draw the curves. Instead, let XNurbs generate the curves for you”.

From my understanding bent curves (clothoids) are minimized energy curves. Means the bending forces are distributed equally over the entire length. If the material is homogeneous this leads to a linear change of curvature. I think bending curves can be solved with grasshopper/kangaroo. Seeing this on surfaces is quite interesting!

The surface in your file is not a Bezier patch. It is composed of 3 Bezier patches. It is correct to say that only one of the 3 patches is being used

In Rhino6 you can untrim the surface and then run DivideAlongCreases ( option> SplitAtTangents=Yes ) and then explode the surface into 3 patches. You can then delete the 2 patches that are adding nothing to the model and join the 3 surfaces that are left.

I’m guessing that it is SolidWorks that is adding the extra garbage surfaces to the xnurbs geometry.

Does it make sense to talk about technical details when:

  • There is no Rhino-Plugin test version to try with
  • There is no Rhino-Plugin at all
  • We can’t buy it
  • It is not sure a prospective customer is ‘qualified enough’ to buy



But it’s the best thing ever Charles.


Thank you.

I think the garbage surfaces were created during model conversion: SolidWorks->STEP->Rhino.

I upload the original SolidWorks file and a STEP file with different settings.

Hopefully, Rhino could provide good support so that we could get Rhino plugin out next month.

G2Blending2.STEP (24.7 KB)

G2Blending.zip (52.8 KB)