Unique object ID



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 03:03, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   11.5 
    Platform:   Windows  ;   
    Language(s) :     C++  ;

    ---------
    Hello,

    i need an unique object ID from every base object.
    GetNodeID() deliver only the node type and GetUniqueIP()  is only to identify objects between different frames.
    Is there any other function available to get an unique ID from every existing base object?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 04:58, xxxxxxxx wrote:

    why do you need a unique ID? Use the baselinks instead, they are there to safely identify individual objects.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 05:24, xxxxxxxx wrote:

    hello,

    i'm using the COLLADA export from cinema4d to generate some 3d datas.
    But COLLADA don't support the UserData from cinema of course.
    For this case, i create an own plugin to export this additional data in a separate file.
    Later i must merge this data and for this i need an unique reference to the objects.
    A name is not unique and can frequently appears.

    Or maybe you can show me how i get the same IDs like in the COLLADA export.

    e.g:
      <library_visual_scenes>
         <visual_scene id="ID3">
             <node id="ID4" name="Cube">

    best regards
    Markus



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 05:31, xxxxxxxx wrote:

    the problem is that there is no id that is unique to an object (at least not publically accessible or I don´t know of it), in c4d you have the baselinks which are unique! So the best way to handle this is adding an own tag to the objects and assign a certain id to that tag which you can retrieve for im/export.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 05:53, xxxxxxxx wrote:

    I suppose you could also store an unique ID in the object's container.

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 06:19, xxxxxxxx wrote:

    do you know if COLLADA would export this data?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 06:39, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    do you know if COLLADA would export this data?

    Sorry, I only now realize what the problem is. I don't think this will work this way. Hm, have to do some researching myself.

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 06:42, xxxxxxxx wrote:

    Who developed the COLLADA export modul for Cinema4d?
    Maxon itself?
     
    regards
    Markus



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 07:12, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Who developed the COLLADA export modul for Cinema4d? Maxon itself?

    I can't really talk about the developers but it's a MAXON product.

    cheers,
    Matthias



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 31/05/2010 at 07:13, xxxxxxxx wrote:

    ok, thanks a lot.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 01/06/2010 at 14:42, xxxxxxxx wrote:

    You should give

    C4DOS.Bl->GetMarkerEx(const_cast<BaseList2D*>(bl),&l1;,&l2;);

    a try. It takes a pointer to a BaseList2D object and returns two ULONG integers (l1 and l2 here). From what i have seen so far these numbers together are an id which is unique for each object in a document. The number is incrementet each time a new object is created. The Function is not documented though. It's not even mentioned in the docs. So use it with care.


Log in to reply