How can I trim the surface with these closed nurbs curve?

Untitled.3dm (3.3 MB) (40.8 KB)

I’ve tried “surface split” but it didn’t work. Doing it manually on rhino works, but I wanted to use the grasshopper script for a galapagos optimization. Thanks so much!

Usually when the surface split component fails I extrude the curves a little bit for both sides to be able to use solid difference.
Not sure if it would work in this case - when trying to open your file I get an error

Thanks for your reply! I’ve also considered this route, however I had trouble figuring out how to extrude the curves at their respective normal.

I tried “area” > “centroid” > “construct plane” but I couldn’t figure out how to set the z axis as the curves normals.

I then tried turning the curves onto surfaces, then map them to the target surface for extrusion. But using this method I still cannot evaluate the normal of each surface’s centroid as the components require a UV input, which I don’t know how to generate.

Maybe you can do the opposite process, map the curves to a flat surface, performing the split there and bring it back to original position with surface morph, actually this way you can already do the solid object on flat if that is the your final goal

Right - especially if some curves aren’t really ‘mapped’ on the surface (as in: following the surface shape). This tends to happen when the construction of the 2D surface doesn’t really ‘match’ that of the 3D surface - but who knows, I don’t really know.

You might want to figure out a proper way of mapping them, unless you prefer to build the perforation curves on the 3D surface itself.

For now, because you seem to be playing with mapping from 2D to 3D surface I’m sending you some help: (31.0 KB)

It works with what you have (however I changed the script, keeping your original 3D shape), as your 3D surface is untrimmed I just faked an ‘unrolled’ version of it.

Just keep in mind this isn’t the only way to achieve what you’re pursuing, in case that matters to you :slight_smile:

note: generate curve quantity first, then ‘split’ so it’s not slow.


1 Like