OpenSCAD online — abre y edita archivos .scad en tu navegador

Pega código, o arrastra un archivo .scad o una carpeta de proyecto entera: el OpenSCAD de verdad se ejecuta en tu navegador y renderiza el modelo medio segundo después de que dejes de escribir. color(), el fondo % y el resaltado # se ven como al pulsar F5 en la versión de escritorio. Sin instalar nada, sin registrarte y sin subir ningún archivo.

Abrir el visor →Abrir con código de ejemplo →

Qué obtienes

OpenSCAD de verdad

No es un intérprete que imita la sintaxis: es el propio OpenSCAD (una versión de desarrollo de 2025 con el núcleo Manifold) compilado a WebAssembly. Módulos, funciones, recursión, listas por comprensión, include y use se comportan igual que en el escritorio.

Renderiza mientras escribes

Medio segundo después de la última tecla, el modelo se vuelve a dibujar, sin pulsar ningún botón. El panel de parámetros lee los comentarios del Customizer; mueve un deslizador y el valor se escribe en el código fuente.

Igual que la vista previa F5

color() se mantiene en las caras después de las operaciones booleanas; las caras cortadas por un difference() se ven en verde; % se dibuja en gris translúcido y # en rosa translúcido. $preview vale true.

Proyectos de varios archivos

Arrastra la carpeta e include / use se resuelven según su estructura real. MCAD, Write.scad y BOSL2 vienen incluidos y se cargan al usarlos. El texto usa las fuentes Liberation de OpenSCAD; para otras, añade un .ttf al proyecto.

El código en el enlace

“Copy link” mete el código actual en la URL, y quien la abra verá el modelo. Un asistente de IA también puede darte un enlace de vista previa para el código que escribe.

Exporta STL y STEP

“Export STL” guarda los triángulos del lienzo —la misma malla que exporta OpenSCAD de escritorio después de renderizar—, listos para tu laminador. Para Fusion, SolidWorks y FreeCAD, la misma página también reconstruye el modelo como un STEP B-rep de verdad: consulta OpenSCAD to STEP (página en inglés).

Abrir con código de ejemplo

Se abre con este código ya renderizado; cambia una línea y se vuelve a dibujar medio segundo después.

// A bracket: a plate with two slots and a stiffening rib
$fn = 48;
difference() {
  union() {
    cube([60, 30, 4]);
    translate([0, 0, 4]) cube([60, 4, 16]);
  }
  for (x = [12, 48]) translate([x, 17, -1]) hull() {
    cylinder(h = 6, d = 5);
    translate([0, 6, 0]) cylinder(h = 6, d = 5);
  }
}
%translate([-5, -5, 0]) cube([70, 40, 1]); // the sheet it mounts on, shown only
#translate([30, 2, 10]) rotate([-90, 0, 0]) cylinder(h = 4, d = 3); // a pin, highlighted
Abrir con código de ejemplo →

¿No tienes un archivo .scad a mano? Empieza por uno de estos

Cada uno se abre ya renderizado en tu navegador. Mueve los deslizadores del Customizer para cambiar las medidas. Sin registrarte.

Chuleta de OpenSCAD

Las instrucciones que más vas a usar, cada una con cómo funciona y dónde suele fallar la gente. “Abrir online” carga el ejemplo en el visor ya renderizado: cambia un número y mira cómo se vuelve a dibujar.

  • cube · cylinder · sphere

    Caja, cilindro, esfera. Un cube empieza con una esquina en el origen, un cylinder con el centro de su base y una sphere con su centro; center = true centra un cube o un cylinder en el origen. Un cylinder con d1 ≠ d2 es un cono; $fn es el número de segmentos de un círculo.

    Abrir online →
  • translate · rotate · mirror

    Mover, girar (en grados: alrededor de X, luego Y, luego Z) y reflejar. Una transformación va delante del objeto y actúa primero la más cercana a él: translate(…) rotate(…) cube() gira y luego mueve. mirror refleja sin copiar: para conservar los dos, vuelve a escribir el original.

    Abrir online →
  • difference() · union() · intersection()

    Operaciones booleanas. difference conserva el primer objeto y le resta todo lo que va después: agujeros, ranuras, cajeados. Haz que la pieza que corta sobresalga 1 mm por ambas caras en vez de quedar a ras; si no, la vista previa muestra restos que parpadean y el renderizado puede fallar. union une; intersection conserva solo la parte común.

    Abrir online →
  • hull()

    Envuelve a sus hijos en una sola envolvente convexa. Cuatro cilindros dan una placa con esquinas redondeadas; dos, una ranura alargada. Solo rellena hacia fuera: para formas cóncavas, combínalo con difference.

    Abrir online →
  • minkowski()

    Pasa el segundo objeto por toda la superficie del primero: una caja con una esfera pequeña se convierte en una caja con todas las aristas redondeadas. El resultado crece el diámetro de la esfera en cada eje, así que antes reduce la caja en esa medida.

    Abrir online →
  • linear_extrude()

    Estira una forma 2D (square, circle, polygon, text) hacia arriba a lo largo de Z hasta formar un sólido. twist la gira mientras sube (en grados); scale reduce o agranda la cara superior. Un circle con $fn = 6 es un hexágono.

    Abrir online →
  • rotate_extrude()

    Hace girar una sección 2D alrededor del eje Z: vasos, bridas, poleas. La sección es el contorno de una mitad de la pieza cortada en dos, y debe quedar entera a la derecha del eje Y (x ≥ 0).

    Abrir online →
  • for

    Repite una forma: un círculo de pernos, una fila de rejillas. Un rango [inicio : paso : fin] incluye el final, así que [0 : 5] son seis valores, de 0 a 5. Dentro de un difference corta todos los agujeros de una vez.

    Abrir online →
  • module

    Agrupa geometría en una pieza con parámetros a la que llamas como a una función. Da valores por defecto a los parámetros y pasa solo los que cambies.

    Abrir online →
  • // [min : step : max]

    Pon un comentario como // [20:5:120] después de una variable al principio del archivo y el panel de parámetros del visor mostrará un deslizador para ella; un comentario en la línea de encima se convierte en su etiqueta, y /* [Tamaño] */ abre un grupo. Mueve el deslizador y el número del código cambia con él.

    Abrir online →
  • text()

    Rotulado. text() da un contorno 2D: con linear_extrude, letras en relieve; restado de una pieza, grabado. halign y valign = "center" lo centran en su posición. Las fuentes incluidas son la familia Liberation; para otras fuentes, mira las preguntas frecuentes más abajo.

    Abrir online →

