Changing Math node input value Xpresso
-
On 23/11/2017 at 06:54, xxxxxxxx wrote:
Hi everyone,
I'm trying to change a math node value and unfortunately can't do it with:
math[0][2000, 1001] = 1.0
it gives the TypeError: __setitem__ got unexpected type 'float'.
The error appears with any assigned value type.Interestingly enough if I change the value manually first and than run the line it works fine.
Don't understand what I'm missing.Thank you very much in advance!
Andre
-
On 23/11/2017 at 07:14, xxxxxxxx wrote:
import c4d def main() : nodeMaster = doc.GetActiveTag().GetNodeMaster() node = nodeMaster.GetRoot().GetDown() # GET lv1 = c4d.DescLevel(2000, c4d.DTYPE_SUBCONTAINER, 0) lv2 = c4d.DescLevel(1000, c4d.DTYPE_REAL, 0) # or DTYPE_DYNAMIC that will automaticly adapt print node.GetParameter(c4d.DescID(lv1, lv2), c4d.DESCFLAGS_GET_0) # SET lv1 = c4d.DescLevel(2000, c4d.DTYPE_SUBCONTAINER, 0) lv2 = c4d.DescLevel(1000, c4d.DTYPE_DYNAMIC, 0) node.SetParameter(c4d.DescID(lv1, lv2), 50.0, c4d.DESCFLAGS_SET_0) c4d.EventAdd() if __name__=='__main__': main()
As you may know or not, [] operators are just a python wrapper around Get/SetParameter, and sometime it fails. So you need to build it yourself
-
On 23/11/2017 at 07:34, xxxxxxxx wrote:
Hi Graphos,
It works great and understand better the containers.
Thank you very much once again! You are a live saver and a technical wizard