Anthony Appleyard opened this issue on Jan 15, 2014 · 24 posts
3dcheapskate posted Wed, 02 April 2014 at 5:12 AM
Cheers Anthony! A minor correction, and a replacement of Poser.Libraries with something that works in Poser 6, and I can confirm that the props loaded via script are now deleted along with the figure. (I just tried it in the script-based freebie I uploaded a day or so ago here http://www.renderosity.com/mod/forumpro/showthread.php?thread_id=2879764 )
def parentprop(ac,par):
scn = poser.Scene()
if ac.IsProp():
scn.SelectActor(ac)
propin=ac.InternalName()
propen=ac.Name()
parin=par.InternalName()
paren=par.Name()
print "parenting",propen,"(",propin,") to ",paren,"(",parin,")"
sTmp = os.path.join('Runtime','Libraries','Pose','3DCheapskate','TempPose.pz2')
poserpath=os.path.split(poser.AppLocation())
fileaddr = os.path.join(poserpath[0],sTmp)
print "writing temporary pose file to ",fileaddr
pose=open(fileaddr,"w")
pose.write("{ntactor $CURRENTnt{nttsmartparent "+parin+"nt}n}n")
pose.close()
scn.LoadLibraryPose(fileaddr)
print "re-parented"
else:
print "FAILED:", propin," is not a prop"
Edit: saving the figure works too - when you load the figure back the props are there correctly parented (from a qquick visual inspection and waggle of the arms)
P.S. Poser 6 simply overwrites the temporary file when you try a second prop - no warning or confirmation. Which is good in some ways, bad in others...
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.