Todo funciona igual en OpenSCAD de escritorio.

Comparado con OpenSCAD de escritorio

OpenSCAD de escritorioEste visor
InstalaciónDescargar un instaladorAbrir una página web
Qué ejecuta tu códigoOpenSCADEl mismo OpenSCAD, compilado a WebAssembly
Vista previaF5: OpenCSGGeometría real de Manifold, coloreada con las convenciones de F5
Proyectos de varios archivosAbrir el archivo principalArrastrar la carpeta
CompartirEnviar el archivoUn enlace con el código dentro
ExportaciónSTL / 3MF / OFF / AMFSTL (los triángulos de la vista previa) y STEP (B-rep de verdad)
Animación ($t)SíNo

¿Usas Claude Code o Codex? Instala el skill de Forgent3D

Un comando y el agente renderiza tu .scad con el OpenSCAD de verdad en tu equipo: lee la caja envolvente, el volumen y los valores de echo(), revisa él mismo una captura en tres vistas, exporta STL / 3MF y te da un enlace como el de arriba. Sin instalar OpenSCAD.

npx skills add forgent3d/forgent3d-skills
Página de Skills: cómo elige el camino (en inglés) →

Preguntas frecuentes

¿Puedo escribir OpenSCAD y exportar un STL online, sin instalarlo?

Sí. El visor es el propio OpenSCAD, compilado a WebAssembly y ejecutándose en tu navegador: escribir código, renderizar, mover parámetros y exportar STL se hace todo en la página, y también hay STEP para programas CAD. Sin instalar nada y sin registrarte.

¿Es OpenSCAD de verdad?

Sí. El código lo ejecuta el propio OpenSCAD —una versión de desarrollo de 2025 con el núcleo geométrico Manifold—, compilado a WebAssembly y ejecutándose en tu navegador. El lenguaje, las bibliotecas incluidas y los comentarios del Customizer se comportan como en el escritorio.

¿Por qué las paredes de un agujero salen verdes?

Es la convención de la vista previa de OpenSCAD (F5): las caras que deja un objeto restado con difference() se dibujan con el «color de cara trasera», verde en el esquema por defecto. El visor mantiene la convención; un objeto con su propio color() conserva su color.

¿Puedo abrir archivos .scad descargados de Thingiverse o Printables?

Sí. Arrastra la carpeta descargada entera para que vengan también los archivos que incluye. MCAD, Write.scad y BOSL2 ya vienen incluidos.

¿Puede text() usar otras fuentes?

El visor trae las fuentes Liberation de OpenSCAD, con letras latinas (incluidas la ñ y las tildes), griegas y cirílicas; un carácter que la fuente no tiene sale como un recuadro vacío. Para usar otra fuente, pon su archivo .ttf u .otf en la carpeta del proyecto junto al .scad (las colecciones .ttc no se leen), añade use <archivo.ttf> al código y elígela con font = "Nombre de la fuente": el nombre propio de la fuente, no el del archivo. Por ejemplo, arial.ttf de Windows es font = "Arial".

¿Se sube mi código a un servidor?

No. OpenSCAD se ejecuta en tu navegador y los archivos .scad nunca se suben; el código que va después de # en un enlace tampoco se envía al servidor.

¿Qué tamaño de modelo aguanta?

Un modelo típico se renderiza en menos de un segundo. Un modelo que, con los bucles desplegados, supera los 150.000 nodos no cabe en la construcción dentro del navegador, y el visor te lo dice. Un renderizado largo se puede detener en cualquier momento.

¿En qué se diferencia la vista previa del STEP exportado?

La vista previa es el renderizado del propio OpenSCAD, con los círculos hechos de $fn facetas. Para exportar el STEP, un núcleo CAD reconstruye cada primitiva y cada operación booleana como geometría exacta, así que un círculo es un cilindro de verdad. El STL exportado son los mismos triángulos de la vista previa. Los colores solo existen en la vista previa; ni el STL ni el STEP los llevan.

¿Cómo veo rápido el código OpenSCAD que escribió ChatGPT o Gemini?

Pégalo en el visor, o pide al asistente un enlace del tipo https://app.forgent3d.com/scad#code=<código>: se abre con el modelo ya renderizado.

Para seguir leyendo