FitCrv or SimplifyCrv which is best at keeping exact shape and reducing points?

I have tried both FitCrv and SimplifyCrv on a curve, goal is to not alter the curve shape at all.

FitCrv gives far fewer points than SimplifyCrv, which also altered the curve a very small amount in two places (circles in jpg)

however if I go Object properties > details FitCrv properties says 54 control points

Simplify Crv says 72 segments, no mention of control points.

original curve said 91 control points

can someone shed light on which is best and why SimplifyCrv creates a crv which has no Control point data in properties but is given 72 segments versus 2 or so for the other two.

Reducing points on a curve keeping accuracy.3dm (79.1 KB)


What is the original source for your airfoil data? Are you tracing plans, or do you have the ordinate data tables?


Hi, certainly not drawn from tables with this many points !
This is the result of a planar slice through a networkSrf tailplane tip, networkSrf used aerofoil sctns drawn from tabled data, each section having maybe 15 pairs of co-ordinates, It all looked super, then I sliced through it and dupedge gives this measled line.


Right,I can see why the geometry is so messy. That’s one of the reasons you should never use NetworkSrf for something like this. It all starts with well drawn airfoil sections. You might want to try using this to draw your airfoils - it’s not exactly the method I currently use, but it’s a much better starting point:

If you’re lofting a wing, you need to make sure that if your tip and root airfoils are different, that they have the same number of points, same degree, and the points are distributed along the airfoil in roughly the same fashion. So I would recommend you re-draw your airfoils using cosine spacing, for both your root and tip. Then use Loft to make your wing surface, with Do Not Simplify selected. If you have made your curves correctly, then your resultant surface will have the same number of points along the airfoil chord as your input curves, which is to say very few.

Once you have done that, you can use Split (By Isocurve) or ExtractIsocurve to split your wing. THOSE edges will have the same low point count as your original airfoils. If you’ve done it right.

1 Like


If you’re lofting a wing, you need to make sure that if your tip and
root airfoils are different, that they have the same number of points,
same degree, and the points are distributed along the airfoil in roughly
the same fashion.
That rings a bell.

tabular data 70 yrs old, not created for this CAD world and perfection.
Also client using filler and sanding on end result for static aircraft so get told dont go overboard on accuracy, but Rhino demands it.

I will read this article until fully digested, looks excellent.I have to balance rhino with time it takes and so on.

Cut across tailplane was diagonal so isocurve not of use, how should I do that cut ?

With a network of profiles what should I use to skin them ?

Originally my wingtip was just port to stbd profiles but sweep2rail saw it go sort of fabric covered, so I had to crearte a port -stbd profile to guide the skin better, so the used network surf and it looked great. the wingtop was sweep2rail and point option, as often people use. but scrawny !

profiles are created using InterpCrv though the plotted points then I run Curvature graph just to iron out any obvious irregularities, as sometimes a 3 can be an 8 etc.

cosine spacing, not aware of that, its in that article I guess, I really look fwd to reading that,oh if only I had the time at the mo. damn this job. day and night on it when I should be learning .

not aware of isocurve cuts, though up till now not needed such. first and last rib normally mark the limits, though I did have to extend surface then trim on last wing where rib was inset from skin edge.

I am unsure now of how to trim a surfaced wing so as to avoid nasties later on.


My article actually deals with the issue of accuracy, and coming up with a reasonable fit tolerance for any given project. But this approach is not so much about accuracy to some original data, it’s about setting yourself up for success down the road in modeling with airfoils. Rhino definitely does not demand accuracy in the way you are suggesting. I know we all sound like a broken record here, but a major part of what is holding you back is that you really don’t understand the basics of NURBS curves. Level II Steve, Level II.

Here is the answer, which may or may not make sense to you but it’s the best I can do:
If you have a well lofted wing using the method I outlined above, turn on the control points for the surface, and delete all the control points (there will be two rows of them) between the root and tip. In fact this is a good idea for anything that is being modeled as sheet metal, since unless it’s a hydroformed part or such, it’s sheet metal and can only be bent in one direction. So you now have a surface that is degree 3 in the direction of the chord of the airfoil, and degree 1 in span. This is perfect - this actually models the way sheet metal is bent. Now create a planar surface that represents how you want to cut your wing on an angle. Create a curve from the intersection of the wing and the angled surface. Even if your wing is good, that curve will be a heavy mess of too many points. That’s fine, we’re just going to use it as a guide. Now use MatchSrf to match the edge of your wing to the curve you just created, and make sure “Refine” is turned off. It won’t match EXACTLY, but it will be far more accurate than what you need.

Loft - Normal, Do Not Simplify. But your curves have to be in order first. Remember, planes of this era were originally lofted with only a root and tip profile - this isn’t some modern airliners with 5 airfoils blending to each other. Everything in between the root and tip is just a linear interpolation. All you need is a root and tip airfoil drawn like I show in the post. Then use loft.


I must thank skyg yet again for what was some stunning and helpful advice, I may have not absorbed it all first time around as it was about 4am but I am reading it now at a more sane time of the day when I can absorb it better.

Anyone having to do aerofoil sections would be well advised to follow his article. :slight_smile:

The approach above for sheet metal characteristics is something I wish to learn a lot more about, TurboCad has a tool or set of tools to bend and twist metal in a few clicks if that of the mouse. I have in the past had to try and visualise the twist and construct it and sweep its surface shapes which is hard to do. I wish to learn how metal twisting is best done in Rhino. His advice gives me a good start. I did purchase Turbocad but getting a rhino file to show points in it proved a nightmare and the support didnt have a solution.

Here attached as 3dm is a trace of a plan which I need to create as a 3D item. Red lines are twist I would like to see created easily. As drawn they are NOT ACCURATE simply following original drg sketch. Note also the flat area again bent metal. The entire item has a 2.5mm rad edge bend. (now that I can sweep !)

Any articles anyone can point me too would be most welcome.
ItemForMetalTwists.3dm (73.4 KB)

‘BlendCrv’ is the perfect tool for tidying up the red s-curves - just zoom in with the command running a align the new curve using the handles until you’re happy with the result.

Your red curve which is running into the outer curve shown, if you run ‘BlendCrv’ with the trim option unchecked you will end up with a nice flowing curve without having to split or alter the outer curve (see image). ‘BlendCrv’ initially latches onto the end points closest to your mouse pick.

Hi @Steve1, For the example you gave I would use:
With this tool you can limit the rebuild by tolerance, max number of points etc.
Note that if your MaxPOintCount is too low then this will limit the tolerance that can be achieved and vice-versa.
So start with eg. 100 points and see what it gives you and experiment with the tolerance and point count limit until you get the simplification level of the curve you are after. You can see this in preview and in the command line listing as preview before committing the rebuilt values.
Note that you should explode curve into segments and then join the curve pieces into pieces that will be rebuilt into 1 x curve,else the command will round off any corners.
eg. Explode the foil, join and rebuild the top and bottom separately.
Once happy with the new shape, join the curves up again.
Also a good idea to keep a duplicate copy of the original profile as a reference to see if any areas might need manual tweaking to bring back into tolerance/shape.
See if the attached version of your foil with 35x points is what you are after.(0.1 Tolerance)

Re: Simplify Curve. It is commonly used to transform curves to lines and arcs so that they can be used in certain CNC processes. It is not used for your situation.
From Rhino Help:

SimplifyCrv command
Replaces each curve segment that has the geometry of a line or an arc with a
true line or arc.
Select curves.

  • SimplifyCrv also combines consecutive co-linear and co-circular
  • NURBS curves are broken apart at knot.
  • Tangent joins are tuned up to meet tangent with machine precision.

Thanks for the info on curves etc. as per original quest of this thread.

I also need to explain this metal bending thing a bit better…maybe best to start a new thread with it.

see new thread :slight_smile:


Hi Again,
Now I understand SimplifyCrv and why I end up with segments and not control points. cheers nick.


comparing the green curve created with RebuildCrvNonUniform I see a pretty decent job done, I also see three areas where it has deviated from original curve…white scribbles… one inward, two outward.

the original curve was not perfect, a few dents ! I thought for a moment it had removed them, good if required. but the differences RebuildCrvNonUniform are not for such.

This will have to be the tool of choice, if it follows precisely the curve, and such deviations as the three marked are ok.

Many thanks.