[..] Modification d'un script existant contre impression 3D

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Htouzot
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 18 mars 2015 14:15
Status : Hors ligne

[..] Modification d'un script existant contre impression 3D

#1

Message par Htouzot »

Bonjour,

Je fais partie d'une communauté d'utilisateur d'imprimante 3D et nous utilisons un script autoit pour modifier un fichier généré par un autre logiciel pour augmenter les performances de la machine. Le soft créant les fichiers évolue et la personne ayant créé le script n'est plus disponible pour le faire évoluer de la même façon.

Deux lignes d' informations importantes ne sont plus écrites dans le fichier, et je n'arrive pas à comprendre comment cela fonctionne. Le fichier au3 est bien documenté, je ne pense pas que cela prendrait trop de temps à modifier mais si une personne est intéressé me résoudre le soucis je veux bien lui renvoyer l’ascenseur en lui imprimant un truc sur l'imprimante 3D.

Merci de me dire ci l'un d'entre vous est intéressé, je fournirai l'ensemble des sources, les fichiers de tests et plus d'explication sur les deux lignes en question.

Merci !
Hugues
Modifié en dernier par Htouzot le mer. 18 mars 2015 14:56, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: Modification d'un script existant contre impression 3D !

#2

Message par orax »

Merci de modifier le titre du sujet afin qu'il respecte les règles de présentation d'un message.

Est-il possible de fournir l'ensemble des sources à tout le monde sur ce forum pour que tous puissent aider, ou est-ce que cela pose-t-il des problèmes de confidentialité, licence, ... ?
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Htouzot
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 18 mars 2015 14:15
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#3

Message par Htouzot »

Désolé pour la mise en page !

Voici un dossier avec les sources plus les fichiers d'exemples. Il n'y a pas de problème de confidentialité car le précédent était disponible sur les forums spécialisés.

Pour résumer :

Les fichiers générés par le script sont les .bfb, les .bfb.back sont les fichiers de sauvegardé ou natif. Le script génère un fichier .bfb et sauvegarde l'ancien en .bfb.back (donc le fichier d'entré est le bfb renommé en .back).

Je vous propose deux jeux de fichiers, l'un créer avec l' ancienne version du logiciel cubeold.bfb / .back et la version généré par la nouvelle version du soft (cubebeta).

Ce qui ne passe plus :

Le script doit traduire 4 valeurs insérées en deux lignes. Vous les trouverez en ligne 5 et 6 du cubeold.bfb. Ces valeurs proviennent de quatre entrés situées dans la section "material setting for extruder 1" mais aussi le 2 du bfb.back. Je pense que la "conversion" se fait en ligne 311 du .au3

De nouvelles entrées ont fait leur apparition dans la nouvelle version du soft, je n'arrive pas a déterminer ce qui pose problème !!!

Vous trouverez surement dans le script des fonctions inutilisés, j'en ai supprimé quelques une suite à un bug découvert il y a quelques semaines. Tout fonctionnait correctement jusqu’à l'arrivé de cette nouvelle version malgré un code pas super clean.


N'hésitez pas à me poser plus de question,
Merci et désolé de poster les sources si tard.
Hugues
Fichiers joints
Cubeitmod.zip
(297.22 Kio) Téléchargé 92 fois
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#4

Message par orax »

Si ce script est en version 4.9.1 (au lieu de 4.91 comme indiqué dans le script), il y a peut-être une version plus récente (4.10) ici : https://github.com/BillyQuiet/CubeItMod Mais même avec cette autre version ça ne doit pas résoudre le problème puisque avec les deux scripts j'ai les mêmes erreurs. ^^
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Htouzot
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 18 mars 2015 14:15
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#5

Message par Htouzot »

Oui, la version que vous citez à été créer pour masquer un bug de la version 4.91. Pour une raison indéterminé, le script multipliait par 100 certaine vitesses de la machine ce qui faisait bugger le firmware....

Le bug a été supprimé quand j'ai retirer certaine partie du script qui recalculait la vitesse des segments.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#6

Message par mikell »

Apparemment le script posté n'est pas celui qui a été utilisé sur les versions 'old' des fichiers, en effet - si j'ai bien compris - un test sur le fichier 'cubeOld.bfb.bak' renommé en 'cubeOld.bfb' devrait retourner un fichier 'cubeOld.bfb' identique à celui fourni, ce qui n'est pas le cas

Il y a une erreur ligne 312

Code : Tout sélectionner

If StringLeft($line,4) = "M55[color=#FF0000]1[/color]" & $TxtExtruder and $UseM227 = "1" Then
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Htouzot
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 18 mars 2015 14:15
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#7

Message par Htouzot »

Bonjour, oui c'est exacte !

J'ai utilisé un script quasi identique, certaine entrée ont été modifié sur le script pour se relier à la nouvelle version du logiciel.

Le précédent développeur avait mis M55, j'ai du laissé le M551 par erreur lors de mes nombreux tests pour réécrire les lignes. Désolé !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#8

Message par mikell »

Hum trouvé je crois
Essaie cette modification

Code : Tout sélectionner

        ; Get Working Extruder = $TxTExtruder and Set $FirstAfterWarming to 1
        If StringLeft ($line,36) =Stringleft("; *** Selecting and Warming Extruder",36) Then
           $TxtExtruder = StringMid ($line,38,1)
           $nExtr = Number($TxtExtruder)
           $FirstAfterWarming = 1
        EndIf
 
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Htouzot
Niveau 1
Niveau 1
Messages : 5
Enregistré le : mer. 18 mars 2015 14:15
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#9

Message par Htouzot »

Effet cela semble fonctionner, Sea m'a envoyer un code contenant ses changements en début d'après midi.

Je n'ai pas encore tester l'ensemble, j'espère pouvoir le faire demain, mais merci beaucoup pour vos réponses rapides !!!
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Modification d'un script existant contre impression

#10

Message par Sea »

Voici le code fixé, le dernier générait des nombres incorrects pour M228.
► Afficher le texte
J'ai juste changé

Code : Tout sélectionner

    $M228S_Key = "; cost_per_cm3 = "
    $M228P_Key = "; sec_per_C_per_C = "
 
Ainsi CubeOld.bfb.bak redonne le même fichier que CubeOld.bfb fournis ;)
De plus j'ai gardé les deux afin d'être compatible avec les anciennes versions des fichiers

Code : Tout sélectionner

        ; Get Working Extruder = $TxTExtruder and Set $FirstAfterWarming to 1
        If StringLeft ($line,36) =Stringleft("; *** Selecting and Warming Extruder",36) Then
           $TxtExtruder = StringMid ($line,38,1)
           $nExtr = Number($TxtExtruder)
           $FirstAfterWarming = 1
        EndIf

        If StringLeft ($line,22) =Stringleft("; *** Warming Extruder",22) Then
           $TxtExtruder = StringMid ($line,24,1)
           $nExtr = Number($TxtExtruder)
           $FirstAfterWarming = 1
        EndIf
 
Voili voulou perso je dis pas non te tout refaire ton code de manière propre (c'est à dire pas comme j'ai édité ^^)
Répondre