algorithmic modeling for Rhino
Hi everyone!
I've been using grasshopper for a couple of months, and wanted to start a project that would be useful for others too.
I've built a floor generator, that given a base surface and the measurements, will generate the different planks of a wooden floor, or it can be used to generate tiles and other things:
Here's what the definition looks like:
Basically, I take the base surface, calculate how many planks in each direction I will need to cover it, create a rectangular grid, offset some rows in a random distance either way, trim the excesses using the original surfaces outline and extrude the resulting cells.
This works fine for planar surfaces and orthogonal directions, because all the movements I do I do them using x, y and z vectors.
What I would like to do next, is convert the definition so that the coordinate system is derived from the base surface, so I can also tile walls and ramps.
Can anyone give me a hand with that?
thanks a lot!
Tags:
Hi Alejandro,
I think I would use the evaluate surface component for that. If you create a grid of points inside a 1x1 square, you can apply the points on the surface UV with the evaluate surface component.
Hope this helps!
P.S. I fixed some, not all issues related to the tiling of floorboards... One of them was returning the gap-shifted rectangles to the original plane so the intersection could work properly. Another seems to be round-off error - insufficient coverage; possible intersect errors? Maybe a better way to get the brick/gap pattern?
Thanks a lot Joseph!
I took your modificartions, and added a deconstruct plane to get the x and y vectors, and now it works with surfaces on any direction, even vertical walls.
thanks again!
Hi Joseph,
is it possible to apply this to a curved surface using variable length planks where the curvature of the surface was tighter?
regrads,
Pedro
Well, this code obviously assumes a planar surface... And if you want plank lengths shorter where curvature is high and longer where curvature is low, then just mapping the planar result to a curved surface won't work.
So I would start with a curved surface and divide it first into full length planks of a given width. Then I would split those planks based on curvature... But there are details to work out!! The staggered pattern, minimum and maximum lengths, etc.
I started to mess around with it but don't have a clear vision in mind and don't have time today to play with it any further.
This is interesting! Im intermediate with grasshopper but I don't understand how you would split based on curvature and have interlocking "courses". Any advice?Im trying to do a Yokohama Passenger Terminal type wood plank on a vertical helix platform. I can send you files
© 2020 Created by Scott Davidson. Powered by