Divide Curve By Proximity


This component is developed to create a more even aspect ratio for grids by creating points through iteratively sampling proximity to adjacent curves.  The process is fairly simple, a point is sampled on a curve at the start of the curve. This point is used to measure the distance from itself to the closest point on the curve, before and after it in a list. This distance is then averaged by a user specified weighting between the shortest and longest value, and a new point is created at this distance along the curve from the current sample point. This process is repeated till the curve length is met at which point the remainder difference can be distributed across the curves to completely cover the original curve length. Or the original sample points can be used with an optional endpoint added for divisions which do not meet the exact length.


Divide Proximity

CInCurvesListA list of open or closed curves
TInDoubleItemA unitized value which will shift the new evaluation length from the distance to the closest proximity (0) to the furthest (1). A value of 0.5 is the average of the two.
AInBooleanItemIf true, the sequential divisions will be stretched to cover the length of the entire curve
EInBooleanItemIf true, an additional point will be added to the end of the curve if the final point of the sequence is not already the endpoint
PInBooleanItemToggle this value to true if the list of curves is to be treated as a closed set. Example: Cylinder = True, Rectangular Surface = False
OOutPoint 3dItemA datatree containing the resulting list of points for each curve


Minimum Requirements

PlatformRhino 5, Grasshopper
VersionGrasshopper 0.9.0075
TypeC# Component

1 thought on “Divide Curve By Proximity”

Comments are closed.