Pipe with polygon sections

Hi all, I wonder if Rhino or Grasshopper has a command or plugin can do piping with a polygon section?
Say I have centre line network (like Zaha’s Morpheus Hotel), how can I ‘pipe’ it with a pentagon/ hexagonal section?


Appreciate for any help

Hello
the answer is yes and no.
If you want “quite” exactly like Morpheus I did a tool long time ago on Grasshopper. The script is no more there as many others have made their own tutorial.

I have this other tool to thicken a network of polylines

1 Like

Not much of a solution from me, but I’d imagine weaverbird has some tools that could help with thickening a curve network like this. Though I question how those intersections along a curved surface would be handled.

I’m wondering if the best way to approach this is to split it up like it is in the precedent image - locating nodes and putting together a script to generate connection hubs, and then just extruding the desired shape along the remaining paths

Alternatively, you could approximate this by remapping the curve network to a flat plane, extruding your profile along each curve, doing a boolean union to create a solid geometry, and then remapping back to the desired surface to introduce any curvature. I image there will be distortion involved in this method, but it solves the issue of connection nodes by making sure all extrusions are parallel.

Last thought is that finding the normal at each vertex and making it so that all curves at that vertex end tangent to each other will make doing an extrude along + boolean effective without the issue of clashing extrusion ends (see below):

Extrusion with tangent curves:


Results in a successful node after union/merging faces:

Extrusions with non-tangent curves results in issues at connections:

To answer your question simply: you can use a sweep1. In GH this is quite easy, you get the plane in the direction of the curve at its starting point, map the profile to that plane, and perform the sweep.

now, while in the morpheus tower it looks like simple geometry, it is actually not. for example, look at where the the “pipes” intersect: it is a smooth blending between the pipes.

furthermore, to the profile orientation is guided by the surface normal.

you’ll need to spend quite a bit of time to develop the algorithm for that. it’s definitely doable

1 Like

Related, maybe:

Yes, blending each hexagonal pipe at the intersect point is the difficult part…
I wonder if there is any nice solution for it.
Thanks for all the suggestions, I will take a look at them all
Many thanks

A few months ago in another discussion @martinsiegrist shared this awesome video where they ‘tell you how’ :stuck_out_tongue:

2 Likes

My intuition is that they didn’t create the connectors with pipes. But rather they used the normal of the endpoints. The way I would do it is to create a plane in the normal of the endpoints, project the connecting lines to that plane, use a circle to split the lines, delete the lines outside the circle, and use offset and fillet with radius to create the outline of star connector. Extrude, and then fillet or chamfer the edges of the extrusions. I would then use the profiles of the star “legs” to Sweep along the lines towards the connecting stars

Hi René, thanks for your reply. I have watch the video but still not quite clear how they script the blending node. I think I will watch the video again…
Thanks

I think I have a similar idea like yours… but I am not sure how to let the script define which line automatically blend with another line…If I have to manually (maybe using a slider to) “pair” every 2 lines, it may also be a tedious job…

1 Like

You don’t need to do anything Manually . You simply set up the lines on the plane so that you can do curve boolean with all regions combined. You then get the “corners” that are closest to the intersection, and perform the fillet on the two lines connected to each corner.

Another way is to order the lines by angle with respect to a target line, and figure out which lines are on either side (needs some checks). The when offsetting the line, you know your neighbors

Apologies @Jack_Zeng, I didn’t mean to detour you - I shouldn’t have said they tell you how it’s done in the video; they don’t actually do so, in the literal sense, as the video isn’t really a how-to for the grasshopper part of it. Evidently it is not a tutorial. I do believe it provides great insight pertinent to both the modeling and manufacturing processes that can help someone trying to study it, that’s why I shared it. Pardon my nosiness! I also think you’ve gotten great suggestions in the other replies here already!

Best,
RC

I am going to sound like others here but…all talk and no code :wink: (nor examples of anything you say it’s so easily doable and/or simple) :laughing::face_with_hand_over_mouth:

1 Like

@Jack_Zeng this should illustrate the idea i was talking about earlier, and should get you started.

@René_Corella challenge accepted :rofl: . But just because it’s easy conceptually it doesn’t mean it can be done in no time from scratch :person_shrugging:

connector.gh (16.1 KB)

2 Likes

I see, thanks for telling me. It is also good to know a bit more information about Zaha’s project. Thanks.

2 Likes

Nice, thanks Adel, I will try hexagonal section based on your script.

1 Like

@Jack_Zeng I’m looking forward to seeing your progress. If you need any more help you need you know where to find it.

Just a quick note. In the Morpheus Tower, The profile was more of an octagon, more precisely a square with chamferred corners.
If you’d like to get that look, you first delete the faces that are coincident to the lines’ endpoints, after which you can isolate the top and bottom faces, select their edges, and lastly chamfer

Beauty of not organic Multipipe v5 edited v0.gh (37.6 KB)
Bevel twice.

4 Likes

Hi Quan,
It looks really promising. Thanks