Projecting a solid onto XY plane and extrusion of the outline contour in Z direction

Hello,

Like in the topic i have a group of smaller solids from a Civil 3D corridor. I transformed them into Dynamo Geometry and i need to extract the XY boundaries of them and then extrude the solid from those boundaries in Z direction. Unfortunately you cannot project the objects onto plane, so i tried to make a surface on the XY plane with Z=constant, but it is not that simple. Do you have any idea how to solve the problem?

My solids are on a real XYZ coordinates.

3 nodes to start you with:
Topology.Edges
Edge.CurveGeometry
Curve.PullintoPlane

Edit: you could also look into using two solids instead of a solid and a plane and trying this node: https://dictionary.dynamobim.com/#/Geometry/Solid/Action/ProjectInputOnto

It worked, but it didn’t solve whole problem. Now i have curves on one plane, but they are too complex and i cannot extract outline curves. I am thinking about creating a surface from corridor and then making the automatic outline for it, but i am afraid that in would not be as precise as i want for trimming the solids.

Here is how my cutting geometry looks like (which i want to extract the outline from and make extrusion in Z axis):

What is the end goal?

I have groups of solids extracted from different corridors. One group is the main corridor and the rest of groups are the intersections. Since they are overlaping i want to extract the outline shape in the XY plane of each intersection and then trim the main corridor, so they no longer overlap (on the XY plane). Of course i have more intersections, so that is why i want to automate the process as much as possible with Dynamo.

Examples:

  1. Intersection’s solids


  2. Main corridor’s solids


  3. Both together

I’ve also tried to extract feature lines from corridor and then manually convert them into one closed 2D polyline, but then since the model are in real world coordinates dynamo either claims that i need to change settings to extra large workspace or when i set it properly it claims that my points are coincident