Infinite mirroring

Hello,
I am relatively new to GH and currently working on a project using Node-Bar structures.
The intended pavilion has a bar grid of 1m of which I have created a unit cubic geometry of the desired angles of bar and node.

What i need is to now mirror this unit geometry in the x, y & z directions to greate a dense mesh that is a multiplication of this unit cubic geometry.

I tried using Rectangle mapping to identify a unit cell and insert this geometry into this cell and map said geometry into the rest of the grid. However the result is a broken mesh and am looking for better ways to achieve this result.

For reference sake, the width of the pavilion may be 10m wide, 30m long & 8m tall. Meaning, mirroring 10 times in x axis, 30 times in y & 8 times in z direction.
How can i most efficiently achieve this?

Swati_Bridge pavilion_GH forum.gh (33.8 KB)

FYI,


Swati_Bridge pavilion_GH forum.gh (33.8 KB)

Thanks for resolving the mapping issue!

Although, what I was looking for is more of an infinite mirroring action.

The face diagonals have to align to each other at every step. How can that be achieved?

The end product is to get a dense grid of 10(w)x30(l)x8(h).

Thank you in advance!

You an use the Linear Array to achieve it,

Swati_Bridge pavilion_GH forum a.gh (29.7 KB)


Swati_Bridge pavilion_GH forum_vr1.gh (91.5 KB)

@jessesn No, you can’t. The base unit is being rotated in a checkerboard fashion throughout the array.

@leopoldomonzani So slow. Let’s speed it up a bit with something that I learned from @inno: that displacement transformations are much less costly to process than rotation and scales.

2 Likes

Without remove duplicate lines.
Swati_Bridge pavilion_GH forum a.gh (36.4 KB)

(upload://ks77gWRmdDra0PRznAyNWoHJjig.gh) (34.6 KB)

1 Like

You can Group the rotated unit and original unite as a single unit to crate the patter through Box Array.

You also can redesign this pattern before Box Array, just fyi,

BoxArray.gh (14.6 KB)

1 Like

:clap: :clap: very nice job :clap: :clap:

2 Likes

@leopoldomonzani Ah, so the bottleneck is the Remove Duplicate Lines. I should have noticed that. I suppose then that it would be worth to create the base tiles so that they do not overlap in geometry.

Only that the 2x2x2 smallest unique tile used for a grid tiling is larger than the base unit by which the space frame is being dimensioned. You’d have to create box arrays for each of the units in the 2x2x2 tile with different counts… which if you look at my script, is exactly what I did.

Is there something special about this? That’s a sincere question. I’ve never worked with SubDs. (Which is what Multipipe creates, right?)

that’s 134K faces nicely closed into a watertight SubD :+1:

I see. I wouldn’t know. The script crashes Rhino for me.