Files
imp3d_corrector/README.md
Augustin a57721216b Initial commit: IMP3D Corrector - XYZ correction for 3D printers
Features:
- G-code parser for movement commands
- XYZ corrector with skew, scale, offset, and rotation
- Simple calibration (1 square) and advanced calibration (5 squares)
- Multi-point measurement analysis
- Profile management (create, edit, delete, list)
- CLI interface with interactive calibration

Generated with Crush

Assisted-by: GLM-5 via Crush <crush@charm.land>
2026-02-20 14:12:11 +01:00

3.2 KiB

IMP3D Corrector

Correction de plan XYZ pour imprimantes 3D avec problèmes de calibration.

Problèmes résolus

  • Skew X-Y: Axes X et Y non perpendiculaires
  • Erreurs d'échelle: Dimensions incorrectes sur les bords
  • Décalage d'origine: Position zéro mal alignée
  • Rotation du plateau: Léger angle du plateau
  • Asymétries: Différences de dimensions selon la position

Installation

python -m venv .venv
.venv/bin/pip install -e .

Utilisation

Calibration simple (1 carré)

Pour une calibration rapide:

# Générer le G-code de calibration
imp3d-corrector calibrate -w 220 -d 220 -o calibration.gcode

# Imprimer, mesurer, puis créer le profil
imp3d-corrector create ma_printer

Calibration avancée (5 carrés) - RECOMMANDÉE

Pour une calibration précise avec détection des problèmes:

# 1. Générer le G-code avec 5 carrés (coins + centre)
imp3d-corrector calibrate-advanced -w 220 -d 220 -o calibration_advanced.gcode

# 2. Imprimer le fichier

# 3. Mesurer chaque carré et créer le profil
imp3d-corrector create-advanced ma_printer

Le système analysera:

  • Échelle moyenne (compensation globale)
  • Skew (angle entre X et Y)
  • Asymétrie (différence gauche/droite, haut/bas)
  • Variance (uniformité des dimensions sur le plateau)

Analyser sans créer de profil

imp3d-corrector analyze

Appliquer les corrections

imp3d-corrector correct mon_fichier.gcode -p ma_printer -o fichier_corrigé.gcode

Gestion des profils

# Lister les profils
imp3d-corrector list

# Afficher un profil
imp3d-corrector show ma_printer

# Modifier un profil
imp3d-corrector edit ma_printer

# Supprimer un profil
imp3d-corrector delete ma_printer

Structure du projet

imp3d_corrector/
├── cli.py                       # Interface en ligne de commande
├── config/
│   └── profile_manager.py       # Gestion des profils
└── core/
    ├── corrector.py             # Logique de correction XYZ
    ├── gcode_parser.py          # Parser G-code
    └── advanced_calibration.py  # Calibration multi-points

Workflow recommandé

  1. Première calibration: Utilisez calibrate-advanced pour avoir une vue complète
  2. Analysez les résultats - si des problèmes d'asymétrie sont détectés, vérifiez votre matériel
  3. Créez le profil avec les corrections calculées
  4. Testez avec un carré simple pour valider

Exemple de configuration YAML

Les profils sont stockés dans ~/.config/imp3d_corrector/profiles/:

name: ma_printer
skew_xy: 0.5
offset_x: 0.0
offset_y: 0.0
scale_x: 1.002
scale_y: 0.998
rotation: 0.0
bed_width: 220.0
bed_depth: 220.0

Interprétation des résultats

Problème détecté Cause probable Solution
Skew élevé Axes non perpendiculaires Ajustement mécanique ou compensation logicielle
Asymétrie X Courroie X détendue d'un côté Vérifier la tension de courroie
Asymétrie Y Courroie Y détendue d'un côté Vérifier la tension de courroie
Variance élevée Problème de linéarité Vérifier les rails/roulements