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