Hi, devs. I'm working with a rigging model, and in some cases I have to scale it which will make the scale value not be 1 (Figure 1). And every child object's real scale value is changed.
Figure 1
Then I'm using Reset Scale( c4d. CallCommand(12317) )(Figure 2)
to solve this problem, but it can only solve them one by one selected.
Figure 2
Then I wrote a Python script to see if this would be applied by one click.
import c4d
def main():
SelectedObjs = doc.GetActiveObjects(1)
cnt = len(SelectedObjs)
print SelectedObjs # to check whether objs can be read
for obj in SelectedObjs:
print obj # to check whether each obj can be read
c4d.CallCommand(12317,0)
if __name__=='__main__':
main()
And it turned out that objects could be read indeed, but Reset Scale just didn't make effects to children objects.
Is there anyway can solve this Reset Scale problem? I didn't use freeze scale because I worried about errors happenning in interactions with like Xparticle, dynamics, simulations stuffs.