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).
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);
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
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);
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
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.
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); }
On 10/01/2005 at 07:45, xxxxxxxx wrote:
Try 1001 instead of INSTANCEOBJECT_SOURCE
On 10/01/2005 at 07:48, xxxxxxxx wrote:
YYYYEAAAHH!!!
Thanks, you saved my day!