Jump to content


Popular Content

Showing most liked content on 07/23/2021 in all areas

  1. 1 point
    Hi, Great idea than one can wrap the node verb function around a decorator to limit the cook time. Found this tread that help me implement the decorator if anyone else is interested: https://stackoverflow.com/questions/492519/timeout-on-a-function-call Test Code for Houdini: import sys import threading from time import sleep try: import thread except ImportError: import _thread as thread def quit_function(fn_name): print(str(fn_name) + ' took too long') thread.interrupt_main() # raises KeyboardInterrupt def exit_after(s): def outer(fn): def inner(*args, **kwargs): timer = threading.Timer(s, quit_function, args=[fn.__name__]) timer.start() try: result = fn(*args, **kwargs) finally: timer.cancel() return result return inner return outer @exit_after(2) def countdown(n): # some function that can be run within Python SOP print('countdown started') for i in range(n, -1, -1): print(str(i) + ', ') sleep(1) print('countdown finished') try: countdown(5) except: print('do something else') Tesekkurler Yunus!
  2. 1 point
    I don't know why in your setup the transfer only works partially, but you can effectively use an attribute from Volume. You just have to be careful that when in your vdbFromPolygon, to host your uv, you create a second VDB. For attributeFromVolume to use the right VDB, you have to delete the VDB density. (Just call @name=uv group in the attributeFromVolume don't work for me). However, on the edges, it's not perfect. I'm also not sure what the proper procedure is. uv_Volume_F.hip
  3. 1 point
    Or if you're like me and you're local-variable-phobic, you can just type in the attribute as a VEXpression into the Wire Radius field. Eg; "@Cd.r"
  4. 1 point
    Thanks Farmfield! :-) Took it a step further today: Took out the thickness but added veins using "Shortest Path". Rendering in Thea Render. Cheers, Tom