En direct — s'exécute 100% dans votre navigateur

Simulateur de Code G CNC

Visualisez les trajectoires CNC en 3D, vérifiez la syntaxe du G-code, simulez le mouvement et analysez les temps de cycle en temps réel. G00 • G01 • G02 • G03 • G81 • G83

Éditeur G-Code

0/0
⚠️ COLLISION DÉTECTÉE — Simulation en pause
VUE
LIGNE 0 / 0 — PRÊT
00:00 / 00:000%
VITESSE1.0×
État de la machine
État
INACTIF
Pos X
0.000
Pos Y
0.000
Pos Z
0.000
Unités
mm (G21)
Mouvement
Code actif
Système coord.
G54
Avance programmée
0 mm/min
Avance effective
0 mm/min
Broche & Outil
RPM de broche
0
Direction
STOPPED
Outil actuel
T1
Arrosage
OFF
Progression
Ligne
0 / 0
Progression
0%
Écoulé
00:00
Restant
00:00
Distance parcourue
0 mm
Vitesse d'avance en fonction du temps
RPM de broche en fonction du temps
Position de l'axe Z en fonction du temps
Répartition du temps de cycle
Limites de la machine
Course X
Course Y
Course Z
Vitesses
Vitesse rapide (mm/min)
Actions

Guide d'utilisation interactif

Apprenez à charger des programmes, simuler le mouvement 3D et analyser les trajectoires CNC

1. Chargement et édition des programmes G-Code

Le simulateur de code G prend en charge la saisie manuelle de programmes ainsi que le téléchargement de fichiers depuis votre post-processeur CAO/FAO :

  • Ouvrir un fichier : Cliquez sur Open pour importer directement vos fichiers .nc, .gcode, .txt ou .tap depuis votre ordinateur.
  • Démos préchargées : Sélectionnez des exemples de programmes (Profile Cut, Circular Pocket, Drill Pattern, ou Arc Showcase) pour explorer instantanément les opérations standards.
  • Éditeur de texte interactif : Modifiez les commandes en direct avec une coloration syntaxique en temps réel pour les codes G (bleu), codes M (violet), coordonnées (vert), avances/vitesses (orange) et commentaires (gris).
  • Recherche et saut de ligne : Utilisez la barre de recherche pour localiser un bloc ou saisissez un numéro de ligne pour naviguer rapidement.
Conseil : Survolez n'importe quelle ligne de code G dans l'éditeur pour afficher les infobulles du Mode Apprentissage expliquant la syntaxe, le plan actif et le système d'unités.
2. Contrôles de la vue 3D et navigation visuelle

Explorez la scène d'usinage 3D grâce aux gestes de la souris ou du pavé tactile :

  • Rotation : Clic gauche et faites glisser pour pivoter autour de la pièce.
  • Déplacement (Pan) : Clic droit et glisser (ou Maj + Clic gauche) pour déplacer la caméra latéralement.
  • Zoom : Utilisez la molette de la souris pour inspecter les détails des trajectoires d'outils.
  • Vues prédéfinies : Basculez instantanément vers les vues Isométrique (ISO), Supérieure (XY), Face (XZ) ou Profil (YZ).
  • Options d'affichage : Activez ou désactivez la grille (), les axes de coordonnées (), ou la projection orthographique ().
3. Contrôle de la simulation et vitesse de lecture

Contrôlez l'animation pour inspecter les mouvements d'outils et vérifier les avances :

  • Lecture / Pause : Appuyez sur ou la touche Espace pour démarrer la simulation 3D.
  • Étape par étape : Cliquez sur (Avancer) ou (Reculer) pour exécuter le programme bloc par bloc.
  • Barre de progression : Déplacez le curseur pour accéder instantanément à n'importe quel moment du cycle.
  • Vitesse de lecture : Ajustez la vitesse de 0.1× à 5.0× pour accélérer la vérification ou ralentir l'analyse des arcs complexes.
4. Télémétrie en temps réel et graphiques

