Cut&fill solids layers


Hello!. There is something that civil3d is not able to do, despite the fact there are some purposes in ideastation.
The question is to create cut and fill solids from corridors the same way as pavements. Is it possible to create a node to achieve it dinamically?
Moreover, despite there is the chance to cut solids by stations thanks to some dynamo nodes or by regions in civil3d,in order to have an accurate lot’s control quality about earthworks and an accurate 4D model, to slice into layers of a constant or variable depth depending on the maximum height would be a great tool ( f.ex: a fill of 5 m has 10 layers of 0.5m). In addition, it would be a great tool to measure approximately intermediate volums during the work.
Is it able to have a workflow to do this kind of work?

  1. get cut & fill solids financially.
  2. slice into layers of a constant/variable depth, following a parallel of the defined profile.
  3. the maximum depth between top surface and existing ground, would be worth in order to estimate the number of layers.

Thank you.

@javiermend you can extract the solids comparing surfaces in Civil 3D: you need to extract the corridor surfaces, than you need to compare the surfaces with the existing ground and this will generate the cut and fill solids.
In Dynamo you can select the solids from AutoCAD, extract the Dynamo Geometry associated to them, split the geometry accordingly to the depths you want (using Dynamo planes for example), when finished you can send the solids back to AutoCAD.

Thanks a lot @Paolo_Emilio_Serra1 .
That workflow is the one i have been working on, but i get stuck at the end. When one plane intersect one Solid3D, it is split into two solids, one above and other down and so on, for each plane.
The only way to get a Cut or Fill layer is by diference between two solids, isn’t it? That method becomes dificult for me because of my lack of experience working with lists, specially if you are working with a large amount of layers and Solid3D.

What I mean in the previous post is that it is strange not to have a node for extracting Cut&Fill Solids like the Corridor.GetSolids, that only depends from the selection of target surfaces(or selecting the solids done in Civil3D), and then, end the workflow with the Solid.SliceByPlanes, obviusly, i have no idea of programming so i don’t know if it suposed a hard work to develope.

Still Learning…

@javiermend unfortunately there are no API calls that exposes that command so we cannot do it in Dynamo either.

It works following yours steps @Paolo_Emilio_Serra1 and struggling with lists. However, some bug can occur if the intersection between solids has an indetermined curve. In my case there was some bowtie that makes mistakes in the workflow.
Still Learning…

When I say “split” I don’t necessarily mean you need to use the split command.
You can intersect the solids with boxes that split the geometries in strata.

Yes I agree with you, at last I used the intersection node between cut and fill solid and the planes in certain elevation. As a result it extract a sequence of two different solids, applying difference between solids you can extract strata.
When you say boxes, do you mean intersecting a sequency of parallelepipeds and intersect them with the cut or fill solid?
Great colours in your model (Barça model…)

“cuboids” yes

I just try to follow your idea in order to generate cut and fill solids between two surfaces exported to solids. I created some test file with two solids (solids.dwg) that intersect and I would like generate cut and fill solids between these surfaces. I dont need to slice solids to additional layers. I tried to modified your script but after running it I get some errors. How can I tell dynamo which solid represents base surface and which represents comparison surface ? I would like to attach my script and test file but as a new user I cant ;/ I placed them on wetransfer:
I`d be obliged for any help.