Aller au contenu

GO Print

Fabien Lft

Membres
  • Compteur de contenus

    14
  • Inscrit(e) le

  • Dernière visite

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

Récompenses de Fabien Lft

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Badges récents

3

Réputation sur la communauté

  1. Bonjour à tous, j'ai reçu ma seconde anycubic la semaine dernière (une mono SE) et celle-ci me donne du fil à retordre. En gros tout est dans le titre : je fais mes prints comme d'habitude (j'ai déjà une photon S), et je n'arrive pas à obtenir la moindre solidification. Rien sur le support, rien dans le VAT. J'ai tout essayé : -refaire le zéro -changer de résine -augmenter le temps d'expo (initialement 1.5s, passage ) 3s -augmenter le temps et le nombres de couches d'accrochage ( rien même avec 10 couches d'une minute) - tout renettoyer ... - j'ai même mis l'imprimante en atmosphère contrôlée à 30° au cas où cela vienne du froid ... Bref c'est comme si l'exposition ne se faisait pas lors de l'impression ... Pourtant lorsque que je laisse un fond de résine dans le bac et que j'expose pendant disons 10s (mode détection ou exposition de l'imprimante) , là ça marche. (La résine est ok, elle fige instantanément au soleil) Bref, avez-vous des pistes de recherche, des bugs connus à me faire connaître ou quoique ce soit qui puisse me mettre sur la voie d'une solution à mon problème. En vous remerciant tous par avance.
  2. oui. Après sur du polystyrène ou autre matériau un peu plus mou, j'ai pas trop de doute que tu puisses faire plus grand avec de plus grands outils si tant est que la broche les acceptent. Enfin voilà, c'était juste pour le "proof of concept".
  3. Bonjour, Bien sûr, mais comme tout usinage CNC, il faut laisser la place à l'outil de passer. Donc avoir des outils longs à grands dégagements si on veut faire de grandes profondeurs verticales. Dans l'exemple sur ton schéma, même avec une CNC (3 axes j'entends), tu peux pas le réaliser, il te faut un outil plus grand, ce n'est pas spécifique au fait que ce soit sur une imprimante. Et ensuite dans ce cas d'application, il faut aussi réfléchir à la manière de faire le "moule" pour éliminer assez de brut matière en fonction de la pièce souhaitée. Bref il y a quelques subtilités. Quand à la hauteur max, comme dit plus haut dans les conversations précédentes, elle est THEORIQUEMENT de la hauteur max imprimable divisée par 2; puisque le g-code généré n'a pas de gestion de collision de l'outil avec la pièce, il faut nécessairement à chaque déplacement rétracter l'outil en Z de la hauteur totale de l'objet final pour éviter les collisions. Après il faut déjà avoir l'outil qui fasse cette taille là ^^'. Encore une fois, le but n'est pas d'avoir une vraie CNC mais juste de permettre à une imprimante de faire du petit usinage/gravure. On est ni dans le même usage, ni dans la même gamme de prix (je sais de quoi je parle^^). Juste pour info, j'ai fait une test avec une CR10s (donc pas d'axe supporté pour le plateau, ce qui est clairement pas terrible pour les vibrations) et une broche de 200w, et j'ai quand même réussi à usiner mon modèle test dans de l'érable (qui est relativement dur) sur 15 mm de profondeur ainsi que des petites gravures (2 mm). Pour le modèle test, je n'ai pas pris la peine de finir la pièce à la fraise à graver, ce qui m'intéressait était seulement le résultat obtenu avec la fraise d'ébauche de 3 mm; il y a des bavures et des fibres flottantes liées aux vibrations, mais ça reste de l'ébauche sur un matériau assez dur pour cette pauvre machine. J'aurais dû finir le modèle à la fraise à graver pour voir le rendu final mais j'avais d'autres choses à imprimer donc pas eu le temps ... Tout ça pour dire que pour usiner du balsa/medium, du polystyrène ou même des plastiques tendres ça peut très bien suffire. Pour la modique somme de 15 €, le prix de la broche. Evidemment, ça ne vaudra jamais le travail d'une CNC digne de ce nom ...
  4. Pour ceux que ça intéresserait, sait-on jamais, voilà le code : J'ai fait ça vite donc c'est pas hyper clean, mais ça marche. using namespace std; #include <stdlib.h> #include <stdio.h> #include <string.h> #include <iostream> #include <fstream> int main() { ifstream gcodeToRead("C:\\Users\\Fabien\\Desktop\\test.gcode",std::ifstream::in); ofstream gcodeToWrite("C:\\Users\\Fabien\\Desktop\\test-inv.gcode",std::ofstream::out); string str; const char* strc; int layerCounter=0; int lineCounter=0; int lineNumber[4000]; long charIndex[4000]; int counter_bis=0; if (gcodeToRead.is_open()) { while (! gcodeToRead.eof()) { getline(gcodeToRead,str); strc =str.c_str(); lineCounter++; if (strcmp(";LAYER:",str.substr(0,7).c_str())==0) { lineNumber[layerCounter] = lineCounter; charIndex[layerCounter]=gcodeToRead.tellg(); layerCounter++; //cout << layerCounter <<endl; //cout << lineNumber[layerCounter-1] <<endl; } if (strcmp("M141 S0",str.substr(0,7).c_str())==0) { lineNumber[layerCounter] = lineCounter-1; charIndex[layerCounter]=gcodeToRead.tellg(); layerCounter++; //cout << layerCounter <<endl; //cout << lineNumber[layerCounter-1] <<endl; } } gcodeToRead.clear(); gcodeToRead.seekg(0); lineCounter=0; //Write the header in the new file while (lineCounter <lineNumber[0]-1) { getline(gcodeToRead,str); gcodeToWrite<<str<<endl; lineCounter++; } //Write the Layers in reverse order for (int i=1; i<layerCounter;i++) { gcodeToRead.clear(); gcodeToRead.seekg(0); lineCounter=0; gcodeToWrite<<";LAYER:"<<i-1<<endl; if (i==1) gcodeToWrite<<"M107"<<endl; while( lineCounter<lineNumber[layerCounter-i-1]) { getline(gcodeToRead,str); lineCounter++; } while( lineCounter<lineNumber[layerCounter-i]-1) { getline(gcodeToRead,str); gcodeToWrite<<str<<endl; lineCounter++; } } //Write the footer lineCounter=0; gcodeToRead.clear(); gcodeToRead.seekg(0); while( lineCounter<lineNumber[layerCounter-1]-1) { getline(gcodeToRead,str); lineCounter++; } while(!gcodeToRead.eof()) { getline(gcodeToRead,str); gcodeToWrite<<str<<endl; //cout<<str<<endl; } } else { printf("file does not exist"); } printf("gcode inverted"); gcodeToRead.close(); gcodeToWrite.close(); return 0; }
  5. @Jean-Claude Garnier Ben même en ayant tout dit, la question reste entière : il faut inverser le sens des layers dans le g-code.... Mais il s'est écoulé deux pages de discussions Bref je vais bosser sur un script qui fait ça. Si quelqu'un a une solution, je reste open.
  6. @Kachidoki Ben si ... Avec le ZHOP avant chaque travel, si tu montes à une altitude où il n'y a pas de matière, ça bouge en X,Y puis ça plonge, ça touche rien du tout. Il faut juste un ZHOP suffisant (donc qui équivaut au moins à ta profondeur maximum de fraisage sur ta pièce (car pas contre, le ZHOP n'est pas en valeur Z absolu)
  7. La taille de l'outil est très facile à gérer directement avec CURA, en jouant sur la taille de la buse entre autres, et le brut à enlever correspondra simplement au "moule de ma pièce que je lui rentre en STL. Tout le reste n'est pas toucher. C'est pour de la CNC simple. Le reste je le fais avec une vraie CNC. (Et en réalité, c'est plus pour faire le montage pour des amis n'ayant qu'une imprimante...) Donc Cura a une base vraiment parfaite pour faire ça. Il manque juste l'inversion du g-code. (Qui me parait quand même plus simple que modifier le code de Fusion ^^
  8. Si tu peux le faire dans Cura, il suffit à chaque déplacement de remonter ta fraise à ton altitude max (celle de départ en gros).
  9. @Titi78 : non pas nécessairement, mais c'est l'idée. J'abdique, je vous dis pourquoi parce que je sens qu'on ne va pas avancer. C'est pour faire de la CNC simplifiée sans modification de matériel. J'ai déjà deux CNC, avec GRBL, qui fonctionnent donc ne me dîtes pas, "utilise un arduino" etc, ça je sais faire, j'en ai déjà, c'est pas ça que je veux. Je veux pouvoir utiliser la CR10S à la fois en impression et en CNC légère, sans changer quoiqu'il ce soit, sauf le code, et bien sûr la tête additionnelle CNC. J'ai mes raisons. Pour faire ça, je veux avoir les même g-code que pour l'impression géré par Marlin, généré par Cura à partir de STL. En gros, pour une utilisation CNC, je le rentre le "moule" de ma pièce finale et basta (à quelques configurations près). Un exemple : La pièce finale est un wedding cake. Voilà. Pour ça, je dois commencer par le haut. @Forthman ça c'est pas idiot ^^. Ce serait effectivement plus simple comme script. Mais question annexe, est-ce que Marlin gère les Z négatifs, j'en suis pas sûr.
  10. Oui exactement. J'en ai tout à fait conscience. Mais j'ai dit que c'était pas pour de l'impression
  11. Oui mais je ne veux pas spécifiquement inverser les couches, mais inverser les mouvements de l'imprimante, y compris Z. Donc ça ne revient pas au même. Dans votre exemple, la première couche exécutée est à l'altitude Z=0; moi je confirme que ma première couche doit être à Z=6 physiquement parlant pour décroître au fur et à mesure. Pour faire cela, il faut inverser le g-code. L'erreur vient du fait que vous raisonnez en termes de volume imprimé, hors ce n'est pas ce que je veux.
  12. Honnêtement en quoi ça dérange les gens de répondre (ou non s'ils ne savent pas) à une question qui est ce qu'elle est... Et qui est posée correctement Quand je recours à un forum, c'est qu'auparavant j'ai bossé mon sujet donc je viens pas pour poser des questions dans le vide ou pour une réponse hyper simple que j'aurais pu trouver seul. Après bien sûr je peux expliquer pourquoi, mais compte tenu de la problèmatique, si je le fais, je sais déjà par expérience que le sujet va dériver vers des "ce ne serait pas plus simple de ...", "je ne ferais pas comme ça à ta place ...", etc. Bref, des choses qui vont polluer le sujet pour rien, car la réponse que je cherche, c'est bien celle à la question posée. Ensuite je pourrai expliquer pourquoi afin de partager mon expérience, qui ne sera utile que si j'ai la réponse à ma question, et dans le cas contraire n'aura servi qu'à brasser de l'air Donc, j'en reviens à ma question, quelqu'un sait-il comment inverser l'ordre des couches d'un g-code, pour les exécuter en sens inverse ? Sinon tant pis j'écrirai un petit script pour le faire pour le faire... D'avance merci pour une éventuelle réponse
  13. @`Yellow T-pot : Non cela ne revient pas au même. Car le slicing considérera toujours que la première couche à faire est celle contre le plateau. Moi je veux que la première couche soit le plus haute. Donc je veux que le mouvement de l'imprimante soit inversé, mais sans toucher au hardware. En d'autres termes, un g-code normal c'est : LAYER1 LAYER2 LAYER3 LAYER...XX et je veux à la place LAYER..XX LAYER3 LAYER2 LAYER1
  14. Bonjour à tous, J'ai une question un peu spéciale pour vous : pour certaines raisons, je souhaite générer à l'aide de Cura ou autre un fichier g-code pour la CR10S. Jusqu'à là, c'est tout à fait standard, sauf que... je veux que les couches s'impriment dans le sens inverse, c'est-à-dire la couche du haut en premier et la couche contre le plateau en dernier. Est-ce qu'il y a un moyen facile de faire cela, autrement qu'en modifiant le g-code à la main ou avec un petit bout de code prévu à cet effet ? Toute solution alternative qui permettrait d'inverser les couches d'un g-code (hors routine home et finale que je peux rajouter après) me conviendrait évidemment. PS : Evidemment la demande est farfelue et évidemment ce n'est pas pour faire une impression ... Merci d'avance pour les éclairs de génie de la communauté
×
×
  • Créer...