Untangle Conduit/pipes if they overlapped on each other

Hello Everyone,

In one of my task, I am able to draw pipes/conduit from Point A to point 1/2/3. along the trench layout for extracting the conduit length schedule. (its like point A to Point B along the path)
As an outcome, I am getting multiple conduit overlapped on each other. (Internal clash with in the conduit)
Now I wanted to untangle those overlapped conduit, So it will be clash free. (Manually I have remove the clash for better understanding of the expected outcome)
need you suggestion regarding packages, logic, node, etc for solving this problem.


Outcome from my current script


Expected outcome.

I would suggest working backwards, so start with the output.
What do you exactly need as output, how is it defined, and what is it based on?
What is correct and what is wrong?

Also, why does (for example) the line come out of A on the right side, and not the bottom?

If that’s clear i would start simple, just straight lines, see how you can create them nicely in a “grid” next to eachother.

2 Likes

You could get the location line of all created conduit with the GetLocation node, use some math to compare and see if any of the created conduit overlap. If so use the MoveByVector node to move them. Or if you’re comfortable with the API you can use your_conduit_here.Location.Curve and one of the MoveElement methods under the ElementTransformUtils Class.

1 Like