Understanding SubD Edge Loops: Open loops vs. non-loop closed edges

Hi everyone,

I am pretty new to SubD modeling in Rhino and I am trying to understand how edge loops actually work. I keep running into situations that confuse me, and I want to make sure I understand the underlying rules.

Could someone please help me clarify these three things?

  1. Open Loops: Can an edge loop be “open”? If I have a mesh with a hole in it (like an open cylinder), and the selection stops at the empty edge, is that still considered a valid edge loop?

  2. Fake Closed Loops: Sometimes I see a perfect circle of connected edges on my model. Visually, it looks like a complete loop, but when I double click it, Rhino only selects a few segments or shoots off in a weird diagonal direction. Why does a visually closed loop fail to act like a real edge loop? What is happening to the topology there?

  3. Outer Perimeters: When I have a flat, open planar SubD surface and double click the very outer edge, Rhino selects the whole perimeter perfectly even around sharp corners. Is this handled by the same “edge loop” rules, or does the software treat outer boundaries completely differently?

I want to break my bad habits early and really understand the logic behind mesh flow. Any explanations or tips for a beginner would be amazing. Thank you!

Hi Muhammad,

1. Open loops are valid and expected

Yes, edge loops can absolutely be open. The loop algorithm works by walking from edge to edge through “opposite edges” in quad faces. When it hits a boundary edge (the open rim of a cylinder, a hole, etc.), there’s nothing on the other side — so the loop stops. That’s not a bug; it’s correct behavior. Open surfaces produce open loops.

2. Why loops shoot off in unexpected directions

Edge loops depend on quad topology. In a 4-sided face, the rule is simple: enter on one edge, exit the opposite edge. The problem arises with non-quad faces — triangles (3 sides) or N-gons (5+ sides). There’s no true “opposite” edge, so Rhino has to make a judgment call, and the result often looks like the loop jumped or diagonal-selected across the mesh unexpectedly.

The fix is to audit your topology: if a loop behaves strangely, there’s almost certainly a triangle or N-gon at the point where it goes wrong. SelectBadObjects and ShowEdges (with non-manifold and naked edges enabled) can help you find problem areas. Rebuilding those faces as quads resolves it.

3. Outer perimeter selection uses a different mechanism

What you’re experiencing on the flat open surface isn’t an edge loop — it’s a boundary loop (also called a border loop). Instead of following the “opposite edge through a face” rule, it follows the chain of connected naked/boundary edges all the way around the perimeter. Sharp corners aren’t a problem because it’s just walking the border, not threading through faces. That’s why it feels more reliable — it’s a simpler operation.


Short version: loops depend on quads, borders depend on connectivity. Keep your SubD mesh quad-dominant and your loops will behave. Hope that helps clarify the foundation you’re building on!

Thanks Japhy. I got some clarity.