Suivez en direct les métriques d'usinage à travers trois onglets de contrôle :

  • Onglet En direct : Affiche les coordonnées actuelles de l'outil (X, Y, Z), les codes modaux actifs (G21, G90, G54), la vitesse de broche (RPM), le numéro d'outil (T1), la lubrification et le temps restant.
  • Onglet Graphiques : Génère des courbes en temps réel pour la Vitesse d'avance vs Temps, la Vitesse de broche vs Temps, le Profil de profondeur Z et la Répartition du temps de cycle.
  • Onglet Configuration : Ajustez les limites de course de la machine (Travel X, Y, Z) et la vitesse d'avance rapide maximale (rapidRate).
5. Bibliothèque d'outils et rapports d'inspection

Exportez les données de vérification pour la documentation de votre atelier :

  • Bibliothèque d'outils (🛠) : Configurez le diamètre, la longueur et le décalage Z jusqu'à 8 outils.
  • Export d'image PNG : Téléchargez une capture d'écran 3D haute résolution de la trajectoire d'outil.
  • Export de données CSV : Obtenez la liste complète des coordonnées, vitesses d'avance et horodatages.
  • Rapport d'inspection : Générez un rapport de vérification récapitulant les distances de coupe, les mouvements rapides, la durée totale et l'état des collisions.
Sultan Saudagar — Ingénieur Mécanique
Rédigé et vérifié par
Sultan SaudagarIngénieur Mécanique

Ingénieur mécanique spécialisé dans la fabrication CNC, la cinématique computationnelle, l'optimisation des trajectoires d'outils et les logiciels d'ingénierie interactifs.

Qu'est-ce qu'un simulateur de code G ?

Un simulateur de code G (ou simulateur code G) est un logiciel d'ingénierie assistée par ordinateur interactif conçu pour analyser, interpréter, rendre et vérifier les programmes de machines à commande numérique (CN) dans un environnement virtuel 3D avant toute exécution réelle. En interprétant ligne par ligne les blocs de code G normalisés (ISO 6983 / RS-274D), notre simulateur de code G en ligne calcule les trajectoires spatiales 3D, interpôle les parcours de coupe linéaires et circulaires, évalue les vitesses d'avance et de broche, estime le temps de cycle global et détecte les collisions potentielles—directement dans votre navigateur web, sans aucune installation de logiciel CAO/FAO complexe.

Dans le domaine de la fabrication de précision, les fraiseuses, tours, routeurs et imprimantes 3D CNC dépendent entièrement du G-code pour piloter les axes orthogonaux (X, Y, Z) et rotatifs (A, B, C). Exécuter un programme G-code non vérifié sur une fraiseuse industrielle présente de graves risques physiques et financiers : une simple erreur de syntaxe, un point décimal manquant ou une mauvaise définition de l'origine pièce (G54) peut provoquer une collision catastrophique de la broche, briser des outils en carbure ou endommager gravement l'équipement. L'utilisation d'un simulateur de code G garantit une sécurité optimale, préserve l'outillage et évite des réparations coûteuses.

Exemple d'usinage CNC concrétisé : Considérez un centre de usinage vertical 3 axes fraisant un support en aluminium 6061-T6. Le logiciel FAO génère un fichier de trajectoire définissant une fraise 2 lèvres de Ø10 mm tournant à une vitesse de broche S = 4000 tr/min, avec une avance F = 800 mm/min et une profondeur de passe axiale a_p = 2,0 mm. En collant le programme dans ce simulateur de code G, vous observez instantanément le parcours 3D de l'outil, vérifiez que les déplacements rapides (G00) dégagent parfaitement les brides de serrage, et confirmez que la durée totale de l'usinage est exactement de 3 minutes et 42 secondes avant d'appuyer sur le bouton de départ cycle.

Comment fonctionne le moteur du simulateur de code G ?

