Hi all,
I'm attempting to write a particle cache exporter and I'm having trouble getting the Python module to use functions that are stored in a different section.
My instinct was to create a new output driver type as the category made sense, but there were a few challenges which I'll mention here for others facing the same issues:
The 'Render to Disk' button's Callback Script section is greyed out. To run code when this button is pushed you need to
Create a file parameter called 'soho_program' and change it's default channel value to 'opdef:.?PythonModule'
Create a file parameter called 'soho_outputmode' and change it's default to 2
This just runs the code in PythonModule. I have another module in which I store the functions that need to be run in PythonModule, but I cannot import these fucntions. The docs about asset modules state that you need to write the following to import another section as a module:
import toolutils
foo = toolutils.createModuleFromSection('bar', kwargs['type'], 'PFX_Exporter_Functions')
However, because this is an output driver, there appears to be no kwargs argument, so I cannot get the kwargs['type'] value. I've tried other methods such as hou.nodeTypeCategories()['Driver']. Strangely the 'Driver' type is not available directly like all the others are as listed here.
Does anyone know how to import modules from the other sections when using the Driver type?