SOLVED Add Object Output Parameter of a Node

Hi,

Adding output parameters in an expresso node that are present in the attribute manager such as Position or Fillet are straightforward since you can just drag it to the console. The resulting code is like:

AddPort(c4d.GV_PORT_OUTPUT, c4d.ID_BASEOBJECT_POSITION)
AddPort(c4d.GV_PORT_OUTPUT, c4d.PRIM_CUBE_DOFILLET)

My problem is on the upper hierarchy parameter of an xpresso node such as Object, Global Matrix, Local Matrix since you can't drag them into the console.

You can see an illustration of the problem here:
https://www.dropbox.com/s/knhum4svjtllw9v/c4d113_expose_node_parameters_python.png?dl=0

I tried retrieving the ID using this code:
https://github.com/aturtur/cinema4d-scripts/blob/master/AR_XpressoNodeInfo.py

It returns an ID for the Object Parameter as 40000002
but when I tried running this script:
AddPort(c4d.GV_PORT_OUTPUT, 40000002)

It does nothing

Is there a way around this?

Thank you for looking at my problem

I also tried the
AddPort(c4d.GV_PORT_OUTPUT, c4d.GV_OBJECT_OPERATOR_OBJECT_OUT)

The ID was from the gvobject.res file but for some reason, it has no effect (i.e. no port added).
It also does not error out.

Hi,

I checked on this 2014 thread "https://plugincafe.maxon.net/topic/7744/9824_object-node-object-port" and it says

"The object port is broken in python."

Is this still applicable in 2019?

Yes, unfortunately, this is still applicable in 2019 (aka up to R20SP2) but it will be fixed in the next build available.

Cheers,
Maxime.

Thanks for the confirmation! Looking forward to the next release.
Will close this thread for now and just update it when the release comes.

This issue is now fixed in R21.

Cheers,
Maxime.