algorithmic modeling for Rhino

Convert NURBS curve into Arcs [with arcs of a predetermined raduis]

Hey guys,


I am trying to find a way to rationalise NURBS curve (for the purposes of manufacture) by splitting it up into a series of arcs. However, these arcs need to be selected from a predeteremined list of arcs which have different radiuses. In other words, if I have a group of NURBS cuves, I want to be able to split them up with a series of arcs that have families of radiuses, say every meter.


This means that I could rebuild my NURBS curves in the following way:


 NURBS 1:  [rebuild with 5 arcs] :

 Arc 1 (25m radius) + Arc 2 (17m radius) + Arc 3 (44m radius) + Arc 4 (33m radius) + Arc 5 (12m radius)


NURBS 2:  [rebuild with 3 arcs] :

 Arc 1 (25m radius) + Arc 2 (17m radius) + Arc 3 (12m radius)



In this example there are 2 instances of 25 m radius arcs, 2 instances of 17 m radius and 2 instances of 12 m radius.

These would be fitting to best rebuild the NURBS curves with a tolerance.

I have started by trying to group similar points of curvature along the NURBS curve, but not sure is a good way to proceed.

Not sure if its clear what I want to achieve, but any advice would be great!



Tags: ARCS, Families, NURBS, to, with

Views: 520


Reply to This

Replies to This Discussion

It sounds pretty tricky. How do you solve this problem by hand in Rhino?

You basically have to decide on a tradeoff between distance-deviation from the original curve and angle-deviation from the original curve. It would be fairly trivial to create a curve with a HUGE amount of tiny tiny arcs that approximate the original curve, but that's probably not what you're after.


David Rutten

Seattle, WA

Hi David,

I ended up using a c# script that rebuilds a curve with multiple arcs with a set deviation tolerance, and then rebuilding those arcs by replacing their radiuses with radiuses of incremental values (say every 500mm) (see screenshot)

This script helped me replaces the radiuses:

The only thing is, I would like to minimize kinks. But this may be impossible!



And thanks for your earlier reply btw!



Search Grasshopper


  • Add Photos
  • View All


  • Add Videos
  • View All

© 2015   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service