Any ideas on how to relax a shape around another shape? I’m trying to shrink wrap objects with another object but I just cant get it. Maybe my approach is wrong? I’ve got 4 blocks encased in a larger block. The four smaller blocks are static and I want the larger block to shrink around them. The main problem im having is that the blocks don’t seem to react at to each other at all.shrinkwrap.gh (33.6 KB)
i believe you need an initial position outside of the object which you have set as a collision not inside, that will probably arrest the object rather.
I’ve tried that… I’ve tried just about everything but the kitchen sink. Definition is a bit of a mess by now because I’ve been tinkering with it for so long. Setting for K2 can be so finicky at times and there’s not much documentation to help. Any thoughts @DanielPiker?
shrinkwrap_example.gh (23.7 KB)
Does this help? I simplified the setup a bit.
That’s exactly what I was trying to do! Awesome thank you!
I still don’t understand why my definition didn’t work though. Was it my terrible meshes?
I tried your definition, but I didn’t have clean & combine version 1.000. So I replaced it with another version and connected it with other components. Now I’ve got a problem with the unflatten tree component. Please see attached file and I’d really appreciate it if you can help me find the problem. Thank you.
Tinashrinkwrap_example_Issue.gh (23.8 KB)
There’s a more recent shrink wrap example file here:
Thanks a lot Daniel. But I’m missing a few plugins again so will try once I installed them.
I tried to make a mesh of my surface in a triangular net. I’ve read that it is possible with Grasshopper, but i have no idea how that plug-in for Rhino works. Could lease someone help me out?
Are you after something like this?
remeshed_CF.3dm (358.0 KB)
Yes exactly. Thank you.
But is it also possible to get regular triangles? I mean same size edges?
In a word, no.
Meshes are able to approximate smooth doubly curved surfaces by having small differences in the sum of the angles around each vertex. For anticlastic/saddle shaped regions this angle will add up to a bit more than 360°, while for synclastic (more sphere like, like your shape), the sum will be a bit less than 360°
If you restrict all edges of a triangular mesh to be exactly the same length, this means all the triangles are equilateral, so you can only increase or reduce this angle sum by multiples of 60°. So for this synclastic shape you would need some points surrounded by only 5 triangles instead of 6, but this results in a noticeable spike, like you see on an icosahedron.
If you want the mesh to appear smooth you need to allow some variation of edge lengths. The amount of variation required can be reduced by remeshing like the file above.
You can get equal edge lengths with a quad mesh (though the quads will be non planar, and may have very small angles) by draping a net over the shape.
You could also place equal sized equilateral triangles on a surface with some gaps between.
What’s the intended application?
That’s what I feared.
It has an architectural application. With the net I want to create a steel construction.(truss)
In that case you’re probably better with a structured mesh than the one above (which has lots of irregular vertices).
For a more structured mesh, you can build a coarse triangular mesh (like around 10-20 triangles) manually which approximates your surface, then subdivide and pull it back onto the surface.
Either way the edge lengths and angles will probably have to be almost all unique if you want to stay true to the designed form, but that’s not a problem for many of the companies that build space frames these days.
I created now the exactly construction i need.
What I’m looking now for is to reduce the mesh on my Surface I’m working with.
The surface is a trimmed one.
Maybee sombody have any idea how i can resolw that?
I was just going over this thread and am looking for a solution similar to what you mentioned here:
What I am currently doing is as follows:
- Creating flat edge curves for said surface by projecting onto a plane
- Generating a triangular grid on the projected surface, and scaling down the triangles to desired edge lengths
- Pulling said triangles onto the surface to achieve equally sized triangles with variable gaps
The problem I am facing here is that the surfaces don’t always form an accurate flat form when projected (a sphere for example), and this leads to extreme gaps between the triangles.
Is it possible for you to share your ideas on how you would go about achieving both the things you mentioned in your post? i.e.:
- Draping a given surface/mesh with quads having equal edge lengths (non-planar and varying angles)
- Generating equal sized equilateral triangles on said surface/mesh with gaps between them
Thanks and regards