1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode

Discussion dans 'Gcode' créé par ledahu, 25 Septembre 2016.

  1. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Bonjour à tous,

    Je suis le créateur de la CNC Ladydraw.com

    Pour qu'elle marche, j'ai développé mon propre algorithme de vectorisation de jpg/png

    Cet algo a une particularité: il reconnaît et transforme les images en "chemins" (path) et non en polygones.

    Puis génère du GCODE en arc de cercle G2/G3

    Je suis en train de créer un site pour permettre à tout le monde d'utiliser cet algo.

    Je cherche à présent des personnes qui voudraient bien essayer le logiciel de vectorisation pour leur propre machine et me dire tout ce qu'il manque pour que cela soit parfait (un paquet de trucs j'imagine :) )

    Aussi, si vous êtes intéressé, merci d'aller sur http://www.vectopict.com

    A savoir :
    - Il suffit de s'inscrire en cliquant "register"
    - le principe est simple : vous envoyez une image (Add a Vecto Job) , le serveur vous envoie un mail quand la vectorisation est terminée.
    - puis vous avez un outil pour exporter un SVG, ou générer du GCODE personnalisé

    un exemple :
    un Mucha :
    http://www.image-vectors.com/uploads/4-4439129177.png
    le SVG :
    http://www.image-vectors.com/done/4-4439129177.svg


    tout est gratuit

    Merci de vos retours.
     
    Dernière édition: 26 Septembre 2016
  2. bequet gilles

    bequet gilles Compagnon

    Messages:
    777
    Inscrit:
    21 Mai 2012
    Localité:
    Cergy Pontoise
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    bonjour

    je ne pense pas avoir la competence pour t' aider mais en tous cas chapeau "beau boulot" !!

    a+ gilles
     
  3. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    :) merci

    En fait, en termes de "compétences" , je cherche un retour allant de "C'est nul j'y comprends rien" à "Génial, le top serait une option permettant de ..."

    bonne journée
     
  4. Dardar88

    Dardar88 Ouvrier

    Messages:
    304
    Inscrit:
    27 Avril 2011
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Bonjour ledahu
    Nous aussi dans la region ou j'habite avons des Dahu mais la grande difference est que les pattes sont pareilles , surtout celles de gauche :)

    Je biche vraiment avec ton travail ,c'est super ,j'ai souscrit dans la foulée et attend avec impatience le retour de courrier .... tu verras ,je t'ai gaté :) !!....

    En regardant les different dessins et l'interpretation cn qui en est fait ,pour le moment j'ai juste a m'extasier , je ne connais pas d'application de ce type qui me paraisse aussi performante et ça fait vraiment un bail que je cherche une vectorisation d'image correcte (img to vector) .
    Pour la conversion de dessin de type gravure a l'eau forte par exemple ,c'est vraiment le desert, encore plus pour une conversion Gcode.

    >"Génial, le top serait une option permettant de ..."<

    En deuxieme application peut etre qu'il sera possible d'y ajouter un burin en guise de crayon,ça devrait marcher avec une pointe diamant de type gravograph ,et puis le must ,un burin en tangentiel ,mais la ,c'est pas gagné :smt017.(tu l'as voulue ,tu l'as eu :( )

    Alors d'entrée un grand bravo au Dahu,l'algo est terrible !!!

    Attention tout de meme ,la chasse au gibier a demarré :smt068

    t.
     
    Dernière édition: 26 Septembre 2016
  5. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    :)

    Il y a un malentendu : Je voudrais que vous testiez le convertisseur de dessin pour vos propres réalisations sur vos propres machines ! (gravure ou fraisage)

    Vous pouvez vectoriser tout ce qui vous chante sur vectopict.com, et générer votre propre Gcode ! l'algo est dispo

    Grosso modo, tout le monde peut désormais aller piocher sur le site en ligne de la BNF...


    Pour ce qui est de l'évolution de la LadyDraw: yep, j'ai prévu à terme d'aller faire un tour coté gravure... mais pour l'instant, ma prochaine étape est "craie pastel" et "fusain" avec les problématiques des usures/casses des mines.

    Pour ce qui est du Dahu : Le problème n'est pas tant la chasse que le fait que je tombe à chaque fois que je me retourne :)))

    en tout cas, merci pour les encouragements. Ca fait plutôt chaud au coeur.
     
  6. Num

    Num Compagnon

    Messages:
    681
    Inscrit:
    21 Mai 2014
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    bonjour,
    oui il existe déjà des convertisseurs d'image en DXF, en ligne.
    si je prends un dessin et le transforme en fichier DXF, alors avec Cambam je peut en sortir le Gcode pour etre graver.
    mais , je ne connais pas toutes tes resources ,si non cela peut-être utile bien sur.
    Bonne journée.
    Yves


    ps/ comme le : http://www.vectorization.org/
     
  7. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    oui, mais on ne parle pas de la même chose. Ce sont tous des soft qui transforment en polygones et qui demandent une 2eme passe pour la transfo en Gcode

    Ce que j'ai fait "reconnait" les traits , et uniquement des traits.

    Vectorization.org en fait partie : il sort des polygones (des surfaces vectorisées), ce qui ne fait que déplacer le problème de la génération du GCODE

    Essaye le dessin de Mucha avec une sortie SVG, tu verras la différence.

    je parle de génération DIRECTE de GCODE
     
  8. Dardar88

    Dardar88 Ouvrier

    Messages:
    304
    Inscrit:
    27 Avril 2011
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Bien sur ! le message est clair

    Je dois avoir pas mal de lignes Gcode a graver pour l'un des dessins selectionné ,il va falloir prendre son elan, bien lubrifier le Z . Si m'a cn ne rend pas l'ame a la 19322 ieme ligne ,j'envoie le compte rendu :),
    ça va prendre du temps.

    t.
     
  9. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    verifiez bien votre Gcode avec votre soft habituel, c'est un beta-test ...
    je croise les doigts, enfin, les sabots :)
     
  10. Dardar88

    Dardar88 Ouvrier

    Messages:
    304
    Inscrit:
    27 Avril 2011
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Quelle humilité ! justement , bien vu , est ce que je dois mentionner mon soft prefere ?...:)
    lui ne fait que generer du parcours d'outil en 2d5 avec pas mal de facilité et de fiabilité ,
    une bonne reference.

    Celui ci accepte les SVG ,ce qui fait que j'ai pu comparer la generation des parcours d'outil
    Il accepte aussi l'import de gcode en temps que fichier dessin ,j'ai pu comparer" l'allure" des gcode.

    Pour la generation du Gcode a partir du SVG ,ton fichiers est 2x plus leger en poid , et semble aussi contenir un peu plus plus d'arcs.
    J'ai du ajouter quelques ligne d'intro et de fin pour la compatibilité de sortie (vers Mach3 pour moi)

    En import/export et reimport et mesure ,ton fichier Gcode est 3x plus grand en XY ,passe de 293mm a 1090 env alors que la valeur du svg correspond (toujours pour mon dessin) a 293mm et tete beche !
    Sinon ,pas de distortion.
    Tous ça est a verifier avec d'autres avis...

    Pour adapter au fraisage (ou a la gravure ,c'est pareil) il faudrait ,si je n'ai pas zappé dans la page de generation , ce qui ne m'etonnerait pas ,ou quelque chose que je n'ai pas compris
    - ajouter la possibilité de gestion de vitesse de descente Z indépendamment des X et Y , en lignes separées.
    + le numero d'outil en Txx et son diametre Dxx
    + la lubrification (flood ,coolant)
    + un arret au changement d'outil
    +un depart de broche
    Il y a d'autres subtilités comme le mode metrique ou imperial ,la compensation d'outil , l'annulation des décalages , et bien sur pour quel type de controleur , Fanuc est un peu le grand standard ....(ils sont tous ISO )


    a la fin du programme ,l'option:
    -une remonté Z de securite
    (a ne pas mettre ensemble un retour a l'origine et un Z vers 0 sur la meme ligne
    car sinon c'est la trainée de fraise en diagonale garantie :)
    -les arrets de lubrification ,air ...
    - l'arret programme

    a part ça tout va bien :smt023

    t.
     
  11. CNCSERV

    CNCSERV Compagnon

    Messages:
    1 650
    Inscrit:
    27 Décembre 2007
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Bonjour,
    Je ne comprend pas le fichier Arc TXT de l'exemple n'est pas du gcode :smt017
    le SVG sur inskape sur mon vieux coucou...ça mouline.......................et ça plante
     
  12. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode

    1- dans le formulaire de génération du Gcode , en haut, tu peux spécifier le nombre d'unité que fera ton GCODE en largeur
    ex: ton image fait 250 pixel de large => l'algo calcul tout avec 250 max => tu veux que ca fasse 1000 => tu l'indiques dans le formulaire de GCODE que la taille finale max est 1000 et il va tout agrandir
    Si ta machine est en mm ca fera 1000 mm , si elle est en inch, ben des inch :)


    2 : tu parles d'une erreur de l'algo de reconnaissance : cad un bug avec un trait qui n'existe pas. Ou que l'algo fait un trait d'un coté puis dégage à l'opposé en faire un autre ?
    <= je n'ai pas changé l'ordre des traits : l'ordre est de bas en haut, car ma machine utilise des crayons qui sont penchés... je vais faire une option pour optimiser l'ordre des traits.
    => je me demande si , pour tous ceux qui font du fraisage, je ne devrais pas faire un ordre spécial qui part du centre et part en spirale vers l'extérieur, pour les déchets, c'est pertinent ? non ?

    Pour tous les autres aspects, je pense que tu es passé à coté d'un truc très simple que j'ai très mal expliqué dans la page du formulaire :

    1- L'algo a tous les traits , mais il ne sait pas les instructions voulues avant et après chaque trait donc :
    2 - le formulaire de Gcode te permet de spécifier
    --- les instructions que tu veux en entete de GCODE (HEAD) , autant de lignes que tu veux
    --- les instructions qui doivent etre ajoutées avant chaque trait (before stroke) , autant de lignes que tu veux
    --- les instructions qui doivent etre ajoutées après chaque trait (after stroke) , autant de lignes que tu veux
    --- les instructions que tu veux en fin de GCODE (FOOTER) , autant de lignes que tu veux

    donc, par exemple, dans le formulaire :
    dans le HEAD, tu peux mettre :
    G91
    F1500
    M2
    G55
    etc.

    et dans "before stroke sequence"
    G0X{XNEXT}Y{YNEXT}Z{ZBEFORE}
    F3500
    M3
    etc.

    Ah, désolé. Effectivement, le fichier SVG est le fichier brute SANS arcs. C'est-à-dire, une suite de points à une distance approximative de 1
    donc ça fait une sacrée brochette de points. Mais ça permet de garder un niveau maximal de précision pour ceux qui travaillent à partir de SVG

    Ah oui, bien vu ! Les fichiers ARC TXT sont des fichiers pour moi. Ce sont les fichiers des traits sans la syntaxe GCODE . Il faut que je les enlève ...


    Je fais une version francaise rapidement ce soir je pense.
     
  13. Dardar88

    Dardar88 Ouvrier

    Messages:
    304
    Inscrit:
    27 Avril 2011
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Bonjour ledahu

    Merci pour ta reponse detaillée

    - Je dois confondre deux algo distincts ,celui (ou ceux) de la vectorisation
    du JPG/PNG et celui correspondant au postprocesseur

    pour le 1/ concernant le facteur d'echelle ,euh oui ,zapette ,meme si cela semble evident je
    n'avais pas pigé. Une possibilité de donner du 1:1 ,1:0.5 ou 1:1.8 ? un genre d'info en conversion pixel mm indiquant que l'original fait Xmm Ymm, parcequ'en pixel c'est pas tres causant sans calculette.

    Pour le 2/
    Ous ke ke ??? j'en suis a peine a la prise en main ,
    je ne m'autoriserais pas a parler d'erreur d'algo :???: d'ou l'interet de citer systematiquement.

    Si le fichier SVG que l'on peut telecharger est different du format que tu utilises ,c'est difficile de comparer avec un autre logiciel

    - oui ,un beta testeur se doit d'etre un peu c... ,c'est fait pour ça :siffle:

    Pourrais tu, s'il te plait, donner un exemple concret de modification du post processeur ,si cette denomination est commune entre nous , par exemple pour donner une valeur de profondeur de defonce en Z et de vitesse de descente associée pour obtenir un truc comme ça:

    G0 X32 Y15
    G1 Z-0.5 F350
    (en ayant mis les deplacement X et Y a F1500 en G1 par exemple)

    pour les header et footer ,ok ,pas de probleme .

    Attention ,en defonce ou gravure ,les descentes sont toujours en negatif Z- ,le Z0 est touchant le dessus de la table ,a moins que l'on integre la hauteur de materiaux ,le post pro en tenant compte. (c'est pas du papier ou du tissus) ,mais pour faire simple au depart ,considerer Z0 pile touchant.

    merci d'avance

    t.
     
    Dernière édition: 27 Septembre 2016
  14. ledahu

    ledahu Apprenti

    Messages:
    84
    Inscrit:
    1 Janvier 2010
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Génial. On va réussir à faire un outils aux petits oignons !

    L'algo de reconnaissance des traits part d'un présupposé simple : 1.5 pixels noirs = une tranche de trait. Plus petit, ce n'est rien du tout.

    En fait, le nombre de pixels n'est pas un indicateur de taille, mais de qualité de reconnaissance.
    Cela dit, quand j'ai fabriqué le soft, je suis parti sur une base que 3 pixel = 1mm, pour me permettre de travailler à la pointe fine (0.5) avec des images trouvées sur internet

    A partir de là , il trouve un certain nombre de traits composés de points (en moyenne jusqu'à 97% du dessin original)

    => cela donne le SVG : des traits composés de segments rectilignes.

    Ensuite, pour que ce soit plus joli et leger, un 2eme algo transforme tous ces traits en arcs de cercle. Ce qui est une chose très complexe. (des nurbs ou des courbes de Bézier seraient beaucoup plus faciles) , mais peu de machines acceptent plus que du G2/G3 ...

    => cela donne le ARC TXT

    On a donc un fichier avec tous les arcs traits, sans notion de Z. Uniquement des X/Y.

    Arrive donc le PostProcesseur pour générer un GCODE personnalisé avec les Z qui vont bien
    Pour cela 3 Z configurables :
    - Le ZWORK : C'est le Z qui va etre ajouté à toutes les lignes de traçage (G1,G2,G3)

    - le ZBEFORE : C'est le Z qui sera utilisé en positionnement AVANT d'attaquer un trait , en engagement
    => donc on aura G0 X123 Y123 Z ZBEFORE , puis G0 X123 Y123 Z ZWORK

    - le ZAFTER : C'est le Z qui sera utilisé en positionnement APRES la fin d'un trait , en dégagement
    => donc on aura G1 X123 Y123 Z ZWORK , puis G0 X123 Y123 Z ZAFTER

    =>Donc je suis en train de comprendre qu'il faut pour les fraiseurs que la descente soit un G1 et non un G0.... je vais bosser dessus


    C'est cette phrase que j'ai du mal comprendre. Que veux tu dire ?

    oui et non.
    Les autres logiciels donnent des polygones. C'est la nature de la vectorisation qui change, et ca change tout :)


    En l'occurence, je pense que c'est surtout les informaticiens de mon genre qui sont des breles en ergonomie, mais on va y travailler :)


    Exemple :
    Ma machine travaille à un Z=0.25
    => ZWORK = 0.25

    J'ai besoin que ma machine se positionne, avant de commencer un trait, à un Z de 1 mm , et lance un M3 puis une pause fictive P0.01 pour synchro mon controleur
    => ZBEFORE =1.0

    et

    Before Sequence =
    M3
    P0.01
    G0X{XNEXT}Y{YNEXT}Z{ZBEFORE}

    J'ai besoin que ma machine , quand elle a finie un trait , dégage sur un Z=1.5 , et lance un M4 et une pause idem
    => ZAFTER=1.5

    After sequence =
    M4
    P0.01
    G0X{XPREV}Y{YPREV}Z{ZAFTER}


    Le postprocesseur donnera , pour chaque trait :

    M3
    P0.01
    G0 X123 Y123 Z1.0

    G0 X123 Y123 Z0.25
    G1 ....... Z0.25
    G2 ....... Z0.25
    etc.


    M4
    P0.01
    G0 X456 Y456 Z1.5

    idem pour chaque trait​




    En résumer :

    - L'algo de reconnaissance de trait ne donne AUCUN Z .
    - Le fichier SVG est composé de traits composés de points . Aucune courbe. (Ceci pour permettre l'utilisation d'autres logiciels de transformation en arcs en gardant la qualité de précision de la reconnaissance)
    - Le fichier ARC TXT est le résultat brute de la reconnaissance des Arcs de cercle G2/G3
    - Le post processeur Gcode sert a rajouter des instructions avant et après chaque trait, et des instructions au début et à la fin du dessin.

    Je vais bosser dessus dans les jours qui viennent.


    Au passage, le lien "rerun" c'est pour relancer une reconnaissance quand je fais une mise à jour de l'algo
     
  15. Dardar88

    Dardar88 Ouvrier

    Messages:
    304
    Inscrit:
    27 Avril 2011
    Appel a Beta-testeurs - Algo de vectorisation Jpg/Png -> Gcode
    Quelques news pour ledahu:

    En gravure ce serait vers les 0.1 ,0.2 ,0.3mm , 0.5 est deja "gros" ,tout depend de la profondeur du V et
    de l'angle de l'outil ,15,30,60,90° ,si c'est sur du metal ,du plexi , du bois massif ou du medium pour
    du moulage

    Oui ,ce doit etre tres complexe ,je trouve l'effet est parfois trop marqué ,ce qui donne pour
    les trois fichiers que j'ai envoyé se faire passer a la moulinette ,1 seul reellement exploitable , l'echec de l'un d'eux etait previsible ,le dessin etant super chargé ,mais l'autre ,plus en "lignes claires" n'est pas passé ,ça m'a etonné..
    L'effet est tres proche de ce que Van Gogh a voulu exprimé a un certain moment (c'est quand meme fou qu'il ait "sentit" une approche geometrique et dynamique par arc de cercle pour capter la lumiere !)
    Par contre le truc ne marche pas a tout les coups ,il faudrait pouvoir regler son accentuation suivant
    les dessins de Durer a la calligraphie.

    voici le sujet que j'ai retenu:(l'auteur de la gravure m'est inconnu ,desolé)
    Duc de Lor1_Orig.jpg

    Son interpretation en sortie SVG par ton algo ,franchement sympa !
    Duc de Lor1_SVG.jpg
    ça été reglé par ton explication sur l'echelle en pixels.

    Comme je n'avais pas envie(le temps) de faire remouliner le fichier a l'echelle 1:1 ,
    j'ai utilisé ,pour l'usinage ,le Gcode de mise a l'echelle G51 , qui est visible sur le cartouche
    de la mini video que je joins :0.3% d'echelle en X et Y (revoquable par un G50).

    En ce qui concerne l'edition du fichier Gcode , je suis passé directement sur un editeur pour
    changer les valeurs ,les Header et Footer ,en incorporant "les trucs qui marchent a tout les coup"

    j'ai remplacé les valeurs Z1.0 par Z2.0 pour avoir davantage de marge en rapide
    et les Z0.000 qui correspondent a la gravure par Z-0.5
    Compte tenu que ma broche dispose d'un compensateur de profondeur a nez et ressort ,
    c'est assez simple de gerer celle ci !! (voir la video)
    L'outil est une pointe diamant utilisé comme un burin , la broche ne tourne pas.
    Pour le test ,c'est une chute d'altuglas (concurrent plexi ,meme produit) , la profondeur
    n'etant pas suffisante pour un remplissage a la cire ,desolé ,c'est pas tres lisible ,mais
    dans les mains ,c'est comme escompté !
    Mes photos sont m......iques , takara 29 euros ,mais ç'est rapide ,pareil pour la video a 120°
    et rotation a 90° ,je ferais mieux la prochaine fois :oops:

    Duc0104.jpg Duc0110.jpg



    Je me suis arrete a la 31000 ligne sur 51000 pour cause de depassement de la plaque :hang:


    t. Voir la pièce jointe Duc_LadyD_Grv.avi
     

Partager cette page