El desarrollo del software de Diseño Asistido por Computadora (CAD) ha seguido históricamente dos caminos distintos: la evolución de las herramientas de dibujo manual hacia interfaces gráficas de usuario (GUI) y el auge del 'Code CAD'. Antimony, un proyecto de Matt Keeter, ejemplifica este último, rastreando su linaje hasta las máquinas Lisp. A diferencia del CAD tradicional, que se centra en la manipulación directa de objetos en una pantalla, el Code CAD trata los modelos 3D como el resultado de un script o un conjunto de instrucciones. Este cambio de paradigma permite a los usuarios definir geometrías complejas a través de código —como las S-expressions— en lugar de hacer clic y arrastrar elementos en un espacio de trabajo visual.
Este enfoque programático ofrece ventajas significativas para crear estructuras complejas, repetitivas o definidas matemáticamente. Los comentaristas en Hacker News señalaron que, si bien el Code CAD puede ser menos intuitivo que el CAD paramétrico basado en GUI en ciertas dimensiones, a menudo es mucho más potente para construir diseños intrincados de forma rápida y sencilla. El ecosistema de estas herramientas se ha expandido significativamente, con proyectos como OpenSCAD, PythonSCAD, CADquery y Build123D proporcionando diversas formas de definir geometría a través de variables y scripts. Estas herramientas permiten un nivel de abstracción donde la lógica del diseño se desacopla de la representación visual final.
Sin embargo, el enfoque de geometría constructiva utilizado por muchos sistemas de Code CAD presenta obstáculos técnicos específicos. Los usuarios señalaron que ciertas operaciones, como aplicar filetes o biseles a los bordes, pueden ser significativamente más complicadas de implementar en un modelo puramente constructivo en comparación con los sistemas tradicionales basados en bocetos como OnShape o SolidWorks. Si bien el Code CAD destaca en la generación programática, estas limitaciones resaltan una compensación continua entre la facilidad del refinamiento geométrico manual y la potencia de la definición de geometría de alto nivel mediante scripts. Actualmente, el campo continúa explorando híbridos que podrían combinar las fortalezas tanto de la lógica impulsada por código como del bocetado tradicional basado en GUI.
