Rhino 9 Feature : G2 continuous patches

I have been using the Xnurbs plug-in for a few years now and I love it! Good to see that this tool has now been integrated directly into Rhino.

3 Likes

Hey folks, this looks like an amazing tool! Could someone illuminate:

  1. it looks like this two-fillet-to-one-fillet situation discussed above is just a four-sided situation? I know in e.g. solidworks, you can just select the open boundary of those two fillets as one edge because they (seem to be) curvature continuous.
  2. is there some kind of math limitation why you can’t just do like this multi-side-patch thing for those ‘class-A’ situations, instead of doing bunch of four-sided surfaces and trimming a lot? Or is the benefit of the latter just the surface complexity?

@menno What is the plan for FillSrf? Is it a tool intended only for filling holes, or is it also intended to be a more capable successor to Patch which can be used in multiple ways?

1 Like

Currently it is already possible to select continuity edges, internal curves and internal points. An option to start from an existing surface has been requested. Are there other ways in which you use Patch that FillSrf does not cover with the above in mind?

does this mean, it s also available in Rhinocommon ? - which would be fantastic.

1 Like

It will be in RhinoCommon. We’re getting more experience with the API ourselves, and once that’s stabilized it will get into the public RhinoCommon.

3 Likes

This is massive for Mac users! Xnurbs was never available on mac, so this will definitely get me back to rhino. Tried it on a few test surfaces, works great for a wip. Keep up the good work !

3 Likes

Just want to make sure this is clear: FillSrf is NOT XNurbs. While they share similar features they are not identical.

2 Likes

Good enough!:blush:

What are the main differences? I`m Xnurbs user in Rhino and Plasticity.

that’s amazing!! rhinocommon as in we can use it from grasshopper?

Fwiw here’s a 17 year old software (proe wildfire 4) dealing with it. Though probably just G1.

surf-fill.stp (92.6 KB)

well:

How do they differ?

Presumably, Menno doesn’t assume you are a troll if you provide constructive feedback.

Perhaps they are different optimisations of the same original method like:

I suppose the choice and apporach of solver is important, which one could guess where difference is. But I am curious to know as well.

1 Like

I would say that, as a first thing, based on the answers they give to users in the forum, it could be said that they seem less “self-important” or “arrogant” in their responses compared to the XNurbs developers. Also, regarding the idea that to learn how to use XNurbs you need 10 degrees and 150 years of experience in modeling to properly understand how to use their plugin, these are just opinions. :wink:
As you can see from the image illustrated on the left, it shows a classic example of the correct use of Xnurbs, creating Class A surfaces, while on the right is a classic example of a Rhino user using G2 Patches.


Sometimes, to perfect my skills with CAD software, I place a cat on the desk to watch my every move. That way, if I make a mistake, I can be sure it’ll correct me with a disdainful look and its unmistakable judgment.

Indeed, the original method is probably the same - I am not privy to the implementation in XNurbs.
In the method there are a number of internal and user-facing parameters that can affect the result, in no particular order:

  • choice of surface degree(s)
  • choice of knot vectors and internal knot multiplicities
  • choice of the “flexibility” of the surface, too stiff results in very dense surfaces, to flexible results in surfaces that sag when spanning distance between edges
  • method of surface refinement (adding more control points in areas where constraints are not met)
  • numerical implementation details

and of course possible bugs we’re not aware of yet.

Also, @brvdln I’m not sure how to interpret the comment and picture on Class-A and G2 patches. I’m happy to discuss and take on board any constructive feedback that you have, but this keeps me guessing.

4 Likes

Ironically, I’m not serious, except when I use a cat on my desk to help me not go crazy when I see strange surfaces.
For unusual surfaces, because they are 3D models that come from clients, models that I need to work on to fix everything for the molds. :upside_down_face:

you are doing a great job as far as I’m concerned :muscle:

1 Like

Is there some mathmatical reason that we can’t get surface with good zebra stripes by doing these like N-sides patch thing? (Xnurbs ect?) I try to read the paper variational.pdf but is so much math and no pictures… Could someone please shed some light?

1 Like

What do you mean by “good zebra stripes”? Examples of FillSrf, xNURBS, etc not providing a “good” surface.

If a patch matching to adjacent surfaces is needed then the level of continuity in the patch is limited by the level of continuity between adjacent surfaces.

1 Like