Pipe optimization

Hi there,

I’m trying to use Kangaroo to find the best routing strategy for a bunch of pipes inside a given boundary (BREP).
The pipes should be as short as possible, yet not collide, and should respect certain starting and ending tangents.
To keep the pipes apart, I used the “Sphere collide” component, using evenly spaced points on the curves as sphere centers.
For now, the results are funny but really not practical.
If I increase the strength of te “Sphere collide” goal, the pipes get all squiggly.

If I enable the “G2” goal to respect the tangencies, it litterally screws everything up.
By the way, this component is really misleading as in fact it doesn’t take curves as inputs, and one could wonder why there is no “G1” goal.

As always : Kangaroo is certainly an amazing tool, but there is no easy way of learning what the components were exactly “meant” to do apart from coffee grounds reading or nagging in forums…
Piping Optimization.gh (180.3 KB)

OK, OK, after reviewing almost all the sample files, I realized that I should be using the “Collide” component instead of the “Sphere collide” component for my target.
Yet, there is something about how I hooked it up that the main Kangaroo component doesn’t like, and he’s giving me this interesting error message : One or more errors occured".

Help !

Piping Optimisation.gh (76.1 KB)

It works now that I added a “Line” container to make the subtle change from “Line-like” to “Line” for the “Collide” component.
Here’s the result in video.
(Sound in the background is my Form 2 3D printer ; oh yeah, I know you’re jealous :wink: )

2 Likes