GCODE-perçage paramétré

premier exemple simple d’utilisation de paramètres pour créer des modules d’usinage paramétrés ; le cas d’un perçage avec cycle de débourrage.

le perçage avec débourrage consiste a percer non pas en une seule course de descente du foret mais a faire des incréments de passes avec retrait du foret pour “débourrer” les copeaux qui s’accumulent dans le trou d’où le nom de cycle de “débourrage”.

nous allons faire un cycle de perçage parametré avec débourrage paramétré.

petit croquis pour schématiser l’objectif du programme avec les variables qui seront utilisées, la piece (cadre rouge) est vue du dessus , l’origine piece est fixée dans le coin en bas a gauche, le plan Z zero est fixé sur le dessus de la pièce:

le cycle de perçage sera le suivant :

  1. positionnement au point (0,0,20)
  2. déplacement rapide au point de perçage (#1,#2,20)
  3. descente vitesse travail a Z=0
  4. passage en mode relatif pour pouvoir faire des boucles a parametres identiques
  5. initialisation d’une variabl#3 a 1pour incrémenter un compteur de nbre de cycle pour calculer/incrémenter  la profondeur de débourrage [ #3 x #33]. la variable #33 est calculée en divisant la profondeur finale #11 par le nombre de débourrage voulu #12
  6. appel sous programme 1000 et boucle de valeur #12 ( nombre de débourrage) avec descente en Z de [ #3 x #33] en mode travail puis remontée  de la même valeur en vitesse rapide( le mode relatif permet d’utiliser la même valeur systématiquement). a chaque boucle on incrémente #3 de 1 pour le calcul de profondeur suivante.
  7. une fois les #12 cycles effectués , repassage en coordonnées absolues pour remonter a la cote Z =5 ( 5 mm au dessus de la surface) en mode rapide.

voici le programme résultant:

lien vers le fichier programme GCODE format ZIP: perçage parametre.ZIP

et une petite video du resultat en simulation CUTVIEWER mode acceléré:

GCODE-perçage polaire paramétré

a partir du programme de  perçage avec cycle de débourrage paramétré (exemple précédent) , il est relativement simple de concevoir un programme de perçage polaire  en utilisant les coordonnées polaires. ici l’objectif est également de paramétrer le nombre de trous et le rayon de perçage.

petit croquis pour schématiser l’objectif du programme avec les variables qui seront utilisées, la pièce (cadre rouge) est vue du dessus , et  le centre du cercle de perçage est supposé être a l’origine du référentiel pièce. le  plan Z zero est fixé sur le dessus de la pièce:

pour faire ce cycle de perçage , il faut faire 2 sous programmes en boucle imbriquée.

1 premier sous programme O1000 qui va gérer une boucle de répétition de positionnement angulaire de perçage en utilisant les coordonnées polaires soit une commande GCODE du type:

  • G16 (coordonnées polaires)
  • G01 X#30 Y#n   ou #30 est le rayon de perçage et Y#n un angle de perçage calculé a partir d’une compteur incrémenté par la boucle d’appel du sous progamme.

le sous programme O1000 appelle le sous programme O2000 qui lui réalise une boucle de cycle de débourrage .

ci dessous le programme complé proposé pour réaliser la fonction:

lien vers le fichier GCODE (ZIP): perçage polaire parametre debourrage.ZIP

video de la simulation sur CUTVIEWER:

GCODE-fraisage surfacique paramétré

Dans cet exemple nous allons développer un projet de Module de fraisage surfacique paramétré.

l’idée est la suivante : proposer un programme  pour fraiser une surface plane rectangulaire de longueur et largeur donnée avec une fraise de diamètre donnée.

a priori , les premiers paramètres sont:

#11 #12: longueur X et largeur Y de la surface à fraiser

#20 : diametre de fraise

#30 #31: profondeur a fraiser et nombre de passes

un petit croquis en vue de dessus pour fixer les idées.

la stratégie de fraisage sera la suivante:

  • surface piece a Z=0
  • un fraisage en avalant par passes d’une valeur du 1/4 de largeur de fraise maxi suivant l’axe X
  • en tournant autour de la surface de l’extérieur vers l’intérieur pour maintenir le fraisage en avalant.
  • la fraise démarre en dehors de la piece d’une valeur de 5mm et ressort de l’autre coté de la meme valeur

un petit croquis pour éclairer le principe: les trajectoire d’usinage( flèches bleues) se font en avance travail, les trajectoire hors pièce (flèches rouges) se font à vitesse rapide.

position des points d’entrée et sortie dans les cas extrêmes:

Xmax=#11 + 5 +(#20/2) + 5 +(#20/2) = 10 + #11 + #20

Ymax=#12 + (#20/4) + (#20/4) = #12 + (#20/2)

Principe du programme:

pour simplifier la programmation , on va travailler en mode relatif et donc choisir un point d’origine permettant des boucles a variables identiques . ce point d’origine est  la position de fraise en bleu dans le schéma ci dessus. position qui est dans l’axe de symétrie de la pièce sur Y. les trajectoire aller et retour suivant X auront donc une position symétrique de même valeur Yn mais positive ou négative suivant que l’on est dans le sens aller ou retour .

la valeur Yn sera calculé a partir de Ymax et du nombre de passe. ce nombre de passes  déterminera le nombre d’incrément de cycle et la valeur à retrancher à Ymax pour chaque cycle.

le point de départ selon X est toujours avec une valeur a 0 , et le point de fin de course X toujours constant et égal à Xmax.

calcul du nombre de passes sur 1/2 largeur de piece:

1/2 largeur de piece = #12/2

valeur d’une passe = diametre fraise/4 = #20/4

nombre de passes = (#12/2) / (#20/4) = 2*(#12 / #20)

le nombre de passes trouvé va service d’incrément pour le nombre de répétition de boucle du programme GCODE, ce nombre doit être un entier. le résultat de la division de #12 par #20 a de grande chance d’être un nombre a virgule nous allons donc créer une variable entière qui sera calculée a partir de la valeur entière supérieur du résultat , il faut donc utiliser la fonction mathématique FUP[arg].

nous allons donc créer 3 variable supplémentaire : #1 ,  #2 et #3

variable #1: incrément de passe=(diamètre fraise/4)

#1 = #20/4

variable #2: nombre d’itérations

#2 = FUP [2*(#12 / #20)]

variable #3: compteur d’iteration pour le calcul de Yn

et pour eviter les formules compliquées , nous allons créer 2 variables #5 et #6 pour Xmax et Ymax/2

#5 = Xmax = 10 + #11 + #20

#6 = Ymax/2 = (#12 + (#20/2))/2

pour la gestion du nombre de prise de passe en Z il faut rajouter un parametre:

#33=#30/#31

une fois tout cela fixé , voila le programme complet:

et un lien vers le  fichier GCODE au format ZIP:    fraisage plan parametree.ZIP

et le résultat en simulation sur CUTVIEWER MILL: