hi,

how can I get pipes with a certain direction of flow? Is this possible?

Can you please refer to what you have tried so far and/or to related posts such as this one?

this my code :

https://pastebin.com/AE5MkUC1

```
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
# библиотека динамо для работы с ревитом
clr.AddReference('RevitServices')
import RevitServices
# Использование библиотеки DSCoreNodes (основные ноды расположенные на вкладке библиотеки слева в разделе Core)
clr.AddReference("DSCoreNodes") # DSCoreNodes.dll лежит здесь C:\Program Files\Dynamo\Dynamo Core\1.3
import DSCore
clr.ImportExtensions(DSCore)
from DSCore import *
import itertools
#Назначьте вывод переменной OUT.
list_ps=[]
list_fs=[]
list_elbow=[]
list_tee=[]
list_z=[]
#filter pipes
list_ps=[i for i in IN[0] if i.GetCategory.Name=="Трубы"]
#filter pipes fittings
list_fs=[i for i in IN[0] if i.GetCategory.Name=="Соединительные детали трубопроводов"]
#get intersectioon fittings with pipes
for k in list_fs:
for j in list_ps:
if k.BoundingBox.Intersects(j.BoundingBox)==True:
sublist= [k, j]
list_z.append(sublist)
lst=sorted(list_z, key=lambda x: x[0] )
#Sort pipes from fittings
ps = dict()
for x in lst:
p = x[0]
if p in ps:
ps[p].append(x[1])
else:
ps[p] = [x[1]]
result = sorted([v for k,v in ps.items()], key = lambda x: x[0])
# elbow and tee lists
#for i in result:
# if i.Count==2:
# list_elbow.append(i)
# else:
# list_tee.append(i)
#
OUT = result
```

and this simple pipes

im just get pipes which is connected to individual tee (later ill use many branches of pipes but now its just simle example)

and im want to get in different lists the pipes in green frame and red frame

may be use the degrees between pipes: 0 degress or 90 degress for example…

and better : if we now flow direction (how vectors orientation for example) then we can filter pipes with similar direction

and main : im want to do this in python (or used minimum count of code blocks)

This thread could interest you too:

this rvt file

@til.shviger I can foresee inadequacies in the example below, but hopefully it will help direct you

pipeDirection.dyn (9.3 KB)

@Vikram_Subbaiah

thank you!

Can you explain me how works the node **Vector.Normalized**? why we are use it?

*Vector.Normalized* gives us the corresponding unit vectors and enables comparison

The origin of all normalized vectors is the origin and magnitude is 1.