Something similar in Rhino like in Catia


Is this achievable in Rhino (clicking multiple edges and filling)? Patch probably wont be the same thing as fill in Catia…

Hi Ivan -
You should probably post a 3dm file. From that image, it looks like perhaps Untrim will do what is needed - but there isn’t much of a description of what’s requested…

i mean that functionality (fill in catia) that you only click boundary edges and surface is created according to continuity condition.

see the video Design Complexity from Simple Beginnings: Generative Parametric Modeling in CATIA on the Cloud - YouTube from 9 28

Hi @ivan.galik
The parametry… No, I don’t think so. The surface… I would look to XNurbs for something similar.

I am not saying conditions must be kept associative. Just during creation of such surface. If that makes a difference…

You can sorta do that with Patch with a bit of work.

Seemingly magical “throw a bunch of possibly contradictory edge conditions into a blender and get a surface somehow” tools make nice sales demos, aren’t really something you use once you know what you’re doing.

1 Like

agreed, i know different examples but i know what you mean

Yes, this is really not how anyone should model. However, These tools are useful when others worked not carefully enough. Quickly “plumbing” a surface to a hole is a great hotfix without touching too much of other’s data, e.g. when you want a watertight model for a quick prototype-3d-print. In general, almost always modeling a surface first is the right approach. So its still a useful feature, especially if you rely to much on other work. Probably the closest is the ‘Patch’-command and the ‘XNurbs’-plugin as others already pointed out.

from what wim suggested at least how i am interpreting it, that the surface was trimmed with these curves and actually can reestablish itself through untriming. maybe this is even how this tool would act in that case, but i really dont know anything about the parametrics of catia. but in any case a patch would be the result whatever magic tool you would use. (a stronger rhino native patch would be nice either)

‘Fill’ is Rhino-‘Patch’. It fits a surface to all boundaries as good as possible, and then trims if required, like in Rhino. Just the fitting algorithm works better (or just creates a much worse surface, depends on how you see it). (You can see no other surfaces in the model tree). There is a reason why Catia does not expose users to control-points in most toolboxes. Really, fill means close the gap with a hammer.

This is possible, but possibly requires a bit more work in Rhino. There are several tools; Surface from Network of Curves, Surface from 2, 3 or 4 edge curves, and as everyone has mentioned the Patch tool. Patch is the closest to what your screenshot shows.

I’m not super clued up on the specific’s of how they work but, Surface from Network of Curves will give you options to match curvature, tangency etc with the surfaces it’s formed from, or you can use curves (which won’t have any tangency options, as there’s not surface to be tangent too). In complicated cases like what you have there, it might be better to create sections in some places to aid the creation of a smooth/continuous surface.

Surface from 2, 3 or 4 edge curves gives some weird results (probably because I’m using it wrong) and I don’t use it very often as a result.

You can try doing it with history on for cutting curves straight on doublecurvature surface, or also with record history cutting flat surface and than flowing it on target surface which has already tangent or curvature accurate 4 srf next to it, to achieve smooth and non destructive workflow, but it needs lot of workaroug. Depends how good results You need, but it is achievable without any plugins. Xnurbs or other similar stuff for me creates maybe nice but quite heavy in isocurves.

So does Catias-Fill… It fits to everything… even the error you build in. Garbage in, Garage out. How is somebody able to predict a surface curvature with curves? Nobody can, that’s why you end up adding more and more cv’s and spans until all your boundaries are under a given tolerance. Don’t expose users to the surface properties and problem solved… But hopefully nobody computes an offset out of this mess…

I routinely use EdgeSrf aka Surface from 2, 3 or 4 edge curves with very good results. Next time you obtain a “weird” result post it and the curves used to create it. (Use DupEdge to obtain curves from surface edges).

NetworkSrf aka Surface from Network of Curves can provide good surfaces with the options for matching adjacent surfaces as Cperrydesign noted. However the results are usually somewhat “heavy”.

Patch with a starting surface can (and sometimes can’t) work pretty well in ‘weird’ situations.


Essentially its cheating. You can lower deviation in continuity, the more control-points you add and the closer you move them to the boundary. Numerically, you achieve a higher continuity match but, your surfaces are not really smooth after this operation. Essentially what all these fitting algorithms do, they smooth out the inner cps after the fitting. This means the smoothing algorithm is as importan,t as the fitting algorithm.

However, you are very limited in smoothing, the closer you go to the boundary (otherwise you break the continuity). This creates lots of tension at the transition from the boundary area to the inner area of the surface. You can always see this in surface reflections if you patch/fill forcefully the surface in (and bad conditions are present).

Any operation, such as offsetting, likely increases the error at this transitional area. Ideally, a surface should have an equally- or proportionally-spaced net of control-points. But this makes matching challenging. Therefore, in most use-cases, it’s bad practice to define the boundary first. Of course, there are always exception to this rule.
Defining the boundaries, first, is what’s called “variational” surface-modelling. But it’s a very controversial approach if you care about visual quality and clean modelling!