Jess Dowson

View Original

Grasshopper Grids Part 2

As mentioned in the previous post, one of the next steps was to translate the method into one that would allow for the replication of a predefined unit. Fortunately, I was able to broadly copy the grid generation already done, however, I tweaked it as I was no longer generating extrusions married to a set of perpendicular planes.

The current iteration of grid generation, coupled with the required point culling based upon predefined BREP “moulds” or negatives, as discussed in the previous post.

As annotated above, the ‘vertical grid duplication’ element replaced the previous YZ/XZ grid generation, as I simply* duplicated the XY plane the requisite number of times - as defined by the number of ‘beams’, or planes, I required. I set the number of planes to 8.

*I spent a good amount of head-scratching trying to, in essence, create a recursive transformation. The Pufferfish ReTransform definition doesn’t like playing with points, so I ended up using Series, Stack, Repeat & Duplicate elements to provide the required series of transformations.

The grid arrayed vertically

The points culled using PointInBREP

The next step was easier - take predefined BREP definitions, then find the points contained within. As before, PointInBREP & Dispatch to ensure that I’ve grabbed the correct filtered list.

A slight complication occurred, as when I originally told the replication unit to duplicate at each point as contained within the moulds, it duplicated at the first point, but then failed to at each subsequent point. I realised that I was asking a single set of 11 BREPs (the replication unit) to “duplicate” (Move Transformation) N times, where N>1, hence the failure. Stack & Duplicate came to the rescue once again, and I successfully replicated the single unit across the set of points, as shown below. The generated form would still need to be manually tidied & adjusted for structural engineering considerations, however as a computational exercise, I feel that this was a success.

Replication Unit

Replicated Unit Grid

Replicated Unit Grid

After this, I want to generate a topographical grid based upon an existing image, and then seed it with a replication unit. Fortunately, I should be able to refer to a grasshopper tutorial run during the 2nd year of undergrad to get me going.