XNurbs Rhino plugin is available!

Hmmm, your example seems like a result of initial surfaces that need to be clean and with “predictable” arrangement and shape. Perhaps some issue related to split surface edges? Have you tried to clean them up? Will “Rebuild edges” help with that? Could you upload these sample surfaces so that I can test how I could build a smooth transition? Thanks.

Rhino’s “Blend surface” is quite powerful and has a nice amount of additional options to play with. It’s not ideal, but when combined with “RebuildUV”, “Move UVN” and “Match surface” it works just fine.


All are single-span surfaces, degree 5, untrimmed. This problem is standard on many such examples.
You can build it yourself easily from the images.

Example you posted is full of wobbly low quality automatic radii…don’t compare surface matching/blending and filleting. Apples and oranges.

*what I need is on the left, for filleting I already have fusion.

1 Like

I’m not sure that I understand what you mean with “wobby low quality automatic radii”. The picture I posted above clearly shows that the round corners were made manually (even the most sophisticated CAD software can’t do this kind of edge blending automatically). There is no automatic radius surface or any sort of G1-like blend in my model, except where it’s by purpose (areas interacting with rubber seals, etc). Everything is G2 or at least G1,5 (more than G1, but less than G2) and 100% manually built with “Pipe” (for removing the edges), “Blend surface” with G2 (to substitute the automatic “Fillet edges” or “Blend edges”), and sometimes “RebuildUV”, “Remove knot”, “Move UVN” and “Match surface” to further improve the optical smoothness of the surfaces.

By the way, there is nothing wrong with G1 corners. It’s commonly used in the manufacturing (especially where CNC-milling with ball cutting tool is used), including in the automotive industry where the body panels are bent by 90 degrees around the border with 2 mm radius, as well as where rubber seals interact with moving body panels such like inner door panels. Also, in some cases G1 provides considerably more natural optical transition between surfaces, than what G2 does.


Clean radii example since you didn’t understand me.*edit - we talked enough about this, the process one uses doesn’t matter, only the result.

For xnurbs I’m more interested in main surface curvature flow and how it can be controlled more efficently. I’m still learning what I can and can’t do with it.

1 Like

The part that’s not clear in your post is, what you refer as “full of wobbly low quality automatic radii” in the picture I posted? There is only one G1 radius in that model and it’s made by purpose since it’s an offset of a rubber sealing that makes a contact with that inner door panel. The remaining edge blends are G2 or at least G1,5. Nothing in that model is automatic, nor is a radius (except the single G1 offset that I mentioned). I already explained the approach I use to build these blend transitions. It includes “Blend surface” with G2 which is usually additionally adjusted in some areas with “Move UVN” for better optical flow with Zebra and curvature (Gausian and Mean) analysis, and completed with “Match surface”, also with G2.

Small number of users reported the problem. This is the only problem we have for the current XNurbs version. The upcoming update will address this problem. Many thanks for the detailed info.

Professional developers generally won’t develop industrial software based on what are claimed by academic papers, which are done by students.

For R&D teams in big CAD companies, they have spent some time to dig out all info you could get about XNurbs. The real question for them is how we could achieve it.

The tech powering XNurbs is called variational surfacing. Big companies, e.g., Catia and UGS, have been working on it for 20 years… They could explain why the tech is superior. Rhino also develops their own variational surfacing, but it is not useful as it may not be as good as what Catia developed …

Just for the performance alone, XNurbs’s variational surfacing is literally thousands of times faster than others’ development …

The real issue for users is how to use XNurbs.

1 Like

In fact, XNurbs could “fix” input errors: If you take a closer look at the preview, the preview should always produce good surfaces even with bad input data. (It relaxes the precision requirement.) If needed, we could output some “preview” surfaces, which fixes bad input data.

We use some conservative setting for “Flatness”. In fact, you could “drag” it to the right further.

Many thanks for your feedback.


Variational surfacing just means that you don‘t need to care about arranging control points of one surface compared to another surface.
Rhino‘s Patch command fits under the same term, its just not that advanced.

