¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Otras funciones y operadores
Funciones de cadenas de caracteres
- str(): Convierte los argumentos en cadenas de caracteres y los concatena.
numero = 2; echo("El numero", numero, "Va después del 1"); echo(str("El numero", numero, " va después del 1"));
- chr(): Convierte en carácter un número según el código ASCII (unicode). Puede aceptar varios tipos de parámetro: chr(number|vector|range):
- number: convierte caracter ASCII de tipo UTF-8.
- vector: convierte cada valor en parte de un único string.
- range: convierte los números producidos por el rango en un único string.
echo(chr(65), chr(97)); // ECHO: "A", "a" echo(chr(65, 97)); // ECHO: "Aa" echo(chr([66, 98])); // ECHO: "Bb" echo(chr([97 : 2 : 102])); // ECHO: "ace" echo(chr(-3)); // ECHO: "" echo(chr(9786), chr(9788)); // ECHO: "☺", "☼" echo(len(chr(9788))); // ECHO: 1
Funciones matemáticas
- cos(): coseno.
- sin(): seno.
- tan(): tangente.
- acos(): arcocoseno (sen-1).
- asin(): arcoseno (cos-1).
- atan(): arcotangente (tg-1).
- abs(): valor absoluto.
- ceil(): devuelve el valor entero superior al argumento indicado.
- concat(): Retorna un vector con los parámetros que se le introducen como elementos del vector. No resulta un string, si no un vector.
- cross(): calcula el producto vectorial de dos vectores en un espacio 3D. Resulta un vector perpendicular a los ds vectores de entrada.
- exp(): número 'e' elevado al número indicado.
- floor(): devuelve el valor entero inferior al argumento indicado.
- ln(): logaritmo neperiano.
- len(): retorna el tamaño (número de elementos) de un array, vector o string.
- let(): Sirve para asignar valores a variables dentro de una expresión. Su uso principal es el de expresiones complicadas más sencillas de leer.
let (var1 = value1, var2 = f(var1), var3 = g(var1, var2)) expression
Ejemplo:
echo(let(a = 135, s = sin(a), c = cos(a)) [ s, c ]); // ECHO: [0.707107, -0.707107]
- log(): logaritmo en base 10.
- lookup(): Función de búsqueda en el que se definen 2 argumentos, el primero es el valor a buscar, el segundo es la tabla, vector o par llave-valor (listas) donde buscar.
- max(): retorna el valor máximo del parámetro (vector) o parámetros introducidos.
- min(): retorna el valor mínimo del parámetro (vector) o parámetros introducidos.
- norm(): longitud de un vector (norma vectorial).
- pow(): potencia, en la que se introducen como parámetros en primer lugar la base, y después el exponente.
- rands(): genera números aleatorios. Parámetros que acepta:
- min_value: Valor mínimo del rango de números aleatorios.
- max_value: Valor máximo del rango de números aleatorios.
- value_count: número de valores aleatorios que retornarán como elementos de un vector.
- seed_value: parámetro opcional. Número a partir del cual el algoritmo calculará los números aleatorios (tipo double).
- round: redondea al valor entero más cercano.
- sign: retorna el símbolo del número introducido como parámetro: positivo (1.0), negativo (-1.0) o en caso de que sea cero, retornará 0.0.
- sqrt: raíz cuadrad.
Otras funciones
ECHO
La función echo() sirve para mostrar mensajes en la consola al previsualizar o renderizar.
Esta función es muy útil para depurar el programa.
Ejemplos:
mi_h=50;
mi_r=100;
echo("Este es un cilindro con h=",mi_h," y r=",mi_r);
echo(mi_h=mi_h, mi_r=mi_r);
cylinder(h=mi_h, r=mi_r);
echo("<b>Hello</b> <i>Qt!</i>");
Superficie
La función surface() lee un “mapa de altura” o heightmap desde un archivo de texto o de imagen.
A continuación indico los parámetros:
- file: archivo de mapa de altura.
- center: parámetro de tipo booleano (true/false). True el objeto está centrado en los ejes XY, False está centrado en el primer cuadrante (por defecto).
- invert: parámetro de tipo booleano (true/false). Indica cómo se traducen los archivos de imagen a mapa de altura en función del color. False se troquelan (por defecto), True se ponen en relieve. La altura o profundidad dependerá del color del dibujo.
- convexity: valor entero que se utiliza en la previsualización de la figura, y que no tiene efecto en la renderización.
Esta función puede ser muy útil para troquelar imágenes en las piezas.
Búsqueda
La función search() busca una o más ocurrencias de un valor o lista de valores, en un vector, string o cualquier otro tipo de construcción.
Argumentos:
- match_value: valor a buscar o vector de valores a buscar. Los strings serán tratados como vectores de caracteres.
- string_or_vector: string o vector donde buscar coincidencias.
- num_returns_per_match: por defecto 1. Número de coincidencias a retornar. Si es '0', retornará todas las coincidencias en una lista de listas.
- index_col_num: por defecto 0.
Función de búsqueda general y muy potente, aunque puede resultar compleja en algunas ocasiones. Más información en la página oficial de OpenSCAD.
Versión
Existen dos funciones para comprobar la versión de OpenSCAD:
- version(): retorna la versión de OpenSCAD como un vector.
- version_num(): retorna la versión de OpenSCAD como un número.
Mensaje de error
Para generar mensajes de error se utiliza la función assert(). Puede ser útil, por ejemplo, para comprobar que los parámetros introducidos a una función creada por el usuario son válidos.
La función assert() lleva como parámetro una condición, que en caso de resultar False, se produce un error en la compilación. Muy útil si se combina con Echo para devolver mensajes de error concretos.
