Saturday, September 15, 2012

Interoperable Geometry (Part 2): Spline Control

Simple things matter in the world of 3D modeling and BIM...

For the foreseeable future, designers and engineers will be using a variety of different tools to meet their needs so it is important to understand the fundamental differences in the tools.  Many questions arose from the past post on how to resolve the differences in the spline interpolation algorithms used between Rhino and Revit.

When a user draws an interpolated curve in Rhino, the user specifies the Greville points (or "edit points") to produce a NURBS curve representation.  When a user draw a Spline in Revit (using Curve by Points), Revit will use a Hermite spline interpolation algorithm to draw the curve.  Revit also uses this same Hermite spline algorithm for representing imported splines from programs such as AutoCAD.

The next version of CASE's Import OpenNURBS Add-in implements a technique for producing accurate curve translations between Rhino and Revit.   The importer will let users multiply the number of interpolation points that are used to calculate and draw a Revit Spline curve.  By increasing the number of interpolation points along the Rhino curve, Revit is able to produce matching spline curve geometry with less chance for deviation...

Here is a graphic example of that process...