Microsoft 365 Augmenter tous les Z négatifs de la valeur x dans un GCode

Aloha

XLDnaute Accro
Bonjour,

Ma demande est sûrement un peu spéciale.

Je veux fraiser une pièce en 3d (une coupole), mais la tête ne descend pas assez bas (axe Z) dans la pièce et dans le programme que j'utilise pour créer le GCode (Estlcam) je peux bien fixer le niveau de départ pour un travail en 2d, mais pas en 3d. Voilà pourquoi je voudrais augmenter dans le code tous les Z négatifs (les Z positifs signifient que la tête remonte avant de redescendre à un niveau <0 inférieur du précédent) d'une valeur x inscrite dans une certaine cellule (E1 dans le fichier joint) pour rendre l'opération flexible.

Le début des lignes contenant les Z est toujours le même

G01 Z-2.5000 F500
ou encore
G01 Z-5.0000 F500

ce qui signifie que la tête avance sur l’axe Z, l‘axe vertical, à une vitesse définie [G01; G00 étant un mouvement plus rapide et constant pour le code entier], à la position Z=-2.5000 dans le premier exemple ci-dessus , donc 2.5mm en-dessous du niveau 0, le niveau 0 correspondant à la surface supérieure de la pièce à fraiser, à une vitesse de 500mm/minute, le code « Fxxx » définissant la vitesse à laquelle la fraise avance sur l’un des 3 axes XYZ.

Je voudrais donc remplacer Z-2.5000 par Z-7.5000, si je veux que la fraise descende 5mm plus bas.

Comme je n’arrive pas à créer un code tenant compte de la modification souhaitée, j’ai eu l’idée d’importer le code dans Excel et d’y augmenter tous les Z négatifs de la valeur inscrite dans la cellule E1 du fichier ci-joint.

Ce code n'est pas bien long avec ses 360 lignes et il y aurait moyen de le faire manuellement, mais des fois j'ai des codes comprenant des milliers, voire même quelques dizaines de milliers de lignes.

Il y avait des temps où j’aurais probablement été capable de résoudre ce problème moi-même mais cela fait un bon moment que je ne travaille plus beaucoup dans Excel. Pour vous, je suis sûr que c'est chose facile.

Bien à vous
Aloha
 

Pièces jointes

  • Augmenter les Z négatifs de x mm.xlsx
    18.2 KB · Affichages: 3
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Aloha,
Si on passe de -2.5 à -7.5 alors on diminue sa valeur, on ne l'augmente pas.
Si j'ai bien compris, un essai en PJ avec :
Code:
Sub Recode()
    Dim DL%, tablo, i%, dZ
    Application.ScreenUpdating = False
    DL = Range("B65500").End(xlUp).Row
    tablo = Range("B1:B" & DL)
    dZ = [E1]
    For i = 1 To UBound(tablo)
        If tablo(i, 1) Like "*Z-*" Then
            tablo(i, 1) = AugmenterZ(tablo(i, 1), dZ)
        End If
    Next i
    [B1].Resize(UBound(tablo, 1), UBound(tablo, 2)) = tablo
End Sub
Function AugmenterZ(Chaine, dZ)
    Dim T, T2, ValZ
    T = Split(Chaine, "-")
    T2 = Split(T(1), " ")
    ValZ = Format(-dZ - Val(T2(0)), "0.0000")
    If UBound(T2) >= 1 Then
        AugmenterZ = Replace(T(0) & ValZ & " " & T2(1), ",", ".")
    Else
        AugmenterZ = Replace(T(0) & ValZ, ",", ".")
    End If
End Function
 

Pièces jointes

  • Augmenter les Z négatifs de x mm.xlsm
    27.4 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Par formule cela me semblait plus compliqué.
Pour activer les macros :
1- Option Excel / Centre de gestion ... / Paramètres de centre de gestion / Paramètres des macros
2- Cocher Activer toutes les macros ...
1672957973504.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je n'avais pas vu que vous étiez sous 365. ;)
Apparemment, soit vous l'enregistrez dans un espace approuvé, comme Mes documents, je pense.
Soit il faut jouer sur les options internet :
https://answers.microsoft.com/fr-fr...ier-nest/551e0580-43ac-49c7-905f-28174bd97495
 

Aloha

XLDnaute Accro
D'ailleurs, en bidulant j'ai résolu le problème en partie par formule. J'arrive à produire la valeur voulue par une formule mais je n'arrive pas encore à l'intégrer dans la ligne du code.
Qui plus est, cela ne fonctionne que pour les nombres de 0 à 9; il faut trouver un moyen detenir compte de la situation où le nombre est >9 et qu'il y a donc 2 chiffres avant le séparateur de décimales, en s'orientant d'après le séparateur.
 

Pièces jointes

  • Augmenter les Z négatifs de x mm.xlsx
    20.6 KB · Affichages: 1
Dernière édition:

Aloha

XLDnaute Accro
Bien sûr que c'est bien plus lourd, mais cela fonctionne!
Bizarre qu'à la ligne 345 il n'y a pas la vitesse; normalement la fraise devrait refuser le service dans ce cas-là.
Votre solutiuon n'est pas qu'un essai, c'est une véritable solution! Merci beaucoup.
Malgré tout je vais essayer de faire fonctionner la macro.
Bien à vous
Aloha
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Bizarre qu'à la ligne 345 il n'y a pas la vitesse
Ca, c'est votre fichier. 😂
Malgré tout je vais essayer de faire fonctionner la macro.
Deux solutions possibles :
1- Vous enregistrez le fichier dans un dossier à vous, normalement l'origine internet devrait disparaitre et ça devrait marcher.
2- Vous copiez la macro dans un nouveau fichier à vous, c'est idem cela devrait marcher.
L'avantage de la macro est que c'est moins lourd, plus facilement maintenable, et raite tout le fichier de façon automatique quelle que soit la longueur. Avec les formules vous êtes obligé de copier les formules jusqu'à la fin de la colonne.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors prenez cette PJ, plus propre :
1- 1000 lignes sont installées donc vous n'avez plus à vous préoccuper du nombre de ligne du code.
2- Si plus de 1000 lignes un message d'alerte vous avertit.
3- La feuilles est protégée ( sans mdp ) sauf les colonnes A et B, donc pas d'accidents possibles dans les formules.
 

Pièces jointes

  • Augmenter les Z négatifs de x mm V3.xlsx
    55.8 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Aloha,
C'est une question ? une réflexion ? un souci ?
Si dans le même tableau vous voulez modifier les X, les Y et les Z, avec des formules on peut le faire en dupliquant les colonnes C à G, une première fois pour modifier X puis une seconde fois pour modifier Y.
Ca va devenir une usine mais c'est faisable.
C'est bien ça la problématique ?
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 125
Membres
112 666
dernier inscrit
Coco0505