The benefit of modelling with surface tools which are capable of creating continuous models without a clear cp layout, means that people need less knowledge about surface modelling. It also means that its speeding up modelling difficult parts. Usually the most difficult things to model are corner blends where multiple surfaces are flowing together. Holding a clear cp layout is difficult here anyway and especially Rhino is lacking functionality for these situations.
So its definitely a win here.

Forcing in a patch with at any cost may lead to an acceptable and quick solution, but it’s not superior.Its an acceptable tradeoff, a good deal. Becausing missing a good cp/surface layout, is a clear disadvantage not only regarding the overall curvature flow, but also in terms of controlability. Experienced Designers usually know which controlpoints need to be changed in order to achieve a certain change in design. This however requires a clean, lightweight surface model. Not having that is just complicating the process of form finding and design refinement. Simply because creating a surface model is not (only) about closing a shape with continuous relaxed surfaces (and as fast as possible), its rather more about building in design ideas, detail and quality.

In addition to that: If you argue students don‘t know much about surfacing you are right! However cad developers usually don‘t know either! They know about programming and about math, but I bet hardly anyone of them has created a real world product. This is one of the problems we are having nowadays with cad software, because true innovation is just not there. Its all about quantity and „experience“. This is also a tiny bit of criticism regarding Rhino. I really do believe Rhino, as a Nurbs modelling software, needs more attention to Nurbs tools. Although I admit the positive changes from V5 to V6, I think there is much more room for improvement .


This appears to be the “original” paper on “Variational Surface Modeling” https://www.cs.cmu.edu/~aw/pdf/variational.pdf


Are you an academic researcher? For the variational surfacing, do you know the R&D gap between “Rhino VS. ACIS”, “ACIS VS. Catia” and “Catic VS. XNurbs”? (The original paper is done by Dr. George Celniker, who also was a developer for ACIS.) There are huge differences between academic research and industrial R&D. As @gustojunk said, research software always crashes and may not work for designers …

Since you asked, I give you a bit more explanation: Existing surfacing tools in CAD are just degenerated cases of XNurbs, i.e., disabling energy optimization, generating a fully-determined linear system and only handling simple constraints (mapping 3D curves to iso 2D curves) … For XNurbs, it is the worst case that could never happen. So “in plain English, except for very special cases, e.g., analytical surfaces, for the same input, the surfaces generated by XNurbs should be superior than the ones generated by traditional surfacing methods …” For professional R&D teams from big CAD companies, of course they understand XNurbs’s applications.

While XNurbs is the easiest-to-use NURBS software, some users may only be able to use it in trivial cases, e.g., filling a hole, and within a couple of minters of installation, they can get their design done with XNurbs. They thought they were a master of XNurbs. For experienced surfacing designers, they may spend weeks even months to learn XNurbs, so some users do need the help from experienced surfacing designers for using XNurbs…

1 Like

We do not plan to support MAC. The plugin is written in C++ and only has about two thousand lines of code (but we did spend quite a while for the development because of Rhino SDK).

1 Like


??? :pray:

@dan is the ‘man’ if feasible…


Xnurbs uses Parallels Desktop 14 and runs on Mac. (The trial version of parallels Desktop 14 is 14 days, the trial version of Rhino 6 is 90 days)


V1.1 is just becoming available. We received a couple of requests from you. Are you able to download it? Let me know if you have any problem with the download.


Are you able to run V1.1 on your computer? V1.1 should fix the problem - it is the only problem that V1.0 has. There are a lot of improvements for UI, so please read the manual.

But where is the updated version of “XNurbs”? Every time an update comes out, you have to request it? Would not it be more convenient to post it and who wants to download it?
How many problems do you put in circulation! How many stupid things! We do not make every plug-in a secret of state.

Hi @XNurbs
I didn’t know there is V1.1, I’ve never received any information about it.
The old link doesn’t work

It is the version before its general availability. While XNurbs is basically a bug-free software and also is the easiest-to-use NURBS software ever developed, some users may only be able to use it in trivial cases. So we hope experienced users can provide some screenshots/videos to help inexperienced users.

Sometimes, your emails or our emails could not get through, and they were deleted as spam emails. Please let me know if you receive the download link.