Add subscript with the <sub></sub>
tags.
ni
kni
Add superscript with the <sup></sup>
tags.
x2
// Fractured pieces are generated with @name such as 'piece0', 'piece1', etc. | |
// The following prim wrangle renames each piece with a padded number. | |
// String var to hold padded piece number. | |
string new_name = sprintf("piece_%04d", opdigits(@name)); | |
// Update piece name. | |
s@name = new_name; |
// Static Values | |
variable = {0,1,2}; | |
// Dynamic Values | |
variable = set(x,y,z); |
// Replace <value> with value intended to be rounded. | |
round(<value> * 1000) / 1000 |
Add subscript with the <sub></sub>
tags.
ni
kni
Add superscript with the <sup></sup>
tags.
x2
# Extract consecutive trailing numerical digits from a node's name. | |
import hou | |
return pwd().digitsInName() | |
# For example, a node named 'NEW_GEO_101' will return the int 101 | |
# into the field. Returns 0 if name does not include any trailing | |
# numerical digits. |
//Convert integer to string | |
s@string_attribute = itoa(i@int_attribute); | |
//Convert string to integer | |
i@int_attribute = atoi(s@string_attribute); | |
//Convert string to float | |
f@float_attribute = atof(s@string_attribute); |
# Access panes in the current Houdini desktop using the | |
# the hou.ui class with/out the hou.Desktop class. | |
panes = hou.ui.currentPaneTabs() | |
panes = hou.ui.curDesktop().currentPaneTabs() | |
(<hou.NetworkEditor panetab1>, <hou.PythonShell panetab2>) | |
# View current setting for each available preference for | |
# the selected Network Editor pane. | |
pane = panes[0] | |
pane.getPrefs() |
// Base formatting: | |
// Curly brackets for encapsulating multiple statements. | |
if(v@P.x > 0){ | |
v@Cd = {1, 0, 0}; | |
} | |
else{ | |
v@Cd = {0, 1, 0}; | |
} | |
// Inline formatting: |
rotateNode = hou.node('obj/box1/transform1') | |
speed = 20 | |
# set() used to specify param value with corresponding data type. | |
rotateNode.parm('rz').set(10) | |
# However, it cannot be used to set the value with a non-compatible | |
# data type, such as a string channel reference. The use of | |
# setExpression() allows for such instances. | |
rotateNode.parm('ry').setExpression('ch("../box1/divrate2") * {}'.format(speed)) | |
# Reference: https://www.sidefx.com/docs/houdini/hom/hou/Parm.html |
// Set Wrangle to 'Run Over Points'. | |
// Collect closest pts for each pt, based on radius and max pts. | |
// Includes user-managed channels for radius and max pts. | |
// Note that this list will include the current point being run | |
// through this point wrangle. | |
int pts[] = pcfind(0,"P",@P,chf('search_radius'),chi('max_points')); | |
// Used to visualize list in geo spreadsheet; for debugging. | |
i[]@pts = pts; |