I think a pivot joint would work better than a pin. You can try the "add pivot joint at xy" action with parameters:
Family2.uid
Family1.ImagePointX(loopindex("points"))
Family1.ImagePointY(loopindex("points"))
Every other joint uses relative locations but that one uses a layout location. I think I'll add a "layout2relative" expression so we can use layout locations for the other joints if needed.
Also according to the chipmunk forums a good way to join objects together is with two joints, a pivot and a gear joint (with a 1.0 ratio). I modified your capx to do that, also for the gear joint it needs a phase of Family2.Angle-Family1.Angle to keep the angle difference of the objects.