Cover a complex surface with random length sticks

Hello everyone!
I’m trying to create a grasshopper definition that given a base surface, it will create something that looks like this:

The method I have now is super hacky, but it goes like this:
I take the base surface:

I cut it lengthwise with some planes generating this curves, which I then manually extend in both directions:

Then, using the attached definition, I create the sticks and manually delete the ones that are outside of the surface:

The way I generate the sticks is by dividing the curve by the stick’s length and then moving the points on the curve by a random amount. That’s why I extend the original curves, so I can get a more chaotic look and not have it tile like bricks or rattan.

The problem I’m having is that I want the sticks to have random lengths too, and of course my whole method doesn’t work for this… can anyone help me or point me in the right direction on how I could just take a base subject and tile it with sticks of predefined random lengths?

Thank you very much! (183.7 KB) (153.3 KB)

old segmentation script I dug up; seems similar to what you’re after.

1 Like

I found some curves in your model but not any surface they defined? So created one. (164.2 KB)

Thanks a lot Will! I really don’t know how the C# script works, but what I gather is that it’s dividing the curves at random intervals? That seems to be a good aproach.
I don’t know why but when I try to run your definition, it just creates 1 stick per curve:

Is there something wrong on my end?

Thank you very much!

I’m sorry Joseph! I tried to incorporate all the geometry in the GH definition but I forgot the base surface!
BaseSurface.3dm (333.4 KB)
Here it is if you would like to give it a go, I don’t really follow what the definition you attached is doing besides creating the surface, can you give me a few pointers? thank you very much for your time, you are always so helpful!

I can’t tell. Did you open the GH file I’ve uploaded in a blank model with mm as unit? Have you changed anything besides simply opening the file?
Still works fine on my end.


The Random Quad Panels component from Lunchbox will give you something similar to start from. (41.7 KB)

Hi carl, I didn’t know about this component and it’s a great starting point, thank you very much!