DynamoDS/Dynamo — pull request #2473 by pboyer (2014-09-18 19:55:58+00:00)
Title: Tesselate NurbsCurve's with ASM before injection to Revit 2015

### Issue

http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4680#

Zach was seeing enormous slowdowns when attempting to visualize `NurbsCurve`'s that were the result of `Surface`-`Surface` intersections. ASM results in `NurbsCurve`'s with 500 control points for even simple plane-ellipsoid intersections. Revit is very slow to tessellate these curves. The core issue is that intersections should not result in such a large number of control points. However, this is a very common workflow, so we need an immediate fix for this.

### Fix

The simplest fix is provided here. Instead of handing Revit Curve types, we pre-tessellate them with ASM. Then we just hand GeomKeeper a bag of lines. For `NurbsCurve`'s with a high number of control points, this vastly speeds up GeomKeeper. For this workflow, we went from several minutes to tesselate (basically unusable), to a few seconds:

![tess](https://cloud.githubusercontent.com/assets/916345/4326257/661be8b2-3f6d-11e4-9655-ebb65f7874bb.PNG)

I've also created a task for refining `Surface`-`Surface` intersection results:

http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-4690

### Reviewer

@ikeough