How to get DescIDs [SOLVED]
On 16/06/2015 at 00:52, xxxxxxxx wrote:
I'm finding it way too difficult to get DescIds of some parameters. Even if we drag that parameter we dont know what data type it is. How the hell should i know that VISIBILITY_IN_EDITOR takes Float or Long?
If there is any reference to it pls tell.
On 16/06/2015 at 00:54, xxxxxxxx wrote:
To read the parameter, even if you want to create a DescID instead of just plain using the integer ID
of the parameter, you don't need to know the datatype.
value = op[c4d.VISIBILITY_IN_EDITOR] value = op[c4d.DescID(c4d.DescLevel(c4d.VISIBILITY_IN_EDITOR, 0, 0))]
On 16/06/2015 at 00:58, xxxxxxxx wrote:
No. i dont want to read it. i want to use it to create animation tracks. I am trying to copy parameters of one animation tracks to another empty track. So i need complete DescID.
Like for position track we use:
On 16/06/2015 at 02:31, xxxxxxxx wrote:
this should help to identify a desclevel id and the corresponding dtype:
tracks = op.GetCTracks() print tracks for t in tracks: tr = t.GetDescriptionID() print tr, "desc id" print tr,"first desc level" print tr.dtype print tr.id print tr,"second desc level" print tr.dtype print tr.id
On 16/06/2015 at 06:40, xxxxxxxx wrote:
GUI elements in Cinema 4D are often defined in resource files. These resource files are located in the "resource" folder of your installation and include both the ID of a parameter and its type. So if you are in doubt about a parameter type the corresponding resource file would tell you. Some more information on this can be found in the documentations:
- Descriptions in Cinema 4D
- Introduction into the GUI of Cinema 4D
- Description Resource
- Plugin Directory Structure
On 03/07/2015 at 09:32, xxxxxxxx wrote:
was your question answered?
On 03/07/2015 at 10:48, xxxxxxxx wrote:
Thanks for prompt replies!!
On 10/12/2015 at 09:08, xxxxxxxx wrote:
Hey, I stumbled upon this post myself trying to figure out how to copy animation from one object to another with python. Could you just use GetClone to make a copy of the track instead of making a new one? I guess it is not as specific so might not be of use but just wanted to put it up.
tracks = objectA.GetCTracks()
for track in tracks:
clonedTrack = track.GetClone()