Approach to very curvy car fenders

Hi all,
I’ve tried creating some “modern” body shapes for cars, including fenders of course, but very curvy fenders for older cars seems to be trickier. Below an arbitrary example fender (but quite tricky shape, I think) for which I’d like to learn the appropriate tricks. I don’t have any drawings for this fender, but the pictures below should at least illustrate the difficulty.

I tried searching for tutorials for this kind of shape, but since this is not exactly “free” form (as with any car body part) it needs to stay within some dimensions, and have the exact right looks at the end of the day).

Q: What approach/workflow for shaping this kind of fender would you guys suggest?

Things I notice about this shape:

  1. The shape on the highest point is rounded towards the top and outside (kind of “circling the head lights”), but it doesn’t go straight towards the inner profile, or upwards, instead it is …
  2. lowered & flattened towards the inner profile (the front part between the fenders also has a flat top surface seen from the front).
  3. This highest point extends as a softly rounded ridge along the entire length of the fender.
  4. The flattened inner top profile is leveled (along the length) as it’s aligned with the hood/bonnet which has a flat bottom edge.
  5. The headlight area is also flattened (around the hole the surface is flattened about 5-10 mm radially)
  6. Most curvatures seems to be changing radius gradually.
  7. Also the inner profile of the fender is curved in UVN directions (that is, no flat surfaces whatsoever).
  8. All bent edges (inner profile) needs to be rounded/filleted ~R2 mm. (so also the surface edges inwards towards the hole for the headlights).

Since this kind of shape is perhaps the most difficult to achieve (at least from my perspective), I think I really need to start from advice from the best of the best for a good workflow for approaching this.

// Rolf

Fig 4. The fender from the “inside”:

You didn’t say whether you are trying to just capture the spirit and general form, or trying to reverse engineer a duplicate down to pretty close tolerances. Either way you will need to get some 3D points from the original. Your choice determines how many and how accurate the points need to be. What kind of tools do you have available to pull 3D points from an object? You can get pretty far with 3 reference planes, a sturdy fixture to hold the part and a tape measure if you don’t need mm accuracy.

@Steve1 seems to do a lot of work like this. He may have some good pointers.

Sorry for being unclear.

I’d be interested in a general workflow for this kind of shape. No point clouds, no no. :slight_smile:

I will be able to take pictures (aligned with “box corners”) with high resolution camera for extracting curves on three planes, so that will be my starting point in all cases.

So what I’m asking for is a workflow starting from curves (the usual stuff; top, side, front, rear).

// Rolf

Pictures are good, but you’ll still need some reference points and dimensions. You can get the edges and outlines pretty easily by setting up some picture frames in your model and putting your principle view photos on them. You will also need some points on a few selected contours on planes that you can easily place in your model as well as trace the corresponding intersection on the real part. Put the points on the section planes in the model and hand fit a section curve through them on each to your satisfaction. My guess from your photos is that maybe 6 transverse sections and 3 or 4 longitudinal sections would do the job. Let the surface command mathematics provide the smoothing and blending. The undo button is your friend. If you don’t like what you get, make some adjustments and try again. Even the experts will need several tries to get it the way they want it. Maybe a lot more on something tricky. The tooling for this stamped fender was drawn by somebody with a pen on vellum using sweeps for the curves. He did it just about the way I suggested. Get the basic shape and then build the headlight opening as an extruded shape and use it to trim the basic shape. The wheel opening could be done that way too, or you could try building the basic shape around it by arranging your “transverse” sections somewhat “radially” around it. In any case, a two-rail sweep should work, but you could also try a surface from network curves approach. With two-rail sweep you could probably include the inboard flange in the cross section curves, but with curve network it would probably be better added as a one-rail sweep along the basic shape edge and joined to it.

These comments are intended as just some starter thoughts to get you reading the help on the suggested commands and trying them out. You’ll discover what you can and can’t do with them. A good guideline is to use as few curves as you can get away with to define the surface and as few points in each curve as you need to get the contour. While it may not be essential, one other thing I like to do is use the same number of points in each curve set i.e.: edges or sections, and keep the spacing more or less uniform.

If you post some pictures of things you’ve already modeled, it would be easier to offer advice more appropriate to your present skill level.

Thank you for your advice.

Example of my playing around making freehand curves and trying what works for many “modern cars”, sweeping etc. But I realized that I can’t split this shape in the same way as I used with more “modern” cars, which often have “natural creases” and shapes that can be handled separately.

