How to tackle surface/curve trims like this?

Using surface split or Trim with Region is quite straight forward for flat simple curves but how do I tackle non planar surfaces and towers for instance - I guess I could complete the definition, bake it out and then boolean but surely there’s better ways.

Example of what I’m trying to do using lunchbox panels here

I did some searching around and found mountains for threads on untrimmed / trimmed surface splitting and various issues others have had, generally speaking I can tackle 2d surface/curve splitting fine as I can make a simple definition as follows - though this doesn’t seem to translate well for my form atm.

Can you share the definition?

These sort of problems are what is separating the sheep from the goats… Therefore you find many threads, some with good solutions and many bad solutions. Its not about Grasshopper, but also understanding modeling. And Grasshopper invites to be lazy and dirty…

Before you start I highly recommend representing your coffee cup with much lighter surfaces. This highly reduces the chances for trimming failures and improves performance

Always prefer surface split over any other method, except copy trim (which allows to work in 2d space until you apply the trim onto the 3d surface - with limited usability) .

Once you have split the surface select the ones for deletion; the detection of them is tricky, but doable. Take the cell center and measure distance to a trim (not surface) center or take length of the trim boundary.

Learn to deal with edge case, rather let them happen and fix them manually. Don‘t try to do everything in Grasshopper. Sometimes doing a bit repetitive work is much simpler.

Always prefer building a pattern in 3d space. Morphing an entire pattern is almost always an oversimplification . This is why Lunchbox and similar plugins are always pointless. Great for rapid prototyping, bad for more complex mapping problems.

Don‘t use patch, boolean intersection or any other short-cuts/workarounds if possible. Build as if you would do that manually.

But thats what I could tell you at this stage. It always depends on the shape and the pattern. There is no general solution. For concrete help provide a file…