I wanted to share my solution that seems to work. I wanted to make some dynamic function that accounts for all scale problems (as that would be most diverse)... but since the problem seems unlikely in most circumstances, I'm stopping for now with the following code.
I hope it helps someone.
Essentially, if you need to have a scale of [1,1,1] on your objects that were painted with the Object Paint tool, you can select those objects and then do something like this:
for obj in selection do (
scale obj [-1,-1,-1]
in coordsys local (
rotate obj (eulerAngles (-1*obj.rotation.x_rotation) -180 (-1*obj.rotation.z_rotation))
I'll be putting this into a function in Wall Worm in the next week.
PS. If someone has a more robust formula, I'd be happy to see it... all the linear algebra stuff is making my beard get too gray too fast.