Le moteur de rendu principal de ce 3D simulateur de code G fonctionne comme un interpréteur numérique déterministe et un solveur cinématique spatial en temps réel. Lorsqu'un fichier texte G-code est chargé dans l'éditeur, le moteur exécute une chaîne de traitement multi-étapes :

  • Analyse lexicale et syntaxique : L'analyseur parcourt chaque bloc, élimine les commentaires (entre parenthèses () ou après point-virgule ;), isole les lettres d'adresse (G, M, X, Y, Z, F, S, I, J, K, T) et convertit les valeurs numériques en variables à haute précision.
  • Gestionnaire d'état modal : Les contrôleurs CNC fonctionnent par états. Le simulateur conserve un état modal actif pour l'unité (Métrique G21 vs Impérial G20), le mode de programmation (Absolu G90 vs Incrémental G91), le code de mouvement actif (G00, G01, G02, G03), le plan de travail (G17 XY, G18 ZX, G19 YZ), l'origine pièce (G54 à G59), ainsi que l'état de la broche (M03, M04, M05) et du lubrifiant.
  • Interpolation de trajectoires et d'arcs 3D : Pour les déplacements linéaires (G00, G01), le moteur calcule les vecteurs de déplacement euclidiens (Δx, Δy, Δz). Pour les arcs de cercle (G02, G03), il détermine les coordonnées du centre avec les vecteurs I, J, K ou le rayon R, calcule les angles et découpe la courbe en segments sub-millimétriques pour un rendu 3D WebGL fluide.
  • Calcul cinématique du temps : Le simulateur évalue la durée de chaque déplacement en divisant la distance par la vitesse d'avance F programmée pour les coupes (G01), ou en utilisant la vitesse rapide maximale de la machine pour les déplacements G00.
  • Détection de collision et d'immersion : Le moteur vérifie en permanence si la pointe de l'outil dépasse les limites de course de la machine (limX, limY, limZ) ou si un déplacement rapide G00 pénètre dans la matière brute sous le niveau Z zéro, déclenchant ainsi une alerte visuelle immédiate.

Guide de référence des commandes G-Code et M-Code

Une compréhension approfondie de la syntaxe des codes G et M est essentielle pour la préparation du travail et le débuggage des programmes CNC :

CommandeClassificationStatut ModalFonction Standard & DescriptionExemple d'utilisation
G00MouvementModalPositionnement rapide linéaire : Déplace les axes à la vitesse maximale de la machine vers les coordonnées cibles. Utilisé hors matière.G00 X50.0 Y25.0 Z5.0
G01MouvementModalInterpolation linéaire de travail : Déplace l'outil en ligne droite à la vitesse d'avance F programmée. Utilisé pour le fraisage et le contournage.G01 Z-2.0 F250
G02MouvementModalInterpolation circulaire horaire (CW) : Réalise un arc de cercle dans le sens horaire selon le plan actif (G17/G18/G19) avec le centre I,J,K ou le rayon R.G02 X20.0 Y10.0 I10.0 J0 F500
G03MouvementModalInterpolation circulaire anti-horaire (CCW) : Réalise un arc de cercle dans le sens anti-horaire à la vitesse d'avance F.G03 X0.0 Y20.0 R10.0 F500
G17Sélection de planModalSélectionne le plan XY pour l'interpolation circulaire (G02/G03) et la compensation de rayon d'outil (G41/G42). Standard en fraisage 3 axes.G17
G18Sélection de planModalSélectionne le plan ZX pour l'interpolation circulaire. Plan standard pour le tournage CNC.G18
G19Sélection de planModalSélectionne le plan YZ pour l'interpolation circulaire.G19
G20Système d'unitésModalDéfinit le système d'unités en pouces (coordonnées et avances exprimées en pouces et pouces/min).G20
G21Système d'unitésModalDéfinit le système d'unités en millimètres (coordonnées en mm, avances en mm/min). Standard international.G21
G90Mode de positionnementModalMode absolu : Toutes les coordonnées X, Y, Z sont référencées par rapport à l'origine du système de coordonnées pièce (G54).G90
G91Mode de positionnementModalMode incrémental : Les coordonnées indiquent un déplacement relatif depuis la position actuelle de l'outil.G91 G01 Z-1.0 F100
G54 - G59Origine pièceModalOrigines pièces (WCS 1 à 6) : Définit le point zéro de référence sur le montage de la pièce.G54
M03Contrôle brocheNon-modalDémarrage broche sens horaire : Fait tourner la broche dans le sens horaire à la vitesse S programmée.M03 S3500
M04Contrôle brocheNon-modalDémarrage broche sens anti-horaire : Utilisé pour le taraudage à gauche ou certains outils spéciaux.M04 S500
M05Contrôle brocheNon-modalArrêt de la broche : Stoppe la rotation. Toujours exécuté avant un changement d'outil.M05
M06Changement d'outilNon-modalChangement automatique d'outil (ATC) : Ordonne le remplacement de l'outil actif par le numéro T spécifié.T2 M06
M08 / M09LubrificationNon-modalM08 active l'arrosage de coupe ; M09 désactive les pompes de lubrification.M08 / M09
M30Fin de programmeNon-modalFin de programme et réinitialisation : Stoppe la broche, coupe l'arrosage et remet le pointeur au bloc 1.M30

