La programmation CNC consiste à créer un ensemble d’instructions détaillées à suivre par une machine CNC pour fabriquer une pièce ou un produit spécifique. Ces instructions indiquent exactement à la machine ce qu’elle doit faire : comment se déplacer, quand se déplacer et quel chemin suivre.

Quels sont les types de programmation CNC ?
Il existe principalement deux types de programmation CNC : a) Programmation manuelle : écriture du code à la main b) Fabrication assistée par ordinateur (FAO) : utilisation d’un logiciel pour générer le code.
Il existe également plusieurs autres méthodes qui offrent des avantages uniques en fonction de la complexité et des exigences de la tâche. Ces méthodes supplémentaires incluent la programmation macro, les cycles prédéfinis, la programmation graphique, etc. Explorons ces méthodes en détail :
Méthode | Description | Exemple |
---|---|---|
Programmation manuelle du code G | Méthode traditionnelle où les instructions en code G et en code M sont écrites ligne par ligne. Offre un contrôle et une flexibilité maximum pour les pièces complexes. | G90 G54 G00 X0 Y0 Z50 G01 Z-5 F100 X100 Y100 G00 Z50 M30 |
FAO (Fabrication Assistée par Ordinateur) | Programmes CNC générés par logiciel à partir de modèles 3D ou de dessins 2D. S’intègre à la CAO pour un flux de travail transparent de la conception à la fabrication. | Exemples de logiciels : Mastercam, Fusion 360, SolidCAM |
Programmation macro | Utilise des variables et une logique pour un code flexible et réutilisable. Réduit la longueur du programme pour les tâches répétitives. | #1=10 (dimension X) #2=20 (dimension Y) G90 G00 X0 Y0 G01 X#1 F100 Y#2 M99 |
Cycles en conserve | Routines préprogrammées pour des opérations telles que le perçage. Simplifie la programmation en utilisant une seule commande pour des actions complexes. | G81 X10 Y10 Z-10 R3 F100 (Cycle de perçage) |
Programmation graphique | Utilise une interface graphique pour définir la géométrie et les parcours d’outils. Plus simple pour ceux qui ont une expérience limitée du G-code. Disponible sur certains contrôleurs comme option alternative. | N / A |
Programmation hors ligne | Les programmes sont créés en dehors de la machine à l’aide d’un logiciel, ce qui permet une simulation sans temps d’arrêt de la machine. Combine les techniques CAO/FAO et manuelles. | N / A |
Enseigner la programmation | Implique le déplacement manuel de la machine pour enregistrer les positions, couramment utilisé en robotique mais également applicable dans certaines configurations CNC. | N / A |
APT (Outil de programmation automatique) | Un ancien langage de haut niveau utilisé dans l’aérospatiale et la fabrication de pointe. | PARTNO / EXEMPLE GOTO / 10, 20, -5 GODLTA / 5, 5, 0 FINI |
Langages de programmation personnalisés | Langages propriétaires développés par les fabricants, comme la programmation conversationnelle de Heidenhain ou Mazatrol de Mazak. | N / A |
Génération de G-code à partir de feuilles de calcul | Génération de code G paramétrique à l’aide d’un logiciel comme Excel. Utile pour les opérations répétitives ou la création de pièces similaires. | N / A |
Quels sont les différents types de codes utilisés dans la programmation CNC ?
Les types de codes courants dans la programmation CNC sont les codes D, les codes F, les codes G, les codes M, les codes N, les codes S et les codes T. Les codes D gèrent la compensation d’outil, les codes F contrôlent la vitesse d’avance et les codes G gèrent les mouvements de la machine. Les codes M supervisent les fonctions auxiliaires comme la broche et le liquide de refroidissement, les codes N numérotent les lignes de programme, les codes S définissent la vitesse de broche et les codes T gèrent la sélection et les changements d’outils.
Type de code | Description | Exemple |
---|---|---|
Codes D (codes de compensation du diamètre/rayon de l’outil) | Utilisé pour la compensation du diamètre ou du rayon de l’outil, principalement dans le fraisage CNC. Assure des dimensions précises en compensant la taille de l’outil. | D01 (Sélectionner le décalage d’outil 1) G41 D01 (Activer la compensation de fraise à gauche en utilisant le décalage 1) |
Codes F (codes de débit d’alimentation) | spécifier la vitesse à laquelle l’outil de coupe se déplace dans le matériau. | F100 (Régler le taux d’alimentation à 100 unités par minute) |
G-codes (codes préparatoires) | Contrôle les opérations de la machine telles que les mouvements rapides, les avances contrôlées et les cycles prédéfinis. | G00 (Positionnement rapide) G01 (Interpolation linéaire) G02 (Interpolation circulaire CW) G03 (Interpolation circulaire CCW) |
Codes M (codes divers) | Contrôle les fonctions auxiliaires de la machine telles que le contrôle de la broche, les changements d’outils, le liquide de refroidissement et le flux de programme. | M03 (Broche en sens horaire) M05 (Arrêt de la broche) M06 (Changement d’outil) M30 (Fin de programme et rembobinage) |
N-codes (numéros de séquence) | Numérote les lignes de code pour organiser le programme et permettre une référence facile à des parties spécifiques. Souvent facultatif dans les programmes CNC modernes. | N10-G00-X0-Y0-Z50 N20-G01-X100-F200 |
Codes S (codes de vitesse de broche) | Définit la vitesse de la broche en tr/min, déterminant la vitesse de rotation de la broche, ce qui est important pour des vitesses de coupe appropriées. | S1000 (régler la vitesse de la broche à 1000 tr/min) |
Codes T (codes de sélection d’outils) | Sélectionne un outil spécifique dans le magasin d’outils ou la tourelle de la machine et se prépare à un changement d’outil. | T01 M06 (Sélectionnez l’outil 1 et passez à celui-ci) |
Il existe quelques autres types de codes qui sont parfois utilisés dans la programmation CNC, bien qu’ils soient moins courants ou spécifiques à une machine. Il s’agit notamment de :
Type de code | Description | Exemple |
---|---|---|
Codes P | Souvent utilisé pour le temps de maintien dans les cycles prédéfinis ou comme paramètres dans certains cycles personnalisés. Peut également représenter d’autres valeurs en fonction du code G spécifique utilisé. | G04 P1000 (Temps de 1 seconde) <br> G10 L2 P1 X0 Y0 Z0 (Définition du décalage de travail pour G54) |
Codes Q | Utilisé dans certains cycles prédéfinis, souvent pour spécifier une profondeur de coupe ou une profondeur incrémentielle par passe. La signification exacte peut varier en fonction du cycle. | G73 X10 Y10 Z-10 R3 Q2 F100 (Cycle de perçage avec profondeur de perçage de 2 mm) |
Codes R | Peut être utilisé pour le rayon d’arc dans une interpolation circulaire ou comme paramètre dans des cycles fixes. Représente souvent un plan de rétraction ou un point de référence. | G02 X50 Y0 R25 F200 (Interpolation circulaire avec rayon de 25 mm) <br> G81 X10 Y10 Z-10 R3 F100 (Cycle de perçage avec R3 comme plan de retrait) |
Codes I, J, K | Utilisé pour spécifier les points centraux de l’arc dans une interpolation circulaire. I correspond à l’axe X, J à l’axe Y et K à l’axe Z. | G02 X50 Y50 I25 J0 F200 (Interpolation circulaire avec point central) |
Codes L | Parfois utilisé pour les compteurs de boucles dans les cycles prédéfinis ou pour spécifier le nombre de répétitions d’une opération. | G73 X10 Y10 Z-10 R3 Q2 F100 L5 (Cycle de perçage par peck répété 5 fois) |
Notez que l’utilisation et la signification exactes de ces codes peuvent varier en fonction du système de contrôle CNC spécifique et du contexte dans lequel ils sont utilisés. Reportez-vous toujours au manuel de programmation de votre machine pour obtenir les informations les plus précises.
Comment débuter avec la programmation CNC ? Conseils pour les débutants
Pour commencer à programmer des machines CNC, vous devez d’abord comprendre les bases des machines CNC, leurs composants et le système de coordonnées. Apprenez les codes G et M essentiels, entraînez-vous à lire des dessins techniques et améliorez vos compétences mathématiques, notamment en géométrie et en trigonométrie. Acquérez une expérience pratique avec une machine CNC ou un logiciel de simulation comme Fusion 360 ou CNC Simulator Pro. Familiarisez-vous avec les logiciels de CAO/FAO, en commençant par des outils adaptés aux débutants. Suivez des cours, rejoignez des communautés CNC et entraînez-vous régulièrement en commençant par des projets simples. Apprenez-en plus sur la sélection des outils, l’entretien des machines et restez informé des tendances du secteur. Progressez progressivement et acceptez les erreurs comme faisant partie du processus d’apprentissage.
Voici un programme G-code simple pour vous aider à démarrer :
O1000 (Programme carré simple)
N10 G90 G54 G00 X0 Y0 Z50 (Positionnement absolu, décalage de travail, déplacement rapide vers le début)
N20 T01 M06 (Changement d’outil vers l’outil 1)
N30 S1000 M03 (Réglage de la vitesse de broche et démarrage de la broche dans le sens horaire)
N40 G00 X0 Y0 (Déplacement rapide vers X0 Y0)
N50 G01 Z-5 F100 (Déplacement linéaire vers Z-5 à une vitesse d’avance de 100)
N60 X100 (Déplacement vers X100 ) N70
Y100 (Déplacement vers Y100)
N80 X0 (Déplacement vers X0)
N90 Y0 (Déplacement vers Y0)
N100 G00 Z50 (Déplacement rapide vers Z50)
N110 M30 (Fin de programme)
Ce programme découpera un carré simple. Au fur et à mesure de votre progression, vous pourrez modifier et développer cette structure de base pour créer des formes et des opérations plus complexes.
Logiciels de programmation CNC utiles pour les programmeurs CNC
Lors du choix d’un logiciel CNC, tenez compte de votre niveau de compétence, du type de machine que vous utilisez, de votre budget et de la compatibilité avec votre système d’exploitation. Il est également important d’adapter le logiciel aux besoins spécifiques de votre projet. Les débutants peuvent commencer par des options conviviales comme Fusion 360, qui combine la CAO et la FAO, puis passer à des outils plus spécialisés à mesure qu’ils progressent.
Décomposons cela en catégories pour vous donner un aperçu complet des outils disponibles :
- Logiciel de CAO (Conception Assistée par Ordinateur) :
- Autodesk Fusion 360 (populaire pour les débutants et les professionnels)
- SolidWorks
- AutoCAD
- Inventeur
- FreeCAD (open source)
- OnShape (basé sur le cloud)
- Rhino 3D
- Logiciel FAO (Fabrication Assistée par Ordinateur) :
- Mastercam
- Fusion 360 (inclut la fonctionnalité CAM)
- SolidCAM
- Travaux HSM
- Vectric Aspire
- CamBam
- FonctionnalitéCAM
- Logiciel CAO/FAO intégré :
- Fusion 360
- Caméra NX
- CATIA
- Créo
- Éditeurs et visualiseurs de G-code :
- Notepad++ (avec plugin de surbrillance de la syntaxe G-code)
- Éditeur de syntaxe CNC
- NCViewer.com (visualiseur de code G en ligne)
- Visionneuse et analyseur de code G
- Simulateurs CNC :
- Simulateur CNC Pro
- Vericut
- iMachining de SolidCAM
- CIMCO Edit (inclut la simulation)
- Logiciel d’optimisation de trajectoire d’outil :
- Travaux de machines
- ModuleWorks
- SprutCAM
- Logiciel de contrôle de machine CNC :
- Mach3/Mach4
- LinuxCNC (open source)
- UCCNC
- Logiciel CNC spécialisé :
- BobCAD-CAM (pour le fraisage, le tournage, l’électroérosion à fil)
- Technologie DP ESPRIT (pour usinage multi-axes)
- hyperMILL (pour l’usinage 5 axes)
- Logiciel de mesure et d’inspection :
- PC-DMIS
- Calypso
- PolyWorks
- Gestion de projet et documentation :
- Trello (pour la gestion de projet)
- Evernote ou OneNote (pour la documentation)
- GitHub (pour le contrôle des versions de vos programmes CNC)
- Logiciel d’apprentissage et de formation :
- CNCSimulator.com (plateforme d’apprentissage en ligne)
- Édition étudiante Siemens NX
- Académie de conception d’Autodesk
- Applications mobiles :
- Calculatrice d’usinage CNC Pro
- Visionneuse GCode
- Calculateur iMachining