Search the Community
Showing results for tags 'set ramp'.
-
hi, I'd like to start by saying that I'm only a couple of days into python and I'm aware the code might not be the most beautiful, but it seems to work, for the most part. I am simply reading a txt file with RGB value in each line, then I'm assigning to a ramp as many ramp points as there are lines with a sorted random position. so far so good, everything works.. the problem is that the script works only when I manually write each color, they definitely get assigned to the ramp, I can see it works because the position of the flags changes every time I execute the script. (image_A) but I get an error when I try to assign them with a variable that reads from the file, and the whole script fails, the position of the flags never changes when I get the error. (image_B) the weird thing is that I know that the numbers stored in my variable are correct because I can print them on the shell regardless if the script fails or not. hopefully there is some one that can help, this is the script that works: import hou from random import random with open('C:/tmp/gradient.txt', 'r+') as f: gradientValues = f.read() gradientValues = gradientValues.replace("\n", ", "); rampPoints = len(open('C:/tmp/gradient.txt').readlines( )) tmpList = [] for _ in range(rampPoints): value = random() tmpList.append(value) pointPosition = sorted(tmpList) print (rampPoints) print (pointPosition) print (gradientValues) node = hou.node('/img/img1/vopcop2gen5') ramp_parm = node.parm('/img/img1/vopcop2gen5/ramp1') ramp = hou.Ramp(([hou.rampBasis.Linear] * rampPoints), pointPosition, ((0.0,0.456,0.789), (0.111,0.0,0.333), (0.0,0.555,0.666))) ramp_parm.set(ramp) f.close() this is the one that fails: ramp = hou.Ramp(([hou.rampBasis.Linear] * rampPoints), pointPosition, (gradientValues)) and this is the error: The attempted operation failed. Traceback (most recent call last): File "hou.session", line 21, in <module> File "C:/PROGRA~1/SIDEEF~1/HOUDIN~1.352/houdini/python2.7libs\hou.py", line 49159, in __init__ this = _hou.new_Ramp(*args) TypeError: in method 'new_Ramp', argument 3 of type 'std::vector<std::vector<double,std::allocator<double > >,std::allocator<std::vector<double,std::allocator<double > > > > const &'