This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
editor = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor) | |
print(editor.nodeShapes()) | |
# Returned tuple of strings: | |
# ('rect', 'bone', 'bulge', 'bulge_down', 'burst', 'camera', | |
# 'chevron_down', 'chevron_up', 'cigar', 'circle', 'clipped_left', | |
# 'clipped_right', 'cloud', 'diamond', 'ensign', 'gurgle', 'light', | |
# 'null', 'oval', 'peanut', 'pointy', 'slash', 'squared', 'star', | |
# 'tabbed_left', 'tabbed_right', 'tilted', 'trapezoid_down', | |
# 'trapezoid_up', 'wave') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//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); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Sorted from left to right and top to bottom. | |
# Row 1 | |
hou.Color(0.8,0.016,0.016) | |
hou.Color(1.0,0.0,0.0) | |
hou.Color(0.98,0.275,0.275) | |
hou.Color(0.996,0.682,0.682) | |
hou.Color(1.0,0.529,0.624) | |
hou.Color(0.624,0.329,0.396) | |
# Row 2 | |
hou.Color(0.573,0.353,0.0) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create custom variable | |
int pt_id = i@ptnum; | |
// Assign variable to point attribute | |
i@pt_id = pt_id; | |
// Map point attribute to local variable | |
addvariablename(0, "pt_id", "PT_ID"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Acquire node from network | |
node = hou.node('/obj/geo/node') | |
# Add folder used to collect all newly create parameters | |
folder = hou.FolderParmTemplate("folder", "Folder Name") | |
# Define folder type; default is Tabs. Set to Simple | |
folder.setFolderType(hou.folderType.Simple) | |
# Add parameter types, defined by parameter name, label, and number of components | |
# Add float parameter |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Get default Houdini OOTB colors for Sticky Notes, Text, and Network Boxes | |
print(hou.defaultColor(hou.colorItemType.StickyNote)) | |
# <hou.Color r=1, g=0.969, b=0.522> | |
print(hou.defaultColor(hou.colorItemType.StickyNoteText)) | |
# <hou.Color r=0, g=0, b=0> | |
print(hou.defaultColor(hou.colorItemType.NetworkBox)) | |
# <hou.Color r=0.52, g=0.52, b=0.52> | |
# Set custom default colors for Houdini Sticky Notes and Network Boxes | |
# Sticky Notes set to white |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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; |
NewerOlder