Saturday, March 11, 2017

Nukia - smarter switch

Use in text node to find what Switch1 Reads are looking at. [lindex [split [file tail [value [value Switch1.input[expr int([value Switch1.which])].name].file]] -] 0] or lol.. [lindex [split [file tail [value [value [value this.input0.name].input[expr int([value [value this.input0.name].which])].name].file]] -] 0] This is also useful. Root dir: [file dirname [knob [topnode].file] ] File name: [file tail [knob [topnode].file] ] File extension: [file extension [knob [topnode].file] ]

Friday, March 10, 2017

Houville - rop presets

nodePath = ropnet.createNode('ifd',node_name).path()
hscript = "oppresetloadfile %s %s" % (nodePath, "niceRopLayout.preset")
hou.hscript(hscript)

Friday, March 3, 2017

Houville - put points in the centre of prims

Points in centre of prim, and delete points:
addpoint(0, @P);
removeprim(0, @primnum, 1);

Sunday, February 19, 2017

Houville - copying nodes from one part of network to another

Yup, this might come in handy too:
hou.copyNodesTo(hou.node('/obj/mySubnet').glob('*'),hou.node('/obj'))


Houville - adding params to a obj

Another one I keep forgetting... Here's how to add params to a node in houdini.
n = hou.node('/obj/geo1')
n.addSpareParmTuple(hou.IntParmTemplate('intParm','',1, default_value=(10,),min = 0, max = 20))
n.addSpareParmTuple(hou.FloatParmTemplate('floatParm','',1, default_value=(10,),min = 0, max = 20))


#define some multi line code.  Like a python script
code = """print 'some stuff'
print 'more stuffs'
print 'an\\\\' ting'"""

# is hidden is good for hiding code away
n.addSpareParmTuple(hou.StringParmTemplate('stringParm','',1,default_value=(code,), is_hidden=0))
n.addSpareParmTuple(hou.ButtonParmTemplate('Button','', join_with_next=0, script_callback='exec(hou.parm("stringParm").evalAsString())', script_callback_language=hou.scriptLanguage.Python))

And when you want to delete some parms, remember to get rid of the tuple.  You can access that easily like this:
n.removeSpareParmTuple(n.parm('stringParm').tuple())

And finally, if you don't want to add params one by one you can make a Parameter Template Group to then add as a lump later.
ptg = n.parmTemplateGroup()
ptg.append(hou.IntParmTemplate('intParm','',1, default_value=(10,),min = 0, max = 20))
n.setParmTemplateGroup(ptg)

Not quite sure yet why this is better, but I'll probably find out one day.

Monday, January 23, 2017

Retro bunker


https://omgfacts.com/this-70s-style-bunker-is-part-creepy-part-awesome-c13a7a87e088#.7pi0s2sdg