Positioning in SolidWorks according to real-life measurements

Hi everyone.

I've 3-d printed three parts that I've designed with SolidWorks. I used an erector set connected to holes in the three printed parts to position the printed parts relatively to each other until I found an arrangement I liked.

Now I want to take that positioning and put it back into SolidWorks.

What I tried is this. I have an assembly with the three parts. I used a kaliper to carefully measure distances between various points of the three bodies (each time picking points from two different bodies, of course), and then I fed them as mates to the assembly. As I added more mates, the assembly did start to look more like my arrangement. As I got to around 12 mates, it stopped allowing me to add measurements, and when I dragged any part it dragged all the other parts without changing their relative position, so I took it as a cue that the parts are fully defined relatively to each other. But, they weren't in the position I wanted. The arrangement was similar, but too different. If I had to guess what the error was, I'd say about 10-20 mm, which is way too much. (Consider that I gave Solidworks distances calculated to about 0.5mm accuracy, and I included a variety of distances, between 30mm and around 110mm.

After seeing that fail, I thought maybe I got a measurement wrong, so I suppressed all the mates, did a new bunch of measurements, and got the same disappointing result. Parts are aligned sort of in the same arrangement I want, but too far away. (I'm expecting an error of a few millimeters, not 10-20mm.)

What can I do? Does someone have another idea for turning a real-life arrangement into a SolidWorks one?

SolidworksAssemblies