Herramientas de usuario

Herramientas del sitio


openscad:funcines_y_modulos

¡Esta es una revisión vieja del documento!


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki