XNurbs releases a ground-breaking NURBS software

What the hell does this mean??

I haven’t said that. But its very hard to create bad quality surface models when you minimise control point count. So there is a correlation between Single Span models and surface quality. On the other hand I never said its not possible to create high quality models with more spans, but usually you have to thrust on algorithms, and they don’t know what’s looking right.

In addition Designers do not want to minimize curvature changes, nor minimizing acceleration. This is nonsense.Of course many designers don’t have the mathematical background to understand what a good surface model means. But it is not rocket since and many surface designer will learn that during their career.

Instead a Designer want to control the curvature flow and its acceleration. If they decide a blending needs to look “sharp” they usually want accelerating from a low curvature to the strong curved path smoothly. Usually if you have a good “theory” and your are pushing the controlpoints tangent and proportional using single span blends (form factor), I will guaranty you almost always get a perfect blend.

What you want is minimizing abrupt changes, wavy flows, flat spots and bumps. But those occur quite often on “heavy” surface data. And even if its not visible, it creates a much more difficult situation for further operations (offsets,matching, projections). Even worse, if your shape is rational.

@XNurbs I want to see how the xnurbs program behaves for these problems

Moto prova xnurbs.3dm (1.0 MB)


"…they usually want accelerating from a low curvature to the strong curved path smoothly…"

I don’t want to comment your design practice. However, I guess you would often get problems, e.g., “overshooting”… A better way to fully control the surface shape is to use “constraints” (Refer to the “Y Lofting with G2 Continuity” example on our website. That shows the meaning of “minimizing curvature changes and minimizing acceleration” - satisfy your CONSTRAINTS while minimizing curvature changes and minimizing acceleration.)

As long as designer may input as many constraints as necessary to define intent precisely, to include curves and curve networks along with suface edges, the resultant form should be controllable to the extent desired.

That said, one may certainly build a mess which creates a mess, and such is not necessarily the fault of any software.

What appears to be novel with XNurbs is the ability to break some ‘rules’ and begin to construct complex surfaces faster, and with greater ease. If such is accomplished with acceptable levels of quality per industry (read - continuity) well - ground done broke!

1 Like

Here is the model Moto prova xnurbs.STEP (2.5 MB)

For the first surface, we randomly select 7 edges with different G0/G1 settings as shown in the image below. Don’t know your design intention.

The other two are not typical freeform surfaces. For that type of “ruled” surfaces, e.g., “Sweep 1 Rail”, users’ design intention is to sweep the profile along a rail (minimizing the profile change, not minimizing the energy or changing the profile). While XNurbs is a superior solution for freeform surfaces, it may not be appropriate for that type of surfaces. However, we use XNurbs to generate a surface.

For your 5, the existing boundaries has a maximum edge normal deviation of > 15 degrees. XNurbs considers the input is unacceptable (15 degrees is the max normal deviation allowed.) You should fix the model problem first.

I think we are not talking about the same thing. In my understanding, and seeing your indeed impressive plugin as an improved way of “patching” surfaces together, your approach seems to base on a process similar to mesh relaxation. That, in my understanding, would explain the approach of minimizing energy and acceleration, since this is the consequence of relaxation.

What I was trying to say is, that a relaxation is not necessary what a designer wants. Usually a designer should never come to this “undefined” situation seen in the pictures posted by @giorgiapeci
A good design practice would be closing the main surface positional and then thinking about how to blend in between. Without a well defined “theory”, it is unclear on how a blend should look like. It really speaks for your plugin that it produces an acceptable result in this situation. The question is just: Is this sufficient? I personally would not close these situations like this. Looks way to arbitrary and undefined. It’s not your (plugins) fault, maybe there is no working theory in behind. But I just want to show you that closing holes in a model based on minimal energy isn’t the holy grail of Surface Modelling. There are for sure many situations where your plugin will be useful, but I personally still see the trade-off between algorithmic assistance and explicit design control.

1 Like

Yes, we would want to model tension in our surfaces but I think this could be achieved by feeding the right constraints to xnurbs (hopefully)

My biggest concern is that the resulting surface from xnurbs is unmanagable as it is, but I will subscribe this to bad input conditions.

1 Like

HI Vladimir, are those two examples using the same input boundaries? this is what it looks like to me…

1 Like

Same input surfaces, extension until edge and filletsrf with slight edit.

it’s G1 on the lower tangent because it’s not the point.

I would say that you could work these constraints (where the surfaces end) with xnurbs as well to get the desired result, but we won’t really know until we test it.

Also just cleaning up some of the input surfaces would make both results much better, no doubt.


Thank you for seeing how you can solve the problem, the file was done incorrectly, to see how the program behaved.
I await the release of the program for Rhino,



This is sort of problem that I want a quick fix, as doing in Rhino(for me) takes long time.

I have about usually three surface coming together sometimes four, and I’d like Tangency in all areas, including bottom extruded surfaces.

I’m desinging shears and multi-blending these areas is always time consuming so would like your help with XNurbs Rhino plugin.
Please le me know what else I need to get accepted as a user.

Blending3Surf.3dm (215.1 KB)Multiblend3Srf.stp (107.2 KB)

Adding One usual solution I do, but making curves and dealing with naked edges are
sometime too time consuming. So awaiting any good quick tool out there.
Also the surface is squished a bit due to the guiding curves I made…

Blending3Surf._oneSolution3dm.3dm (400.8 KB)

Here is the surface generated by XNurbs Multiblend3Srf.STEP (219.6 KB)
and the screenshots (To show how to control the internal shape, a guide curve in added)

Could you tell me how you designed the existing tunnels - the shapes are not “natural”? The following shows you how to design the tunnels with XNurbs (all G2 continuity. You can use internal curves to control the shape.)

Multiblend.STEP (70.0 KB)

1 Like

Sorry for the quite late response.
The curves are quite random I guess, shears need to match the finger so it’s not making great looking
curve, but something that feel right to the finger.
As for the Surface, I think I used sweep2 in Rhino to make.

For the Multiblend3Srf.STEP is there way to control the plumpy surface?

Rhino plugin should be available to some Rhino users next week. It is powered with the same xn kernel, so it has the same capacity as XNurbes SolidWorks addin. (While the Rhino plugin is very simple, developing the plugin with Rhino SDK takes much more time than we expected: The slow progress is partly caused by Rhino SDK … So Rhino users cannot just blame us for the delay.)

Last week, we also released a new SolidWorks version, and we tested your model with it – it produces a better result for your Multiblend. (That version significantly improves the achieved tangent deviation, so does the Rhino plugin.)

If you redesign the whole tunnel using XNurbs, you can easily get G2 (see the attached screenshots and model. XNurbs replaces sweeps.). (You could get better surfaces if you would use better curves and layout.)

Multiblend.STEP (333.5 KB)

You can add more internal constraints to control the shape generated, e.g., points, curves, point cloud, curve networks… (The inner guiding points/curves don’t need to be perfect or precise, as XNurbs will automatically optimize and “correct” the guiding points/curves. So you can just draw the inner points/curves on the fly.) The above example show the use of a guiding curve. Of course, you can use any constraints, e.g., a curve network etc. The following show the use of internal points.

1 Like

How may one apply to be considerated as a user?

1 Like

I hope no distinction is made between serious A and B-series users: a plug-in should be “democratic” for everyone, not for a select few. Then, some users will choose, if they want, to buy your plug-in.

1 Like

Thanks! Looking forward to trying out the demo.
(how to apply//download? as question raised above?)

Got one design that I’m starting just now, so it’d be good timing.

I’m too definitely interested in this plugin, although I’ve been so occupied with other projects lately so I haven’t had the chance to try it out. But the results demonstrated so far exceeds my requirements by far. So when ready to ship, ping me with a PM with info on pricing. Hopefully I can afford it.

// Rolf

I must say that this plug-in for Rhino is making you sweat! Announcements and proclamations, but still nothing! It’s just a plug-in to do a certain thing, we’re not talking about a complete and complex software!