Skip to main content

filamentos: el catalogo de carretes y huecos del CFS

Lo que sé de mis filamentos estaba repartido en varios sitios: las reglas de cada material dentro del código del verificador, un CSV con los carretes para las fichas de muestra y un JSON con lo que hay en cada hueco del CFS. Con cinco materiales ya costaba; con cuarenta carretes de seis proveedores, editar ficheros a mano no se sostiene, y una errata en un nombre pasaba sin avisar.

Ahora todo vive en un único catálogo, y lo edito con un comando que me deja elegir de listas con búsqueda en vez de escribir nombres.

Que guarda

Qué Ejemplo
Proveedores eSUN, Creality, Amazon, Soleyin
Materiales eSUN PETG: tipo PETG, su preset - ABK y los valores que el verificador comprueba en el gcode (cama 80, boquilla 250…)
Carretes petg_esun_negro: eSUN PETG, negro, #000000, texto de la ficha «PETG»
Huecos T1A a T1D y EXT (el portabobinas exterior), cada uno con su carrete
Historial cada cambio de carrete en un hueco, con fecha

De ahí leen verifica_gcode (reglas por material y marca de cada hueco), sube_k2 y las fichas de muestra con NFC.

Uso

uv run --with InquirerPy python ~/3D/utilidades/filamentos.py

Abre un menú:

  • Cambiar el carrete de un hueco. Lo que uso al cambiar una bobina. Eliges el hueco, buscas el carrete escribiendo parte del nombre y confirmas. Si el carrete no existe, se da de alta en el mismo paso.
  • Ver qué hay en cada hueco, el catálogo de carretes o el historial.
  • Dar de alta un carrete o un material. Si falta el material o el proveedor, se crea sin salir del flujo. El preset de un material nuevo se elige de la lista de presets - ABK que existen en Creality Print: un preset de sistema no se puede elegir.

También funciona sin menú, para scripts:

uv run --with InquirerPy python ~/3D/utilidades/filamentos.py huecos
uv run --with InquirerPy python ~/3D/utilidades/filamentos.py historial T1D
uv run --with InquirerPy python ~/3D/utilidades/filamentos.py carga T1D petg_esun_negro

Lo que impide

  • Declarar un hueco con un carrete que no existe, un carrete con un material que no existe o un material con un proveedor que no existe.
  • Un color que no sea #RRGGBB o un material cuyo preset no sea - ABK.
  • Cambiar un hueco sin ver antes qué carrete se va a guardar. El buscador puntúa mal cuando escribes varias palabras: probando, «creality lila» elegía el PLA marble, porque encontraba las letras l-i-l-a desperdigadas en su nombre. Por eso, antes de guardar, la herramienta enseña el carrete elegido con su marca, material y color, y pide confirmación. Escribir una sola palabra distintiva («lila», «esun negro») acierta a la primera.

Donde esta

Qué Ruta
Comando ~/3D/utilidades/filamentos.py
Base de datos ~/3D/databases/filamentos.db (SQLite)
Código de acceso a los datos ~/3D/utilidades/catalogo.py
Datos iniciales ~/3D/utilidades/catalogo_semilla.py
Tests ~/3D/utilidades/test_catalogo.py

La base de datos no está en git: su respaldo es Time Machine. Si se pierde, se vuelve a crear sola con los datos iniciales, que sí están versionados; lo que haya cambiado después con la herramienta, eso se pierde.