Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
On 23/03/2013 at 10:16, xxxxxxxx wrote:
I have script that changes the objects display color. First turning on the Use Color option with this code:
obj = doc.GetActiveObject() bc = obj.GetData() bc.SetLong(c4d.ID_BASEOBJECT_USECOLOR, 2) obj.SetData(bc)
It even prints the correct value when I print GetLong, but the object doesn't change?
On 23/03/2013 at 12:22, xxxxxxxx wrote:
We're supposed to use the Get&Set Parameters method as much as possible. And only use BaseContainers as a very last resort.
In Python. That means using a bracketed syntax like this:
import c4d def main() : obj = doc.GetActiveObject() obj[c4d.ID_BASEOBJECT_USECOLOR]=2 #Equivalent to SetParameter() in C++ c4d.EventAdd() if __name__=='__main__': main()
-ScottA
On 23/03/2013 at 12:56, xxxxxxxx wrote:
Thanks Scott! I was racking my brain over that simple problem. Still seems like the base container should have worked though.
On 24/03/2013 at 09:22, xxxxxxxx wrote:
BaseContainers don't work for everything. For example, you can't get the attributes of a light that way - you have to use Get/SetParameter.
On 24/03/2013 at 11:21, xxxxxxxx wrote:
Thanks spedler, I guess I'm not really sure why someone would use a BaseContainer then?
On 24/03/2013 at 11:39, xxxxxxxx wrote:
Most parameters are accessible and modifiable via the BaseContainer, but not all. Using the container directly offers certain advantages in speed (especially when using the fixed-type setters and getters) and usage (eg. merging containers).
-Niklas
On 24/03/2013 at 14:13, xxxxxxxx wrote:
The things we grab using Get&Set Parameters are set up to work that way by Maxon. So it's considered a convenience. Plus it's also considered a safer way to work. Since you're using code they set up for us to use.
The containers are there in case you want to be a mad scientist. They let us create something brand new on our own that Maxon hasn't set up for us already.
On 24/03/2013 at 16:54, xxxxxxxx wrote:
Thanks for clarifying this confusing topic guys! Ill stick to the get/set. It really is much easier to work with.