I have a problem with the COLLADA export of SolidWorks. I am working on a importer for the COLLADA files produced by SolidWorks to 20sim (http://www.20sim.com). I am having problems with the Rigid Constraints. If, for example you create a distance mate between the surfaces of two cubes Solidworks maps that on a 6 DOF (3 translation DOF and 3 rotation DOF) rigid constraint in COLLADA.
If two objects have a fixed distance between them but are free to move in every other way movement is possible along the surface of cubes and rotation is possible along an axis perpendicular to the surface so that the distance does not change. So for example you get two translation DOF, X & Y. And then you would still have one rotational DOF left which would be the rotation along the Z axis.
This is not the case with the COLLADA export of SolidWorks. It creates a rigid constraint with translation along the Y&Z axis and rotation along the Z axis, which seems wrong.