resolve an instance object [SOLVED]
On 19/02/2015 at 13:43, xxxxxxxx wrote:
I try to apply the command "current state to object" to an Instance so that it is a new polygon-object.
But something is going wrong :-(((
Can anybody give me an advice how to convert an Instance please.
def resolve_all_Instance_Objects(doc) : doc.SetActiveObject(None) obj = doc.GetFirstObject() instance_list =  while obj: if obj.CheckType(c4d.Oinstance) : print 'Instanobjekt gefunden' instance_list.append(obj) obj = walk(obj) print instance_list for obj in instance_list: settings = c4d.BaseContainer() settings.SetBool(c4d.MDATA_CURRENTSTATETOOBJECT_INHERITANCE, True) settings.SetBool(c4d.MDATA_CURRENTSTATETOOBJECT_KEEPANIMATION, True) settings.SetBool(c4d.MDATA_CURRENTSTATETOOBJECT_NOGENERATE, True) new_object = c4d.utils.SendModelingCommand(c4d.MCOMMAND_CURRENTSTATETOOBJECT, list = [obj.GetClone()], bc=settings, doc=doc) #obj.remove() doc.InsertObject(new_object) print 'new_object'
thanks a lot to all
On 19/02/2015 at 15:07, xxxxxxxx wrote:
the no generator flag needs to be set to False.
On 20/02/2015 at 01:13, xxxxxxxx wrote:
Thanks to you.
But another problem grows up.
The instances are set as c4d.INSTANCEOBJECT_RENDERINSTANCE=True
But I have to set them to c4d.INSTANCEOBJECT_RENDERINSTANCE=False
I did a look to the SDK but didn't find anything about INSTANCEOBJECT_RENDERINSTANCE.
So I think it is a general thing who to set a Value in BaseObject !?!
So Question: Whow can I set the value to False?
Thanks a lot
On 20/02/2015 at 02:03, xxxxxxxx wrote:
I´m glad I could help.
The next problem....
like almost every attribute an object has.
obj[c4d.INSTANCEOBJECT_RENDERINSTANCE] = False
or the other way like
data = op.GetDataInstance() data.SetBool(c4d.INSTANCEOBJECT_RENDERINSTANCE, False)
On 20/02/2015 at 03:47, xxxxxxxx wrote:
Thanks a lot.
It solved my Problem.