List pipe in direction of flow

List pipe in direction of flow


Hi Albert,

Please review How to get help on the Dynamo forums and provide some additional detail so that forum members can assist

What have you tried?
What is your use case?
What strategies have you considered?
What output is expected? (e.g. you ask for a list but show a network graph)
Pipe networks can have multiple start points such as drainage/waste how is that handled

Looks like a fun system to work on, Cool pictures :slight_smile:

My goal is to list accessories in the direction of flow in water, something similar to (upstream mepover)

you can reference this topic, look like the same :

1 Like

It’s much easier to work from the endpoint(s) back to the start.

You haven’t answered the question about how to handle branches. Why did you go right instead of left first? Why back before continuing forward?

If you start at the endpoints, you can just follow the connector flow direction back to the source in a single loop. Do this for each endpoint and you have your four pipe branches.

I don’t know Python or C#, I just have little knowledge of Dynamo.
With the node (upstream) it does what you mention, but it does not consider the ramifications, why is that?

Revit marks the flow by default, I’m only interested in listing it according to that flow.

Because when want to ramifications, we need to know when and what is rule for computer to understand, it is branch end create a break, even the human also hard to know the branch is the left or right side. How you build a rule from your project ?

This does something similar to what I want to achieve, but it doesn’t consider the numerical value of the flow, is that true?

They follow the value of the flow
2050

Correct, and that’s the easiest way to determine how elements are connected sequentially.

A network consists of one source and any number of targets/endpoints. If you move from source to target, you have to deal with every branch without knowing how many branches will occur. If you move from targets to source, you start with the known number of branches and always have exactly one element that is “upstream”. This makes the logic way simpler.

You can still use this method to get the outcome you want by getting each branch’s sequence of elements. Each element in the network would then have one segment value for each branch it belongs to. Use the lowest segment value for each element and you’re left with each branch number by shortest path to longest.

chuongmep, ¿por qué pasa esto?
Mismo nodo, diferente ordenamiento

Because it just is logic recuisive to get the network, depend on the time of reference connector respone, for each time it respone with the time diference so that is main reason why you look the list of number elements in the network is same but the index of element is diffrence.

Thank you very much for the response, and couldn’t that be done following the flow of the pipe, starting first with the one with the highest flow? In all cases where you are faced with deciding two routes

Yes, exactly. If you want your elements number by branch flow, then that’s how you’d determine order when following a path. That can be done through the connector as well.

ÂżSe puede hacer directamente con dinamo? ÂżO se necesita Python? Si tuvieras un ejemplo serĂ­a excelente para mĂ­.

Translation:
Can it be done directly with dynamo? Or do you need Python? If you had an example, it would be great for me.

Just as an FYI: please always include an English translation with any posts, as the search functionality on this platform is restricted to English only and we’d like everyone to have these conversations available to them.

Python is way easier here. You can functionally do everything you need with Dynamo and maybe one or two custom packages, but this falls apart once you hit the “unknowns” like number of branches per network and number of segments per branch - unless you use the method I originally suggested of working from the endpoints back upstream to the start.

We still haven’t really seen any of what you’ve tried so far. We’ve given plenty of suggestions on how this can be solved. Please try some things first and show us your progress before asking for someone else to provide working examples.