Cómo escribir un diseño personalizable
Los diseños personalizables son código con ajustes: KerfScript para la versión de corte láser y OpenSCAD para la de impresión 3D. Esta guía explica la sintaxis de los ajustes, las capas láser y el montaje 3D en KerfScript, las impresiones 3D multicolor, las bibliotecas que puedes usar y cómo publicar.
Qué es un diseño personalizable
Un diseño personalizable es código que crea un diseño a partir de unos pocos valores. Los visitantes no ven el código salvo que lo pidan: reciben un panel de ajustes normal, una vista previa en vivo y descargas. El código se ejecuta en su navegador, así que no se sube nada mientras personalizan.
Un diseño puede tener dos versiones: una para corte láser escrita en KerfScript, que se descarga como un SVG por capas, y otra para impresión 3D escrita en OpenSCAD, que se descarga como STL y 3MF. Rellena una o las dos en el Banco de trabajo y se publican juntas.
Convertir variables en ajustes
Pon tus ajustes al principio del archivo, antes del primer módulo. Cada uno necesita un valor simple. Un comentario después del valor describe el control, una línea de comentario encima se convierte en la ayuda y un comentario de grupo empieza una sección nueva. KerfScript y OpenSCAD leen los mismos comentarios, así que un ajuste con el mismo nombre funciona igual en las dos versiones.
/* [Size] */
// Width of the tag in mm
width = 70; // [30:1:160]
height = 30; // [15:0.5:80]
/* [Text] */
label = "Hello"; // 16
shape = "round"; // [round, square, star]
size = 2; // [1:Small, 2:Medium, 3:Large]
hole = true;
colour = "#c08552";
/* [Hidden] */
$fn = 64;| En tu código | Lo que ven los visitantes |
|---|---|
| width = 70; // [30:160] | Un deslizador de 30 a 160 |
| width = 70; // [30:0.5:160] | Un deslizador con pasos de 0,5 |
| count = 3; | Un campo numérico |
| shape = "round"; // [round, square] | Una elección entre los valores de la lista |
| size = 2; // [1:Small, 2:Large] | Una elección con tus propias etiquetas |
| hole = true; | Un interruptor de sí o no |
| label = "Hi"; // 16 | Un campo de texto de hasta 16 caracteres |
| colour = "#c08552"; | Un selector de color |
| size = [40, 20, 5]; | Un número por eje |
| /* [Group] */ | Empieza una nueva sección de ajustes |
| /* [Hidden] */ | Todo lo que va después se queda solo en el código |
Nombra las variables en snake_case: hole_size se muestra como Hole size. Usa milímetros para que coincidan con el resto del sitio.
Versiones para corte láser en KerfScript
KerfScript es un lenguaje hecho para el corte láser. Las formas se cortan salvo que las envuelvas en engrave() o score(), y la descarga es un SVG con una capa de color por operación, listo para LightBurn o tu programa de láser. El texto puede usar cualquier fuente del catálogo de MyLaserTools por su nombre.
label = "Hello"; // 16
width = 70; // [30:1:160]
difference() {
rect([width, 30], r = 5, center = true);
translate([-width / 2 + 7, 0]) circle(d = 5);
}
engrave() text(label, size = 10, font = "Pacifico", halign = "center", valign = "center");
score() offset(delta = -2.5) rect([width, 30], r = 5, center = true);material() define el grosor de la plancha y el kerf, y part() da nombre a cada pieza y dice cuántas cortar. La documentación de KerfScript cubre todo el lenguaje y el Playground de KerfScript tiene más ejemplos.
Mira las piezas montadas
Da a una pieza at = [x, y, z] para moverla y rotate = [x, y, z] para girarla, en grados, y la vista previa 3D muestra el diseño montado. Las piezas primero se giran y luego se mueven, como en OpenSCAD. Si dos piezas colocadas chocan, el Banco de trabajo te avisa, y así se nota un borde con dedos al revés. Las piezas sin posición quedan planas junto al montaje, y box() coloca sus propios paneles. Pon las piezas dentro de step("Pega la base") y la vista previa muestra flechas que arman el modelo paso a paso. hardware() añade espigas, tornillos e imanes a la vista 3D, y part(bend = [x0, x1, angle]) muestra una bisagra flexible doblada.
material(thickness = 3, kerf = 0.1) {
part("base", at = [0, 0, 0]) rect([80, 40]);
part("back", at = [0, 40, 3], rotate = [90, 0, 0]) rect([80, 30]);
part("spare") rect([20, 20]);
}Versiones para impresión 3D en OpenSCAD
La versión para impresión 3D es un programa de OpenSCAD y se descarga como STL y 3MF. Da a las piezas distintos valores de color() y cada color se convierte en su propio objeto en el 3MF, para asignar filamentos en tu laminador. La vista previa sigue la paleta elegida.
color("#c08552") cylinder(d = 60, h = 80);
color("#3d3277") translate([0, 0, 80]) cylinder(d = 62, h = 3);Bibliotecas y fuentes
use <kerf/box>cajas y paneles con uniones de dedos en KerfScript.include <BOSL2/std.scad>formas redondeadas, roscas, engranajes y uniones en OpenSCAD.- Fuentes para text() en OpenSCAD: Liberation Sans, Liberation Serif, Liberation Mono y Noto Sans. En KerfScript, text() puede usar cualquier fuente del catálogo.
Límites
- El código puede tener hasta 500.000 caracteres en un solo archivo.
- Solo se pueden incluir las bibliotecas disponibles. import() y surface() de OpenSCAD no están disponibles.
- Una vista previa de OpenSCAD que tarda más de 45 segundos se detiene. Mantén $fn moderado mientras trabajas.
- Se muestran hasta 60 ajustes, en el orden en que aparecen en el código.
Publicar
- Configura tu perfil de diseñador para que tu diseño enlace contigo.
- Guarda el diseño en el Banco de trabajo. Los diseños guardados aparecen en Mis diseños.
- Haz clic en Publicar, añade un título, una descripción y una foto de algo que hayas hecho con él, y elige una licencia.
- Si cambias el código más adelante, guárdalo y usa Actualizar diseño público para enviar la nueva versión a tu página.
Preguntas
¿Los visitantes necesitan saber programar?
No. Los visitantes solo ven los ajustes, la vista previa y los botones de descarga. El código está para los creadores que quieran aprender de él o copiarlo.
¿Puedo subir un archivo .kerf o .scad que ya tengo?
Sí. Usa Subir .kerf o Subir .scad en el Banco de trabajo y el archivo va a la versión de su lenguaje. Los archivos que usan la sintaxis de comentarios del personalizador conservan sus ajustes.
¿De quién es un diseño publicado?
Tuyo. La licencia que elijas se aplica al código y a lo que la gente haga con él, igual que con un diseño publicado.
¿Es gratis?
Escribir, guardar, publicar y personalizar diseños es gratis. Las cuentas gratuitas pueden guardar hasta 10 diseños privados; los publicados no cuentan.
¿Alguien puede cambiar mi diseño?
Copiar al Banco de trabajo les da su propia copia privada. Tu diseño publicado solo cambia cuando tú lo actualizas.
Las versiones para impresión 3D funcionan con OpenSCAD, software libre publicado bajo la Licencia Pública General de GNU. Su código fuente es público, y nuestra página de licencias reconoce cada proyecto de código abierto detrás del Banco de trabajo.
Mantente al día con MyLaserTools.
Quiero recibir correos sobre nuevas herramientas, actualizaciones del producto, tutoriales y ofertas ocasionales de MyLaserTools. Puedo darme de baja en cualquier momento.
© 2026 MyLaserTools.com. Todos los derechos reservados.

