Skip to content

Instantly share code, notes, and snippets.

@kickbase
kickbase / tasks.json
Created February 10, 2021 03:48
[Proccessing] VSCode setting file for M1 Mac.
{
"version": "2.0.0",
"tasks": [
{
"label": "Run",
"command": "/usr/local/bin/processing-java",
"type": "process",
"args": [
"--force",
"--sketch=${workspaceFolder}/${relativeFileDirname}",
@kickbase
kickbase / tkinter_test.py
Created January 22, 2021 13:25
[Houdini] [Python] Getting a value from a textarea using the tkinter module.
import tkinter
from tkinter import messagebox
def button_click():
input_value = input_box.get()
hou.node('/obj/WORK/').createNode('box', input_value)
root.destroy()
root = tkinter.Tk()
root.title("Create Box")
@kickbase
kickbase / InitSave.py
Last active January 22, 2021 16:57
[Houdini] [Python] Make hipfile a light scene data and save it.
def init_and_save(cn):
pos = []
path = cn.path()
posX = posY = 0
if len(cn.children()) > 0:
for node in cn.children():
pos.append(node.position())
posX = sum([x[0] for x in pos]) / len(pos)
posY = max([x[1] for x in pos])
@kickbase
kickbase / make_lines.vfl
Created January 19, 2021 14:46
[Houdini] Make a lines connecting geohandle 0 and geohandle 1. (point wrangle)
int prim = addprim(0, "polyline");
vector p_sphere = point(1, "P", 0);
int ptn_sphere = addpoint(0, p_sphere);
addvertex(0, prim, @ptnum);
addvertex(0, prim, ptn_sphere);
@kickbase
kickbase / private.xml
Created December 16, 2020 04:06
[Karabiner] 10.22.0 Old Mac Settings
<?xml version="1.0"?>
<root>
<appdef>
<appname>TERMINAL</appname>
<equal>com.apple.Terminal</equal>
</appdef>
<appdef>
<appname>ITERM2</appname>
<equal>com.googlecode.iterm2</equal>
</appdef>
@kickbase
kickbase / OPcustomize
Last active October 23, 2020 11:58
[Houdini] Customize node menu file, save under the HOUDINI_USER_PREF_DIR.
ophide Sop labs::min_max_average
ophide Sop attribnoise
ophide Sop volumerasterizeattributes
@kickbase
kickbase / disconnect_and_refresh_recursively.py
Created June 22, 2020 13:52
[Houdini] [Python] Disconnect and Refresh parms recursively. ex) attribute vop
def disconnect_and_refresh(list):
for node in list:
if (node.isEditable() and(len(node.children()) != 0)):
for inConnection in node.inputConnections():
inIndex = inConnection.inputIndex()
inNode = inConnection.outputNode()
inNode.setInput(inIndex, None, 0)
for outConnection in node.outputConnections():
outIndex = outConnection.inputIndex()
@kickbase
kickbase / disconnect_and_refresh_parms.py
Last active June 18, 2020 05:04
[Houdini] [Python] Disconnect and Refresh Parms.
for node in hou.selectedNodes():
path = node.parent().path()
type = node.type().name()
name = node.name()
node.destroy()
geo = hou.node(path).createNode(type, name)
geo.moveToGoodPosition()
@kickbase
kickbase / export_viewport_image.py
Last active February 2, 2024 12:45
[Houdini] [Python] Export viewport image.
from time import gmtime, strftime
cur_desktop = hou.ui.curDesktop()
desktop = cur_desktop.name()
viewer = hou.paneTabType.SceneViewer
panetab = cur_desktop.paneTabOfType(viewer).name()
persp = cur_desktop.paneTabOfType(viewer).curViewport().name()
camera_path = desktop + '.' + panetab + '.' + 'world.' + persp
hn = hou.getenv('HIPNAME')
defaultName = strftime(hn + '%Y%m%d.jpg', gmtime())
@kickbase
kickbase / disconnect_selected_nodes.py
Created June 16, 2020 13:30
[Houdini] [Python] Disconnect selected nodes.
for node in hou.selectedNodes():
for inConnection in node.inputConnections():
inIndex = inConnection.inputIndex()
inNode = inConnection.outputNode()
inNode.setInput(inIndex, None, 0)
for outConnection in node.outputConnections():
outIndex = outConnection.inputIndex()
outNode = outConnection.outputNode()
outNode.setInput(outIndex, None, 0)