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

FindDuplicates example


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

solidSolid
curvesElement[]
invertbooloptional

Outputs

Curve[]Curve[]
exceptions[]int[]

Features

User Guide