Uniform developable strips in Z direction

Hello,
I’m trying to use Kangaroo stripper to have nice and continuous developable strips out of the mesh in the first image, but I have random strips going in different directions. I need help to make them continuous and mostly going in the Z direction.

GH file is attached.

Reference Image

Stripper.gh (84.4 KB)

1 Like

Hello
I think you will need to make some program (Python, C#). If you need to make some fabrication at the end it is quite mandatory to make program because you’ll have some constrain to take into account.

I get this with your topology (put 100 in this line instead of 10)
while (CountNumberOfRowsDone(meshFaceRow) < mesh.Faces.Count && numberOfRow < 10)

And with another logic that (not published)

4 Likes

Yeah, I need to learn how to do that. Thanks a lot for your help, I will try to manipulate values to have more vertical direction with these strips.

If you want to be able to divide it into continuous quad strips without crossings or t-junctions, the mesh you relax needs to have only even valence vertices. So for a shape like this, each internal vertex should be surrounded by 4 or 6 quads. This type of mesh is also good because it can be separated into warp and weft, and aligned with principal curvatures.
Design your mesh like this, and the automatic stripping will work.

1 Like

Hi Daniel, thanks for sharing your ideas on this. I was wondering if there is any paper/video or similar that explains how to design a quad mesh with even valence vertices? I am also interested in this topic, would be nice to have your thoughts on this as well.

Cheers.

Felipe.

The hexagonal topology shown here is actually a good basis for this:

but without those extra quads at the corners (notice how those introduce valence 5 verts where they meet the hexagons, which we cannot allow if we want this clean warp/weft strip division later).
From this you can pull some of the openings up and some down, then join with other similar layers. Then subdivide (note that subdivision doesn’t create any new irregular vertices, so as long as our base mesh is all even valence, our subdivided one will be too), and relax.
I can post some examples later.

Another possibility is to use the MeshPipe or Fattener functions on a curve network, and use ExtractControlPolygon on it to get the base quads. This was one of the applications I had in mind when I wrote it, so it produces even valence quad meshes.

6 Likes

Thank you!

Here examples of these 2 approaches:
multipipe_strips.gh (21.0 KB)

(note that when composing these elements, you need to take care to only do so in a way that the valence stays even -the orientation of that division of the flat hexagon into 2 quads matters)

The other nice thing about even valence quad meshes I forgot to mention is that it is also what is needed for making semi-discrete surfaces (ie smooth in one curvature direction, but discretized in the other).

btw - To illustrate why meshes with odd valence vertices are not suitable as semi-discrete surfaces - odd valence means there will always be somewhere the warp direction collides sideways with the weft, and there the developable strips will have a mismatch like this:

If the mesh is fully discrete - ie. squarish quad panels, with creases between, this isn’t a problem. Also if working with a flexible material that can twist and stretch a bit, or allowing gaps, it might not matter. If you want strict developability and joins though, having all even valence matters.

13 Likes

Nice process. Thank you so much for your time and explanations. I’m trying that approach now.

Thanks a lot for your trials Laurent, yeah please PM me with that update.

1 Like

Hello
I was happy to see the work done, I like the illustrations. Cool

11 Likes

Hey Laurent.
Thanks to you, you saved the day. We also used your definition here.

It’s not so obvious but we used it at some point.
3 Likes

I was wondering, @DanielPiker are you aware of any methods for automatically generating even valence meshes? Manual creation is sometimes a challenge when a very specific topology is required.
Many thanks!

Hi @yanna_m

Do you have an example of the kind of geometry you’re meshing?

Proper tools for fully automated quad remeshing with good patch layout is still an open problem, let alone with valence control.

Hello! I am trying various geometries, here is one example modeled with a mix of Blender and Grasshopper - Kangaroo;

geom.obj (895.3 KB)

2 Likes

this is an interesting comment. @DanielPiker would you mind expanding on this, in which context would you say that this is of use? I have some ideas of my own, but it would be interesting to hear your thoughts on this.

cheers,
david

Hello, I am also trying to use Kangaroo stripper and I have a similar problem. I tried the solutions on this page, but they won’t work for me.
I am trying to create continuous horizontal stripes, but the stripes will just go into different directions and collide at random places.

GH file is attached below

Strips.gh (21.1 KB)