This component iteratively samples a surface, mesh, or polysurface to find the most vertical flow path along a geometry. It is based on the method laid out by Woojae Sung in this Blog Article. It takes the approach of using the surface normal and Rhino’s z-direction to create vector cross product which is multiplied to a sample distanced, whose closest point to the test surface becomes the next step. This component adds several new options to this approach such as the ability to use it on a mesh, polysurface (brep), and a surface. It also adds a new option to refine the samples around each test point to give a more accurate path within the specified tolerance, a limit on the shallowness that the path can traverse, and an optional sample limit. Samples are cut off when no more vertical change occurs from step to step, or two iterative sample points are identical.