Is it possible to model the following car bumper in Rhino using Nurbs?

This is a polygonal model I imported into Rhino. I want to remodel it using nurbs. I don’t have any idea how to create those smooth transitions you see in the main model.
Is it possible to model the following car bumper in Rhino using Nurbs?
Please guide me.
1.3dm (3.0 MB)

Yes it is. But it definitely will put you to the test. :slight_smile:

// Rolf

Enjoy! The “1” marks a surface that has been cut, then the 4-sided hole is filled with either a Blend surface, a Network surface or a Sweep 2 surface. Some of surfaces that I drew on the image are not mandatory, but having them gives you a better control over the general shape.


well, I did modelling real front bumpers. My personal oppinion to this question: In theory you can model these shapes in Rhino, but you will have some hard time getting really good transitions and highlights. Even experienced modeller will have trouble doing good exterieur car parts in Rhino, but in the end its more a question of a good patch layout and constant improving.
The surface layout shown in the last image points in the right direction, but in practise you have to do a lot of trial and error. start with the less curved surfaces, create a good „theory“ and blend in between. The reason why Rhino is not the tool of choice in automotive, is mainly due to some few missing, but (unfortunately)very fundamental tools. So just try and see how far you get, but be aware that a perfect model needs a lot of experience and the right tools. Maybe you begin only with a part of the bumper, its a good subject to train more complex blends. so just have fun :slightly_smiling_face:


Tools such as?

A little birdy (in my own head) told me V7 is the modeling update…:wink:


sounds good.

here is a list of missing functionality:

fundamental tools:
real trim (not masking but pulling cps back to the cutter, keeping the srf untrimmed), this is under the hood based on:

extrapolation which is a superset of extending (if positive) and isotrim with shrink (if negative). however extrapolation can also be non linear; from an edge only in order to create fan-like surfaces


match cps in projection/view direction

minimal match

tan or cur only matching, no pos

matching with the ability to manually move cps under matching constraints (same as Rhinos blend, just for matching)

numeric deviation while matching

matching with cp smoothing

interpolating between unmatched and matched surface (good in situations where 4 edges need to be matched, because you move away from perfect match at one edge to improve the situation at the other edge

partial matching with the ability of moving the edge point

matching with blending all points not just those important for continuity


equal cp distribution on default, we almost always want equally spaced blends

partial blending

unweighted fillets

acceleration factor

fillets from guide curves, to get better radius edges (ral) at areas of great curvature change

static (zebra) highlights (esp. Z direction)

graphical and numeric deviation analysis to allow manual matching

triming with automatic edge extension, so that you don‘t have to create an intersection curve if srf A is smaller then srf B

increasing or lowering degree/order of crvs and srf within other commands

mostly tiny things which make up huge difference in the outcome


@TomTom What are the limitations of this operation? Is it limited to trim curves which can be modeled or reasonably approximated by the existing number of control points and knot spacing?

Y’all can try testSplitRefit prototype in V6 - it is not very friendly and not very stable, but it is a step in this direction. (somewhat better in V7/WIP but the UI is only at the test level) Works best if the curve, or projection of the curve, is more parallel to an iso than not.

Pick a surface, pick a curve that spans the surface, set the command line options - none of these is remembered so it is a bit of a pain.

Save first.

In the WIP, testFilletSrfNonRational

Also, testFilletSrfToRail. If you set the degree to 3+ the result is non rational across the fillet.

In the WIP as well - testTrimRefit attempts to convert a trim that spans a surface into an untrimmed edge.



since this works based on extrapolation it should pull back all controllpoints in a row, so the amount of cps and the knotvector shouldn‘t be a problem. Well I never use this with multispan surfaces, so I dont know if extrapolation works just for each local segment then. Its worth to test. That wouldn’t be a problem then…

Furthermore the limitations are obvious: Your cutting operations needs to allow 4 edges and your cutting shape should be clean, so that the amount of controlpoints can approximate the intersection. Deviation is acceptable. What it is more about is to tangent align edges in a surface layout, in order to improve the conditions to match a surface. So real trim/surface splitt(vsr terminology), is heavliy used in automotive modelling. I use this all the time. Especially for corner fillets this is a very useful tool.

A thread from last week:

in this thread I used this functionality, to create the blend. Unfortunate I wasn‘t properly splitting, but still, the conditions were better than without this splitting operation. I also used rational fillets

Dude - your work is awesome! I’ve followed you on YouTube and hope one day you’ll do a video on how you generated this bumper from the sample mesh.

1 Like