Paramètres de sortie et télémétrie d'usinage

Notre simulateur de code G calcule en temps réel 12 paramètres de sortie offrant un retour analytique complet sur la géométrie et la productivité :

  • État de la machine (IDLE / RUNNING / PAUSED / COLLISION) : Affiche le statut d'exécution du système.
  • Position actuelle (X, Y, Z) : Coordonnées spatiales en direct de la pointe de l'outil dans l'origine WCS active.
  • Vitesse d'avance programmée vs effective : Avance programmée F versus vitesse vectorielle réelle calculée.
  • Vitesse et sens de broche : Vitesse de rotation réelle (RPM S) et sens de rotation (CW / CCW / STOPPED).
  • Distance de coupe (L_cut) : Distance totale cumulée parcourue pendant les déplacements d'usinage matière (G01, G02, G03) en mm.
  • Distance rapide (L_rapid) : Distance totale parcourue lors des déplacements rapides hors matière (G00) en mm.
  • Débit de retrait matière (MRR) : Volume de matière enlevé par unité de temps (cm³/min).
  • Temps de cycle écoulé (t_elapsed) : Temps réel écoulé depuis le début de la simulation au format MM:SS.
  • Temps restant estimé (t_rem) : Durée projetée pour achever les blocs de G-code restants.
  • Enveloppe de travail (X_range, Y_range, Z_range) : Dimensions maximales balayées par l'outil, indispensables pour vérifier l'encombrement.

Formules et équations d'usinage CNC

Voici le cadre mathématique régissant la cinématique de coupe et les exigences de puissance appliqués dans ce simulateur de code G :

1. Distance euclidienne 3D et durée de ligne droite

La distance spatiale en ligne droite Δd entre les coordonnées de départ (x1, y1, z1) et d'arrivée (x2, y2, z2) s'exprime par :

Δd = √((x2 - x1)² + (y2 - y1)² + (z2 - z1)²)   [mm]

Pour un mouvement de coupe (G01) à la vitesse d'avance F (mm/min), la durée du déplacement t_move est :

t_move = (Δd / F) × 60   [secondes]

2. Rayon d'arc circulaire et longueur d'arc

Pour un arc circulaire (G02/G03) dans le plan XY avec les décalages de centre I, J depuis le point initial (x1, y1) :

Coordonnées du centre d'arc : x_c = x1 + I,  y_c = y1 + J
Rayon d'arc calculé : R = √(I² + J²)   [mm]

L'angle de balayage d'arc Δθ et la longueur totale d'arc S_arc sont donnés par :

Δθ = θ_fin - θ_départ   [radians]
S_arc = R × |Δθ|   [mm]

3. Vitesse de coupe superficielle (Vc)

La vitesse de coupe Vc représente la vitesse linéaire de l'arête de coupe par rapport à la pièce :

Vc = (π × D × N) / 1000   [m/min]

Où D est le diamètre de l'outil en mm et N est la vitesse de rotation en tr/min (RPM). Pour trouver la vitesse N nécessaire :

N = (1000 × Vc) / (π × D)   [tr/min]

4. Avance par dent / Épaisseur de copeau (fz)

