Surface Curvature

Hey Guys,

I’m looking at curvature analysis possibilities in Rhino. So far I’ve found many pictures that show nice and smooth curvature pictures. However, I need to be capable of extracting this information. I was told this would be do-able via scripting, so I ask here, how would one go about this approach, and has it been done previously?

Features to look out for:

Identifying min/max curvature directions on all points

Extracting information in radius for every point from an imported point cloud (in inches)

Pin-pointing the maximum curvature, thus the smallest radius found on a specific surface (surface imported)
Automating the process externally, thus externally I save a iges or stl file of a required surface, pass it trhough a black box (the automation script) and get a picture along with txt file of the curvature at all points from this file.

Thanks in advance!

Both RhinoScript (Rhino 4 and 5) and Rhino.Python (Rhino 5 Win/Mac) can calculate curvature on curves and surface. I suggest looking in the respective help files (search “curvature”) to see what is capable.

For surfaces, yes.

I’m not quite sure I understand this…

A sample might be helpful. Note, STL files contain polygonal meshes, so you’d want to stick with IGES.

Hey Dale, thanks for the reply,

What I meant was to get an actual radius (or curvature) value at every single point in an imported point cloud. Or for every triangle in a mesh. Not sure how this would work for an .iges. The idea is to be able to extract all this information in order to pin point where the max and min is, as to create an inspection report, showing the critical parts of the surface (where the radius goes below tolerances). On this report, there would also be the image of the part and its curvature along with the scale on the side. Thus someone, say, was looking a 0.050’’ rad, they would see it was associated to a blue color on the scale and therefore could see all the other locations where the rad would be close to 0.050’’.

Hope this makes sense,


Sounds like we just have a mismatch of terminology (perhaps).

I think I still need help with this one - sorry for being so dense.

This one is a no-brainer…

Sounds like an interesting and doable-in-a-reasonable-amount-of-time project. Let me know how I can help.

– D