1 command for both: ''flow along the surface'' + ''flow along a curve''?

I have a tubular shape (with diameter variations) on which an helix (curve) is drawn.
I want a zig zag pattern (0.1 mm thickness) to follow that helix (curve) and to be in contact with the surface of the tube.
I guess it would be a mix of ‘‘flow along the surface’’ and ‘‘flow along a curve’’.
Can we do that?
Thank you so much for your help.

If you have a modular unit of the zigzag form, try ArrayCrvOnSrf. Post the model if you need more help.

Thank you Brian for your answer.

ArrayCrvOnSrf doesn’t seem to be working. My zigzag forms are not perfectly in contact with the surface using this command.

I attached my model (Model_Justine.3dm (4.5 MB)). Basically, I want the zigzag to follow the helix and to be perfectly in contact with the tube. I also don’t want the zigzags to be distorted.

Can we do that?

This would be a Rigid flow but the zigzag wouldn’t touch in all spots if it isn’t deformed. FlowAlongSrf and Flow have Rigid options for this. Looking at your model, I’m not sure what the intended outcome is exactly. For instance, is there a space between repeated zigzags and how much or is the one form stretched… probably not I suppose if you don’t want it deformed. I’d suggest making a temporary surface using two helix curves and Sweep2. Then use that surface for a FlowAlongSrf using a flat version of the same length as the base. This way you can control the spacing better by recording history and adjusted it as needed in the flat version.

I am sorry Brian but the command sweep2 doesn’t seem a good option.

I cannot change the shape of the tube and the zigzags shape/position should be very accurate. We run tests on a flat sample with zigzags and now we want the whole tube with the same mechanical behavior.

I added a new illustration to show you what I want and what I have done with another software.
The idea is to have many zigzags without changing their shape neither their orientation (which is not the case in the picture I had from a printscreen). I want the fibers to be all along the surface following a curve that starts with a 45deg angle, this is the reason I created the helices. I would need several helices.

I wanted first to use a model of zigzags drawn on a planar surface (see illustration) and use the “flow along surface” but the zigzags “loose” their 45degrees angle. Plus, my zigzags get deform

Is it more clear what I want now? Do you have any idea how to do that?

Sorry, I might not be able to help you with this after all. I’m lost as to how the zigzag can be arrayed on the polysrf and follow the path of the helix without being deformed. The flat zigzag form also has an angle measurement of 42 degrees and the helix in relation to the polysrf edge is not a clean angle of 45 when measured from the Right view… I had to draw a couple lines to approximate it but get something more like 23 degrees.

It looks like your other software was Blender if I had to guess on the screenshot. I mention this only because it’s a poly modeler and you are working on a very dense NURBS poly surface in Rhino. So there must have been some change in the form going between them. I think the dense polysrf is going to make experimenting with flowalongsrf or perhaps Paneling Tools or Grasshopper more difficult. If you were fine having a mesh based on this form in Blender, you might want to model a single lightweight surface for the tube removing the indentations until you’re happy with the flow result.

Many thanks again Brian for your help!

The 42deg angle is what I wanted and the 23.20deg is something that I would have to change…
The helix is maybe not the easiest solution. Do you know if we can join the 2surfaces of the tube in order to have only 1 that can be used for the “flow along the surface”? It wouldn’t be perfect but it would be a begging…
The “join” command is not working.

Yes I was using blender.
Do you know if Rhinojewel (https://www.youtube.com/watch?v=5dkLZR2QuIY) or Rhinobim structure (https://www.youtube.com/watch?v=40e6pa5fqSg) in changing the pattern shown may help me?

Hi, I have been helping Justine with this issue.
My first intuition was to Smash the surface tube and use it as a template to layout the zigzags along the planar surface following the 45° lines and then FlowAlongSrf. But the tube unrolled into 2 surfaces, making it impossible to link a zigzag on the top part of the tube to one on the bottom.
From there, with grasshopper, I elaborated a helix that would wrap around the tube but as seen it is not at a 45° angle.
From that curve I tried the ArrayCrvOnSrf for a small zigzag module with the correct spacing and then using the Pull command to attract the zigzag onto the surface but once again, the end of the zigzag would not line up.
One of the main problems is that the tube is an open polysurface, but all these commands work only on surfaces, there isn’t any way of transforming that open posy surface to an open surface, allowing us to flow all along ?
I am also going to try with grasshopper to transform the curve into a zigzag and extrude it.


Yes, a single surface is definitely best when doing any sort of patterning. In this case, the first thing to ordinarily try is to Untrim the two halves and attempt MergeSrf. Depending on how the surfaces were trimmed at various stages of the model this can sometimes work. You may even need to use ShrinkTrimmedSrfToEdge and MatchSrf as well but regardless in this case that technique won’t work. The open edges don’t line up cleanly on one end after the Untrim. So instead I made a new surface using curves from DupEdge and Sweep2. Then I used the Add Slash option in the Sweep2 dialog with Perp Osnaps to keep the slashes straight as shown. I also rebuilt the surface to be much more manageable… Model_Justine_single_srf_bjames.3dm (473.2 KB)

I hope this helps some in laying out the pattern.