Skip to content

Instantly share code, notes, and snippets.

@jhorikawa
Last active September 11, 2019 01:18
Show Gist options
  • Save jhorikawa/02e3733f454fcd2f5b129b93991ddb2b to your computer and use it in GitHub Desktop.
Save jhorikawa/02e3733f454fcd2f5b129b93991ddb2b to your computer and use it in GitHub Desktop.
import hou
import os
items = hou.selectedItems()
editor = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
dir = os.path.dirname(hou.hipFile.path())
file = open(dir + '/params.txt', 'a')
for item in items:
seps = item.comment().split('-')
if len(seps) == 2 and seps[1] == "1":
file.write('== '+seps[0]+'\n\n')
file.write('=== '+item.comment()+'\n\n')
file.write('//image['+item.comment().replace(' ','')+']['+item.comment()+'のネットワーク図][scale=0.7]{\n')
file.write('//}\n\n')
if isinstance(item, hou.NetworkBox):
nodes = item.nodes()
nodes = hou.sortedNodes(nodes)
file.write('//tsize[|latex||L{10mm}|L{50mm}|L{55mm}|]\n')
file.write('//table[table_'+item.comment().replace(' ','')+'-components][' + item.comment() + ' のノード一覧]{\n')
file.write('番号\tノードタイプ\tノード名\n')
file.write('------------\n')
for i in range(len(nodes)):
node = nodes[i]
file.write(str(i+1) + "\t" + node.type().description() + "\t" + node.name() + "\n")
file.write('//}\n\n')
if isinstance(item, hou.NetworkBox):
nodes = item.nodes()
nodes = hou.sortedNodes(nodes)
for i in range(len(nodes)):
node = nodes[i]
node_parms = node.parms()
node_parms_count = 0
datas = []
for n in range(len(node_parms)):
node_parm = node_parms[n]
if node_parm.isAtDefault() == False and (node_parm.name() != 'python' and node_parm.name() != 'snippet'):
data = node_parm.description()+' (' + node_parm.name() + ')\t' + str(node_parm.rawValue()) + '\n'
datas.append(data)
#file.write(node_parm.description()+' (' + node_parm.name() + ')\t' + str(node_parm.rawValue()) + '\n')
node_parms_count += 1
#if node_parms_count == 0:
#file.write('デフォルト\tデフォルト\n')
if len(datas) > 0:
file.write('//tsize[|latex||L{40mm}|L{80mm}|]\n')
file.write('//table[table_'+node.name()+'][('+str(i+1)+') '+node.type().description() + ' ('+node.name()+')のパラメータ]{\n')
file.write('パラメータ名\tパラメータ値\n')
file.write('------------\n')
for data in datas:
file.write(data)
file.write('//}\n\n')
if isinstance(item, hou.NetworkBox):
nodes = item.nodes()
nodes = hou.sortedNodes(nodes)
for i in range(len(nodes)):
node = nodes[i]
node_parms = node.parms()
for n in range(len(node_parms)):
node_parm = node_parms[n]
if node_parm.isAtDefault() == False and (node_parm.name() == 'python' or node_parm.name() == 'snippet'):
file.write('//list['+node.name()+'][('+str(i+1)+') ' + node.type().description() + 'のコード][c]{\n')
file.write(str(node_parm.eval()))
file.write('\n//}\n\n')
file.write('\n\n')
file.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment