Jump to content

Driver Output Type & Asset Modules


Anti-Distinctlyminty

Recommended Posts

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?

Link to comment
Share on other sites

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 by Anti-Distinctlyminty
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...