Creating InstanceObjects



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

    On 10/01/2005 at 02:53, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.100 
    Platform:      
    Language(s) :   C.O.F.F.E.E  ;

    ---------
    Hello,

    I'm trying to create InstanceObjects. The creation is working, but I can't set the Sourceobject. Can anyone please tell me how to do this?

    My code looks like that:
    newinstance = new(InstanceObject);
    newinstance->SetName("blaa");
    container = newinstance->GetContainer();
    container->SetData(INSTANCEOBJECT_SOURCE, "Sat");
    newinstance->SetContainer(container);

    doc->InsertObject(newinstance,NULL,NULL);



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

    On 10/01/2005 at 04:59, xxxxxxxx wrote:

    new_Object = BaseObject::Alloc( Oinstance );
    if ( !new_Object ) goto Error;
    new_Object->GetDataInstance()->SetLink( INSTANCEOBJECT_LINK, (BaseList2D* ) the_Object );

    Remember the_Obejct has to be an object already in your scene.

    Regards,
    darf



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

    On 10/01/2005 at 06:56, xxxxxxxx wrote:

    It´s COFFEE Darf.

    But I answered also here in the german forum already. I don´t understand why those people are not asking in here in the first place? Weird...

    Well, once again you have to use
    container->SetObject(INSTANCEOBJECT_SOURCE,obj_pointer);



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

    On 10/01/2005 at 07:08, xxxxxxxx wrote:

    I don't even think about COFFEE. Just had the code handy and posted it.

    darf



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

    On 10/01/2005 at 07:36, xxxxxxxx wrote:

    Sorry,
    didn't want to upset you!
    Thanks for the code, but I still get empty instance objects.



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

    On 10/01/2005 at 07:38, xxxxxxxx wrote:

    maybe this helps:
    instanzen(obj)
    {
    while (obj != NULL)
    {
         println("Objekt:",obj->GetName());
         var subobj, objekttyp,newinstance,container;
         if (strstr(obj->GetName(), "BODY") == 0)
              {
              println(strmid(obj->GetName(),10,2));
              objekttyp = strmid(obj->GetName(),10,2);

    switch(objekttyp)
              {
              case "PL":
              {
              newinstance = new(InstanceObject);
              newinstance->SetName("Payload");
              var sat = doc->FindObject("Sat");
              println(sat);
              println(sat->GetName());
              container = newinstance->GetContainer();
              container->SetObject(INSTANCEOBJECT_SOURCE,sat);
              newinstance->SetContainer(container);

    newinstance->Message(MSG_UPDATE);
                                            
              doc->InsertObject(newinstance,NULL,NULL);
                        
              }
              case "PM":
              case "PD":
              case "RB":
              case "RM":
              case "RD":
              case "UN":
              }

    }
         subobj = obj->GetDown();
         if (subobj != NULL)
         {
              instanzen(subobj);
         }
              obj = obj->GetNext();
         }
    println("Fertig!");
    GeEventAdd(DOCUMENT_CHANGED);
    }



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

    On 10/01/2005 at 07:45, xxxxxxxx wrote:

    Try 1001 instead of INSTANCEOBJECT_SOURCE



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

    On 10/01/2005 at 07:48, xxxxxxxx wrote:

    YYYYEAAAHH!!!

    Thanks, you saved my day!


Log in to reply