Packing geometries in a surface with constraints

Hello everyone,

I am new user of dynamo for rrevit and I want to generate several locations for a set of equipment in a surface for which I have the “dimensions” (in 2D) with distance constraints between the equipment, I would like to know if there is a dynamo package that allows me to do that.
I tried to use refinery toolkit but it only works with rectangles and it doesn’t allows me to specify constraints (like defining a distance between one piece of equipment and another in the surface)
Is there a package that allows to pack equipment of different geometries and define the distances between the geometric shapes ?
Thank you for your help !
image