I’m working on creating a wave pattern using Grasshopper. The script takes any surface (in this case, a simple cylinder) and applies a wave-like deformation to it. The idea is to generate the wave pattern by creating lines across the surface and then using the Loft component to form a continuous surface from those curves.
I feel like I’m close, but when I use the Loft, instead of a smooth continuous surface, I end up with broken stripes. I’m guessing it’s a data tree or curve alignment issue, but I can’t quite figure it out.
I’ve attached some screenshots and my Grasshopper file — I’d really appreciate any help or tips you can share to fix this and get a clean, seamless loft.
Thank you so much, Joseph!
I’ve been experimenting with the loft options and was able to get it to close — which is great progress!
However, I noticed that the final closed loft is slightly larger than the others, and it’s happening right at the same spot where the surface was previously open. I’m not quite sure why that’s happening.
I don’t see the same result, don’t know why? But following a hunch, this looks like an off-by-one error. Note that the output of Repeat starts and ends with zero. A solution is to move Cull Last.
Thank you so much, Quan Li and Joseph, for your help — everything is working perfectly now!
I truly appreciate your time and guidance. Your support made all the difference!
Thank you all so much for the support — I really appreciate it!
I have a quick question. The script works perfectly when I use a simple surface as input, but when the geometry becomes more complex, it turns into a polysurface, which no longer works with the input as expected. Most of my models tend to be a bit more complex than single surfaces.
Do you happen to know of any methods or workflows that would allow me to use these more complex shapes as inputs? I was thinking of possibly slicing the geometry using radial and horizontal planes to generate points in space, which I could then feed into Grasshopper.
So I added a ‘Brep’ param set to the the shape on the right, then added DeBrep to get the brep faces (surfaces). There are three because of a seam on the sphere shape.
Thank you so much for your input and for taking the time to help — I really appreciate it.
Apologies for any confusion. All the green models are actually the same; I was just experimenting by converting them into different formats like Mesh, SubD, and using QuadRemesh to see if Grasshopper would accept them as input, but unfortunately, none of those worked.
Currently, when I needed to create ridges on a polysurface, I had to slice the target geometry with planes to extract curves, then sweep profiles along each curve individually. It worked, but it was very time-consuming — which is why I was hoping to streamline the process using Grasshopper.
The main challenge I’m facing is that I can’t directly input a model like this into the script, since any model with little complexity it is for Rhino a polysurface. If you have any suggestions or alternative approaches, I’d be very grateful.