Skip to content

Instantly share code, notes, and snippets.

@kickbase
kickbase / direction_to_one_point.py
Created December 3, 2022 07:15
[ Houdini ][ Python] Create unencapsulated HDA
import soptoolutils
# この行で自分自身を生成しているため、ここをコメントアウトして自身のノード生成をキャンセルする
# soptoolutils.genericTool(kwargs, '$HDA_NAME')
# Create Null
origin = soptoolutils.genericTool(kwargs, 'null', nodename='SET_DIR')
# Create scatter
scatter = soptoolutils.genericTool(kwargs, 'scatter')
@kickbase
kickbase / sudden_death.py
Last active August 25, 2022 04:49
[ Python ] command line sudden death tool
#! python3
# -*- coding: utf-8 -*-
import math
import pyperclip
import unicodedata
import sys
def len_count(text):
@kickbase
kickbase / press_button.py
Created June 11, 2022 07:16
[Houdini] [Python] Press UI button from PythonSOP
node = hou.pwd()
output = node.outputs()[0]
output.parm("computerange").pressButton()
@kickbase
kickbase / reset.py
Created February 27, 2022 06:05
[Houdini] [Python] Clear params button in HDA
node = hou.pwd()
geo = node.geometry()
for p in node.parms():
try:
if p.name() != "python":
p.revertToDefaults()
except:
pass
@kickbase
kickbase / attribvop_oncreated.py
Created December 25, 2021 18:12
[Houdini] [Python] Check Run Over with UserData on Network View
def main(kwargs):
node = kwargs["node"]
node.setUserData("descriptiveparm", "bindclass")
main(kwargs)
@kickbase
kickbase / open_hip_path.py
Created December 25, 2021 16:21
[Houdini] [Python] [Shelf Tool] Open the $HIP path in explorer and finder.
from pathlib import Path
import webbrowser
p = Path(hou.getenv("HIP"))
webbrowser.open(p.absolute())
@kickbase
kickbase / _gvimrc
Created November 23, 2021 14:06
[ Vim ] Kaoriya Vim settings.
"-------Preferences--------"
set ttyfast
set t_Co=256
set hidden
set autoread
set history=2000
set noswapfile
set backspace=start,eol,indent
set ambiwidth=double
set shortmess+=I
@kickbase
kickbase / attribwrangle_oncreated.py
Created November 11, 2021 11:55
[Houdini] [Python] Check Run Over with UserData on Network View
def main(kwargs):
node = kwargs["node"]
node.setUserData("descriptiveparm", "class")
main(kwargs)
@kickbase
kickbase / toggle_update_mode.py
Created August 9, 2021 03:37
[Houdini] [Python] This shelf tool toggles between AutoUpdate and Manual.
import hou
mode_name = hou.updateModeSetting().name()
mode = hou.updateMode.Manual if mode_name == "AutoUpdate" else hou.updateMode.AutoUpdate
hou.setUpdateMode(mode)
@kickbase
kickbase / off_templateflags.py
Last active April 9, 2023 17:57
[Houdini] [Python] Turn the template flags off in current SOPnetwork.
def off_templateflags(current):
for child in current.children():
node = hou.node(child.path())
if "setTemplateFlag" in dir(node):
node.setTemplateFlag(False)
def main():
editor = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
current_node = editor.pwd()