pyhapi
Object-Oriented Python Wrapper for Houdini Engine's C API
Documentation
Please visit pyhapi documentation.
Install
1. setup PATH
- For Windows
AddC:\Program Files\Side Effects Software\Houdini <version>\custom\houdini\dsolib
to Environment Path - For Linux
Add/opt/hfs<version>/dsolib/
to LD_LIBRARY_PATH
Example:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/hfs17.5/dsolib/
2. install through PyPI
$ pip install pyhapi
Supported Platforms
- Windows
- Linux
Dependency
- Python: >3.6
- Numpy: >= 1.15
- Houdini: 17.5
- License supported:
- Houdini FX
- Houdini Core
- Houdini Engine
- License NOT supported:
- Houdini Engine Indie
- Houdini Indie
- Houdini Apprentice
- License supported:
Features
- Instantiate node/HDA
- Node connect operation
- Node parameter get/set
- Node async cooking
- Marshall in/out curve
- Marshall in/out mesh
Following feature in Houdini Engine is NOT supported yet:
- Marshall in/out volume
- PDG execution
Example Usage
Please see documentation for detailed tutorial. ****
Create a session
import pyhapi as ph
session = ph.HSessionManager.get_or_create_default_session()
See more in
Example: node_networks_operations
Instantiate a HDA
hda_asset = ph.HAsset(session, "hda/FourShapes.hda")
asset_node = hda_asset.instantiate(node_name="TestObject").cook()
Set parameter of node
asset_node.set_param_value("seed", 1.0)
asset_node.set_param_value("foo_attrib", "foo_str")
asset_node.press_button("foo_execute")
See more in
Example: hda_params_getset
Save HIP file
session.save_hip("debug.hip")
Marshall data
see more in
Example: curve_marshall_input
Example: curve_marshall_output
Example: mesh_marshall_input
Example: mesh_marshall_output
Example: heightfield_marshal_input
Example: heightfield_marshal_output