← Volver al blog
Aiaprox. 7 min de lectura

Tu agente puede entregarte un STEP: text-to-cad y el código como geometría

Publicado 17 oct 2026
Tu agente puede entregarte un STEP: text-to-cad y el código como geometría

La parte que nunca fue texto

Los agentes de código escriben software porque el software es texto. Ese único hecho explica casi todo lo que hacen bien. También explica por qué han sido inútiles para el trabajo mecánico: un soporte no es texto, un espesor de pared no es texto, y un archivo STEP definitivamente no es texto, aunque técnicamente lo sea.

text-to-cad, un plugin con licencia MIT de earthtojake que este mes lleva un tiempo en la tabla de tendencias de GitHub con unos 18,600 stars, resuelve esa contradicción con un truco viejo: si la cosa no es texto, haz una representación en texto de la cosa. En este caso, un script de Python paramétrico.

El trabajo del agente no es imaginar un modelo 3D. Es escribir código que un kernel de geometría pueda ejecutar. Esa distinción es todo el producto.

Cómo corre el bucle en realidad

El motor por debajo es cadgen, un paquete de Python en PyPI construido sobre build123d, que a su vez mueve Open CASCADE, la misma familia de kernels de geometría que usan las herramientas de CAD serias. Un modelo es un script de Python normal: una función decorada con una definición step que devuelve una forma.

Digamos que quieres un soporte de cámara con paredes de 3mm y dos agujeros M3. Lo describes con palabras. El agente escribe el script con parámetros de espesor de pared, diámetro de agujero y separación entre agujeros. cadgen lo ejecuta y escribe STEP, más STL, 3MF o GLB si lo pides. ¿Cambiar la posición de un agujero? Editas un número, vuelves a correr. El fuente del modelo se queda en el repositorio junto a tu otro código, o sea que se puede diffear, revisar y revertir como cualquier otra cosa.

Esta es la diferencia entre geometría exacta y una malla plausible. Un generador de mallas produce una superficie que parece un soporte. Un modelador de sólidos produce un soporte con un espesor de pared conocido, y un taller acepta un archivo STEP mientras rechaza con educación tu STL de una superficie curva con 4,000 triángulos.

El plugin también se hace cargo de las partes aburridas que deciden si un diseño es real. Corre comprobaciones de diseño para fabricación y para fabricación aditiva, espesor de pared, voladizos, ángulos de desmoldeo, socavados, y reporta la regla detrás de cada hallazgo en lugar de una advertencia pelada. Genera planos de ingeniería acotados en PDF con vistas, líneas ocultas, llamadas de agujeros y cajetín. Escribe perfiles DXF para corte láser, corta G-code con OrcaSlicer, manda impresiones a máquinas Bambu Lab, corre chequeos previos a la subida para SendCutSend, y escribe archivos URDF, SRDF y SDF para descripciones de robots y mundos de simulador.

También hay un visor local. En las apps que lo soportan, el modelo aparece como tarjeta en el chat; en el resto te dan un enlace a localhost.

A small machined bracket in brushed metal resting on a dark surface, its mounting holes and wall thickness catching a single hard light, faint blueprint lines behind it

Por qué esto generaliza

El caso de CAD es específico, el patrón no. Cualquier dominio con dos propiedades se le puede entregar a un agente de código: una representación en código del artefacto, y un comprobador que diga si el artefacto es válido.

Las piezas mecánicas tienen las dos. El script es la representación; la comprobación de fabricabilidad es el validador. Las páginas web tienen las dos, HTML y un navegador. La infraestructura tiene las dos, configuración y un plan. El video, hasta hace poco, no tenía ninguna en una forma que un agente pudiera ejecutar, y ese es justo el hueco que están llenando proyectos como HyperFrames.

Donde a un dominio le falta el comprobador, los agentes producen basura con mucha confianza. Por eso "AI for 3D" se quedó atascado en las previews: no había validador entre "parece una silla" y "se puede fabricar".

La otra mitad del patrón es la ejecución local. cadgen corre en tu máquina, contra un kernel de geometría de verdad. En la etapa de geometría no hay nada aproximado por una red neuronal. El agente aporta la intención paramétrica; el kernel aporta la verdad.

Los impuestos de adopción, que son reales

Dos cosas van a morder, y las dos están documentadas en el repositorio en lugar de descubiertas a golpes, lo cual habla bien de los autores.

Windows 11 tiene una trampa propia. El binding de Python del kernel de CAD incluye un módulo nativo sin firmar, y el Smart App Control de Windows 11, activado por defecto en instalaciones nuevas, lo bloquea. A partir de ahí todo comando falla con un error de carga de DLL. No hay excepción por aplicación. Tus opciones son apagar Smart App Control, lo que en algunos sistemas solo se revierte reinstalando Windows, o correr las skills de CAD bajo WSL. Hay un comando doctor que detecta el caso, así que al menos te enteras rápido.

La telemetría está activada por defecto. El README la documenta con un detalle inusual, y ese es el instinto correcto. Lo que se envía: versiones, origen de la instalación, sistema operativo, qué app de agente usas, y conteos como cuántas veces se llamó a cada herramienta y cuántos modelos se construyeron, más motivos de fallo elegidos de una lista fija en vez del texto del error. Los reportes de crash incluyen el tipo de error y dónde falló en el código. Todo lleva un ID de instalación aleatorio y se guarda en PostHog; el servidor deduce tu país de la IP y no conserva la dirección. Lo que nunca se envía: nombres de archivo, rutas, contenido de archivos, prompts. Se apaga con un solo comando, que además borra lo ya enviado, y no se envía nada en CI ni desde una instalación de desarrollo.

Las dos cosas son normales en un proyecto joven y las dos cuestan adopción. Un proveedor comercial de CAD no lanzaría ninguna de las dos.

Para qué no sirve

Formas orgánicas. Personajes, figuras, formas esculpidas, todo donde la forma es el punto y no la función: ese es territorio de malla, y un modelo image-to-3D basado en malla es mejor herramienta. Intentar describir un dragón con parámetros es una tarde mala.

Tampoco sustituye la firma de un ingeniero. La skill de DFM es una revisión guiada, no una certificación. Si una pieza va a sostener el peso de una persona, un ingeniero humano sigue firmando el plano. El bucle termina con alguien pagando una factura, y ese es probablemente el lugar correcto para el humano.

El repositorio en sí es joven y va rápido: creado en abril de 2026, más de 1,400 commits, un paquete de PyPI con docenas de releases, y tres versiones publicadas en dos días a principios de octubre. Ese ritmo es una virtud si te gustan las skills nuevas y un riesgo si necesitas estabilidad.

La frase del README que importa

Enterrada en la descripción hay una afirmación fácil de saltarse: el plugin le da a tu agente un flujo de trabajo de CAD de verdad. No una demo, no un envoltorio de prompts, un flujo con representación, ejecutor, validador y entrega a un fabricante.

Esa es la forma de cosa que hace útiles a los agentes fuera del software. No un modelo que sabe de soportes, sino un bucle donde el modelo escribe algo ejecutable, otra cosa lo comprueba, y la salida es un archivo que otro sistema acepta. El agente no necesita ser bueno en CAD. Necesita ser bueno en código, y el dominio necesita tener un compilador.

La ingeniería mecánica llegó primero porque el compilador tiene cincuenta años y el validador es un conjunto de reglas de fabricación. Cualquier otro dominio que consiga esas dos piezas se verá así en un año.

Artículos relacionados