deformer don't work when called via code
-
On 04/09/2016 at 23:15, xxxxxxxx wrote:
hello ,
when I call the correction deformer via this codecorr = c4d.BaseObject(1024542) #define the correction deformer doc.InsertObject(corr) c4d.EventAdd()
the new object don't work , when I use the CallCommand every thing work as expected .
I have tried the code above with the ben deformer and it worked as expectedany idea why this is happening ?
-
On 05/09/2016 at 05:45, xxxxxxxx wrote:
Hi,
some objects need some work done on initialization. Therefor MSG_MENUPREPARE is used. In the new C++ SDK Docs, there are a few more words on it in the manual about General Plugin Functionality.
For example, the Correction Deformer needs to create a Tpolygon and a Tpoint tag in there in order to be fully functional.
So to make it work your code looks like this:
corr = c4d.BaseObject(1024542) #define the correction deformer corr.Message(c4d.MSG_MENUPREPARE) doc.InsertObject(corr) c4d.EventAdd()
If you have the possibility to compile the C++ SDK examples, there's a nice little tool in there. The "Active Object Dialog". With this you can take a look into the scene. Great for understanding object caches. And in your case, you would see the two hidden tags on the Correction Deformer, which is a good hint, that the object probably needs MSG_MENUPREPARE.
-
On 05/09/2016 at 08:09, xxxxxxxx wrote:
thanks for reply ,
didn't know there is a relationship between python and c++ , I will check the tool that you have mentioned
thanks again for the help