Grasshopper

algorithmic modeling for Rhino

Hi Everyone.

I hope this thought will come out as clearer as possible! ;)

Is there a way of extracting vertices from mesh faces and have them in separated lists? I'm applying wind force in kangaroo and I want more anchor points along the length of the mesh, trying to have a series of points that follow the shape of the mesh. I've been using WB components but I'm always ending up with a very high amount of points. It scares me the idea of having to list them one by one!

Views: 5663

Attachments:

Replies to This Discussion

Does this help?  it's just a minor variation on what you were already doing.  you were only getting the start point of the naked edges.  With uto's naked edge component, you need to follow it with 2 list item components, (one for the A output, one for the B output). to get the the start and end vertex of the naked edge.  Kangaroo also has a naked edge component. 

Hey Chris. thanks for your reply.

Although I think I misled you with my explanation. I have no issues with the naked edges (or vertices). I managed to used those as anchor points. Now, I want to add more anchor points so that the mesh will not collapse or move uncontrolled. My issue is that I would like to use points along the length of the mesh (see pic) but I have not a clue on how to achieve that.

Attachments:

I see.  I'm not entirely sure how to do that within the confines of GH.  perhaps you could reconstruct the mesh so that it has 2 side walls and a roof/canopy?  Maybe not the best solution but it would allow you to work with the edge that you are describing.

Maybe you could create the mesh in GH, bake it, split it, then reference it back in?

I don't know if I am doing the right thing but i think I've found my solution... Bake the mesh. Add the points in Rhino. Feed the mesh and the new anchor points into a Kangaroo and voila'! It took me hours!! 

I think you can do this dynamically. You've already got the complete list of vertices from the mesh decompose component - now just cull or dispatch them according to some test which governs whether or not they should be anchored. (For instance: test whether the absolute value of the x component of the point is smaller than some number, like 0.5 - this will give you all the points lying directly along the spine.)

You could use any sort of logic to extract these points, the same way you dealt with the edge vertices; you could test them for proximity to a curve, for a certain height value, etc.

You might also try the new "AnchorSpring" force in the latest version of Kangaroo, which will allow you to tether the points to a certain location without forcing them to stay precisely still. 

very nice andrew!  Does that approach work for points that don't lie in the same plane?  I thought he was trying to get the points along the top edge of the sides...where the side walls would meet the roof.....(sorry, that's not very clear).

Ah, I see - in that case the curve-proximity method I mentioned will do the trick. You can get the curves at those ridges by extracting isocurves from the original loft, and then find the distance from each mesh vertex to those curves, and use that to select the vertices under a certain distance.

Great... Thanks a lot for your help!

Andrew,

Thanks for sharing, that is a really nice solution!  

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service