Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

CB et gestion des déplacements

2 participants

Aller en bas

CB et gestion des déplacements Empty CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 9:38

Bonjour tous,

Je suis actuellement sur la conception (bien avancée) d'un robot dessinateur récalcitrant. J'utilise pour cela un postpro qui simplifie le gcode dont on a déjà discuté avec David quelque part sur le forum  (faudrait que je retrouve). Le propre d'un robot dessinateur récalcitrant est de ne pas faire systématiquement ce qu'on lui demande, le mien devait être un chat dans une vie antérieure. Quand je lui demande de me dessiner un carré avec un gcode écrit à la main il me fait un beau carré, le même carré produit par Cambam et c'est du grand n'importe quoi. Cambam fait bien son boulot mais le robot n'aime pas Cambam.

Après l'être bien creusé les méninges pendant quelques temps je viens enfin de percuter et c'était pourtant évident, c'est Cambam qui ne voit pas les choses comme moi  scratch . Il simplifie les déplacements horizontaux ou verticaux à une seule coordonnée X ou Y, pour les obliques il en utilise deux: X et Y.
Visuellement çà se voit bien dans le gcode mais quand un programme le lit ce n'est pas évident parce qu'il n'y a pas d'indication de saut de ligne.

Exemple sur un carré simple de 100x100mm inscrit dans une feuille A4 (Z n'est pas important, c'est juste le lever/baisser stylo):
Mon gcode à la main qui utilise les coordonnées polaires:

CB et gestion des déplacements M3011

Et le gcode simplifié généré par Cambam:

CB et gestion des déplacements M2910

On remarque que CB passe à la ligne suivante pour chaque action différente, pour les obliques le X et le Y sont sur la même ligne.
Mon programme actuel lit d'abord le X, puis le Y et va ensuite tracer sa ligne, il ne sait pas interpréter les sauts de ligne ce qui donne des résultats de l'espace avec le gcode CB.
Il y a t-il moyen en bricolant un postpro:
- soit d'intercaler des sauts de lignes dans le gcode (amha non)
- soit d'obliger cb à écrire les horizontales et verticales en coordonnées XY
- ou une autre solution permettant de reconnaitre si c'est horizontal/vertical ou oblique ?

scratch
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 11:20

Salut,

En fait CB ne réécrit pas une coordonnée si elle ne change pas par rapport à la position précédente.

pour le forcer à sortir même les infos redondantes, il faut supprimer les underscore devant les macro de sortie des axes dans ton post pro.

par exemple: {$g1} {$_x} {$_y} {$_z}

deviendrait: {$g1} {$x} {$y} {$z}

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 12:13

Yeessss !!! çà marche au poil cheers
T'es vraiment trop fort. Pile-poil ce qu'il me faut, je vais pouvoir continuer mon projet. Pour les trois premières lignes et les deux dernières vraiment redondantes je vais pouvoir régler çà dans ma routine qui gère le Z.

CB et gestion des déplacements M3110
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 12:56

Re

Tu devrais pouvoir améliorer encore les choses en mettant 'hauteur plongée en rapide' sur 0 dans les paramètres du dossier usinage

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 13:11

Tout bon ! çà m'enlève les Z1 qui ne me servent à rien.
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 13:25

maintenant, si tu veux encore affiner, tu peux le faire par post traitement du Gcode ; je peux te passer le squelette du programme en VB qui scanne un Gcode, lancé par le PP de CB, ensuite il te restera à y inclure ce qu'il faut pour tester les lignes à enlever ou à garder ; ça fera tj moins de job à faire par l'arduino.

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 14:04

Je suis preneur, là je joue avec un simple carré pour débugger le programme mais ensuite M4rc3l aura à traiter de gros gcodes plus compliqués. Il faut avoir Visual Basic installé ?
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 14:40

Il faut avoir Visual Basic installé ?

Oui
http://www.01net.com/telecharger/windows/Programmation/creation/fiches/104784.html

quand tu sera prêt et que VB sera installé je te mettrais pas à pas comment préparer le truc pour pouvoir en tirer un .exe (il y a des réglages à faire)

++
David


Dernière édition par dh42 le Mar 21 Mar 2017 - 15:03, édité 1 fois

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 14:49

voila un squelette commenté ; il te faudra faire quelque modifs mineurs pour gérer les .ngc au lieu de .nc

