Separating solids by comparison with a surface

I have used these tools to obtain the filling and the dismantling between two surfaces generating solids. (like @Paolo_Emilio_Serra1 show us)

Does anyone know how I can separate that list of solids by comparing it with the reference surface to introduce it in different layers and colours?
a greeting

Can you explain a little bit more what your end goal is? The TinSurfaceExtensions.CreateSolidsAtSurface node that you are using has an input port for assigning the layer(s). Is there something else you wish to do?

I imagine you’re trying to separate the fill/cut solids into separate layers and color the objects (green fill and red cut for example). Whenever I’ve used this node, the index 0 result gives the Fill and the index 1 gives the cut.
Forum-Fill_CutSolids.dyn (22.7 KB)
Hmm, for some reason my gif isn’t uploading so here are some pictures :

2 Likes

@david_licona

Good morning,

Yes, that’s perfect! Thank you very much! The only doubt I have is what would happen if I had two filler solids and one cutter solids… how could I group all the filler solids and all the cutter solids together…

The node is calling the API function which will create 2 solids only (one for fill and one for cut). So in your case, if you have 2 filler solids even though they are phyisically separated, they will be one solid object. You can use dynamo to separate them by cutting them at a given plane for example but be advised that Dynamo 2.9 release includes a node that separates the solids : Dynamo Core 2.9 Release - Dynamo BIM.

1 Like

That is perfect! thaks! @david_licona

1 Like

Hello.
I’m now in the same situation and i need some help.

What if in this case i have three different areas:

  1. Only Fill (List 0)
  2. Fill & Cut (List 0 & 1)
  3. Only Cut (List 0)

Do you have any idea how i can seperate and group the solids?
My only idea is to compare the solids with the surface if the solid is under or above, but i don’t if this is possible.

What I will try to do on the top of my head (you can do the same thing many ways in Dynamo and maybe this is not the best one) :

  1. Get the centroid of my solid
  2. Get the station on the baseline corresponding to the centroid
  3. Get the surface profile
  4. Get the point on the surface profile corresponding to the station
  5. Compare the z value of this point with the centroid of the solid, if its lower than the centroid, then the solid its a filler, and vice versa

You should have nodes for all of this in either the toolkit or ootb