abracadabraPDF › Forums › PDF – Général › Calcul filetages › Répondre à : Calcul filetages
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 1 année par
bebarth.
