Donnez vie à vos documents numériques !
 

Calcul filetages

abracadabraPDF Forums PDF – Général Calcul filetages

  • Créateur
    Sujet
  • #75699
    homer
    Participant

    Bonjour,

    J’aimerai créer une double valeurs a partir de la casse “Filtageperçagesimple” une le Pas (text5) et l’autre par exemple M1 une valeur de 1 (text6) comme cela depuis la cellule “Filtageperçagesimple” et ainsi faire les calculs pour chaque filetage,

    Merci a vous

    Cordialement et bonne journée

    Attachments:
    You must be logged in to view attached files.
Affichage de 34 réponses de 1 à 34 (sur un total de 34)
  • Auteur
    Réponses
  • #75701
    bebarth
    Maître des clés

    bonjour,
    Je te propose un script de touches personnalisé :
    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) {
    if (event.changeEx==event.target.getItemAt(i,true)) break;
    }
    var lesValeurs=event.target.getItemAt(i,false).split(" - Pas ");
    this.getField("Text5").value=lesValeurs[0];
    this.getField("Text6").value=lesValeurs[1];
    }

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75704
    michel c.
    Participant

    Chez moi ça ne fonctionne pas, ça affichait la valeur précédemment sélectionnée dans le tableau.

    J’ai fait une petite modif en ajoutant un bouton valider sous la liste déroulant (j’ai également remplacé le “ç” de perçage par un “c” dans le nom de champ).

    Sinon, tu compte faire évoluer le formulaire pour que ça calcule les différents diamètres, hauteur de filet… ?

    • Cette réponse a été modifiée le il y a 1 semaine et 1 jour par michel c..
    Attachments:
    You must be logged in to view attached files.
    #75708
    homer
    Participant

    Bonjour à tous,

    Oui mais je n’ai trouvé que les formules pour le pas métrique pour l’instant (je cherche les autres, a moins que cela fonction sur d’autre filetage ? Mais pas le pas GAZ vu qu’il est conique ainsi qu’un autre) , je vous joins l’autre page deja faite ou j’ai répertorié d’autre pas et perçage

    En tout un grand merci Bebarth et Michel !

    Cordialement

    #75709
    bebarth
    Maître des clés

    ça affichait la valeur précédemment sélectionnée dans le tableau

    Le premier fichier que j’ai partagé n’était pas le bon… mais le script est correct.
    J’ai maintenant remplacé le fichier. Ça évite d’avoir un bouton !

    @+
    😎

    #75710
    bebarth
    Maître des clés

    Oui mais je n’ai trouvé que les formules pour le pas métrique pour l’instant (je cherche les autres, a moins que cela fonction sur d’autre filetage ?

    Dire que j’avais tout ça et que je m’en suis séparé il n’y a pas très longtemps…

    @+
    😎

    #75712
    homer
    Participant

    Re 🙂

    Voila ca me donne cela, reste a trouver les autres !

    Merci

    Attachments:
    You must be logged in to view attached files.
    #75714
    bebarth
    Maître des clés

    …reste a trouver les autres !

    On doit bien trouver les formules sur internet !

    @+
    😎

    https://www.h7g6.fr/data/article/37/memento-des-types-filetages (Par exemple – A vérifier).

    • Cette réponse a été modifiée le il y a 1 semaine et 1 jour par bebarth.
    • Cette réponse a été modifiée le il y a 1 semaine et 1 jour par bebarth.
    #75726
    homer
    Participant

    Bonjour,

    Par contre pour les normes suivantes pas : métrique fin, GAZ …  je regarde de meilleur dessin, et j’ai essayé de le script en GAZ mais cela bloque ou ? c’est en page 3 il y a un beug !!! la page 2 ne fonctionne plus

    Je suis conscient qu’il faut que je complète vu que je n’ai pas enregistré les PAS

    Merci et bonne journée

    Cordialement

    • Cette réponse a été modifiée le il y a 1 semaine par homer.
    • Cette réponse a été modifiée le il y a 1 semaine par homer.
    Attachments:
    You must be logged in to view attached files.
    #75730
    bebarth
    Maître des clés

    bonjour,
    Ça a l’air de fonctionner !

    @+
    😎

    #75732
    homer
    Participant

    Salut,

    Oui cela fonctionne pour les pas métriques mais je rencontre un nouveau problème pour les pouces 3/8 ou 1 1/4 par exemple je fais comment pour les transformer en mm ?

    Merci d’avance

    Bonne journée

    Cordialement

    • Cette réponse a été modifiée le il y a 6 jours et 22 heures par homer.
    • Cette réponse a été modifiée le il y a 6 jours et 19 heures par homer.
    Attachments:
    You must be logged in to view attached files.
    #75735
    bebarth
    Maître des clés

    bonjour,
    Pour passer de pouces à millimètres il faut multiplier par 25,4.
    Exemple 5/8″ =  5*25.4/8 = 15.875 mm

    @+
    😎

    PS : Je n’avais pas vu sur ton fichier : 1″1/4 = 1.25″ = 1.25*25.4 = 31.75 mm

    • Cette réponse a été modifiée le il y a 6 jours et 19 heures par bebarth.
    #75740
    homer
    Participant

    Bonjour,

    Oui x 25.4 mais avec ma celulle ou j’ai ecris : G 1/16 – Pas 0.907 comment je fais

    Idem avec : W 1/16 – Pas 0.423
    BSF 3/16 – Pas 0.79

    Cela est ce possible ?

    Ordre du PDF :

    Page-1.pdf
    Page-2-fini.pdf
    Pouce-en-mm-1.pdf (en cours)

    Cordialement

    • Cette réponse a été modifiée le il y a 6 jours et 19 heures par homer.
    • Cette réponse a été modifiée le il y a 6 jours et 19 heures par homer.
    Attachments:
    You must be logged in to view attached files.
    #75751
    bebarth
    Maître des clés

    Je te propose ce script valable (sauf erreur) pour toutes tes formes d’écritures.
    Si tu as un fichier terminé avec tous les différents filetages, Je te conseille de mettre ce script en fonction et de l’appeler par tous les menus déroulants.
    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) { if (event.changeEx==event.target.getItemAt(i,true)) break; } var lesValeurs=event.target.getItemAt(i,false); // var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace(filetageRegEx,"$1-$2".replace(/,/g,".")); var vis=visPas.split("-")[0]; var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^(W|(BSF)|G|(PG)|(NPT))[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace(filetageRegEx,"$5-$7".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ "]/); if (laVis.length==1) { var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4; } else { var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4; } var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^UN(C|F)[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace(filetageRegEx,"$2-$4-$5".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ "]/); if (Number(visPas.split("-")[1])>=28 && /[^"]/.test(lesValeurs) && Number(visPas.split("-")[0])<=12) {
    var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,"-",4.166,"-",4.826,"-",5.486];
    var vis=UN[Number(visPas.split("-")[0])];
    } else if (laVis.length==1) {
    var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4;
    } else {
    var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4;
    }
    var pas=visPas.split("-")[2];
    } else app.alert("Filetage incorrect",3);
    }
    }
    try {
    console.println("vis : "+vis);
    console.println("pas : "+pas);
    this.getField("Text5").value=vis;
    this.getField("Text6").value=pas;
    } catch(e) {
    app.alert("Filetage incorrect",3);
    }
    }

    @+
    😎

    • Cette réponse a été modifiée le il y a 4 jours par bebarth.
    #75752
    homer
    Participant

    Salut Bebarth,

    Merci a toi encore ! Mais est ce bien dans l’onglet “Format” et la 2eme casse ? car le Pas est bon, mais le diamètre ne correspond pas, ou je dois  mètre le script ?

    Et faut il que j’enlève ( ” ) pour les valeurs 1″ 2″ …. car j’ai un beug pour c’est valeurs ?

    Car par exemple 2″ j’ai la mention “Nan” et je peux pas le leurrer par 2/2, 1″ ca passe mais les Pas sont bon !

    Merci 🙂

    Bonne journée

    • Cette réponse a été modifiée le il y a 6 jours et 2 heures par homer.
    • Cette réponse a été modifiée le il y a 6 jours et 2 heures par homer.
    • Cette réponse a été modifiée le il y a 6 jours par homer.
    Attachments:
    You must be logged in to view attached files.
    #75758
    bebarth
    Maître des clés

    <p style=”text-align: left;”>bonjour,
    J’ai fait une petite modification du script :
    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) { if (event.changeEx==event.target.getItemAt(i,true)) break; } var lesValeurs=event.target.getItemAt(i,false); // var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace(filetageRegEx,"$1-$2".replace(/,/g,".")); var vis=visPas.split("-")[0]; var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^(W|(BSF)|G|(PG)|(NPT))[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$5-$7".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ ]/); if (laVis.length==1) { var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4; } else { if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4; else var vis=Number(laVis[0])*25.4; } var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^UN(C|F)[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$2-$4-$5".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ ]/); if (Number(visPas.split("-")[1])>=28 && /[^"]/.test(lesValeurs) && Number(visPas.split("-")[0])<=12) {
    var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,"-",4.166,"-",4.826,"-",5.486];
    var vis=UN[Number(visPas.split("-")[0])];
    } else if (laVis.length==1) {
    var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4;
    } else {
    var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4;
    }
    var pas=visPas.split("-")[2];
    } else app.alert("Filetage incorrect",3);
    }
    }
    try {
    console.println("vis : "+vis);
    console.println("pas : "+pas);
    this.getField("Text5").value=vis;
    this.getField("Text6").value=pas;
    } catch(e) {
    app.alert("Filetage incorrect",3);
    }
    }</p>
    @+
    😎

    • Cette réponse a été modifiée le il y a 4 jours par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #75760
    homer
    Participant

    Bonjour Bebarth,

    Merci deja pour le temps passé dessus,

    Mais la ma question est pourquoi j’ai 3.18 au lieu de 26.441 quand je regèle sur :

    G 3/4 – Pas 1.814 :
    – Pas nikel 1.814
    – Perçage nickel 24.5
    – le diamètre lui indique 3.18 au lieu de 26.441 ?

    Ccomme sur l’exemple 2, je ne comprend pas a quoi corresponds cette cote dans le rectangle ?

    La je ne comprend pas quand je regarde le tableau, les 3.18 correspond a quoi ?

    Merci en tout cas !

    https://www.h7g6.fr/data/article/42/dimensions-des-filetages-gaz-bsp

    Bonne journée 🙂

    • Cette réponse a été modifiée le il y a 5 jours et 18 heures par homer.
    Attachments:
    You must be logged in to view attached files.
    #75765
    bebarth
    Maître des clés

    Comme indiqué sur la page “la lettre G suivi de la taille (qui, pour rappel, n’a aucun rapport avec le diamètre)“.
    Il me semble que pour le gaz la taille indiquée correspond au diamètre intérieur du tube, alors que le diamètre correspondant est son diamètre extérieur.
    Il faudra donc utiliser une table pour indiquer ces diamètres car le rapport intérieur/extérieur n’est pas constant. Je regarde plus tard…

    @+
    😎

    • Cette réponse a été modifiée le il y a 5 jours et 18 heures par bebarth.
    • Cette réponse a été modifiée le il y a 5 jours et 16 heures par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #75769
    bebarth
    Maître des clés

    bonjour,
    Voici un nouveau script ou les diamètres pour les filetages gaz sont indiqués dans une table.
    Pour info, j’ai retiré de ta liste le modèle 1″3/8 qui n’existe pas et que je prenais en exemple… ce qui m’a perturbé un moment car bien entendu il n’était pas dans la table !
    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) { if (event.changeEx==event.target.getItemAt(i,true)) break; } var lesValeurs=event.target.getItemAt(i,false); // var vis=""; var pas=""; var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace(filetageRegEx,"$1-$2".replace(/,/g,".")); var vis=visPas.split("-")[0]; var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$5-$7".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ ]/); if (laVis.length==1) { var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4; } else { if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4; else var vis=Number(laVis[0])*25.4; } var pas=visPas.split("-")[1]; } else { var filetageRegEx=/^UN(C|F)[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$2-$4-$5".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ ]/); if (Number(visPas.split("-")[1])>=28 && /[^"]/.test(lesValeurs) && Number(visPas.split("-")[0])<=12) { var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,"-",4.166,"-",4.826,"-",5.486]; var vis=UN[Number(visPas.split("-")[0])]; } else if (laVis.length==1) { var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4; } else { var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4; } var pas=visPas.split("-")[2]; } else { var filetageRegEx=/^G[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/; if (filetageRegEx.test(lesValeurs)) { var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$1-$3".replace(/,/g,".")); var laVis=visPas.split("-")[0].split(/[ ]/); var filetageGaz=[["1/16",7.723],["1/8",9.728],["1/4",13.157],["3/8",16.662],["1/2",20.955],["5/8",22.911],["3/4",26.441],["7/8",30.201],["1",33.249],["1 1/8",37.897],["1 1/4",41.91],["1 1/2",47.803],["1 3/4",53.746],["2",59.614],["2 1/4",65.71],["2 1/2",75.184],["2 3/4",81.534],["3",87.884],["3 1/2",100.33],["4",125.73],["4 1/2",125.73],["5",138.43],["5 1/2",151.13],["6",163.83]]; if (laVis.length>1 && laVis[1]) var filetage=laVis[0]+" "+laVis[1];
    else var filetage=laVis[0];
    for (var j=0; j<filetageGaz.length; j++) {
    if (filetageGaz[j][0]==filetage) {
    var vis=filetageGaz[j][1];
    break;
    }
    }
    if (j==filetageGaz.length) app.alert("Filetage incorrect",3);
    else var pas=visPas.split("-")[1];
    } else app.alert("Filetage incorrect",3);
    }
    }
    }
    try {
    console.println("vis : "+vis);
    console.println("pas : "+pas);
    this.getField("Text5").value=vis;
    this.getField("Text6").value=pas;
    } catch(e) {
    app.alert("Filetage incorrect",3);
    }
    }

    Attention, le dernier élément de la table filetageGaz doit être [“6”,163.83] (avec un point).

    @+
    😎

    • Cette réponse a été modifiée le il y a 4 jours par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #75773
    homer
    Participant

    Bonjour Bebarth,

    Ca tue ! merci ! Waouh !

    J’ai juste a changer les valeurs pour PG et NPT pour que cela passe ? (FiletageGAZ par FiletageNPT, … et les valeur numerique des Pas et Diametre ?)

    Et juste pour savoir, c’est normal que l’exportation de valeurs perçage ne se fait plus ? je me dis que c’est normal vu le script

    Bonne journée

    Cordialement

    • Cette réponse a été modifiée le il y a 4 jours et 22 heures par homer.
    • Cette réponse a été modifiée le il y a 4 jours et 22 heures par homer.
    Attachments:
    You must be logged in to view attached files.
    #75778
    homer
    Participant

    RE …

    Cette ligne correspond a quoi ? : var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,”-“,4.166,”-“,4.826,”-“,5,486];

    J’ai voulu modifier le script car j’ai vu ou etait les diametres, je les mis mais le script sonne, je ne vois pas l’erreur

    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) {
    if (event.changeEx==event.target.getItemAt(i,true)) break;
    }
    var lesValeurs=event.target.getItemAt(i,false);
    //
    var vis=””;
    var pas=””;
    var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(filetageRegEx,”$1-$2″.replace(/,/w,”.”));
    var vis=visPas.split(“-“)[0];
    var pas=visPas.split(“-“)[1];
    } else {
    var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d?[“]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$5-$7″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    if (laVis.length==1) {
    var vis=(Number(laVis[0].split(“/”)[0])/Number(laVis[0].split(“/”)[1]))*25.4;
    } else {
    if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split(“/”)[0])/Number(laVis[1].split(“/”)[1])))*25.4;
    else var vis=Number(laVis[0])*25.4;
    }
    var pas=visPas.split(“-“)[1];
    } else {
    var filetageRegEx=/^UN(C|F)[ ]*(\d?[“]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$2-$4-$5″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    if (Number(visPas.split(“-“)[1])>=28 && /[^”]/.test(lesValeurs) && Number(visPas.split(“-“)[0])<=12) {
    var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,”-“,4.166,”-“,4.826,”-“,5,486];
    var vis=UN[Number(visPas.split(“-“)[0])];
    } else if (laVis.length==1) {
    var vis=(Number(laVis[0].split(“/”)[0])/Number(laVis[0].split(“/”)[1]))*25.4;
    } else {
    var vis=(Number(laVis[0])+(Number(laVis[1].split(“/”)[0])/Number(laVis[1].split(“/”)[1])))*25.4;
    }
    var pas=visPas.split(“-“)[2];
    } else {
    var filetageRegEx=/^G[ ]*(\d?[“]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$1-$3″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    var filetageBSW=[[“1/16”,1.588],[“3/32”,2.381],[“1/8”,3.175],[“5/32”,3.969],[“3/16”,4.763],[“7/32”,5.556],[“1/4”,6.35],[“5/16”,7.938],[“3/8”,9.525],[“7/16”,11.113],[“1/2”,12.7],[“9/16”,26.14.288,[“5/8”,15.875],[“3/4”,19.05],[“7/8”,22.25],[“1”,25.4],[“1 1/8”,28.575],[“1 1/4”,31.75],[“1 3/8”,34.925],[“1 1/2”,38.1],[“1 5/8”,41.275],[“1 3/4”,44.45],[“1 7/8”,47.625],[“2”,50.8],[“2 1/4”,57.15],[“2 1/2”,63.5],[“2 3/4”,69.85],[“3”,76.2],[“3 1/4”,82.55],[“3 1/2”,88.9],[“3 3/4”,92.25],[“4”,101.6],[“4 1/4”,107.95],[“4 1/2”,114.3],[“4 3/4”,120.65],[“5”,127],[“4 1/4”,133.35],[“5 1/2”,151.13],[“5 3/4”,146.05],[“6″,152.4]];
    if (laVis.length>1 && laVis[1]) var filetage=laVis[0]+” “+laVis[1];
    else var filetage=laVis[0];
    for (var j=0; j<filetageBSW.length; j++) {
    if (filetageBSW[j][0]==filetage) {
    var vis=filetageBSW[j][1];
    break;
    }
    }
    if (j==filetageBSW.length) app.alert(“Filetage incorrect”,3);
    else var pas=visPas.split(“-“)[1];
    } else app.alert(“Filetage incorrect”,3);
    }
    }
    }
    try {
    console.println(“vis : “+vis);
    console.println(“pas : “+pas);
    this.getField(“Text5”).value=vis;
    this.getField(“Text6”).value=pas;
    } catch(e) {
    app.alert(“Filetage incorrect”,3);
    }
    }

     

    Cordialement

    • Cette réponse a été modifiée le il y a 4 jours et 20 heures par homer.
    • Cette réponse a été modifiée le il y a 4 jours et 20 heures par homer.
    Attachments:
    You must be logged in to view attached files.
    #75784
    bebarth
    Maître des clés

    Et juste pour savoir, c’est normal que l’exportation de valeurs perçage ne se fait plus ?

    Il faut cocher la case du menu déroulant “Valider la valeur sélectionnée immédiatement”.

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75787
    bebarth
    Maître des clés

    Cette ligne correspond a quoi ? : var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,”-“,4.166,”-“,4.826,”-“,5,486];

    Cette ligne est une table de correspondance des petites vis UNC/UNF dont le numéro de 0 à 12 n’indique pas le diamètre.

    Attention, le dernier élément de la table doit être 5.486 (avec un point).

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75790
    bebarth
    Maître des clés

    J’ai voulu modifier le script car j’ai vu ou etait les diametres, je les mis mais le script sonne, je ne vois pas l’erreur

    Je regarderai lundi car ce ne sera pas possible ce weekend !

    Quelles sont les lignes modifiées ? Ça m’évitera de chercher trop longtemps…

    @+
    😎

    • Cette réponse a été modifiée le il y a 4 jours et 13 heures par bebarth.
    #75796
    homer
    Participant

    Salut Bebarth,

    Voila ce que j’ai fait grâce a toi !

    https://www.grosfichiers.com/juz6yw9MdQR

    en tout cas un grand merci et pour tes explication et surtout ton aide !

    Passez un bon week end et semaine

    Cordialement

    #75797
    homer
    Participant

    Re,

    la page PG Beug, pourquoi aucune idée §

    Toutes les autre page fonctionne,

    https://www.grosfichiers.com/Wq4DzHuz7aE

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    #75803
    homer
    Participant

    Bonjour

    • La page PG Beug, pourquoi aucune idée ? Il y a que les deux premières lignes qui fonctionne dans le menu déroulant
    • Et sur une page que j’ai recréé “UNEF” il y a 2 valeurs que je ne sais pas entrer ( 1.11/16-18 Pas 1,720 Perage 44,45 — 2″-18  Pas 1,971 Perçage 50.8)

    Toutes les autre page fonctionne sinon,

    https://www.grosfichiers.com/Wq4DzHuz7aE

    Cordialement

    • Cette réponse a été modifiée le il y a 2 jours et 2 heures par homer.
    • Cette réponse a été modifiée le il y a 2 jours et 2 heures par homer.
    • Cette réponse a été modifiée le il y a 2 jours et 2 heures par homer.
    • Cette réponse a été modifiée le il y a 2 jours et 1 heure par homer.
    • Cette réponse a été modifiée le il y a 2 jours et 1 heure par homer.
    Attachments:
    You must be logged in to view attached files.
    #75812
    bebarth
    Maître des clés

    bonjour,

    la page PG Beug, pourquoi aucune idée §

    Tout le monde aura remarqué (lol) qu’avec cette expression régulière :
    var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    il n’est possible d’indiquer qu’un seul chiffre pour le diamètre. pour qu’il soit possible d’en indiquer 2, il faut écrire :
    var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d{1,2}["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    et comme je viens de m’apercevoir de la possibilité d’une décimale, l’expression régulière devient :
    var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d{1,2}[.]?\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;

    Dans mon fichier de retour j’ai mis en fonction une parie du script ce qui permet de ne l’écrire qu’une seule fois dans le fichier et juste d’appeler cette fonction avec le menu déroulant.
    // Script de document
    function filetages() {
    for (var i=0; i<event.target.numItems; i++) {
    if (event.changeEx==event.target.getItemAt(i,true)) break;
    }
    var lesValeurs=event.target.getItemAt(i,false);
    //
    var vis="";
    var pas="";
    var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(filetageRegEx,"$1-$2".replace(/,/g,"."));
    var vis=visPas.split("-")[0];
    var pas=visPas.split("-")[1];
    } else {
    var filetageRegEx=/^(W|(BSF)|(PG)|(NPT))[ ]*(\d{1,2}[.]?\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$5-$7".replace(/,/g,"."));
    var laVis=visPas.split("-")[0].split(/[ ]/);
    if (laVis.length==1) {
    var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4;
    } else {
    if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4;
    else var vis=Number(laVis[0])*25.4;
    }
    var pas=visPas.split("-")[1];
    } else {
    var filetageRegEx=/^UN(C|F)[ ]*(\d{1,2}["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$2-$4-$5".replace(/,/g,"."));
    var laVis=visPas.split("-")[0].split(/[ ]/);
    if (Number(visPas.split("-")[1])>=28 && /[^"]/.test(lesValeurs) && Number(visPas.split("-")[0])<=12) {
    var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,"-",4.166,"-",4.826,"-",5,486];
    var vis=UN[Number(visPas.split("-")[0])];
    } else if (laVis.length==1) {
    var vis=(Number(laVis[0].split("/")[0])/Number(laVis[0].split("/")[1]))*25.4;
    } else {
    var vis=(Number(laVis[0])+(Number(laVis[1].split("/")[0])/Number(laVis[1].split("/")[1])))*25.4;
    }
    var pas=visPas.split("-")[2];
    } else {
    var filetageRegEx=/^G[ ]*(\d{1,2}["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace("\""," ").replace(/[ ]+/g," ").replace(filetageRegEx,"$1-$3".replace(/,/g,"."));
    var laVis=visPas.split("-")[0].split(/[ ]/);
    var filetageGaz=[["1/16",7.723],["1/8",9.728],["1/4",13.157],["3/8",16.662],["1/2",20.955],["5/8",22.911],["3/4",26.441],["7/8",30.201],["1",33.249],["1 1/8",37.897],["1 1/4",41.91],["1 1/2",47.803],["1 3/4",53.746],["2",59.614],["2 1/4",65.71],["2 1/2",75.184],["2 3/4",81.534],["3",87.884],["3 1/2",100.33],["4",125.73],["4 1/2",125.73],["5",138.43],["5 1/2",151.13],["6",163,83]];
    if (laVis.length>1 && laVis[1]) var filetage=laVis[0]+" "+laVis[1];
    else var filetage=laVis[0];
    for (var j=0; j<filetageGaz.length; j++) {
    if (filetageGaz[j][0]==filetage) {
    var vis=filetageGaz[j][1];
    break;
    }
    }
    if (j==filetageGaz.length) app.alert("Filetage incorrect",3);
    else var pas=visPas.split("-")[1];
    } else app.alert("Filetage incorrect",3);
    }
    }
    }
    return [vis, pas]
    }
    // Script de touches personnalisé
    if (!event.willCommit) {
    var visETpas=filetages();
    try {
    /*
    console.println("vis : "+vis);
    console.println("pas : "+pas);
    this.getField("Text5").value=vis;
    this.getField("Text6").value=pas;
    */
    this.getField("FiltagePGR").value=visETpas[0];
    this.getField("PasPGconv").value=visETpas[1];
    } catch(e) {
    app.alert("Filetage incorrect",3);
    }
    }

    @+
    😎

    Attachments:
    You must be logged in to view attached files.
    #75814
    bebarth
    Maître des clés

    Et sur une page que j’ai recréé “UNEF”

    Il ne faut pas écrire :
    var filetageRegEx=/^UN(C|EF)[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    mais
    var filetageRegEx=/^UNE?(C|F)[ ]*(\d?["]?[ ]*(\d[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;

    @+
    😎

    #75817
    bebarth
    Maître des clés

    il y a 2 valeurs que je ne sais pas entrer ( 1.11/16-18 Pas 1,720 Perage 44,45 — 2″-18 Pas 1,971 Perçage 50.8)

    C’est compliqué de modifier toujours l’énoncé du problème. Il faut réadapter à chaque fois l’expression régulière… Maintenant elle en est à :
    var filetageRegEx=/^UNE?(C|F)[ ]*(\d{0,2}["]?[ ]*(\d+[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;

    Tu devrais maintenant pouvoir entrer tes nouvelles valeurs.

    @+
    😎

    • Cette réponse a été modifiée le il y a 1 jour et 19 heures par bebarth.
    Attachments:
    You must be logged in to view attached files.
    #75820
    homer
    Participant

    Salut

    Merci beaucoup Bebarth !!

    🙂

    #75821
    Merlin
    Maître des clés

    En ce moment je crée des regex pour identifier les NIF (Numéro d’Identification Fiscale) de plusieurs pays.

    Dire que je trouvais ça compliqué, ce n’est rien a côté des filetages !

    😉

    #75822
    homer
    Participant

    Bonjour,

    J’ai changé la ligne a modifier, mais cela ne passe pas,

    Bonne journée

    Cordialement

    Attachments:
    You must be logged in to view attached files.
    #75824
    bebarth
    Maître des clés

    bonjour,
    L’expression régulière vérifie les chaines de caractères strictement !
    UNEF 1.11/16 – – 32 – Pas 1.720 n’est donc pas la même chose que UNEF 1 11/16 – 32 – Pas 1.720 (sans point et avec un simple tiret). La première chaine testée est donc fausse alors que la seconde est vraie.

    @+
    😎

    #75825
    homer
    Participant

    Bonjour,

    J’ai corrigé comme sur la photo, et adapter le script avec les valeurs qui lui correspondes, mais il y a toujours une double erreur :

    if (!event.willCommit) {
    for (var i=0; i<event.target.numItems; i++) {
    if (event.changeEx==event.target.getItemAt(i,true)) break;
    }
    var lesValeurs=event.target.getItemAt(i,false);
    //
    var vis=””;
    var pas=””;
    var filetageRegEx=/^M[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(filetageRegEx,”$1-$2″.replace(/,/g,”.”));
    var vis=visPas.split(“-“)[0];
    var pas=visPas.split(“-“)[1];
    } else {
    var filetageRegEx=/^UNE?(C|F)[ ]*(\d{0,2}[“]?[ ]*(\d+[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$5-$7″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    console.println(“visPas : “+visPas);
    console.println(“laVis : “+laVis);
    console.println(“laVis.length : “+laVis.length);
    if (laVis.length==1) {
    var vis=(Number(laVis[0].split(“/”)[0])/Number(laVis[0].split(“/”)[1]))*25.4;
    } else {
    if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split(“/”)[0])/Number(laVis[1].split(“/”)[1])))*25.4;
    else var vis=Number(laVis[0])*25.4;
    }
    var pas=visPas.split(“-“)[1];
    } else {
    var filetageRegEx=/^UNEF[ ]*(\d{0,2}[“]?[ ]*(\d+[/]\d+)?)[ ]*-[ ]*(\d{1,2})[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$2-$4-$5″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    console.println(“visPas : “+visPas);
    console.println(“laVis : “+laVis);
    console.println(“laVis.length : “+laVis.length);
    if (Number(visPas.split(“-“)[1])>=28 && /[^”]/.test(lesValeurs) && Number(visPas.split(“-“)[0])<=12) {
    var UN=[1.524,1.854,2.184,2.515,2.845,3.175,3.505,”-“,4.166,”-“,4.826,”-“,5.486];
    var vis=UN[Number(visPas.split(“-“)[0])];
    } else if (laVis.length==1) {
    var vis=(Number(laVis[0].split(“/”)[0])/Number(laVis[0].split(“/”)[1]))*25.4;
    } else {
    if (laVis[1]) var vis=(Number(laVis[0])+(Number(laVis[1].split(“/”)[0])/Number(laVis[1].split(“/”)[1])))*25.4;
    else var vis=Number(laVis[0])*25.4;
    }
    var pas=visPas.split(“-“)[2];
    } else {
    var filetageRegEx=/^G[ ]*(\d{0,2}[“]?[ ]*(\d+[/]\d+)?)[ ]*-[ ]*\w*[ ]*(\d{1,2}[.,]\d{1,3})$/;
    if (filetageRegEx.test(lesValeurs)) {
    var visPas=lesValeurs.replace(“\””,” “).replace(/[ ]+/g,” “).replace(filetageRegEx,”$1-$3″.replace(/,/g,”.”));
    var laVis=visPas.split(“-“)[0].split(/[ ]/);
    console.println(“visPas : “+visPas);
    console.println(“laVis : “+laVis);
    console.println(“laVis.length : “+laVis.length);
    var filetageUNEF=[[“1/4”,6.350],[“5/16”,7.938],[“3/8”,9.525],[“7/16”,11.113],[“1/2”,12.700],[“9/16”,14.288],[“5/8”,15.875],[“11/19”,17.463],[“3/4”,19.050],[“13/16”,20.638],[“7/8”,22.225],[“15/16”,23.813],[“1”,25.4],[“1 1/16”,26.988],[“1 1/8”,28.575],[“1 3/16”,30.163],[“1 1/4”,31.750],[“1 5/16”,33.338],[“1 3/8”,34.965],[“1 7/16”,38.100],[“1 9/16”,39.688],[“1 5/8”,41.275],[“1 11/16”,41.5],[“1 3/4”,41.5],[“2”,49.4]];
    console.println(“filetageGaz.length : “+filetageGaz.length);
    if (laVis.length>1 && laVis[1]) var filetage=laVis[0]+” “+laVis[1];
    else var filetage=laVis[0];
    console.println(“filetage : “+filetage);
    console.println(“filetage.length : “+filetage.length);
    for (var j=0; j<filetageGaz.length; j++) {
    console.println(j+” : “+filetageGaz[j]);
    if (filetageGaz[j][0]==filetage) {
    var vis=filetageGaz[j][1];
    break;
    }
    }
    if (j==filetageGaz.length) app.alert(“Filetage incorrect”,3);
    else var pas=visPas.split(“-“)[1];
    } else app.alert(“Filetage incorrect”,3);
    }
    }
    }
    try {
    console.println(“vis : “+vis);
    console.println(“pas : “+pas);
    this.getField(“DiametreUNEFconv”).value=vis;
    this.getField(“PasUNEFconv”).value=pas;
    } catch(e) {
    app.alert(“Filetage incorrect”,3);
    }
    }

    Merci d’avance ! 🙂

    • Cette réponse a été modifiée le il y a 20 heures et 17 minutes par homer.
    Attachments:
    You must be logged in to view attached files.
Affichage de 34 réponses de 1 à 34 (sur un total de 34)
  • Vous devez être connecté pour répondre à ce sujet.