Houdini Python: Find/Replace Parameter Expression

January 18, 2018

A little script to find/replace strings in selected nodes’, parameter expressions: import hou sel = hou.selectedNodes() dialog = hou.ui.readMultiInput('Find/Replace In Expression', input_labels=['Find: ', 'Replace: ',], buttons=("Find/Replace", "Cancel"), severity=hou.severityType.ImportantMessage, title='Find/Replace', close_choice=1) find = dialog[1][0] replace = dialog[1][1] if dialog[0] == 0: for n in sel: for parms in n.parms(): try: newString = str(parms.eval()).replace(find, replace) parms.set(newString) except: … Read More

Houdini Tip: Toggle Update Mode

December 17, 2016

I often find that Houdini wants to cook at inconvenient times. To stop this you can enter Manual Mode which is located in the bottom right of the UI. To make toggling between Manual and Auto mode easier and quick it can be scripted and dedicated a hotkey. Googling brought up this feed http://www.vfxoverflow.com/questions/toggle-update-mode-in-houdini which … Read More

Houdini Tools Development: Version Up

December 8, 2015

Having begun the switch to Houdini, I’ve been learning how to implement my Python knowledge into Houdini. My first tool is an incremental saver (something I find hugely important), which accounts for files that already exist and warns if a naming convention is not adhered to. This .zip contains the .py script, the code for … Read More

Softimage: Renamer Tool

July 18, 2014

Here’s a renaming tool I created for use in Softimage. Downloaded here   (run it from Edit > gbRenamer)

Nuke: BellTools

June 30, 2014

I’ve just uploaded a small collection of nuke scripts and gizmos that I find useful. I shall continue to update the .zip file as-and-when I have more tools. Find them here  

Plugin: Find Object’s Groups

April 11, 2014

Here’s a little plugin for Softimage that will find and select the groups in which the selected objects’ are within.   Drop it in your plugins directory and reboot Softimage. It will then be accessible from the Object’s Explorer context menu like this ( I’ve also mapped it to alt-g ):


July 12, 2013

I like to keep my passes tidy so this little script just strips out any empty partitions on selected passes. # USE: Select passes and run the script import win32com xsi = Application selectedPasses = win32com.client.Dispatch( "XSI.Collection" ) selectedPasses.AddItems (xsi.Selection) #————————————————————– #————————————————————– #————————————————————– def stripPass(eachPass): partitionsColl = win32com.client.Dispatch( "XSI.Collection" ) for eachPartition in eachPass.Partitions: partitionsColl.AddItems … Read More

fCurves: accessing interpolation

February 1, 2013

So I’ve recently been working on a tool that will allow simple and easy importing of cache data from Maya in to Softimage. Basically, baked animation from fbx files copy/pasted to models within my Softimage scene. Having completed a first draft of the tool it was then suggested that the imported animation curves be converted … Read More

Multi Paster

December 19, 2012

Oddly Nuke doesn’t allow you to copy a node and then paste it to multiple other nodes. This script does just that. #paste to multiple selection selected = nuke.selectedNodes() for eachNode in selected: n = nuke.toNode(str(eachNode.name())) n.knob("selected").setValue(True) nuke.nodePaste("%clipboard%")


December 19, 2012

In the advent of Vray coming to Softimage I’ve written a script that will break the back of converting mia shaders into VRayMtl shaders. It was inspired by this script written by Paul Dreisden  #mia2vray converter #author: gareth bell #date: 15-10-2012 #This script will break the back of converting mia shaders in selected materials into … Read More