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