I am having 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 (A 1-dimensional constraint that the distance along one axis should be fixed) between the surfaces of two cubes Solidworks maps this on the 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.
Am I wrong or is the SolidWorks COLLADA export wrong?
Ah… missed that details. Then I would suspect that that <asset><up_axis> element is not being used or handled correctly and there is a difference between the two apps .