I don’t see how fillets on NURBS-based B-reps built with a SubD patch in the “interior” of the fillet will solve Rhino’s filleting issues. Sure, the new SubD patch would be smooth in its interior, but in most cases it wouldn’t be able to smoothly match the NURBS faces around it. See where SubDMatch is able to exactly match a NURBS surface (more or less when the NURBS is non-rational degree 3 with uniformly spaced knots, and 0 cross-boundary curvature on its boundary).
Conceptually, a fillet needs three steps to succeed:
- Offset filleted edges onto the neighboring surfaces (or pipe the edges and intersect with the surfaces), to build rails bases for the fillet.
- Define a surface (or collection of surfaces) based on these rails, that connects with some continuity target to the neighboring surfaces. Note that not all filleting methods actually build out that surface, it might just be a mathematical target shape for the next step.
- Rebuild a valid B-rep by joining everything back together, or editing the original surfaces so they match the target shape of the fillet from the previous shape and rebuilding new edges.
Each step is a complex algorithm on its own, with its own edge cases and failure modes that can bring down the whole filleting operation.
From what I understand from the original post in this thread, we would be using SubD patches in step 2 to build better fillets. As I said above, I don’t think SubDs are a good choice for that because they cannot connect well to most NURBS surfaces, and it also would do nothing for the other two steps.
On the other hand, there are some amazing improvements to NURBS fillets (both FilletEdge and FilletSrf), and NURBS patches in the WIP. Maybe that’s what @encephalon was alluding to when he said that things have happened since this thread was created. In any case, go check them out if you can!