Grasshopper

algorithmic modeling for Rhino

Attractor that changes pyramid openings, Grasshopper

For a Uni project I'm trying to recreate ITKE's ArboSkin Pavilion.

What I'm failing in is creating the attractor that changes the opening of the triangles in accordance to distance from the point (furthest away is 1, closest is 0).

Then I need to panel this changing triangle onto the grid surface (another issue i run into is paneling a triangle onto a square grid, can i panel a triangle grid?)

I can easily create the pavilion without the openings but adding that factor makes it complicated.

Could anyone help with these issues?!

Thanks in advance :D

Views: 2348

Attachments:

Replies to This Discussion

Hi Rawr,

Here are few comments:

You are morphing a geometry with triangular base shape to the surface box, so you will always only be able to fill up half of the boxes and leave other half open.

You did pretty well up to your 'Sub surface' part, which creates quad surfaces across the overall from.

You can easily develop the pattern from that point:

1. find the four corners of your quad surfaces, you can use 'discontinuity'

2. use those four points to construct two triangles by using 'four point surfaces'(you dont have to give it four points, you can do three and it'll work). 

3, after step 2 you will have a triangulated pattern across your form. and each of them is one surface, then you can draw pyramid base on these triangles. (find each triangle's center point, move it up along the normal of its corresponding triangle surface. then draw 3 point surfaces again with the moved center point and the end points of each edge of the triangle, then joint these surfaces together to make each pyramid one closed brep- this is important for the next step)

4. one each pyramid is read as one solid, find their center points again (component 'area'), measure their distance with the point you set as attractor , then you can select the pyramids that are closer to the point.

5. once you have the those pyramids selected and ready to be cut open, evaluate it's ridge curves. each pyramid has three, and use these three points to make a plane(if you evaluate them with different value you will get tilted planes and you will get the dislocated openings of this pavilion ). and then you can cut your pyramids open with these planes and you'll be done!


Here's the file

Attachments:

Thank you Canhui!

This has been really helpful in figuring out how it was done

Hi Canhui,

After the Feedback from Part B, my tutor was not satisfied with the reverse engineering. He wants it to be based on an attraction which creates unique variable openings that go from biggest to smallest, could you help me by pointing me in a direction to apply the original file which has a pyramid which opens and closes, and apply it to the surface? I only want to get a good mark, and these updates to my part B will help me achieve it.

Thank you 

Lawson

Hi Lawson,

That's ok.

Let's go back to our earlier discussion first, at step 5 

'5. once you have the those pyramids selected and ready to be cut open, evaluate it's ridge curves. each pyramid has three, and use these three points to make a plane(if you evaluate them with different value you will get tilted planes and you will get the dislocated openings of this pavilion ). and then you can cut your pyramids open with these planes and you'll be done!'

In the highlighted part, instead of giving it a value, you can:

1. draw a curve/point as attraction

2. find each pyramid's center point

3. measure the distance between the center points of those pyramids to your attractions.

('curve closest point' for curve attraction, 'distance' for point attraction)

4. use those distance value as your input number for your evaluation in step 5. so when the pyramid is close to the attraction it's opening will be small because the 'distance' is near 0

(note: in the above step, you will need to manipulate the values from the 'distance' so that they fit your input purpose, in your case is evaluate, which means you need to remap them  to the range of 0 to 1)

These two Ex-Lab videos will give you really good examples of how to manipulate a list of values .

https://vimeo.com/album/2282897/video/60605194

https://vimeo.com/album/2282897/video/60604981

 

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service