XNurbs Rhino plugin is available!

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.

Yeah, sounds great :sunglasses:

Getting better and better…



I’ve received email thank you. Can confirm 1.1 installs now without any issue.

I downloaded it and installed.

Sample using Xnurbs!
Three pipe joints.
Select all edges and select points to create.

junction pipe for rhino6.3dm (576.0 KB)
junction pipe for rhino5.3dm (3.6 MB)

Thanks for users’ feedback. Based on the feedback, it appears that, while XNurbs is the easiest-to-use software, some users are actually not sure how to use XNurbs correctly (setup wrong input) and they were only able to use XNurbs for some trivial cases, e.g., filling some simple holes when the holes are accidentally suitable for XNurbs dialog they set… Since XNurbs is super robust, so even users did not use XNurbs correctly, XNurbs could still produce the “best” surface from rubbish input, which is imperfect. However, the imperfect surfaces generated by XNurbs may be still better than the surfaces generated by other tools. So some users were just unaware that they did not use XNurbs correctly…

We asked Vladimir Aleksic, an experienced designer, to develop tutorials and demos for XNurbs. The following are some of the demos produced by @Vladimir_Aleksic. Hopefully, users can learn more quickly how to use XNurbs correctly. We sincerely appreciate Vladimir Aleksic’s efforts.

Watertight Fender (All are generated by XNurbs with G2 continuity.)