Hi Als.
try this modification:
//This tool instances and connects a set of ordered object(s) at the positions of the bodies in a Dynamica rigid body array
//first select the rigid body array SHAPE, then select objects that you want instanced at the positions of the bodies
//in the rigid body array
//
// modified 20.12.2014 Risto Puukko /* connect attributes instead of just move and rotate */
//
{
proc string[] bakeRigidBodyArraySnapshot()
{
string $sel[] = `ls -sl`;
if (`objectType $sel[0]` != "dRigidBodyArray")
error "The Dynamica rigid body array SHAPE must be selected first.";
int $bodyCount = `getAttr ( $sel[0] + ".numBodies")`;
int $variantCount = `size $sel`;
if ($variantCount < 2)
error "Select the rigid body SHAPE first, then select geometry variants that you want instanced at the positions of the rigid bodies.";
int $i = 1; //skip the rigid body itself
for (; $i < $variantCount; $i++)
{
if (`objectType $sel[$i]` != "transform")
{
string $shapeList[] = `listRelatives -path -s $sel[$i]`;
for($shape in $shapeList)
{
if ( `nodeType $shape` != "mesh" && `nodeType $shape` != "surface")
error "Select the rigid body SHAPE first, then select geometry variants. The objects that followed were not detected to be geometry.";
}
}
}
string $newObjects[];
int $currentVariant = 1;
for ($i = 0; $i < $bodyCount; $i++)
{
string $newObj[] = `instance $sel[$currentVariant]`;
connectAttr -f ($sel[0] + ".position[" + $i + "]") ($newObj[0] + ".translate");
connectAttr -f ($sel[0] + ".rotation[" + $i + "]") ($newObj[0] + ".rotate");
$newObjects[`size $newObjects`] = $newObj[0];
$currentVariant ++;
if ($currentVariant >= $variantCount)
$currentVariant = 1; // 0 is the rigidBodyArray
}
return $newObjects;
}
select `bakeRigidBodyArraySnapshot`;
}
And it works with any geometry you need.
Look at the connections with the connection editor and you’ll get a hang of it 
merry sim’ing from the land of the santa
/Risto