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 made some stripper.

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)

3 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

Thanks for your reply, any leads how do I remesh the existing geometry with that logic?

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.

5 Likes

Thank you!

See also this thread:

Here examples of these 2 approaches:
even_valence_quadmesh.gh (22.1 KB)
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.

8 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.

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

10 Likes

Hey Laurent.
Just saw your message, sorry for the late reply.
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.
2 Likes