Error in Python node outputs
-
On 15/02/2015 at 00:05, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R12
Platform:
Language(s) : XPRESSO ;---------
Hi,
I run this code in a Python node in Xpresso and i want it to output 1 enable object(bool), 1 Dimension vector and 1 Position vector for each of 3 components called "Base Struttura", "Base Chaise-longue Destra". "Base Chaise-longue Sinistra". In the Xpressso window it looks like this:Here instead is the code insite that central Python node
--------------------------------------------------------------------------------------------
import c4d
#Welcome to the world of Pythondef main() :
#Dichiarazione Nodi di Uscita
global BS, BS_Dimensione, BS_Posizione
global CLDx, CLDx_Dimensione, CLDx_Posizione
global CLSx, CLSx_Dimensione, CLSx_Posizione#Assegnazione valori di default
DafaultBool = False
DefaultVector = c4d.Vector(0, 0, 0)
BS = DafaultBool
BS_Dimensione = DefaultVector
BS_Posizione = DefaultVectorCLDx = DafaultBool
CLDx_Dimensione = DefaultVector
CLDx_Posizione = DefaultVectorCLSx = DafaultBool
CLSx_Dimensione = DefaultVector
CLSx_Posizione = DefaultVector#Dimensioni Y (Altezza)
BS_Dimensione.y = Altezza_Base
CLDx_Dimensione.y = Altezza_Base
CLSx_Dimensione.y = Altezza_Base
#Dimensioni Z (Profondità )
if Schienale:
BS_Dimensione.z = Struttura_Profondita - Schienale_Spessore
CLDx_Dimensione.z = Struttura_Profondita - Schienale_Spessore + ChDx_Sporgenza
CLSx_Dimensione.z = Struttura_Profondita - Schienale_Spessore + ChSx_Sporgenza
else:
BS_Dimensione.z = Struttura_Profondita
CLDx_Dimensione.z = Struttura_Profondita + ChDx_Sporgenza
CLSx_Dimensione.z = Struttura_Profondita + ChSx_SporgenzaCLSx_Posizione = DefaultVector
#Suddivisione Casi
if Segmenti == 1:
if ChDx:
BS = False
CLDx = True
CLSx = False
elif ChSx:
BS = False
CLDx = False
CLSx = True
else:
BS = True
CLDx = False
CLSx = False
elif Segmenti == 2:
CLDx = True
else:
CLSx = True
-------------------------------------------------------
The values of some of this variables at the moment are:
- Altezza_Base = 22
- Struttura_Profondita = 90
- Schienale_Spessore = 8
- ChDx_Sporgenza = 50
- ChSx_Sporgenza = 100So the output values should be
- Base Struttura.Position = (0,0,0)
- Base Chaise-longue Destra.Position = (0,0,0)
- Base Chaise-longue Sinistra.Position = (0,0,0)- Base Struttura.Dimension = (0,22,82)
- Base Chaise-longue Destra.Dimension = (0,22,132)
- Base Chaise-longue Sinistra.Dimension = (0,22,182)But instead all 6 of these vectors come out as (0,22,182) the value of "CLSx_Dimensione" vector in the code. The fact is that is the last line in which i give a vlue to a vector an therefor (somehow) that' becomes the output calue of any vector coming out of the node. I even to give value to "CLDx_Dimensione" for last to prove my theory and it confirmed it (al the outputs were (0,22,132)).
I don't know why this node behaves like this, maybe i'm missing something (i'm relatively new to both Xpresso and python). -
On 17/02/2015 at 06:17, xxxxxxxx wrote:
Hello,
I cannot confirm such behavior. Are there any error messages in the console? Can you provide a more simple example that reproduces the described behavior or a complete scene file?
Please be aware that SDK support can only handle requests for the latest version of Cinema 4D and it's SDKs and cannot provide much support for outdated versions.
Best wishes,
Sebastian