Efficient packing of models with chains
This is relatively easy to do in any CAD/mesh software.  For example, if you load import the model into Meshmixer, you can select a given solid and N links of chain connected to it (using "expand selection to groups" or similar to be safe). Then use the "Separate" command to allow you to move/rotate that subset on its own. All you have to do is make sure the two chain links at the point of rotation remain disjunct.
Once you've moved everything around, just SelectAll and export.