Can’t get Tensile Structure to work (kangaroo 2)

I cant seem to get this tensile structure to work. I tried doing a mini version by copying a few tutorials I saw online that use Grasshopper Kangaroo to create it, and I can’t seem to get it to work even with the same parameters.

I especially cant get the points to go up like in the video. I can barely get the corner conditions to work especially on the more complex model.


Tensiel Test.3dm (101.2 KB)
Tensiel Test_7.3dm (101.2 KB)
Tensile Test.gh (12.5 KB)

Link to the tutorial I’m using.

1 Like


Tensile Test.gh (19.7 KB)

What you need is to use the Anchor goal.
Anchor goal can work in 2 ways:

  • keep a point fixed in space during a solution (this case doesn’t need any point in the “target” input)
  • keep a point fixed in space to another place , the “target” point

… see in the definition…

1 Like

Thank you so much! This helped a lot! If you don’t mind me asking about my actual project.

  1. How Can I get more points on the edges? How can I get it on a mesh that’s not rectangular? (Sorry not trying to get you to do my work, just trying to understand how I can get this effect with many points.

Goal:

  1. What does the unflatten tree and explode tree do? (sorry just picking up Grasshopper more)

I posted the files to my project if you want to play around with it.
Corridor_JW 3.gh (17.2 KB)
Studio Corridor_JW 3.3dm (5.7 MB)

see here What is Kangaroo Show component for? - #2 by maje90

Normal kangaroo Solver wouldn’t need unflatten. BouncySolver have the “O” output flattened, so first you need to unflatten it.
For what you are doing you don’t need bouncysolver (which simulate also a sort of kinetic energy during the simulation), you need a static solution, so the normal solver is enough.



Corridor_JW 3.gh (21.7 KB)

I referenced your points (i think they are too many…)
Triangulate is useful to create an even distribution of points.
You’ll want to decrease the triangulation target length to have a more detailed mesh (do this while the kangaroo simulation is turned off).

1 Like

Jimminy Cricket’s. This will always amaze me. Could you guide me through the highlight section in the top left.

Your pole points, once projected to XY plane, resembled a shape that would have concave details.
As Delaunay Mesh always create a convex shape, it means some triangles were unwanted.
I removed the faces that had any segment too much long, manually filtering I found the value of 172.

  • Face boundaries create a small polyline curve for each face of the mesh. A list of polylines.
  • Explode retrieve all the segments of each polyline. Here the list became a datatree, a branch for each starting polyline. Each branch noi contains 3 lines.
  • Length, now each branch contains 3 numbers, the lengths of the 3 segments.
  • “Larger than” check, now we have 3 true/false for each branch.
  • Mass addition will sum all the numbers on each branch. true=1 , false=0 …
    … so any triangle with all its sides longer than 172 would return 3, if none 0 or 1 if just one… it means we are counting the amount of sides longer than 172 for each triangle.
    Flattening (down arrow) to collapse our datatree back to a simple list.
  • Now, our 0/1/2/3 values can be converted into true/false boolean. 0=false, any number = true.
    We can read this “if any segment of the triangle is longer than 172, it’s true”.
    With that true/false pattern, we can “cull” the faces of the initial mesh.

Headache? … not unexpected… it’s a text wall :see_no_evil: :sweat_smile:

2 Likes

I haven’t looked at anyone’s code and usually don’t know what icons mean but this is easy. Looks like its culling faces that have one or more edges longer than the slider value? (172)

2 Likes