Kangaroo solver not working

Hi Community,

I am trying to inflate bubble on curved brep.

The problem is, the solver gives invalid geometry (self-intersecting mesh) and some flipped ones.
1 I’m using arcs ‘bulging’ toward the inflation direction I want
2 Invalid geometry happen when there are many sides but also ‘simple’ cases (e.g. only 3 arcs)

Could you please give me some guidance on how to fix my solver setup? (This doesn’t seem like an impossible problem, maybe I got some inputs wrong?)

Thanks so much!
solver_problem.gh (26.8 KB)

I think I’d build the meshes differently.

One problem with the Weaverbird approach is that your meshes do not have coincident vertices along the naked edges. Therefore they won’t stick together.

I’d start by creating a simple coarse mesh for every polyline. Two edge indices and the average of each polylines control points are one mesh face. The aspect ratio of the mesh edges is quite large. To have a nicer result when inflating the mesh, the input mesh needs to be remeshed. I’d use TriRemesh.

Then find the points which lie on the edges and feed these into an OnCurve goal. I think it’s important to provide the points for every single arc and not for the polycurves since that could lead to problems at the corners. Points could jump from their original curve to the arc next to it, should the distance be closer…

The collisions are tricky. My last attempt for now is using the Collider goal. The Ignore lists are fed with each vertex in A and their neighbors in B. It seems to work with a few exceptions. With the current settings, the strength of the Pressure goal can be increased to 3.3. Anything higher and some of the collisions start to fail.

inflation_collider.gh (165.4 KB)

I kind of like this shape. What are you using this for?

2 Likes

Thanks so much Martin! Your results are awesome!

I’m trying to emulate bubbling without boolean-ing a ton of spheres, which is a slower way that will likely fail in grasshopper software.

1 Like

Thank you! Have you tried ShrinkWrap?

Not yet, but I’ve been reading up on examples. I’m trying to maintain a nice quad topology, so fixing the points-not-line-up error you pointed out and some mesh polygons having wrong normals is improving my results!

1 Like