Cut-Plane Using Geometry.Split and select desired output surface

Hi everyone
I am trying to cut a surface using Geometry.Split(cut-plane), “cut-plane” is a plane created by an offset from XY plane.
After splitting the surface I expected to have only 2 surfaces; one below the cut-plane and another above the cut plane. but instead, I get 6 surfaces.
and it may vary based on Cut-plane, the main Surface,…;
So here is the question: How am I supposed to find out “which of the surfaces are above cut-plane”? I mean programmatically not visually:D
Or split it directly into two surfaces?

just in case I am new to all this, is there whole another way to do this task?
Note: I am using Dynamo Studio so I do not have access to Revit.

you can create some test geometry above the cut-plane and intersect this geometry with the surfaces.

1 Like

You can also use BoundingBox and compare values with your plane:

By the way the fact you get 6 surfaces is weird, can you maybe upload your dynamo graph?


Worked! thanks @Fiesta

“I GOT 7 SURFACES”. my mistake. @lucamanzoni

Unfortunately, I’m not able to upload my Dynamo graph. New user.
I guess that’s because I revolve a polycurve which was created by two curves and a fillet…:thinking:
But the outcome of Surface.Revolve node is a single surface.

@lucamanzoni Here is the graph:
CutPlane.dyn (24.7 KB)
(I just Got promoted:D)
another thing is that Bounding Boxes can only made by Solids, which makes it complicated for me to work with them here.

So I tried some stuff and I figured out that if you explode the surface you get 3 surfaces. That explains why you have 7 surfaces:

  • 2 surfaces for the left one (above and below)
  • 3 surfaces for the one in the middle (2 belows and 1 above), because of his shape, the two below are not connected
  • 2 surfaces for the right one (above and below)

This issue is related to the fact that the polycurve that’s generating the surface is made by 3 subcurves. Maybe with a spline or with a different creation method it would be ok.

1 Like

I wonder if it’s due to the use of arcs… Revit kind of thinks of a circle as 2 joined arcs… perhaps in this operation it spits out the underlying geometry… the surfaces happily join back into a polysurface, so it’s not as if there’s any issues there…

Hope that’s of interest :slight_smile: