Spring can not have zero start length

Hi,
I am learning build oriented geometry applied on shells. But there is a problem during the flattening process, the kangaroo shows “Spring can not have zero start length”. May I ask what is the reason for this? I have not been able to solve it, thanks for your answer

Hi @郑相壹

In Kangaroo, points starting in the same place get combined into a single particle, so a line starting with zero length would cause a connection from a particle to itself.
If you post your file I can try and show how to set things up avoiding zero start lengths.
Also - That specific error message is from the old Kangaroo. I recommend using the current version which comes with Grasshopper.

Thank you very much for your reply. Here’s the thing, I want to finish flattening this geometry on the shell, but there is no flattening battery in Kangaroo2, so I don’t know how to go about it. So I tried it on an older version and had this problem. Here is my file, thanks again for your answer and I look forward to your reply!
planarization.3dm (290.0 KB)
planarization.gh (20.2 KB)

Here’s how you’d set this up in K2
planarize_k2.gh (19.7 KB)

I’m not sure how you’re generating the initial polygons in your Rhino file, but I’d recommend changing it.
There are several tiny triangles and very short edges, which are likely to make the next steps harder.
for instance these tiny triangles you have at the base:


and these short edges around the boundary:

It would be better for the polygons which touch the external boundary of your shell to have a single edge along that boundary instead of being divided into many.

Thank you for pointing out the deficiencies in my model, which I had never noticed before. I tried it your way and the flattened rendering is great, thanks again!
You mentioned my geometric sources, but I actually got mine from kangaroo optimization. I’ve also been questioning if I’m doing it the right way and wanted to ask you for advice.
I first mapped the planar geometry onto the shell, and then in order to ensure that the length of each bar is uniform, I set up my optimization this way: 1) first set up the length constraints to ensure that the lengths are as uniform as possible, and 2) made the collision constraints for the sphere centered at each intersection point in the geometry, so what I envisioned was to just set up the radius of the collision constraints so that I can ensure that my bars are more uniform in length and not too short, and 3) I attach each point to the shell again to prevent the points from running off somewhere else during optimization. , and the points near the edges are adsorbed on the edge line. By doing this I got my geometry. My ultimate goal is really to try to ensure that the geometry has some uniformity in the rods based on this geometry.
In optimization it does look a little better than the original geometry, but it is still not perfect, what I would like to ask you is if my thinking is feasible and if I am overlooking any important mechanical properties in it?
Thanks a million for your guidance, looking forward to your reply!
homogenization.3dm (249.7 KB)
homogenization.gh (19.6 KB)