Grasshopper

algorithmic modeling for Rhino

I'm fairly new to Grasshopper and would like advice on how to go about writing a script to create a volume similar to that shown in the photo above. Preferably one that can be modified easily to create several different sizes and variations. Any help is appreciated!

Views: 1667

Replies to This Discussion

Plan A: Create a region, populate with random points, add random Z (where Z is the normal of the region's plane) and then use some ball-pivot algo for making the mesh (Delauney is not suitable for collections deviating too much from planar - but never say never: try it). I think that someone provided an add-on that does the ball pivot job (if memory serves well) but I can't recall the name.

Plan B: Create a region, populate with random points , do a Delauney triangulation and then modify the (flat) mesh vertices (and reconstruct the mesh faces) accordingly (using random Z values as above).

Plan C: Create a region, populate with random points , do a Delauney triangulation and then "inflate" randomly the mesh via Kangaroo1/2 (rather the best approach ... but not that easy for a novice).

Plan D: Create a half brep blob (using for instance TSplines) and use MeshMachine (and/or Kangaroo). The fastest and simplest approach, mind (but not exactly what you are after).

Plan E: Using random planes within a 3dbox "chop" portions of the box ... but this ...well .. is not that easy for a novice. Better forget it: same applies using some Method not available as native component[Brep.CreateSolid(ListOfTheIntersectingSurfaces(*))].

(*)to automatically trim and join into closed polysurfaces

Thank you!

For Plan C, how would I go about "inflating" the mesh with Kangaroo?

Do you know anything about Kangaroo? (the most important plug in that GH has to offer).

Anyway ... I'll prepare some  simple demos on that edgy brep (or mesh) matter later on.

Hmm (Plan A/B: random points + random Z "noise" + Delauney + this + that) ... getting rid of unwanted Delauney meshFaces (case: concave region) is very easy ... but for the moment is carried over solely via code (thus has questionable usage for you).

What you see are breps: due to my pathological dislike for meshes (but the process is a bit slower VS using meshes).

I'll see if is possible to translate it into native components. 

Thanks! I'll give it a try.

Until the translation is ready, in the mean time ... get the useless thingy for the A/B options (C# Code does the job: not the idea/desired solution for you I guess).

Note: written in a great hurry, NOT extensively tested, 5 years user satisfaction guarantee NOT included, Karma required.

best 

Attachments:

Is there any way to modify the script in order to create a volume around a central point rather than a 2D curve? While the one flat surface is useful, there's one form I would prefer not have it. I tried adding a second inverted surface but the connection between the two is awkward.

Well Michael ..

1. The ideal way is to distribute random pts on a brep/mesh List, then modify them and then apply a decent Ball Pivot thingy to get the freaky result (mesh or brep) and/or "slice" the result VS something etc etc.

2. Unfortunately my Ball Pivot C# is classified strictly as internal. Reason is obvious: it's a pro tool and as such it would never see the lights of publicity (as any pro tool to be honest).

3. But I can provide a very simple piece of C# code that "distorts" Lists of objects (meshes or breps). Study the cases Something1 and Something2 to get the gist of the necessity of a Ball Pivot based solution (but you can use Mesh Machine as Plan B).

4.That said creating a "valid" (overlaps/self intersections etc etc) distorted mesh/brep that way ... well ... it's a bit more complex (done in the internal version of the def attached).

Load Rhino file first.

Here's some "distorted" stuff:

Attachments:

In the mean time I've made some "radical" changes (Bad news: switching entirely to code) to the other def. Now it works against any List of closed curves with a variety of random points creation policies (say: mountain like or some others) and is rather way faster (and with considerably less bugs).

Hi there, I'm one of the authors of the shape you are trying to recreate ;) This shape is indeed made in grasshopper but not in the way you guys are approaching it. We made lasercut flat patch-shapes with interlocking teeth, irregular polygons but still have the sides have (within a margin) have equal length so it works like lego in the sense that you can patch things together arbitrarily. The volume is only made with the physical laser-cut flat shapes that can fold due to bending lines and we never know what the final volume will look like since we start from a base and keep adding until we fill up a volume. Since we made this system, our friends helped put them together in volumes, there is a big chance this particular volume was not even made by us :)

our website with more information on the project:

http://buqs.eu

Hi!

I'm actually quite familiar with your project. I know the volumes were meant to be created by folding flat triangulated surfaces but was hoping there would be a way to model the volumes digitally as I'd like to have them in a variety of shapes and sizes.

I personally don't have the intention of fabricating physical copies, just a series to be presented in a grid-like set of diagrams. If you or anyone you know would be helpful in doing that, I'd appreciate being put in touch! I've been puzzled over how to go about it for quite some time now.

A beautiful project nonetheless! ;)

Oh you are? Cool, where did you find out?

Curious to see what kind of project are you doing, you are studying architecture or design?

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service