Joined minimal surfaces

Hi, here’s a beginner’s question. I would like to create a minimal surface that consists of three surfaces joined together. The problem is the curves that support the mesh. When the mesh edges are anchored, the soapfilm component pulls the shape practically flat, without considering the curves. How should I approach solving this problem? I’ve tried various solutions at my level, but haven’t achieved anything reasonable. Any tips are welcome to help me move forward even a little.


soapfilmquestion.3dm (445.0 KB)
soapfilm test.gh (19.8 KB)

You need to add anchor points along the two arcs.

Thank you for the tip, and here’s an updated version that creates a surface that follows the curves. I noticed that Grasshopper becomes slow with this version, so some fine-tuning is needed.
What do you think?

soapfilmquestion.3dm (566.9 KB)
soapfilm test (1)_autosave.gh (19.5 KB)

1 Like

I’d do this slightly differently.

Note like I’m splitting a surface only to join the segments again for the TriRemesh…

This keeps vertices coincident on the seam. I’m filtering the points which are closer than 0.1 from either of the curves projected to the XY plane. These points are pulled to the 3D curve with the OnCurve goal.

I think the reason the simulation was running slow is the division of the edges. Those anchors at the bottom of your definition don’t do much in my opinion.

I’m not sure if you want the boundary as you show on your screenshots or also affected by the soap film…

You have two options.

  1. the green group has separate line lenght goals for the boundary and inside edges. You can finde tune the shape of the membrane.

  2. the orange group uses the soap film goal. Deactivate the green group if you want to use these goals.

Inputs internalised…

soapfilm test mrtn.gh (31.9 KB)