openscad:funcines_y_modulos
¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Funciones y módulos definidos por el usuario
Funciones
Las funciones son operaciones con valores que se definen, que retornan otro valor.
Para definir una función:
function name ( parameters ) = value ;
Algunos ejemplos:
//Ejemplo 1:
function func0() = 5;
function func1(x=3) = 2*x+1;
function func2() = [1,2,3,4];
function func3(y=7) = (y==7) ? 5 : 2 ;
function func4(p0,p1,p2,p3) = [p0,p1,p2,p3];
echo (func0()); // 5
a = func1(); // 7
b= func1(5); // 11
echo (func2()); // [1, 2, 3, 4]
echo( func3(2),func3()); // 2, 5
z= func4(func0(),func1(),func2(),func3()); // [5, 7, [1, 2, 3, 4], 5]
translate([0,-4*func0(),0])cube([func0(),2*func0(),func0()]);
// same as translate([0,-20,0])cube([5,10,5]);
function steps( start, no_steps, end) = [start:(end-start)/(no_steps-1):end]; echo( steps(10,3,5)); // [10 : -2.5 : 5] for( i=steps(10,3,5))echo(i); // 10 7.5 5 echo(steps(10,3,15)); //[10 : 2.5 : 15] for( i=steps(10,3,15))echo(i); // 10 12.5 15 echo(steps(0,5,5)); // [0 : 1.25 : 5] for( i=steps(0,5,5))echo(i); // 0 1.25 2.5 3.75 5
Las funciones pueden usarse de forma recursiva con el operador condicional ternario. Ejemplo:
// recursion example: add all integers up to n function add_up_to(n) = ( n==0 ? 0 : n + add_up_to(n-1) );
Módulos
Los módulos son códigos que al ser ejecutados realizan acciones, pero no retornan ningún valor.
openscad/funcines_y_modulos.1534115654.txt.gz · Última modificación: por alberto
