Anti-Distinctlyminty Posted February 2, 2017 Share Posted February 2, 2017 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? Quote Link to comment Share on other sites More sharing options...
Anti-Distinctlyminty Posted February 2, 2017 Author Share Posted February 2, 2017 (edited) Ok, I'm just stupid. I'm not sure how I didn't try this before my lunch break, but to get the type when you do not have access to kwargs, just use hou.pwd().type() So the code from the previous post should read: import toolutils foo = toolutils.createModuleFromSection('bar', hou.pwd().type(), 'PFX_Exporter_Functions') Edited February 2, 2017 by Anti-Distinctlyminty Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.