Communitygithub.com

Pixel Print Kit

Transforme un pixel art ou un logo plat (PNG) en un kit 3D prêt à imprimer, multicolore – porte-clés, aimants, dessous de verre, plaques murales et carreaux – avec STL par couleur, 3MF multipièces, guide d'impression (correspondance des filaments, hauteurs de changement de couleur pour imprimantes mono-buse) et prévisualisations Blender photoréalistes.

Qu'est-ce que Pixel Print Kit ?

Pixel Print Kit est un outil conçu pour les modélistes 3D et les passionnés d'impression qui souhaitent transformer des pixel arts, des sprites, des emojis ou des logos simples en objets imprimables multicolores. Il analyse une image PNG, détecte la grille de pixels (ou pixelise une image normale), nettoie la palette de couleurs et génère des géométries étanches par couleur à l'aide de manifold3d. Le résultat inclut des fichiers STL individuels par couleur, un fichier 3MF multi-objets avec des pièces nommées par slot (01_noir, 02_...), un guide d'impression détaillant les hauteurs de changement de couleur pour les imprimantes mono-buse, ainsi qu'une prévisualisation plate et, en option, un rendu Blender photoréaliste (hero.jpg, top.jpg, vidéo tournante). L'outil gère plusieurs produits (porte-clés, aimant, dessous de verre, plaque, carreau) et deux styles d'impression : 'ams' pour les imprimantes multi-matériaux et 'swap' pour les mono-buses avec changements de filament. Il est compatible avec des plateformes comme Claude Code et tout environnement Python, et effectue des vérifications de qualité (aucune arête ouverte, aucun chevauchement) avant de fournir les fichiers.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/barissinall/pixel-print-kit/tree/HEAD/skills/pixel-print-kit

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Pixel Print Kit ?

Image en entrée, kit imprimable en sortie. Le script trouve la grille de pixels (ou pixelise une image normale), nettoie la palette, construit des géométries étanches par couleur avec manifold3d et vérifie le résultat comme le ferait un slicer.

Démarrage rapide

SKILL_DIR = le dossier contenant ce fichier (${CLAUDE_SKILL_DIR} quand disponible). Entourez les chemins de guillemets.

python "$SKILL_DIR/scripts/pixelkit.py" sprite.png                                   # 45 mm porte-clés, une pièce par couleur
python "$SKILL_DIR/scripts/pixelkit.py" sprite.png --produit aimant --style swap     # imprimante mono-buse
python "$SKILL_DIR/scripts/pixelkit.py" logo.png --pixels 32 --couleurs-max 4 --rendu # pixeliser un logo, ajouter des rendus

Première utilisation uniquement : python -m pip install manifold3d numpy pillow (le script affiche ceci si quelque chose manque).

Sortie dans pixelkit-out/<nom>/ : stl/ (un fichier par couleur), <nom>.3mf (un objet, une pièce par couleur, nommée 01_noir, 02_... dans l'ordre des slots), guide.md (filaments, réglages, hauteurs de changement de couleur), kit.json, preview.png (vérification des couleurs à plat), et avec --rendu : hero.jpg, top.jpg, turntable.mp4.

Choisir le produit et le style

l'utilisateur veutflags
porte-clés (par défaut)--produit porte-cles (45 mm, contour de 2.2 mm, trou pour anneau Ø4.2 mm)
aimant pour frigo--produit aimant (ajoute une poche pour un aimant 10x2 mm ; --aimant 8x3 pour changer)
dessous de verre--produit dessous-verre (95 mm rond)
plaque murale / panneau--produit plaque (rectangle arrondi de 120 mm)
juste l'art--produit carreau (pas de contour)
a un AMS / multi-matériaux--style ams (par défaut) : couleurs affleurantes, changements uniquement dans les couches supérieures
mono-buse, pas d'AMS--style swap : un corps, chaque couleur sur une hauteur ; le guide liste la couche pour chaque changement de filament

Utile : --taille 60 (taille extérieure finale, mm) · --ecart-grille 0.3 (rainures entre les pixels, très "pixel") · --relever 0.6 (ams : les couleurs dépassent) · --forme silhouette|rect|rond · --bordure 0 · --trou 0 · --position-trou gauche|centre|droite · --couleur-base "#hex" (couleur du contour) · --ordre "#a,#b,..." (swap : du bas vers le haut) · --couleurs-max 4 (adaptez aux slots AMS de l'utilisateur) · --garder-fond (le fond opaque fait partie de l'art).

Flux de travail

- [ ] exécuter pixelkit.py ; lire la console : taille de la grille, couleurs -> filaments, vérifications OK
- [ ] regarder preview.png : la palette est-elle correcte ? (couleurs anti-aliasing parasites -> augmenter --fusionner ou réduire --couleurs-max)
- [ ] taille du pixel >= 0.8 mm (un avertissement apparaît sinon -> plus grande --taille ou moins de --pixels)
- [ ] --rendu et lire hero.jpg / top.jpg avant de livrer
- [ ] informer l'utilisateur : dimensions, slots de filament, et pour swap les hauteurs de changement de couleur depuis guide.md

Les vérifications (arêtes ouvertes 0, chevauchement 0) doivent réussir ; le script se termine avec le code 2 dans le cas contraire. Ne transmettez jamais un kit défaillant.

Règles empiriques

  • Un vrai pixel art est meilleur qu'une photo pixelisée. Pour un logo, 24-40 pixels de large et 3-5 couleurs donnent le meilleur rendu.
  • Couleurs = filaments. Gardez --couleurs-max au niveau ou en dessous des slots AMS de l'utilisateur ; les noms PLA suggérés sont les correspondances les plus proches, demandez donc à l'utilisateur de comparer avec ses bobines.
  • Ordre swap : le plus foncé en bas fonctionne pour la plupart des œuvres (contour en premier). Les détails clairs en haut restent nets.
  • Petits pixels : les porte-clés de moins de 40 mm avec 32+ pixels donnent des détails fragiles ; augmentez la taille ou simplifiez l'art.
  • Pixel art de jeux/marques est la propriété intellectuelle d'autrui : acceptable pour des impressions personnelles, pas pour la vente.

Quand lire quoi

  • references/notes-impression.md - étapes du slicer (Bambu/Orca/Prusa), tolérances, aimants, dépannage.

Skills associés