But this shape has so many “gradual big sweeping radiuses” in all directions and… um, in order to make big sweeps I feel that there’s need for, well, bigger sweeps.

I guess I need to get more directly to bigger surfaces with better defined curves from start. Too much cutting and slicing only makes things worse on this shape. So I felt I had to ask for advice.

At this stage it’s not important with the exact dimensions, but the basic shapes define the caracteristics of this fender, so I really want to be able to master all the curves & shapes that converge here.

Notice that I have given up on this model (as I realized that it just doesn’t work to go about as I use to with more modern models), so, starting over and listening to advice.

Do you have the physical object?

You can try using 123DCatch or Autodesk Memento by taking lots and lots of photos (70 for 123D and over 200 for memento I think) I think Mesh Lab also has this feature too - check YouTube there are some examples.

Although you’ll end up with a pretty bitty mesh you can use that as the basis for your model.

Rather than trying to be too clever and getting the whole thing in one hit - do one side and then the other and just over lay them in the approximate position once it’s created the mesh.

Easier than working form profile photos only.


@Andy, Thank you for this tips. Unfortunately I don’t have the object, but with a bit of luck I might in the future.

Is there a feasible way to get class A surfaces starting from meshes, if starting out with the photo/mesh approach?

For now I will try creating a curve cage and try to skin it, somehow. But I find it difficult to match (intersect) crossing curved curves without splitting them (and then MatchCrv the ends). Perhaps there’s a set of tools (of more efficient workflow) for matching crossing curves(?), other than cutting them into the short curve stumps between the intersections of a curve net, but so far I’m still searching.

Again, thank you all for your advice. Sooner or later I will find a way to achieve the complex shapes. Still learning.

// Rolf

It’s hard to say as people approach things form different directions.

If I were to make that shape I’d start with images/picture frames in front, side and top elevations as transparencies. I’d make some 2D drawings @ 1:1 that way you can rationalise dimensions and get an idea of how it may have been made in the first instance. Maybe not with something such as that wing but certainly newer items which are designed with computer software. You’ll notice that the designer may have used standard radii and centres/offsets for details and it starts to make sense and you can follow their ideas and you get a feel for how they were thinking.

In my experience… If you can’t describe it in 2D(ish) profiles then you’re just sketching in space and the time you think you maybe saving by going right into a 3D free-form model is wasted by trial and error. A few profile drawings (by yourself as overlays of photos or CAD data) helps as you’ll know what typical dimensions or offsets to use when modelling.

I’d probably then extrude the shapes roughly and intersect them/boolean subtract to end up with a dirty solid model just so I can see some kind of volume to get me head around it. Then I’d probably lock that model/layer and start to build surfaces around it to get the next level of detail.

I rely on commands such as BlendSrf and SplitEdge rather than FilletSrf etc…

As I’ve stated a few times on other threads the way I work is to get to a certain point before I commit to big changes such as fillets/blends. I’ll Alt-click on the gumball and make a copy of the object and move it to the side by a set integer so if the wing is 500mm wide I’d copy it by 1500mm and keep doing that as I go through the main modelling adaptions. every now and then saving incrementally so I always have some way of getting back to a previous version… Sometimes you can be there for a few hours in the flow and something falls apart and you have to go back a few steps to correct it… if you have that earlier model 5 steps behind you can copy the older model to one side by 5x1500mm and it will be perfectly placed and ready to be exploded and used to correct where you are.

I will hold my hands up and say that after a good few years of working like that I bought T-Splines to help but I have to be honest I don’t use the plugin as often as I thought I would.

Regarding the mesh. Anything that I can use in 3D helps. Taking some basic sections and rebuilding curves, fairing, smoothing etc can move you forward much quicker. Having reverse engineered a few things sometimes you’ll get a response from the client where something doesn’t look quite right and you couldn’t see it as you’ve been head down for hours, the mesh or some form of 3D detail can help you sketch things out to avoid this.

Hope that makes sense?


I’d scan it if you’re after precision.

General workflow in my estimation would be section curves every 2" through front, side and top views. Then NetworkSrf and trim the wheel well and headlight hole. After that you can work with thickness and finish edges.

1 Like

@2DCube; It definitely makes sense. The “5x1500” copying is also a good one I will start using.

And yes, although a newbie in deep learning mood, I understand perfectly well why you’d avoid fillets and blends until you have a basic shape in place.

