Description
When scaling a body with non-uniform scale factors (scale_x != scale_y != scale_z), wrap cylinders can have muscles that no longer wrap around them after scaling.
Since a PathPoint is scaled linearly by the ScaleSet, and the radius of a WrapCylinder is scaled by an average of multiple ScaleSet components, sometimes the WrapCylinder scales more than the PathPoint and causes the muscle to no longer wrap.
As a simple example, if a PathPoint were located at (1,0,0), the WrapCylinder z axis was (0,0,1) and its radius was 1, and the scale set was (1,2,1), the PathPoint would not move, but the radius of the WrapCylinder would increase to 1.5, moving the PathPoint from the surface of the cylinder to inside it.
Attached are files replicate the problem for the iliacus. This issue is common for iliacus, psoas, and gmax muscles in this model.
WrappingIssue.zip
In theory, you'd want all points on a wrapping surface to scale linearly with the scale set like Points do, but I can't think of a way to ensure this by adjusting the cylinder length and radius. A cumbersome solution would be to search across many poses after scaling and check for large pre-post-scaling changes in moment arms or muscles that pass through their wrapping surfaces. This would be quite slow.