Search the Community
Showing results for tags 'interrupt cooking'.
I am curious if it is possible to clock how long it takes to cook a surface operator and interrupt if it goes above a certain limit, preferably within a python SOP? Backstory; there are cases when a polyexpand2D node takes excessively long time to cook. I've contacted SideFX for this unexpected behavior. Long story short, this is what they recommended: And it does, when you translate the input geometry of the ‘polyexpand2d’ SOP the results do vary. So now I am trying to figure out a way to clock a particular section of the network tree, and if it takes longer than X amount of time, I want to translate the input ever so slightly. Hopefully this will help it so it doesn't take +1 hour to cook (average is somewhere between 1-5 seconds). I have been looking into hou.perfMon but that didn't really lead me anywhere. Let me know if anyone has any suggestions. Pseudo Code: import time trans_node = hou.node("../translate1") cook_node = hou.node("../COOK_THIS") start = time.time() time_limit = 5.0 rot= 0.0 while current_time < time_limit: try: cook_node.cook() except Timeout: rot= random(0.0, 360.0) trans_node.parm("rx").set(rot) cook_node.cook() continue Thank you!