generative modeling for Rhino
has someone a suggestion how to start with a reciprocal system on a freeform surface in grasshopper? Any suggestions are welcome.
now thats really well done ! u used def provided by rokko paper ?
Hey Mateusz! No I wrote myself a definition, starting with a rectangular grid on surface and some (a lot actually) list manipulations and extending lines. Ill post the def as soon as i figured out how to give it some thickness, which takes some thought.
hello good work is made in the image, but you can add the definition of grasshopper to review it, I'm looking for a definition that allows me to develop a project of the University
some pictures of what I do.
I helped build many of the parametric models for this project (Dermoid by CITA and SIAL):
It's a wooden reciprocal frame (no fasteners) laid out in a hexagonal pattern and distributed across a doubly curved surface. The beams are also cambered to make them more stable, so they weave under and over the surface, which is why the pattern can be hard to see in the photo. Our process was as follows:
Essentially the stages are:
1. Project a pattern onto a doubly curved surface.
2. Smooth the pattern over the surface with dynamic relaxation (we used this: http://parametricmodel.com/DynamicRelaxation-fixednumberoftimes/12....)
3. Rotate each line of the pattern so it becomes reciprocal. This is probably the hardest step as you want everything to be straight and you want all the lines to terminate cleanly.
4. Turn that pattern into beams & construction drawings.
Interesting topic, and nice to see this old discussion revived...
Generating the lines can be done with just a few standard grasshopper components - no need for any scripts or plugins. Attached is a definition that should work on an arbitrary mesh.
You could relax both the initial mesh to get a smoother distribution, and the resulting network, to get straighter segments, and if you are allowing the members to be curved this is all easy enough...
However, if you are making a curved surface with non-curved members, then it is a much harder problem getting everything to meet cleanly with the right offsets for the member thickness (ie all tangent cylinders).
I think it should be possible in Kangaroo to do an optimization similar to the one described in the Rokko paper, but it might need one new force/constraint. I'm thinking of something to allow 1 point to be attached to the line between 2 other points, yet free to slide along this line...
thought I can introduce a university project done on this topic in Kassel, germany. http://www.rhinoscript.org/gallery/31
Some really interesting stuff on this discussion. I am looking into reciprocal frames myself for a University project. In particular I am looking at Nexorades and exploring the rotational element from standard meshes to reciprocal frames. To achieve this each member is rotated along an axis normal to the surface. When this is done each member will be too short to reach its neighbours. I am having real trouble working out the final length of each member to ensure an overlap (the fact they don't touch is not yet relevant, I will solve that in future explorations). Essentially, the smaller pipes in the image below need to overlap by a fixed amount for whatever rotation of each member.
I have attached my file so far. I have tried tangential planes with intersection events, closest point calculations etc. but I keep coming back in circles. I am still fairly new to a lot of the software so apologies if I am missing something obvious. The definition does use a weaverbird 'polylines dodecahedron' and 'mesh edges' as a starting point for now and a kangaroo 'remove duplicate points'.
Thanks for any help anyone can give me and I look forward to seeing what everyone else is up to,
My file and approach: