Números en notación decimal, ejemplos: -1, 42, 0.5, 2.99792458e+8.
OpenSCAD no soporta números en formato octal, hexadecimal, etc.
Valores TRUE/FALSE. Son el resultado de la evaluación de condiciones.
Los strings son cadenas de caracteres, no confundirlos con vectores cuyos elementos son caracteres, que son cosas distintas.
Se indican siempre entre “. Se usa como carácter de escape '\'.
Define una secuencia de números:
[<start>:<end>] [<start>:<increment>:<end>]
Se usan por ejemplo en bucles for.
Las variables se asignan sin necesidad de especificar el tipo de dato. Ejemplos:
var = 25; xx = 1.25 * cos(50); y = 2*xx+var; logic = true; MyString = "This is a string"; a_vector = [1,2,3]; rr = a_vector[2]; // member of vector range1 = [-1.5:0.5:3]; // for() loop range xx = [0:5]; // alternate for() loop range
Las variables son calculadas en tiempo de compilación, no de ejecución.
Los vectores son secuencias de datos de cualquier tipo (en cambio los arrays son secuencias de datos del mismo tipo). Ejemplos:
[1,2,3] [a,5,b] [] [5.643] ["a","b","string"] [[1,r],[x,y,z,4,5]] [3, 5, [6,7], [[8,9],[10,[11,12],13], c, "string"] [4/3, 6*1.5, cos(60)]
Para crear vectores, se especifican entre corchetes:
cube([10,15,20]); a1 = [1,2,3]; a2 = [4,5]; a3 = [6,7,8,9]; b = [a1,a2,a3]; // [ [1,2,3], [4,5], [6,7,8,9] ] note increased nesting depth
Es posible meter vectores como elementos en otro vector.
e = [ [1], [], [3,4,5], "string", "x", [[10,11],[12,13,14],[[15,16],[17]]] ]; // length 6
address length element
e[0] 1 [1]
e[1] 0 []
e[5] 3 [ [10,11], [12,13,14], [[15,16],[17]] ]
e[5][1] 3 [ 12, 13, 14 ]
e[5][2] 2 [ [15,16], [17] ]
e[5][2][0] 2 [ 15, 16 ]
e[5][2][0][1] undef 16
e[3] 6 "string"
e[3 ][2] 1 "r"
s = [2,0,5]; a = 2;
s[a] undef 5
e[s[a]] 3 [ [10,11], [12,13,14], [[15,16],[17]] ]