Learning Nurbs Topology for Paneling Projects

This question is asked a lot on the forums and is one of the biggest misunderstandings of nurbs geometry. Geometrically it makes sense if we just think about it, how would one expect a software to apply a grid to a surface without 4 edges (a grid) where there could be infinite solutions in the edge condition resolution. There must be some way we can make this understanding more obvious to users… :grinning:


I agree, probably every year when teaching students , he/she needs to explain curve and surface domains, topology and discrete to smooth differences again and again. Even if the concept did not change at least for a decade or more we use Rhino.

There could be some general Rhino doc for this.
There are pdf primers, but it would more convenient to have like RhinoCommon.dll documentation for each separate topic as a website.

1 Like

Agreed that understanding Trim vs untrimmed surfaces with UV domain is important. And just this last couple weeks it seems paneling primer is needed. So, is it worth working through this in a common place? We can help with some of the technical details. I think a place on our website to bring this information together is a great idea.

A certain patern I see is that UV is where everyone starts. And in the most basic situation that may work. And then the next natrural progression is dealing with trimmed surfaces because not everything is made of 4 simple edges. And while UV is a natural way to get a grid, it is not always the best way to get a grid. So this Paneling primer should also include some advanced techniques when UV does not give enough control. So then the subjects move onto more advanced ways to get grids beyond UV.

Here are some places we look at Domains, topology etc…:

  1. Essential Mathematics Trimmed Surfaces
  2. Level 2 NURBS topology
  3. Parametric Curiosity Trimmed Surface paneling
  4. Paneling Methods on complex surfaces

What other resources do you like to use?


In my case I found it really useful to use .NET of Rhino documentation. Because there is a layer structure on the left side.


I imagine this for general geometry explanation.

Start with a “menu” on top of the forum, on all mcneel sites/pages, which has links to all the other sites.

It’s unbelievable that I have to search for links to GH APIs, RhinoCommon APIs, Developer Guides, Help Files, Wikis and blah blah blah which makes it necessary to post links to these on the forum when answering questions which are clearly asked due to people being lost in McNeel information space.

I know there’s a page holding links to all these sites, but my point is that that very link is not in the very menu on top of all mcneel sites/pages, but most important is that the menu itself isn’t there (then you’ll find anything, without asking for where I can find a place which helps me find everything).

Unbelievably, really.

And now you are planning on creating yet another place to hide valuable information?

What I am saying is that there already exist lots of VERY GOOD information (although more can be added) but as long as no one can find it without “researching” for how to find it, it’s … not so valuable (as it could be).

// Rolf

80% of all traffic for any page on any website comes from a Google search. So the key is usually to get it is one place so Google decides if is important enough to guide people thier.

Another good question is, where are people looking right now? Did they investigate before? Or as on the forum first.

All good questions.

1 Like

If having a “integration menu” linking to all major mcneel sites then it doesn’t matter what/where people are looking first - since when you see the menu on any of mcneels sites/pages you just go there.

| Home | Products | Help | Wiki | Forum | Guides | Tutorials/Papers | API/Developers | Whatever

… on all sites/pages. Point being: No one can miss it, no matter how you arrive at any of the sites.

BTW, I’m Quacking with DuckDuckGo instead of googling… :wink:

// Rolf

@Petras_Vestartas and @Michael_Pryor - I am thinking it is for paneling. Yes, there needs to be an explanation of trimmed NURBS topology and UV. But laying down a grid and going from there.

From you experience, what is the process of teaching Pufferfish in this case?

When it comes to trimmed surfaces I typically go to mesh and break the usual rec grid as opposed to trimming panels. Of course the edge condition isn’t smooth but I prefers full panels. So something even like quad remesh and then treating each quad face as a panel.

We could make an entire encyclopedia of the many ways to finish at a trimmed edge. Here is just 6.

But that’s the thing many new gh users don’t get. If the thing you are doing doesn’t have 1 obvious solution then likely a single component (in this case the lunchbox one) won’t do the job. There are too many possible solutions and no way to factually say one is correct, and when that happens, you need to be a designer rather than a slider mover :grinning:.

I wouldn’t mind these constant trimmed / untrimmed questions if they were always accompanied by sketch of how they expect the panels to end, atleast then we would know some thought is put into it and also we know how to help. I just wonder what did they expect the the grid to do?

1 Like

Yes, agreed.

So @michael, do you use Pufferfish to get these different grids? Is there material you normally point to to get this concept across?

Or, should we create a gallery of some examples?

I use Pufferfish just to get a panel to a mesh face. In terms of making the mesh topology it really just depends on the design. Sometimes it is manual, sometimes quad remesh, sometimes mesh machine, etc.

I prefer meshes for paneling as well since I dislike trimmed panels.
Besides meshmashine and quadremesh or custom scripts I started using compas_singular by BlockResearchGroup/Robin Oval some weeks ago (figuring out how to install it properly took some time) but the amount of control is just great!


pic by BRG

1 Like

Nice! These are the kind of patch layouts I find myself doing manually with SubDs as well now. Then I go ToNurbs and panalize each nurbs patch.

I have to admit, the SubD workflow is still new to me, I made the switch to RH7 two days ago :smiley: but maybe compas will save you some time.
Besides the whole compas framework looks like a great addition to computational design workflows.

1 Like

Looks like these two cases strangely haven’t been mentioned yet - the simplest options if you want to match a smooth boundary curve with all quads:

The one on the left is of interest because it can match the principal curvature directions on an ellipsoid-like shape, which is helpful if you intend to make planar panels (see this discussion).
(Principal curvature networks only ever have nodes of even valence)
The layout on the right can be seen as a splitting of each of the valence 2 nodes of the left layout into a pair of valence 3 nodes. While this won’t match smooth curvature directions so well, the variation in panel sizes and angles can be smaller.

For designers I think there’s not really any substitute for developing a feel/understanding for what works and what fits your aesthetic, and creating the patch layout directly yourself. It’s a real art, and when done well can have a great impact on the look of the finished project. I wrote this post a while back about some of the subtleties of the patch layout for the Great Court roof.

One thing to note - if you look at each of the irregular vertices above (the ones not connected to 4 neighbours) and see how many short of 4 surrounding faces it is, and add these values up for all the irregular vertices, the total comes to 4 for any all quad division of a topological disk like this.
(for boundary vertices you have to count how many short of 2 connected faces the irregular vertices are)
Whatever further irregular vertices you add, this total always stays the same. If you have interior vertices surrounded by more than 4 faces (or boundary vertices connected to more than 2) then you have to subtract this value from the total.


Perhaps paneling in general is too broad of a term. I see different purposes all of which people call paneling, but they are quite different in execution.

  1. Paneling to new topology such as Quadmeshing. Good to go to SubD and other situations that specific quad typologies are important?
  2. Paneling for a pattern layout, like Pufferfish or Weaverbird style forms. Can be used well for complex shapes in products and styling?
  3. Paneling for building facades. In principle similar, but more restrained because of edge conditions and fabrication methods.

There is a lot of overlap in these workflows, but there are also some key differences especially when fabrication methods start to impact the details of the form.

So are these 3 different guides that have some overlap?