L'avance par dent fz représente l'épaisseur de matière enlevée par chaque arête de coupe :

fz = F / (N × z)   [mm/dent]

Où F est la vitesse d'avance de la table (mm/min), N la vitesse de broche (tr/min), et z le nombre de dents de la fraise.

5. Débit de matière enlevée (MRR)

Le débit volumétrique de matière enlevée lors du fraisage est défini par :

MRR = (a_p × a_e × F) / 1000   [cm³/min]

Où a_p est la profondeur de passe axiale (mm), a_e la largeur de passe radiale (mm), et F la vitesse d'avance (mm/min).

6. Puissance nette de coupe (Pc) et couple de broche (Mc)

La puissance nette nécessaire à l'outil Pc dépend du MRR et de l'énergie spécifique de coupe du matériau kc (N/mm²) :

Pc = (MRR × kc) / (60 × 10&sup6; × η)   [kW]

Où η ≈ 0,80 - 0,88 représente le rendement de transmission de la machine. Le couple de broche Mc associé est :

Mc = (9550 × Pc) / N   [N·m]

7. Rugosité théorique de surface (Ra)

Pour le fraisage à bout sphérique ou le tournage avec un rayon de bec r_eps (mm) et une avance fz (mm) :

Ra ≈ (fz² / (32 × r_eps)) × 1000   [μm]

8. Temps de cycle total d'un programme d'usinage

La durée totale d'exécution T_total additionne tous les mouvements d'usinage, déplacements rapides, changements d'outils et temporisations :

T_total = ∑ (L_cut / F) + ∑ (L_rapid / F_rapid) + (n_outils × t_ATC) + ∑ t_temporisation   [min]

Physique et cinématique de la coupe des métaux CNC

La coupe des métaux sur une fraiseuse CNC est un processus de déformation plastique intense. Lorsque la dent engagée pénètre dans la matière, le métal est cisallé le long de la zone de cisaillement primaire selon un angle φ, formant des copeaux continus ou fragmentés.

Le vecteur de force de coupe total agissant sur l'outil se décompose en trois composantes orthogonales :

  • Force de coupe tangentielle (Fc) : Agit parallèlement à la vitesse de coupe Vc. Elle détermine le couple de broche (Mc = Fc · D / 2000) et la consommation d'énergie.
  • Force d'avance (Ff) : Agit parallèlement au sens d'avance de l'outil. Elle s'applique directement sur les vis à billes et les guides linéaires des axes.
  • Force de poussée radiale (Fp) : Repousse l'outil hors de la pièce. Elle provoque la flexion élastique de l'outil (δ = Fp · L³ / (3 E I)), entraînant des écarts dimensionnels et des bruits de broutement.

Applications industrielles de la simulation de code G

La validation virtuelle dans un simulateur de code G est une pratique courante dans les grands secteurs de la fabrication :

  • Aéronautique : Usinage 5 axes de pièces monolithiques en titane ou en aluminium pour structures d'aéronefs où la matière brute coûte très cher.
  • Automobile : Production en grande série de blocs moteurs et de carters où l'optimisation des temps de cycle procure des gains financiers colossaux.
  • Outillage & Moules : Usinage de formes complexes en 3D dans des aciers traités (55–60 HRC) nécessitant des parcours sans fausse note durant des dizaines d'heures.
  • Médical : Micro-fraisage de prothèses orthopédiques et d'implants dentaires en titane.

Tableaux de référence en ingénierie

Vitesses de coupe recommandées (Vc) et avances par dent (fz) pour fraises monobloc en carbure

Matériau de la pièceDuretéVitesse de coupe Vc (m/min)Avance / dent fz (Outil Ø6mm)Avance / dent fz (Outil Ø12mm)Énergie spécifique kc (N/mm²)
Aluminium 6061-T6 / 7075-T695 HB300 – 9000.04 mm0.09 mm700
Acier à moyenne teneur en carbone (C45)180 HB120 – 2200.03 mm0.06 mm1,800
Acier allié (42CrMo4)320 HB90 – 1600.025 mm0.05 mm2,100
Acier inoxydable 316L (Austénitique)200 HB70 – 1300.02 mm0.045 mm2,400
Alliage de Titane (Ti-6Al-4V)36 HRC40 – 800.018 mm0.04 mm2,800
Laiton de décolletage (CuZn39Pb3)120 HB250 – 6000.04 mm0.08 mm750

