Output from solid difference is an open brep when splitting closed breps

I’ve divided a closed brep using solid difference with another closed brep, but cannot then subdivide the result.
I think this is because the output is an open brep?
How to close it?

AmmoniteVS2.2.gh (35.6 KB)

Or can I work around?

I tried deconstructing the original brep, then extruding the relevant face to re-make it, but it’s still an open brep.
Surely an extrusion must be closed…
I think I’m missing something here?

See the attached, and some comments:

  1. always minimise your definition to make it read-friendly.
  2. when building definition, firstly make it work, then think about the efficiency and optimised approaches.
  3. if a problem can be turned into a pure math/coordinates, avoid geometrical calculation,
    if a problem can be worked out in 2D then avoid doing it in 3D.

BREP.gh (25.3 KB)

Thanks for your help Mr Zheng, I really appreciate your taking the time.

Is it possible that I have a different version of Rhino/Grasshopper to you and this is making your addition to my definition fail? I have Rhino 5.

My ‘list item’ doesn’t have the +1 output, and the result, whilst being a closed brep, is what you see in the snip I have attached.

I really don’t understand why dividing closed breps outputs open breps.

I think your list item do have +1 if you click on the +, alternatively put 1 at index, which does the same.

Try to bake the output brep into Rhino to see if it’s a display issue.

I think the reason dividing closed beep gives you open beep is that the profile boundary of the output beep is quite a complex curve that are potentially interpreted as being self intersecting?

As I mentioned before, try to solve it in 2d surface, then you will be assured that an extrusion from planar 2d element is definitely closed.

Hello Mr Zheng,
You put me on the right track.
Baking into Rhino showed the surface had not extruded successfully - no top.
Several attempts at different surface methods etc. were no good.
Eventually scaling the cutting surface by .9999 before solid difference did the trick.
I think it was the shared line that was the problem - intersection like you suggested.
Oh dear, I had been trying to do this for days and it had started to get to me!
All is good - for the moment…
Thanks again for your help.