Hola a todos,
Empecé a aprender secuencias de comandos y estoy tratando de hacer una ventana con 6 diagramas de dispersión: 2 verticales + 3 horizontales.
Probé un bucle for doble pero no sé por qué no funciona. No da ningún error pero no puedo obtener las imágenes. El código es:
BladeList = List( "Blade8", "Blade61", "Blade74" );
New Window( "Oneway Advisor",
H List Box(
For( j = 1, j <= 2, j++,
V List Box(
For( i = 1, i <= 3, i++,
Write(i);
Scatterplot 3D(
Y( :Name( " x" ), :y, :z ),
Coloring( :Name( " Mean Io" ) ),
Legend( 1522 ),
Frame3D(
Legend( 1 ),
Set Grab Handles( 0 ),
Set Rotation( -64, 0, -41 ),
Set Marker Scale( 5.2652 )
),
Where( :Blade == BladeList[i] & :Embodiment == "THP" ),
SendToReport(
Dispatch(
{},
"100",
ScaleBox,
{Legend Model(
1522,
Properties(
0,
{gradient( {Color Theme( "Jet" )} )},
Item ID( " Mean Io", 1 )
)
)}
)
)
)
);
),
);
);
);Sin embargo, si pruebo un solo bucle, funciona:
BladeList = List( "Blade8", "Blade61", "Blade74" );
New Window( "Oneway Advisor",
H List Box(
/*For( j = 1, j <= 2, j++,*/
V List Box(
For( i = 1, i <= 3, i++,
Write(i);
Scatterplot 3D(
Y( :Name( " x" ), :y, :z ),
Coloring( :Name( " Mean Io" ) ),
Legend( 1522 ),
Frame3D(
Legend( 1 ),
Set Grab Handles( 0 ),
Set Rotation( -64, 0, -41 ),
Set Marker Scale( 5.2652 )
),
Where( :Blade == BladeList[i] & :Embodiment == "THP" ),
SendToReport(
Dispatch(
{},
"100",
ScaleBox,
{Legend Model(
1522,
Properties(
0,
{gradient( {Color Theme( "Jet" )} )},
Item ID( " Mean Io", 1 )
)
)}
)
)
)
);
),
V List Box(
For( i = 1, i <= 3, i++,
Write(i);
Scatterplot 3D(
Y( :Name( " x" ), :y, :z ),
Coloring( :Name( " Mean Io" ) ),
Legend( 1522 ),
Frame3D(
Legend( 1 ),
Set Grab Handles( 0 ),
Set Rotation( -64, 0, -41 ),
Set Marker Scale( 5.2652 )
),
Where( :Blade == BladeList[i] & :Embodiment == "THP" ),
SendToReport(
Dispatch(
{},
"100",
ScaleBox,
{Legend Model(
1522,
Properties(
0,
{gradient( {Color Theme( "Jet" )} )},
Item ID( " Mean Io", 1 )
)
)}
)
)
)
);
),
/*);*/
);
);Puede alguien ayudarme con esto.
Gracias,
David
Sé que este es un hilo un poco viejo para recuperar, pero no puedo decir cuál fue el cambio fundamental entre los dos conjuntos de código que solucionó el problema del bucle anidado. Recibo un error en una de mis herramientas usando un bucle anidado, espero que esté relacionado.
Editar: ¿Es solo una cuestión de usar esa funcionalidad de agregar HLB?
No pude hacer funcionar el bucle doble, sin embargo, el siguiente método le dará los resultados que desea
BladeList = List( "Blade8", "Blade61", "Blade74" );
New Window( "Oneway Advisor",
hlb = H List Box()
);
For( j = 1, j <= 2, j++,
vlb = V List Box(
For( i = 1, i <= 3, i++,
sc = Scatterplot 3D(
invisible,
Y( :Name( " x" ), :y, :z ),
Coloring( :Name( " Mean Io" ) ),
Legend( 1522 ),
Frame3D(
Legend( 1 ),
Set Grab Handles( 0 ),
Set Rotation( -64, 0, -41 ),
Set Marker Scale( 5.2652 )
),
Where( :Blade == BladeList[i] & :Embodiment == "THP" ),
SendToReport(
Dispatch(
{},
"100",
ScaleBox,
{Legend Model(
1522,
Properties( 0, {gradient( {Color Theme( "Jet" )} )}, Item ID( " Mean Io", 1 ) )
)}
)
)
),
)
);
hlb << append( vlb );
);