With my little experience I (already) can imagine why your choice of BlendSrf and SplitEdge as first hand commands. But such a clear statement from an experienced modeller clears up many wandering thoughs. Gold, really.

@Asterisk; This kind of approach seems to be what I will try for now. As I mentioned in my previous post, I’m a bit concerned about the intersectioning of exactly such crossing curves (get the curves in the net to connect, that is).

Is there a good tutorial somewhere where I could learn the best practices for matching these kinds of curves into well connected/intersected networks?

I think I can draw the curves, no problem, but ending up with a well connected curve cage to prepare for NetworkSrf is (I imagine) quite a different matter (possibly due to my lack of knowledge of how to tackle it).

In any case, even if things you have explained so far may seem like stating the obvious, it’s Gold for a newbie as it sorts out so many other diffuse thoughts… :slight_smile:

// Rolf

A basic concept is that all the measurements, photos and scans are REFERENCE material. YOU define the actual curves using the references as guides and you MAKE the curves do what Rhino needs. Rhino does not need absolute intersections, just within tolerance. Rhino, in a sense, uses your within-tolerance curves as it’s own guide to create the final mathematical surface you desire.

Some additional guidelines:

Piecing together curves is a route to frustration. Use only when absolutely necessary. Curves should be built to go through the reference points by snapping to the end points and adjusting control points to make it go through others. Zoom is your friend. Using the mouse wheel allows you to zoom in successively further and further, to check and then zoom back out - all very quickly when you get the knack of doing it so your desired zone stays near the center of the display window.

Always use the minimum number of control points that will produce the shape you want.

Build your section curves on a C-plane. I think Rhino can use 3D section curves in the sweep and network curve commands, but it’ll mess with your mind too much when you’re working on them.

You are right in that it’s a good idea to make sure the ends of the section curves are snapped to the edge curves. Things just seem to go a little better when they are. As you get familiar with the various snap options you’ll get a feeling for which one will be the best for any given situation. Having too many snap options turned on at the same time will just cause frustration. Smart track can sometimes be helpful in locating a point with respect to another, and ortho can be a big help in keeping things on the same plane.

If you’re going to be doing a lot of this kind of stuff and you can get your hands on the original for scanning…

But having said that, it pays dividends to work through problems without the need for plugins before you migrate (but there is often no need to, other than time)

Yes AIW, I use reference plans/curves all the time, either from drawings, photos or my own free hand curves.

But in this case I will need to make several (reference curves), or at least adjust them, also out in the 3D space in order to find out the correct shape & curvatures in all directions. And of course, when I have figured out those curves I could “project” them back to the C-plane, but at that point in time I probably won’t need them as reference curves on the C-Plane anyway so… :slight_smile:

I didn’t know that the section curves network didn’t have to be at least G0 (which is what I meant with “absolute”)

@2DCube; Thank you for the hint on T-Splines. I’ll definitely watch it asap.

// Rolf

They need to be close enough (“within tolerance”) that Rhino thinks they are.

OK, but exactly this part was not central to my concern. What was relevant was that, when curves are not “close enough” (regardless of what exactly “close enough” means for Rhino), and thus needs to be adjusted to become closer to each other, that very job (of adjusting / matching the curves) needs a practical workflow as to not become too time consuming.

But I’m reading through the help files about available curve commands, trying to find a good set of tools for adjusting curves since I tend to have to adjust them stepwise to approach desired shapes.

Stepwise towards the desired end result also seems to be the general experience using tools like T-Splines, even though that piece of software does a lot of the time consuming trivial adjustments automagically.

// Rolf

You draw curves intersecting each other right off the bat using “Int” snap (to run your curves physically intersecting already existing curves) with “Project” Osnap controls On to keep your new curves planar. This way there’s no need to adjust your curve cage at all. You draw it right the first time, basically.

Maybe if you told us what your deliverable is we could help you better?..


Neither EdgeSrf nor NetworkSrf require intersecting curves nor curves within the absolute tolerance. Example file: Non-Intersecting Curves Surfaces.3dm (73.1 KB) Intersecting curves is good practice but not necessary with EdgeSrf or NetworkSrf

Curves can be built through points using InterpCrv or CurveThroughPt.

Rebuild, RebuildCrvNonUniform and FitCrv can be used to rebuild curves with fewer control points. I’ve used each of those when building boat hull models based on point clouds from photogrammetry.