Erreurs courantes de programmation en G-Code et risques de collision

  1. Plongée rapide dans la matière (G00 Z négatif) : Effectuer un mouvement rapide G00 directement dans le matériau au lieu d'avancer en G01 à vitesse contrôlée. Solution : Toujours positionner l'outil en rapide au-dessus de la pièce (Z+5.0 mm) avant de passer en G01.
  2. Omission de la vitesse d'avance (F) : Appeler un code de coupe (G01, G02, G03) sans définir la vitesse d'avance F. Solution : Indiquer toujours F sur la première ligne de travail.
  3. Incompatibilité de plan d'arc (G17 vs I, J, K) : Programmer un arc circulaire (G02/G03) en utilisant I, J alors qu'un mauvais plan (G18 ou G19) est actif. Solution : Appeler explicitement G17 avant les mouvements circulaires XY.
  4. Confusion entre Absolu (G90) et Incrémental (G91) : Oublier que le mode incrémental est actif et saisir des coordonnées absolues, déroutant totalement l'outil. Solution : Inclure systématiquement G90 dans le bloc de sécurité initial.
  5. Omission de la jauge outil (G43 H#) : Oublier d'activer la compensation de longueur d'outil après un changement d'outil, provoquant un crash sur l'axe Z. Solution : Placer G43 H# Z50.0 immédiatement après chaque M06.

Foire aux questions (FAQ) sur le simulateur de code G

À quoi sert un simulateur de code G ?

Un simulateur de code G sert à analyser, visualiser et vérifier les programmes de machines CNC dans un environnement 3D avant l'usinage réel. Il permet de contrôler les trajectoires, les vitesses d'avance, d'estimer les temps de cycle et de détecter les collisions d'outils.

Comment le simulateur de code G 3D détecte-t-il les collisions ?

Le simulateur de code G suit la position exacte de la pointe de l'outil par rapport aux limites de la machine et au brut. Si un mouvement rapide (G00) pénètre dans la matière ou si un axe dépasse sa course maximale, une alerte visuelle est déclenchée.

Quelle est la différence entre G00 et G01 ?

G00 est un mouvement rapide à la vitesse maximale de la machine utilisé hors matière. G01 est un mouvement de coupe linéaire contrôlé à une vitesse d'avance F programmée (mm/min).

Comment sont programmés les arcs de cercle avec G02 et G03 ?

G02 réalise un arc circulaire dans le sens horaire, et G03 dans le sens anti-horaire. La géométrie est définie soit par le centre de l'arc (I, J, K), soit par la valeur du rayon R.

Que signifient G20 et G21 en G-code ?

G20 définit l'unité de mesure en pouces, tandis que G21 définit le système en millimètres (mm). Il est indispensable de définir le système d'unités dès le début du programme.

Ce simulateur nécessite-t-il une installation ?

Non. Ce simulateur de code G fonctionne entièrement dans votre navigateur web moderne à l'aide de technologies JavaScript et HTML5 Canvas / WebGL. Aucune installation ni plugin n'est requis.

Références et lectures complémentaires

  • Smid, P. (2008). CNC Programming Handbook (3rd ed.). Industrial Press Inc.
  • Groover, M. P. (2019). Fundamentals of Modern Manufacturing: Materials, Processes, and Systems (7th ed.). Wiley.
  • Norme ISO 6983-1:2009. Systèmes d'automatisation industrielle et intégration — Commande numérique des machines — Format de programme et définitions des mots d'adresse. ISO.

Outils de simulation d'ingénierie connexes

Découvrez d'autres simulateurs gratuits en ligne de mécanique et de dynamique des fluides

L'analyse du G-code, la planification de mouvement et le rendu 3D s'exécutent localement dans votre navigateur.