Curve Nodes
Advanced curve operations for Dynamo including duplicate detection and highly optimized intersection methods.
The Curve nodes provide access to efficient geometric operations that eliminate workflow complexity and performance bottlenecks. These nodes replace multi-step processes with single, optimized operations - delivering up to 99.7% faster intersection processing while introducing capabilities previously impossible in Dynamo, such as using solids to trim or intersect curves.
FindDuplicates
Finds duplicates from a list of Dynamo curves. The node returns a list of CurveDuplicatesResult's – each result stores the UniqueCurve and any Duplicates.
Inputs
curvesCurve[]Outputs
CurveDuplicatesResult[]CurveDuplicatesResult[]Features
- Remove duplicates from a list of Dynamo curves
- Returns a list of CurveDuplicatesResult's which group any duplicates
User Guide

IntersectAll
Curve.IntersectAll adds new functionality to Dynamo's Curve class. The node is ultra-efficient, implementing a purpose-built curve intersection method from the Revit API which is further optimised by our own algorithms to eliminate redundant intersection tests and maximise efficiency.
The result is a node which can calculate intersection points infinitely quicker than the same workflow using standard Dynamo nodes; in bench-marking tests, we have recorded up to 99.7% reduction in overall processing time.
Inputs
curvesCurve[]Outputs
Point[]Point[]Features
- Returns all the intersection points for a given set of curves
- Highly optimised resulting in up to a 99.7% reduction in processing time compared to standard Dynamo nodes
User Guide
SolidIntersection
Curve.SolidIntersection node enables the intersection of a list of curves against a solid. The node can compute curve segments that either intersect the solid (default behaviour), or the result can be inverted, which compute curve segments outside the solid. Inverting provides dual functionality to the node, with both solid intersection or solid trim possible.
The node packages the result of the intersection into a SolidIntersectionResult which enables the querying of the result of the intersection such as the resultant curve segments and the solid which intersected them.
Inputs
solidSolidcurvesElement[]invertbooloptionalOutputs
Curve[]Curve[]exceptions[]int[]Features
- Returns a list of SolidIntersectionResult's segments that intersect the Solid
- Inverting the result returns SolidIntersectionResult's that contain curves which intersect outside the Solid