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>
3.2 KiB
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é
- Première calibration: Utilisez
calibrate-advancedpour avoir une vue complète - Analysez les résultats - si des problèmes d'asymétrie sont détectés, vérifiez votre matériel
- Créez le profil avec les corrections calculées
- 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 |