Anthony Appleyard opened this issue on Jan 15, 2014 ยท 24 posts
3dcheapskate posted Tue, 29 September 2020 at 2:33 AM
FVerbaas posted at 2:34PM Tue, 29 September 2020 - #4400505
I do not know if the original bug is fixed, but I think chances are low.
To fix the 'smart' part you could try to apply the world transformation of the parent actor (parentactor.WorldMatrix()) to the prop to be parented.
It looks like I might have to do that - yet another conditional 'if PoserVersionX do A elif ...' !
~ ~ ~
I've just done a quick (definitely not thorough or conclusive) Poser 11 test using actor.SetParent(parent,inheritbends,realign) with all four possible combinations of the two booleans (i.e. inheritbends and realign) instead of the workaround parentprop(ac,par) function in my 2 Apr 2014 post.
If I delete the figure after running the script then the prop also disappears, so the original problem has definitely been at least partially fixed (I haven't checked saving a CR2 or PZ3 yet).
However, the prop is NOT correctly positioned/oriented (unless the figure is in the default/zero pose), regardless of which of the four boolean permutations is used - each permutation seems to put the prop in a different incorrect position/location.
So Poser 11 actor.SetParent() does NOT appear to be correctly smartparenting props.
(I can't recall whether the smartparenting bit of SetParent() was working in previous Poser versions - I need to go and test on PP2014 on another machine.)
The 3Dcheapskate (also available in DAZ and HiveWire3D flavours) occasionally posts sensible stuff. Usually by accident.
And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU.