Object flow along surface without changing orientation

Hi. Is there any way to do ‘Flow along surface’ command without changing the orientation of the object? I want all the objects facing the same direction (something like second photo) so they wouldn’t intersect at some point as shown on the first photo.

Add points in grasshopper and move objects to these points:

grid.gh (69.4 KB)

Or a few lines of code will do this for you:

import rhinoscriptsyntax as rs

def copy_to_points():
    obj = rs.GetObject("select pin", 24)
    if obj==None:
    points = rs.GetObjects("select points", 1)
    if points==None:
    rs.EnableRedraw (False)
    for point in points:
        rs.CopyObject(obj,  point)
    rs.EnableRedraw (True)
if __name__ =="__main__":

Thank you for your reply! So sorry as I am fairly new to Grasshopper so I don’t really know what’s going on on your Grasshopper file. I tried to create my own but this is as far as I can do it. I want the tube shape with approximately 50 in radius on the outside (preferably touching the other tube) and 43 radius on the inside with 450mm extrusion.

Pipe.gh (8.3 KB)

surface.3dm (113.1 KB)

This is one way to do it. This is pretty basic stuff so if I need to explain it, it means you better dive into the basics of GH first. Good place to start is GH 101.

The way I did it is dividing the surface by contour and the resulting curves also by contour (to get equal distances of the pipes)

pipes.gh (18.1 KB)

Thank you for your help! I will look into it.