Aller au contenu

GO Print

Calcul de la durée d'impression (pour S3D)


Messages recommandés

Bonjour,

J'ai écrit un petit logiciel qui se lance grâce à une ligne dans la fenêtre de commande de terminal additionnelle (onglet "Script") de Simplify 3D.

Ce logiciel calcule le temps d'impression pour chaque ligne de gCode, et ajoute des lignes "M117" dans le code pour afficher le temps passé et le temps restant sur l'écran de l'imprimante (Marlin).

Le logiciel fonctionne, mais les résultats ne sont pas forcément justes. Pour calculer le temps, je prends les valeurs en X et en Y de la ligne en cours, et je soustrait ces valeurs à celles de la ligne précédente. J'obtiens ainsi le déplacement de la tête. Je divise cette distance par la vitesse et j'obtiens un temps.

Si j'envoi mon gCode sur le site https://www.gcodeanalyser.com/, le résultat est juste, mon logiciel donne un temps nettement supérieur.

Selon vous, où se trouve le loup ? Que fais je comme erreur ?

Christian.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai trouvé mon erreur : j'ai utilisé un mauvais type de variable dans mon code.

J'ai maintenant un logiciel qui fonctionne. Il faudrait peaufiner le calcul en prenant en compte les accélération des moteurs, mais j'ai inclus dans mon code un coefficient paramétrable qui permet de corriger ce manque.

Mon logiciel n'a pas pour vocation de calculer à la minute près le temps d'impression, mais il permet d'afficher, sur l'écran de l'imprimante, le temps écoulé ainsi que le temps restant pour l'impression. J'ai vu dans différents forums que beaucoup de monde déplorait ce manque, c'est maintenant corrigé pour ma part.

J'ai créé 3 options d'affichage : 
1 : affichage du temps écoulé depuis le début / le temps total (--> Duree = 00h36 / 01h41)
2 : affichage du temps restant (--> Reste 01h05)
3 : affichage du temps écoulé depuis le début / le temps total + le temps restant (--> 00h36/01h41 -01h05)
L'affichage est mis à jour toutes les minutes.
La limitation des 21 caractères de l'afficheur ne permet pas d'afficher de belles phrases...
Bien entendu, le calcul ne prend en compte que le temps d'impression, sans tenir compte du temps de chauffe (impossible à calculer), ni des scripts de démarrage et de fin.

Le logiciel ne pèse que 332ko, et ne nécessite pas d'installation. Il suffit de coller le fichier (exécutable) à l'endroit souhaité (je l'ai mis dans le répertoire de Simplify).

Le fonctionnement est tout simple :
1) indiquer l'emplacement du logiciel dans la fenêtre de post traitement additionnel de l'onglet "script" du S3D, avec l'option d'affichage voulu et le coefficient de correction de calcul (ce coefficient est à calculer selon les écarts entre le temps calculé et le temps réel d'impression).

image.png.28114d59c78b122a911ea2af9c100657.png

2) à chaque sauvegarde du gcode sur la carte SD de l'imprimante, le logiciel va se lancer tout seul (une fenêtre apparait à l'écran indiquant l'avancée du processus), et le fichier sauvegardé comportera les indications d'affichage.

image.png.fe4b4cf3171566b8baee2e69d0b0edd8.png

