Houdini Python Cookbook
From kunz
More actions
Force the entire scene to cook (all nodes)
for node in hou.node("/").allSubChildren():
node.cook(force=True)
Print the full path of the current Houdini scene
print(hou.hipFile.path())
Get the version numbers in the filename
hou.hscript('echo -n `opdigits($HIPNAME)`')
What platform is Houdini running on?
hou.applicationPlatformInfo()
List all the environment variables
import os
for e in os.environ:
print(e, os.environ[e])
Increment number at the end of a text string. This is the algorithm used by Houdini to generate uniquely named child nodes inside a network.
hou.text.incrementNumberedString( hou.getenv('HIPNAME') )
Reload a module, useful if you make some changes to the module.
import importlib
importlib.reload(module)
Get the transform of a specific prim
hou.node('/obj/asset_stitching/blast28').geometry().prims()[0].intrinsicValue('transform')
Python SOP, create a point for every bgeo.sc file in a directory
import os
node = hou.pwd()
geo = node.geometry()
geo.addAttrib(hou.attribType.Point, 'file', '')
dir ='/path/to/geo/'
for filename in os.listdir(dir) :
if filename.endswith('.bgeo.sc') :
pt = geo.createPoint()
pt.setAttribValue('file', dir+filename)
Python SOP, create a packed disk prim for every bgeo.sc file in a directory
import os
node = hou.pwd()
geo = node.geometry()
geo.addAttrib(hou.attribType.Prim, 'path', '')
dir ='/path/to/geo/'
for filename in os.listdir(dir) :
if filename.endswith('.bgeo.sc') :
pr = geo.createPacked('PackedDisk')
pr.setIntrinsicValue('unexpandedfilename', dir+filename)
pr.setAttribValue('path', dir+filename)
#pr.setIntrinsicValue('viewportlod', 'centroid')
#pr.setIntrinsicValue('viewportlod', 'hidden')
pr.setIntrinsicValue('viewportlod', 'box')