Forum: Poser Python Scripting


Subject: What path is used for actor.Load/SaveMaterialCollection(FileName) ?

3dcheapskate opened this issue on Jun 14, 2022 ยท 16 posts


3dcheapskate posted Tue, 14 June 2022 at 1:19 AM

Looking in the Poser 9 PoserPython manual the  scene.Load/SaveLibraryCamera/Face/Figure/Hair/Hand/Light/Pose/Prop(filePath)  methods all require the complete path (absolute or runtime-relative, including filename and extension) as their argument.

But actor.Load/SaveMaterialCollection(FileName) only requires the filename (without any path), and material.Load/SaveMaterialSet(name) only requires the material name (without path, without extension).

So where do those load/save material methods get the path from ?


Background: I'm trying to write a very simple script for Poser 9 to, among other things, load a material collection from a folder on my desktop (no runtime structure, just a few Poser files of various types in a single folder), and/or save a material collection back  to another folder  (again no runtime structure, just a few Poser files of various types in a single folder) on my desktop. Why am I writing a script ? Because Poser 9 needs flash for the library, so the library doesn't work. There's no Poser 10 style workaround, and I'm having problems using the free 3rd party library P3DO. Why am I using Poser 9 ? I want to create the Poser files using the earliest version of Poser I have that supports what I need (e.g. particular nodes) to avoid that "This file is for a later version of Poser..." message when you load it.


The 3Dcheapskate* 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.

*also available in ShareCG, DAZ, and HiveWire3D flavours (the DeviantArt and CGBytes flavour have been discontinued).