← Blog

Limpiar un pack de STL descargado al ingerirlo

Lo que de verdad limpia un pack descargado: deduplicación por hash de contenido al ingerir durante la importación del ZIP, no reparación de mallas ni un barrido manual.

guíaorganizaciónflujo de trabajo

Un pack de STL descargado suele ser el mismo proyecto dentro de un ZIP, unas cuantas variantes de placa y, de vez en cuando, un duplicado que ya te habías bajado antes. Es más fácil dejarlo en Descargas que ordenarlo, y la mayoría de las herramientas plantean la limpieza como reparación de mallas o como un barrido manual de duplicados. Ninguna de las dos es lo que limpia un pack de camino a la biblioteca.

El trabajo que de verdad se encarga de un pack descargado es una biblioteca que calcula el hash del contenido al ingerir y que te deja importar el propio archivo comprimido, de modo que el duplicado nunca llega a ser un segundo modelo y el pack entra ya organizado. PrintStash hace las dos cosas: importas el ZIP, eliges las entradas que quieres, y cada archivo extraído se hashea contra lo que ya tienes. Esa es toda la limpieza. El mismo STL que ya guardaste no llega dos veces.

Por qué hashear al ingerir es limpiar el pack

Limpiar el pack después significa apuntar una herramienta de deduplicación a los archivos una vez extraídos y decidir desde las rutas qué copias borrar. PrintStash se salta el paso de extraer antes. Subes el archivo comprimido, eliges las entradas entrantes que quieres quedarte, y cada una se hashea durante la ingesta. Volver a importar un modelo que ya tienes produce un modelo, no una segunda copia, porque la clave es el hash y no el nombre del archivo. Dos archivos con nombres distintos pero idénticos byte a byte resuelven en la misma entrada. Ese es el veredicto de duplicados que le pertenece a PrintStash: sha256 sobre los bytes, exacto para copias idénticas y ciego a las reexportaciones.

Lo único que el hashing de ingesta no hace es emparejar geometría. Una variante reescalada o reexportada llega como un modelo aparte, porque sus bytes difieren. Si además quieres cazar casi duplicados, la guía de usuario te da el número de triángulos y el volumen para compararlos a mano.

Importa el pack y deja que la estructura venga con él

La limpieza más rápida es no limpiar nada. Un pack de varias partes llega como archivo comprimido, y la estructura de carpetas de dentro suele ser la única organización que ese proyecto va a tener jamás. Sube el ZIP en lugar de extraer e importar los archivos sueltos. PrintStash convierte el archivo en una colección con su nombre, conserva las carpetas de dentro como subcolecciones y tú eliges qué archivos quedarte al extraer, en lugar de quedarte con las cuarenta variantes de placa. Eso está completo en organizar los STL según cómo llegan.

Salvo que te hayan enviado un único archivo, importar el pack como ZIP es la jugada. La importación de archivos comprimidos inspecciona las entradas, te deja elegir las que de verdad quieres e ingiere cada una como su propio modelo. La extracción a una carpeta temporal ocurre dentro de la importación, no como un paso manual, así que la comprobación de duplicados corre sobre los archivos en el momento en que aterrizan.

Casos de uso

Te bajas un pack grande y quieres fuera los duplicados. Importa el ZIP, salta las variantes que no necesitas y deja que el hash se coma cualquier cosa que ya tuvieras. Un modelo, no tres copias de la misma pieza.

Vuelves a bajar los mismos modelos de sitios distintos. La URL de descarga de hace dos años apenas existía. El pack de un amigo, el de un hilo y el que guardaste la semana pasada pueden contener los mismos bytes bajo nombres distintos. Al ingerir pasan a ser un solo modelo.

Tu biblioteca ya tiene miles de archivos y te da respeto el primer escaneo a escala. Esa preocupación es del escaneo de volúmenes compartidos, no de la importación de archivos. Una importación de pack solo hashea los archivos que elegiste para ese pack, así que sigue siendo barata. La guía de bibliotecas grandes cubre la diferencia de coste del escaneo.

Cuando un pack descargado no merece la pena importar

Importar es la jugada equivocada cuando esperas imprimir el modelo una vez y olvidarlo. Una lista de deseos pertenece al sitio donde la encontraste, donde viven las actualizaciones y la búsqueda. Importa el pack si vas a imprimir desde él otra vez; un one-off de vez en cuando puede quedarse en Descargas.

También hay un límite que conviene nombrar: los ZIP que están en una carpeta vigilada no se escanean en el sitio. Si guardas los packs comprimidos en disco y nunca los importas, su contenido queda invisible para el hash. Impórtalos o extráelos antes de indexar. La vía que hace el trabajo es la importación deliberada, no un escaneo de carpeta.

Preguntas que surgen

¿Importar un ZIP borra mi archivo descargado?

No. Importar lee el archivo y guarda los modelos en la biblioteca; no elimina el ZIP original ni extrae archivos a su lado. Puedes borrar la descarga después de importar si ya no la quieres, y no afectará a lo que hayas guardado.

¿En qué se diferencia de pasar un buscador de duplicados por Descargas?

Un buscador de duplicados lista las copias y te deja a ti la decisión. Es la herramienta adecuada para recuperar espacio en disco en toda una unidad. El hashing de la biblioteca elimina el paso entero: el duplicado nunca se guarda como segundo modelo, así que no hay nada que revisar. Esa es la diferencia entre limpiar una carpeta y no haber hecho nunca el lío.

¿Pillará un modelo que se reexportó o se reescaló?

No. La deduplicación es sobre los bytes del archivo, así que una reexportación, un reescalado o una conversión entre STL ASCII y binario llega como un modelo aparte. Nada compara la geometría. Si es lo que necesitas, ordena la exportación de metadatos por número de triángulos y por volumen e inspecciona los grupos a mano, como se explica en encontrar modelos 3D duplicados.

¿Qué cuenta como duplicado cuando el pack trae variantes de placa?

Solo cuentan los archivos idénticos byte a byte. Cuarenta variantes de placa son cuarenta mallas distintas, así que llegan como cuarenta modelos lo quieras o no. La pantalla de importación te deja elegir qué entradas del archivo quedarte, que es donde eliminas las variantes que no necesitas antes de que lleguen a la biblioteca.

Fuentes

  • Guía de usuario de PrintStash para la importación por URL y de archivos, y encontrar modelos 3D duplicados para el veredicto del hash de bytes y sus límites.
  • Código fuente del producto (v0.12.1): backend/app/services/importer.py para la inspección del archivo y la selección de entradas al importar, y backend/app/services/ingestion.py para el sha256 en streaming y la deduplicación sobre Model.hash.