Text-to-CAD: fuente paramétrica, evidencia geométrica y entrega responsable
Leer el proxy lazy de cadgen: identidad, caché y un dir que importa antes
Inspecciona la entrada pública y prueba el proxy exacto con una dependencia falsa sin atribuir resultados a un kernel CAD real.
Qué aprenderás
- El espacio público aplaza parte del trabajo
- Devolver el objeto real y guardarlo
- Probar exactamente el mecanismo descrito
Antes de empezar
- Funciones, módulos y rutas Python básicos
- Unidades y diferencia entre diseño y pieza física
Planificar un ejercicio acotado y distinguir actualidad, inspección, revisión visual y fabricación.
Conclusiones clave
- El proxy guarda el objeto real, no un envoltorio.
- dir e importaciones directas pueden resolver anticipadamente.
- Probar el proxy no prueba geometría ni rendimiento.
El espacio público aplaza parte del trabajo
Cadgen.__init__ usa búsqueda de atributos para exponer formatos, auxiliares de ensamblaje, escenas y el proxy build123d. Los nombres de formato devuelven sus módulos para conservar identidad entre importación y decorador. Es una organización de API, no prueba de que toda dependencia sea ligera.
La entrada también invoca seguimiento de importación del kernel y protección de fuentes tipográficas. Inspeccionamos esas llamadas, pero la prueba no ejecutó el inicializador ni auditó todos los auxiliares. Acceso diferido a clases no significa importación del paquete totalmente libre de efectos.
Devolver el objeto real y guardarlo
En cadgen/build123d.py, _REAL empieza vacío. El primer atributo ordinario importa build123d, obtiene el objeto real y lo guarda en los globales del proxy. Accesos posteriores a ese nombre son lecturas normales; Box no se envuelve en otra clase de compatibilidad.
Los sondeos ausentes con dobles guiones bajos lanzan AttributeError sin cargar el módulo pesado. Sin embargo, __dir__ consulta nombres del módulo real, por lo que dir(proxy) puede forzar importación. Importar Box directamente también exige resolverlo de inmediato; el estilo de atributos conserva la demora hasta su uso.
Probar exactamente el mecanismo descrito
Ocho casos aislados ejecutaron la fuente inspeccionada contra build123d falso: carga diferida, sondeo dunder, identidad, caché global, atributos repetidos y secundarios, dir, from-import y fallo por nombre desconocido. La prueba restaura el estado y no importa un kernel geométrico.
Los resultados verifican el proxy con inputs controlados, no generación CAD completa, latencia real ni rendimiento del daemon. La fuente contiene una cifra temporal que no presentamos como medición propia. Los atributos desconocidos siguen produciendo errores, no valores inventados.
Cómo elegir
| Criterio | Opción A | Opción B |
|---|---|---|
| Best when | You need predictable behavior and easy auditing | You need adaptive optimization and have reliable telemetry |
| Main risk | May leave performance on the table | Can become difficult to explain or debug |
Pasos de implementación
- 1
Separa entrada del paquete y atributos lazy.
- 2
Sigue primer acceso y asignación a globales.
- 3
Prueba introspección además del acceso normal.
- 4
Declara dependencia falsa y runtime no probado.
Ejemplo para copiar
{
"pruebaAislada": true,
"dependencia": "módulo build123d falso",
"casosAprobados": 8,
"kernelCadEjecutado": false,
"geometriaGenerada": false,
"tiempoImportacionMedido": false
}Preguntas frecuentes
¿bd.Box es otra clase envolvente?
El proxy inspeccionado devuelve y almacena el objeto real de la dependencia.
¿Solo llamar a dir puede importar el módulo?
Sí. Su __dir__ resuelve el módulo real para enumerar nombres.
Fuentes
- Text-to-CAD / packages/cadgen/src/cadgen/__init__.pyFuente verificada 2026-09-14
- Text-to-CAD / packages/cadgen/src/cadgen/build123d.pyFuente verificada 2026-09-14