Calculateur de position vraie
Un trou décalé de 0,012 en X et de 0,008 en Y a une position vraie égale au double de l'hypoténuse de ces deux écarts, la valeur diamétrale qu'utilise la tolérance du plan. Vous voyez aussi de quel côté il a dérivé. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- X mesuré
- 25,012
- Y mesuré
- 40,008
- X nominal
- 25
- Y nominal
- 40
- Delta x
- 0,012
- Delta y
- 0,008
- Écart radial
- 0,0144222051
- Position vraie
- 0,0288444102
La position vraie est le contrôle GD&T qui indique à quelle distance le centre réel d'un trou se trouve de l'emplacement de base du plan. Inspecteurs, programmeurs CNC et rapports CMM expriment cet écart comme une erreur de position diamétrale : le double de la distance radiale entre le couple (x, y) mesuré et le couple (x, y) nominal. Ce calculateur de position vraie accepte ces quatre coordonnées dans toute unité linéaire partagée, applique l'identité sous forme close deux fois la racine carrée de delta-x au carré plus delta-y au carré, et renvoie l'erreur diamétrale avec les deltas signés et l'écart radial.
Comment se calcule la position vraie diamétrale d'un trou
Dans le tolérancement géométrique ASME Y14.5, une tolérance de position sur un trou décrit une zone cylindrique ou, dans un seul plan d'inspection, une zone circulaire dont l'axe est l'emplacement vrai de base du plan. La position vraie diamétrale d'un trou inspecté est le diamètre de la plus petite zone qui contient encore le centre réel. Le facteur deux n'est pas un choix de style.
Un écart radial de 0.05 millimètres est une erreur de position diamétrale de 0.10 millimètres, c'est ainsi que le cadre de contrôle de caractéristique écrit la valeur de tolérance. Les unités s'annulent dans les carrés, si bien que des millimètres sur les quatre coordonnées donnent des millimètres de position vraie, et des pouces des pouces ; mélanger les unités inventerait une erreur qu'aucun plan ne soutient. Un trou qui tombe exactement sur l'emplacement de base produit des zéros dans tous les champs d'écart.
Le calculateur n'applique pas de bonus de modificateur de matière MMC ou LMC, et n'intègre pas une troisième coordonnée z : ce sont d'autres intentions de recherche.
Où un calculateur de position vraie justifie son usage
Les programmeurs CMM et les postes de contrôle à l'entrée stockent déjà le XY mesuré et le XY nominal de chaque trou sur un rapport de premier article ; appeler ce contrat transforme ces quatre nombres en la position vraie diamétrale qu'attend le cadre de contrôle, sans recalculer deux fois hypot dans chaque tableur.
Les scripts CNC et de montage qui palpent un trou après un cycle d'alésage peuvent rejeter un écart avant que l'outil suivant ne tourne, avec la même identité que le plan cite en millimètres ou en pouces. Les feuilles de cours et d'apprentissage demandent la position vraie d'un trou à partir de coordonnées mesurées et nominales ; un oracle déterministe qui refuse une coordonnée non finie empêche un correcteur automatique de traiter un NaN comme un zéro ingénieux.
Fixez la valeur diamétrale arrondie dans les tests : un écart 0.012 par 0.008 doit rester le double de l'hypoténuse de ces côtés. Si vous avez ensuite besoin d'un bonus MMC, d'une zone projetée, d'une position 3-D qui inclut Z ou d'un indicateur conforme ou non conforme face à un diamètre de tolérance, traitez-les comme des intentions de recherche distinctes plutôt que de surcharger cette page de position vraie.
L'outil est un relevé à quatre coordonnées, non un substitut d'un alignement CMM, d'un référentiel de datums ni d'un empilement GD&T complet.
Cas d’usage
Convertir le XY CMM en position vraie diamétrale
Collez les coordonnées mesurées et nominales du trou depuis un rapport CMM et lisez l'erreur de position diamétrale qu'attend le cadre de contrôle, plus les deltas signés.
Palper un trou alésé sur la machine
Après un cycle d'alésage, envoyez le XY palpé contre l'emplacement de base du programme et obtenez le double de l'écart radial avant que l'outil suivant ne tourne.
Questions fréquentes
Pourquoi la position vraie est-elle le double de la distance radiale, et non le rayon ?
ASME Y14.5 écrit une tolérance de position comme le diamètre de la zone. Un écart radial de 0.05 est une position vraie diamétrale de 0.10, conforme au cadre de contrôle.
Que se passe-t-il si une coordonnée manque ou n'est pas un nombre fini ?
La position vraie est indéfinie dès qu'une coordonnée est NaN, Infinity, vide ou non numérique, et cet échec n'est pas facturé.
Les coordonnées doivent-elles être en millimètres ?
Non. Toute unité linéaire partagée convient car l'hypoténuse s'exprime dans cette même unité. Millimètres et pouces sont courants ; ne mélangez pas les unités entre les quatre champs.
Comment calculer la position vraie à partir des coordonnées mesurées et nominales ?
Soustrayez les X et Y nominaux des valeurs mesurées, prenez la racine carrée de la somme des deux écarts au carré, puis doublez-la. Un écart radial de 0,05 donne une position vraie diamétrale de 0,10.
Le calculateur applique-t-il un bonus au maximum de matière ou indique-t-il la conformité ?
Non. Il renvoie seulement l'erreur géométrique de position tirée des quatre coordonnées. Le bonus lié à l'état de matière, les zones projetées, une troisième coordonnée Z et la comparaison avec votre tolérance se traitent à part.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/build/true-position \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x_measured":25.012,"y_measured":40.008,"x_nominal":25,"y_nominal":40}'const res = await fetch("https://api.kit.forhosting.com/build/true-position", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x_measured": 25.012,
"y_measured": 40.008,
"x_nominal": 25,
"y_nominal": 40
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/build/true-position",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x_measured": 25.012,
"y_measured": 40.008,
"x_nominal": 25,
"y_nominal": 40
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/build/true-position", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x_measured":25.012,"y_measured":40.008,"x_nominal":25,"y_nominal":40}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x_measured":25.012,"y_measured":40.008,"x_nominal":25,"y_nominal":40}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/build/true-position", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"x_measured": 25.012,
"y_measured": 40.008,
"x_nominal": 25,
"y_nominal": 40
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "build.true_position",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_abs | 1000000000000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Si une coordonnée manque ou n'est pas un nombre fini, la tâche échoue avec invalid_input au lieu d'émettre un NaN silencieux. Les appels API réussis utilisent le $0.002 publié par item, et une validation en échec n'est pas facturée.
Comment se calcule la position vraie diamétrale d'un trou
Algébriquement ce diamètre est le double de l'écart radial par rapport au point nominal : true_position vaut deux fois la racine carrée de (x_measured moins x_nominal) au carré plus (y_measured moins y_nominal) au carré. Ce point d'accès renvoie aussi les composantes signées delta_x et delta_y afin qu'une superposition CMM montre de quel côté le trou a dérivé, et radial_deviation comme l'hypoténuse non signée avant le doublement.
Contrat d'entrée, unités et coordonnées non finies
Les quatre mesures doivent partager une seule unité linéaire ; mélanger des millimètres de données mesurées avec des pouces de cotes de base inventerait un écart qu'aucun certificat ne devrait tamponner. Une validation en échec ne consomme pas de solde prépayé. Un plafond supérieur maintient finis les produits intermédiaires : chaque champ vaut au plus 1e12 en grandeur. Envoyez quatre champs numériques obligatoires. x_measured est le X inspecté du centre du trou ; les alias measured_x, xm, x_meas et x_actual sont acceptés pour qu'une colonne CMM nommée X réel n'exige pas de renommage. y_measured est le Y inspecté ; measured_y, ym, y_meas et y_actual sont reconnus. x_nominal est le X vrai de base du plan ; les alias nominal_x, xn, x_nom, x_true et x_basic couvrent les imprimés qui disent de base ou vrai plutôt que nominal. y_nominal est le Y de base correspondant, avec les alias nominal_y, yn, y_nom, y_true et y_basic. Les chaînes qui s'interprètent comme des nombres finis sont traitées comme les nombres JSON. La règle dure que cette page existe pour faire respecter est que chaque coordonnée doit être un nombre fini : champs manquants, chaînes vides, texte non numérique, NaN et Infinity échouent avec invalid_input en nommant le champ, car une erreur de position diamétrale bâtie sur une coordonnée non finie serait un NaN silencieux et non une grandeur d'atelier. En cas de succès, le corps répète les coordonnées nettoyées, publie delta_x et delta_y comme mesuré moins nominal, radial_deviation comme l'hypoténuse de ces deltas, true_position comme le double de ce rayon, et formula comme la chaîne de l'identité diamétrale. Les appels API réussis utilisent la base publiée de $0.002 par item.
Où un calculateur de position vraie justifie son usage
Comme l'implémentation est parse de niveau A pur, chaque appel réussi coûte le prix de base publié de $0.002 sans jetons de modèle et sans réseau sortant.
Cas d'intégration
Noter des exercices de position vraie GD&T
Les correcteurs d'apprentissage et LMS vérifient 2 × hypot(Δx, Δy) à partir de quatre coordonnées et traitent une valeur non finie comme invalid_input plutôt qu'un NaN silencieux.
Questions techniques
Comment calcule-t-on la position vraie d'un trou à partir du XY mesuré et nominal ?
Envoyez les nombres finis x_measured, y_measured, x_nominal et y_nominal dans la même unité linéaire. La position vraie diamétrale est 2 × √((x_measured − x_nominal)² + (y_measured − y_nominal)²).
Combien coûte le calculateur de position vraie ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.