Code:
Imports System.IO
Module Module1
    Sub Main(args() As String)

        'squelette post traitement auto du Gcode depuis un post pro CamBam
        'dh42 - 2017

        Dim line As String
        Dim fname, outname As String

        fname = args(0) 'contient les arguments passés par CamBam

        If fname <> "" Then
            outname = Left(fname, Len(fname) - 3)   'nom de fichier sans ".nc"
            Try
                Using sr As StreamReader = New StreamReader(fname)
                    FileOpen(1, outname & ".tmp", OpenMode.Output) 'créer un fichier "nomdugcode.tmp"
                    Do
                        'lire une ligne dans le fichier Gcode
                        line = sr.ReadLine()

                        'faire un traitement sur la ligne si elle correspond à certain critères
                        If ..... Then
                            'code pour modifier la ligne
                            '....
                            '....
                            PrintLine(1, line)  'écrire la ligne

                        Else 'sinon l'écrire telle quelle (ou ne pas l'écrire si on souhaite la supprimer)
                            PrintLine(1, line)
                        End If
                    Loop Until line Is Nothing 'lire jusqu'à la fin du fichier
                    sr.Close()
                    FileClose(1)

                    FileSystem.Kill(fname)  'effacer le fichier .nc original du DD
                    FileSystem.Rename(outname & ".tmp", outname & ".nc")   'renommer le fichier .tmp en .nc

                End Using

            Catch E As Exception
                MsgBox("Error" & E.Message)

            End Try
        End If
    End Sub
End Module

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 16:50

Je viens d'installer VB 2010 mais c'est nouveau pour moi scratch
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 18:53

Re

- Lance VS 2010
- nouveau projet
- choisis 'Application console'
tu devrais te retrouver avec une page 'module1.vb'

- remplace la totalité de ce qu'il y a dans la page par le code du squelette.

- fichier/enregistrer tout, donne un nom et enregistre le projet.

à partir de la il te faudra écrire ce qui manque dans le code, puis compiler le code par Générer/générer nom_de_projet.

après compilation tu récupérera un fichier nom_de_projet.exe dans \nom_de_projet\nom_de_projet\bin\release

pour qu'il soit lancé par le post pro, ton post pro doit contenir:

"{$outfile}"   (avec les double quote) dans Cmd. de post traitement - args (ce qui passe le nom du fichier GCode depuis Cambam à ton programme externe)

et dans Commande de post traitement tu dois avoir le chemin d'accès à ton fichier .exe

si tu n'y arrive pas, met ton post pro en PJ et dis moi ce qu'il faut que le programme fasse comme traitement et je te ferais le code.

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mar 21 Mar 2017 - 19:27

Le VB est nouveau pour moi et je ne sais pas trop quoi ajouter dans ton squelette, à part la modif en .ngc a la ligne:

Code:
FileSystem.Rename(outname & ".tmp", outname & ".ngc")   'renommer le fichier .tmp en .ngc

Cette ligne de condition sans condition m'interpelle, ne va-t'elle pas générer une erreur ? Je suppose que c'est ici qu'il faut rajouter des trucs mais je ne vois pas quoi.

Code:
'faire un traitement sur la ligne si elle correspond à certain critères
                            If ..... Then
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mar 21 Mar 2017 - 19:48

Cette ligne de condition sans condition m'interpelle, ne va-t'elle pas générer une erreur ? Je suppose que c'est ici qu'il faut rajouter des trucs mais je ne vois pas quoi.

Oui, c'est ça ...

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Mer 22 Mar 2017 - 17:48

Re

Plus de news .. la cervelle à disjonctée sur le VB ? jesors

dh42 a écrit:si tu n'y arrive pas, met ton post pro en PJ et dis moi ce qu'il faut que le programme fasse comme traitement et je te ferais le code.

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Mer 22 Mar 2017 - 22:42

Ben en fait le postpro fait déjà du bon boulot et je ne sais pas quoi demander de plus à ton code VB What a Face
Pour mes tests un carré 100x100 qui se répète 4 fois:

Code:
Z3
X50 Y100
X50 Y100 Z0
X150 Y100
X150 Y200
X50 Y200
X50 Y100
Z3
X50 Y100 Z0
X150 Y100
X150 Y200
X50 Y200
X50 Y100
Z3
X50 Y100 Z0
X150 Y100
X150 Y200
X50 Y200
X50 Y100
Z3
X50 Y100 Z0
X150 Y100
X150 Y200
X50 Y200
X50 Y100
Z3
X50 Y100 Z0
X0 Y0
Z3
M30

Juste le Z3 qui est généré à chaque fois par Cambam mais ce n'est pas gênant, c'est juste parce que j'ai fais 4 gravures successives au lieu de faire 4 passes sur la même.

Le postpro:
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  dh42 Jeu 23 Mar 2017 - 15:31

Re

Juste le Z3 qui est généré à chaque fois par Cambam mais ce n'est pas gênant, c'est juste parce que j'ai fais 4 gravures successives au lieu de faire 4 passes sur la même.

Oui, et ça dépend aussi de la valeur de 'déplacement latéral maxi' dans ton op de gravure ; qui est exprimée en fraction du Ø de l'outil, donc si tu a laissé la valeur par défaut de 0.7, et par exemple que tu a défini un outil de Ø 1, si il y a plus de 0.7*1 mm entre la fin d'un trait et le début du suivant, il y a passage par le plan de dégagement.

Ne pas mettre un outil de Ø = 0, sinon le résultat pour le déplacement maxi est tj 0, et la fraise le stylo remontera même si le trait suivant démarre à la fin du précédant (pour des formes séparées)

Dans certains cas, en gravure de fin détails, on met 'le déplacement latéral maxi' à 0 pour éviter des "ponts" entre les gravures, par exemple sur les caractères de petite taille.

Ben en fait le postpro fait déjà du bon boulot et je ne sais pas quoi demander de plus à ton code VB

C'est vrai qu'il n'y a bien que le X50 Y100 Z0 qui pourrait être remplacé par Z0 uniquement, mais ce n'est pas catastrophique si il reste je suppose ?

++
David

_________________
Traduction Française de CamBam et de sa documentation.
dh42
dh42
Admin
Admin

Messages : 25106
Points : 37822
Date d'inscription : 21/06/2009
Age : 60
Localisation : Près de St Etienne (42)

http://dh42.free.fr/

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  F6FCO Jeu 23 Mar 2017 - 18:41

Ben non puisqu'on est déjà sur la position par le XY précédent, ça roule bien comme çà à priori. J'ai encore des bugs mais je ne pense pas que çà vienne du gcode.
F6FCO
F6FCO
complétement accro
complétement accro

Messages : 4617
Points : 6869
Date d'inscription : 13/05/2011
Age : 100
Localisation : Aveyron de l'Ouest, Hi Haaaa !

https://www.qsl.net/f6fco/index.htm

Revenir en haut Aller en bas

CB et gestion des déplacements Empty Re: CB et gestion des déplacements

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum