Substract 3D Blockreference from a 3D Solid

Hello everybody,

I am starting to work on a project :

  • I have a dynamo script that automaticaly implant autocad blockreferences (designed in 3D).
  • After that i would like to substract those blockreference 3D geometry from a 3D solid extracted from a C3D corridor, have anyone already try to do this with dynamo?

Solid.Difference will be a good start for you:

Thanks but that means that i need to :

  1. Get my corridor solid 3D geometry into Dynamo
  2. Select all my blockreferences
  3. Explode my blockreferences to transform them into Solid3D in Autocad
  4. Get thoses solids 3D geometry into Dynamo
  5. Substract the geometry with Solid.DifferenceAll
  6. Send back in Autocad/C3D the solid generated

My concern here is that my blockreferences would be exploded at the end of this workflow…


  • Last one delete the original BlockReference if you don’t need them.
1 Like

Don’t explode then - get the original block and pull that geometry. Then apply the blockreference’s coodinate system to that geometry. All of that is done in Dynamo.


@bertrand.savarit here’s a visual of what @JacobSmall described.


Thanks a lot!

It’s been 24h that dynamo is running the script, i think i will have to find an other way to manage rail sleepers blocks :smiley: