Houdini integration for the GXML geometric layout library. Provides rendering capabilities and Houdini Digital Assets (HDAs) for working with GXML layouts.
- Houdini rendering context - Render GXML layouts directly in Houdini
- Custom HDAs - Pre-built tools for layout manipulation
- Geometry generation - Create Houdini geometry from GXML panel layouts
- Interactive tools - Viewer states and handles for editing layouts
- SideFX Houdini 19.5+ (tested with Houdini 20.5)
- Python 3.9+ (matching Houdini's Python version)
- GXML library (automatically installed)
# In Houdini's Python environment
pip install gxml-houdini- Clone this repository
- Add to Houdini's Python path in
houdini.env:
PYTHONPATH = "C:/path/to/gxml-houdini/src;$PYTHONPATH"from gxml import GXMLParser
from gxml_houdini.render_context import HoudiniRenderContext
# Parse layout
parser = GXMLParser()
root = parser.parse_file("layout.xml")
# Create Houdini geometry
ctx = HoudiniRenderContext(hou.node("/obj/geo1"))
ctx.render_layout(root)- Import the GXML Layout HDA from the toolbar
- Point to your XML layout file
- Adjust parameters to control rendering
gxml-houdini/
├── src/gxml_houdini/ # Python integration code
│ ├── render_context.py # Houdini rendering
│ └── utils.py # Helper functions
├── otls/ # Houdini Digital Assets
│ └── *.hda # Layout manipulation tools
├── toolbar/ # Shelf tools
└── viewer_states/ # Custom viewer states
# Clone repository
git clone https://github.com/yourusername/gxml-houdini.git
cd gxml-houdini
# Install in development mode
pip install -e .
# Set up Houdini environment
# Add to houdini.env:
# HOUDINI_PATH = "/path/to/gxml-houdini;&"Add to your houdini.env file:
# GXML-Houdini integration
HOUDINI_PATH = "C:/path/to/gxml-houdini;&"
PYTHONPATH = "C:/path/to/gxml-houdini/src;$PYTHONPATH"MIT License - see LICENSE file for details