Pendant l'impression, le temps d'impression (selon l'option choisie) s'affichera sur l'écran de l'imprimante.

20201112_090333.jpg.738ec67ae264db0fac7bd70fe6a2287f.jpg

Si quelqu'un désire le logiciel, il suffit de me le demander.

Christian.

Modifié (le) par Christian67
  • J'aime 2
Lien vers le commentaire
Partager sur d’autres sites

Finalement, je me suis réjouis trop vite....

Le calcul est plus compliqué que ça. Sur des formes simples, ça fonctionne, mais dès que la pièce à imprimer devient compliquée, le résultat indique un temps d'impression trop cours. Je pense qu'il faut vraiment trouver comment prendre en compte les accélérations.

En attendant, le logiciel permet d'afficher le temps donné par S3D, puisque ce temps est présent en fin de fichier. Il suffit de le récupérer pour le mettre en début de fichier, avec un M117 devant.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...
Le 12/11/2020 at 09:15, Christian67 a dit :

Bonjour,

J'ai trouvé mon erreur : j'ai utilisé un mauvais type de variable dans mon code.

J'ai maintenant un logiciel qui fonctionne. Il faudrait peaufiner le calcul en prenant en compte les accélération des moteurs, mais j'ai inclus dans mon code un coefficient paramétrable qui permet de corriger ce manque.

Mon logiciel n'a pas pour vocation de calculer à la minute près le temps d'impression, mais il permet d'afficher, sur l'écran de l'imprimante, le temps écoulé ainsi que le temps restant pour l'impression. J'ai vu dans différents forums que beaucoup de monde déplorait ce manque, c'est maintenant corrigé pour ma part.

J'ai créé 3 options d'affichage : 
1 : affichage du temps écoulé depuis le début / le temps total (--> Duree = 00h36 / 01h41)
2 : affichage du temps restant (--> Reste 01h05)
3 : affichage du temps écoulé depuis le début / le temps total + le temps restant (--> 00h36/01h41 -01h05)
L'affichage est mis à jour toutes les minutes.
La limitation des 21 caractères de l'afficheur ne permet pas d'afficher de belles phrases...
Bien entendu, le calcul ne prend en compte que le temps d'impression, sans tenir compte du temps de chauffe (impossible à calculer), ni des scripts de démarrage et de fin.

Le logiciel ne pèse que 332ko, et ne nécessite pas d'installation. Il suffit de coller le fichier (exécutable) à l'endroit souhaité (je l'ai mis dans le répertoire de Simplify).

Le fonctionnement est tout simple :
1) indiquer l'emplacement du logiciel dans la fenêtre de post traitement additionnel de l'onglet "script" du S3D, avec l'option d'affichage voulu et le coefficient de correction de calcul (ce coefficient est à calculer selon les écarts entre le temps calculé et le temps réel d'impression).

image.png.28114d59c78b122a911ea2af9c100657.png

2) à chaque sauvegarde du gcode sur la carte SD de l'imprimante, le logiciel va se lancer tout seul (une fenêtre apparait à l'écran indiquant l'avancée du processus), et le fichier sauvegardé comportera les indications d'affichage.

image.png.fe4b4cf3171566b8baee2e69d0b0edd8.png

Pendant l'impression, le temps d'impression (selon l'option choisie) s'affichera sur l'écran de l'imprimante.

20201112_090333.jpg.738ec67ae264db0fac7bd70fe6a2287f.jpg

Si quelqu'un désire le logiciel, il suffit de me le demander.

Christian.

Bonjour, je suis nouveau et je viens de trouver ce site et je suis très intéressé par votre petit logiciel...comment puis-je l'obtenir ?.

Je ne fais pas beaucoup d'impression mais ceci est je crois intéressant.

D'avance merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai modifié mon programme, afin de l'écrire en C++ (le premier était en Windev).
Le fonctionnement reste le même.

Ci-joint les deux fichiers à coller dans le répertoire de S3D.
Le fichier .ini est à modifier. Le contenu est donné à titre d'exemple. Il peut rester, pas besoin de le supprimer, mais il faut ajouter une section comme les deux qui y sont déjà. Le mieux est de copier/coller une section, et de changer les valeurs (nom de l'imprimante, valeurs d'accélération, de vitesse et de jerk. La valeur "Jonction" est à peaufiner à l'utilisation.

Il faut insérer cette ligne dans le cadre "Commandes de terminal additionnelles pour le retouchage", dans la fenêtre "Script", onglet "Script de démarrage"
cmd /c start C:\PROGRA~1\Simplify3D-4.1.2\gCodeTime.exe "[output_filepath]" -i tornado -o restant
"Simplify3D-4.1.2" est chez moi le nom du répertoire de S3D. Si le nom de ton répertoire est différent, il faut modifier la ligne de commande.

Bien entendu, il faut remplacer "tornado" par le nom de l'imprimante que vous avez renseignée dans le fichier .ini (le nom entre crochets).
Tu disposes des choix d'affichages suivants 
-o restant (temps restant / temps total. Ex. : -1h46m25s/3h21m09s)
-o couches (numéro de couche / nombre de couches temps restant. Ex. : 45/486 0h45m21s)
-o normal (E=temps passé R=temps restant. Ex. : E=1h23m48s R=0h34m05s)
-o complet (temps passé / temps total temps restant. Ex. : 0h45m00s/3h30m15s 2h45m15s)

Christian

gCodeTime.exe gCodeTime.ini

Modifié (le) par Christian67
Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...