Airfoil curves

I want a copy of an airfoil. USA 35b. I can find co -ordinate files, but I am unable to make them into nice curves.

Self help would be to find the rhino command (s) to use to take a point cloud, make the curve, and then to build the curve so it had a curved acceleration vector.
airfoil lesson.3dm (2.9 MB)

What do you mean by ‘curved acceleration vector’?

A curve on the curvature analysis with no breaks.

@hwansey How did you create the curve in your file? Can you provide a file with the points?

I typically use CurveThroughPt with Knots=Chord and Degree=3 or InterpCrv with Knots=Chord and Degree=3. These provide a close approximation to a physical spline through the points. However depending on how the original shape was created and what points are available a modified approach may be needed. For example many earlier airfoil shapes have the nose defined wtih radius of curvature.

The points are on layer 01.
I have progressed a little. I used interpolate pts and then set about moving the points to get to where I am now.
As a side note, I could not find a NACA script for this airfoil. Too old perhaps?
The points are from a 17 point file that I found on the internet.airfoil lesson.3dm (3.1 MB)

Someone has posted a very good script here for importing NACA .dat foil descriptions that is excellent for doing this sort of work. I’ve done these sort of import of NACA files and they are not very fair and require a lot of manual tweaking to get smooth curvature graphs. That script seems to somehow be able to massage things out nicely. Another guy who has this stuff figured out is Sky, maybe he will chime in here.

I had to open V5 Rhino to get the Python Script for the foil function and it is called “” and I haven’t tried it in V6 yet. Can’t remember who wrote it and maybe there is a V6 version by now.

I found it, but i can’t get it to run in mac

That would be my script… I’ll check later why it won’t run on Mac, in theory it should…
— Mitch

It could well be finger trouble on my part. I followed the instructions. My version 5.5.2 has an additional folder, samples. When I run the command a finder window opens that I assume is looking for the .py file. It doesn’t seem to find it so I put it on my desktop to run it, but it doesn’t recognise the .txt file (or any other for that matter).

Looking at your alias, you need a space between the “!” and the “_”
! _-RunPythonScript...

Otherwise copy the file to your desktop, type RunPythonScript (without the dash) and browse to the script on your desktop…

Just checking that the data file can be .txt, because it is not offering me the text file as an option.12%20PM

Well, right now, the script looks for .dat files only, as that is mostly what airfoil profiles seem to be offered in. If you change your file extension from .txt to .dat does the script import the profile correctly?

I can certainly modify the script to accept .txt files as well, but they would need to be in the correct format (selig or lednicer).


Thank you Mitch. Success.
I had ammended the file initially to the x,y,z format - mistake.

I cannot get the script to work. ImportAirfoilDataV1 works for me, but only off the desktop.
I cannot get any script to run out of the Scripts folder in the Library or its subfolder, Samples.

In my opinion, this forum is one very good reason to use Rhino.

Yeah that is a pretty good method by Sky but Helvetesour script works in a much simpler way. I’m sure he will figure out how to make it work in Mac. I think it works just to rename the suffix to .dat to make it load.

That’s an old version, the V1 version is the most recent.

Hmm, that’s not problem with the script itself, it seems to be a problem with how Rhino is set up on your Mac… any of those should run if you simply type “RunPythonScript” (no dash and manually browse to any folder and select the .py file to run.

In principle the scripts folder - ~/Library/Application Support/McNeel/Rhinoceros/Scripts is where Mac Rhino will automatically look if you use an alias without the full path being specified. That folder is a hidden folder, to get to it you press the Alt key and pull down “Library” from the “Go” menu then browse to that folder. Scripts need to be directly in that folder, not in a subfolder and have a .py extension.

Otherwise, for aliases, you can also specify the full path to the script file no matter where it is located.


It does not look like the points here form a fair curve. The form zigzags.

a smooth curvature distribution, so a bspline with at least degree 4 and single internal knots:

usa35b.3dm (39.2 KB)