algorithmic modeling for Rhino

Hi All,

I tried this for a long time in many different ways but I failed to achieve the result I am anticipating.

I need to model a Bucky space frame based on 2 triangular grid meshes (see image).

This is what I did in the definition:

1- Pick every other mesh face using David Stasuik's VB script

2-Project a pyramid mesh face on each of these

3-Get the edges.

The last step would be to connect the vertex of each of the pyramids in a triangle grid mesh that is 'slipped' from the original grid.

Any ideas? 

Definition attached. Your help is appreciated.


Views: 8565


Replies to This Discussion

Sorry, the pyramids should be coming from every other mesh face like this new file:


How do I make the triangles in blue?

Can you post just the point data? I don't have Weaverbird installed.

Can you attach the mesh you're working with as well?

Hi David, David...

Thanks so much for replying. Please see attached the Points and the Mesh. Would really appreciate your help!

David Stasiuk... thanks for your VB script.. I had to do quite the work around to make it work (somewhat). Because I think it would give buggy results if there were irregular mesh faces, free form geometries etc. This is a very useful script though.. I am surprised no one had turned it into a plugin. Any chance it would be developed into a component?



Hmm ... (I'm thinking to do something just for fun using a BallPivot WIP C#):

In the mean time (not knowing a thing about David's VB stuff):

A truss is 99.99 connectivity matters and 0.01% geometry. With this in mind:

1. Create the mesh and the face normals and the desired W pts - where W  = the "top" pts (you did it already). Get nodeToNode connectivity data.

2. Extract W pts connectivity data (by doing a tmp mess using the W pts). Connectivity data are trees where - in this: nodeToNode case - a given branch main dimension index is the node index (within a given nodes List) and the items are the indices of the neighbor nodes (within the very same nodes List).   

3. Connect the W pts  using data from steps 1/2 as above. 

Peter, I'm sorry.. I went over your reply again, and I am trying to understand.

can you explain how to do the following:

1-Get nodeToNode connectivity data.\

2-connectivity data (by doing a tmp mess using the W pts). 

A cisual example or a GH file would really help!


Never mind with these freaky things (and Pts "in order" is not an issue since mesh nodes connectivity code doesn't care about that).

Allow me some time to make a rather complex thing ... er ... more complex (he he) and I'll post here the progress so far

Note: Only C# code that one I'm afraid ... thus if you are not familiar with these mysterious things ... well ...

and here's the flip result

Critical Q1: is this academic? I mean : you need connectivity data, drilling axis data, strut data, clash defection, cats/dogs data and the likes?

Critical Q2: if it's not academic ... what type of commercial truss do you have in mind? (MERO and the likes).

Thanks Peter! It seems like you got it... can I try the C# Script?

The truss type I am looking for is attached in my first post.

Note, this is making the triangles on layer 2 from the apex of the pyramid on each *every other mesh face*... not all the mesh faces. 

Another note! I am not afraid of code, but sadly I am only being able to use code as a component within grasshopper.. it would have been great to do this with sorting, data trees etc. all within GH to learn the logic of your above mentioned comment.. also sadly I can't code :(


You are a happy man > code is a tyranny (it makes your mind like scrambled eggs, he he).

Until the C# is fixed(?) here's a task for you:

1. Create any mesh.

2. Use stuff the likes of SandBox to get the gist of what connectivity means

3.Or ... just ... exploit that thing attached (load Rhino file first).

best, Peter 


Peter! where to start!

Time is an issue (as always), and I am not really this advanced at deciphering this stuff. 

In any case. Thanks so much for trying to help! I'll try my best.


Well .. don't get panicked > it's just a freaky code, nothing really important (unless you want to make a truss out of meshes, he he).

So ... start from going for a dinner with your girlfriend and forget all that mysterious/ominous things.

BTW: by truss type I don't mean truss topology: I mean the actual things (called: a Systeme by these Germans) that make ideas reality: That said, here's the King of Things as regards truss matters:

BTW: concerning that promised C# ... well ... I'll try my best as well.






  • Add Photos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service